Documentation ¶
Overview ¶
Package sneller is the root package for the open source part of Sneller. This package contains core functions and data types shared by the sneller and snellerd executables.
Index ¶
- Variables
- func BuildInfo() (*debug.BuildInfo, bool)
- func Version() (string, bool)
- type CachedEnv
- type FSEnv
- func (f *FSEnv) CacheValues() ([]byte, time.Time)
- func (f *FSEnv) Index(p expr.Node) (plan.Index, error)
- func (f *FSEnv) Key() *blockfmt.Key
- func (f *FSEnv) ListTables(dbname string) ([]string, error)
- func (f *FSEnv) MaxScanned() int64
- func (f *FSEnv) Stat(e expr.Node, h *plan.Hints) (*plan.Input, error)
- func (f *FSEnv) Uploader() plan.UploadFS
- type Splitter
- type TenantEnv
- type TenantRunner
Constants ¶
This section is empty.
Variables ¶
var CacheLimit = memTotal / 2
CacheLimit defines a limit such that blob segments will not be cached if the total scan size of a request in bytes exceeds the limit.
var CanVMOpen = false
Functions ¶
Types ¶
type FSEnv ¶
FSEnv provides a plan.Env from a db.FS
func (*FSEnv) CacheValues ¶
CacheValues implements cachedEnv.CacheValues
func (*FSEnv) ListTables ¶
ListTables implements plan.TableLister.ListTables
func (*FSEnv) MaxScanned ¶
MaxScanned returns the maximum number of bytes that need to be scanned to satisfy this query.
type Splitter ¶
type TenantEnv ¶
type TenantEnv struct {
*FSEnv
}
TenantEnv implements plan.Decoder for use with snellerd in tenant mode. It also implements plan.Env, though must have the embedded FSEnv initialized in order to be used as such.
type TenantRunner ¶
func (*TenantRunner) Post ¶
func (r *TenantRunner) Post()
func (*TenantRunner) Run ¶
func (r *TenantRunner) Run(dst vm.QuerySink, in *plan.Input, ep *plan.ExecParams) error
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package auth describes some implementations of Provider that can be used in snellerd.
|
Package auth describes some implementations of Provider that can be used in snellerd. |
Package aws is a lightweight implementation of the AWS API signature algorithms.
|
Package aws is a lightweight implementation of the AWS API signature algorithms. |
s3
Package s3 implements a lightweight client of the AWS S3 API.
|
Package s3 implements a lightweight client of the AWS S3 API. |
Package cgroup implements a thin wrapper around the Linux cgroupv2 filesystem API.
|
Package cgroup implements a thin wrapper around the Linux cgroupv2 filesystem API. |
cmd
|
|
Package compr provides a unified interface wrapping third-party compression libraries.
|
Package compr provides a unified interface wrapping third-party compression libraries. |
Package date implements optimized date-parsing routines specific to the date formats that we support.
|
Package date implements optimized date-parsing routines specific to the date formats that we support. |
Package db implements the policy layout of databases, tables, and indices as a virtual filesystem tree.
|
Package db implements the policy layout of databases, tables, and indices as a virtual filesystem tree. |
Package debug provides remote debugging tools
|
Package debug provides remote debugging tools |
elasticproxy
module
|
|
Package expr implements the AST representation of query expressions.
|
Package expr implements the AST representation of query expressions. |
partiql
Package partiql implements a SQL-compatible (and somewhat PartiQL-compatible) query text parser.
|
Package partiql implements a SQL-compatible (and somewhat PartiQL-compatible) query text parser. |
Package fastdate implements low-level unix time stamp manipulation that follows the semantics of the Sneller SQL datetime functions.
|
Package fastdate implements low-level unix time stamp manipulation that follows the semantics of the Sneller SQL datetime functions. |
Package fsutil defines functions and interfaces for working with file systems.
|
Package fsutil defines functions and interfaces for working with file systems. |
Package fuzzy implements fuzzy equal/contains reference implementations.
|
Package fuzzy implements fuzzy equal/contains reference implementations. |
Package heap implements generic heap functions.
|
Package heap implements generic heap functions. |
internal
|
|
aes
Package aes provides access to the hardware AES encryption/decryption accelerator and supports basic key expansion functionality.
|
Package aes provides access to the hardware AES encryption/decryption accelerator and supports basic key expansion functionality. |
asmutils
Package asmutils provides helpers for assembly integration
|
Package asmutils provides helpers for assembly integration |
atomicext
Package atomicext provides extensions complementing the built-in atomic package
|
Package atomicext provides extensions complementing the built-in atomic package |
memops
Package memops implements accelerated memory block manipulation primitives
|
Package memops implements accelerated memory block manipulation primitives |
percentile
Package percentile provides a pure go implementation of tDigest aggregation and the computation of percentiles
|
Package percentile provides a pure go implementation of tDigest aggregation and the computation of percentiles |
simd
Package simd provides selected intrinsics for the AVX512 SIMD extension emulation
|
Package simd provides selected intrinsics for the AVX512 SIMD extension emulation |
stringext
Package stringext defines extra string functions.
|
Package stringext defines extra string functions. |
Package ints provides int-related common functions.
|
Package ints provides int-related common functions. |
Package ion implements a subset of the Amazon ion binary format: https://amzn.github.io/ion-docs/
|
Package ion implements a subset of the Amazon ion binary format: https://amzn.github.io/ion-docs/ |
blockfmt
Package blockfmt implements routines for reading and writing compressed and aligned ion blocks to/from backing storage.
|
Package blockfmt implements routines for reading and writing compressed and aligned ion blocks to/from backing storage. |
versify
Package versify implements an ion "versifier:" code that performs procedural data generation based on example input.
|
Package versify implements an ion "versifier:" code that performs procedural data generation based on example input. |
zion
Package zion implements a "zipped" ion encoding that compresses streams of ion structures in a manner such that fields within structures in the stream can be decompressed without decompressing the entire input stream.
|
Package zion implements a "zipped" ion encoding that compresses streams of ion structures in a manner such that fields within structures in the stream can be decompressed without decompressing the entire input stream. |
zion/iguana
Package iguana implements a Lizard-derived compression/decompression pipeline
|
Package iguana implements a Lizard-derived compression/decompression pipeline |
zion/zll
Package zll exposes types and procedures related to low-level zion decoding.
|
Package zll exposes types and procedures related to low-level zion decoding. |
Package jsonrl implements a Ragel-generated JSON parser that converts JSON data into ion data (see Convert).
|
Package jsonrl implements a Ragel-generated JSON parser that converts JSON data into ion data (see Convert). |
Package plan is the primary interface to the query planner.
|
Package plan is the primary interface to the query planner. |
pir
Package pir manages the low-level query plan intermediate representation.
|
Package pir manages the low-level query plan intermediate representation. |
Package regexp2 implements regular expression engine.
|
Package regexp2 implements regular expression engine. |
Package rules defines a syntax for rule-based re-writing DSLs.
|
Package rules defines a syntax for rule-based re-writing DSLs. |
Package tenant encapsulates the logic and protocol-level details for managing tenant sub-processes.
|
Package tenant encapsulates the logic and protocol-level details for managing tenant sub-processes. |
dcache
Package dcache provides a cache for table data by storing files in a directory.
|
Package dcache provides a cache for table data by storing files in a directory. |
tnproto
Package tnproto defines the types and functions necessary to speak the tenant control protocol.
|
Package tnproto defines the types and functions necessary to speak the tenant control protocol. |
Package testquery provides common functions used in query tests.
|
Package testquery provides common functions used in query tests. |
Package tests provides common functions used in tests.
|
Package tests provides common functions used in tests. |
Package usock implements a wrapper around the unix(7) SCM_RIGHTS API, which allows processes to exchange file handles over a unix(7) control socket.
|
Package usock implements a wrapper around the unix(7) SCM_RIGHTS API, which allows processes to exchange file handles over a unix(7) control socket. |
Package utf8 provides additional UTF-8 related functions.
|
Package utf8 provides additional UTF-8 related functions. |
Package vm implements the core query-processing "physical operators" that process streams of ion-encoded data.
|
Package vm implements the core query-processing "physical operators" that process streams of ion-encoded data. |
_generate
Alternative to-{upper,lower} approach --------------------------------------------------
|
Alternative to-{upper,lower} approach -------------------------------------------------- |
Package xsv implements parsing/converting CSV (RFC 4180) and TSV (tab separated values) files to binary ION format.
|
Package xsv implements parsing/converting CSV (RFC 4180) and TSV (tab separated values) files to binary ION format. |