Documentation ¶
Overview ¶
QLBridge is a SQL Relational algebra and expression package for embedding sql like functionality into your app. Includes Lexer, Parsers, different SQL Dialects, as well as planners and executors.
Directories ¶
Path | Synopsis |
---|---|
files
Package files is a cloud (gcs, s3) and local file datasource that translates json, csv, files into appropriate interface for qlbridge DataSource so we can run queries.
|
Package files is a cloud (gcs, s3) and local file datasource that translates json, csv, files into appropriate interface for qlbridge DataSource so we can run queries. |
membtree
Membtree implements a Datasource in-memory implemenation using the google btree.
|
Membtree implements a Datasource in-memory implemenation using the google btree. |
memdb
Memdb package implements a Qlbridge Datasource in-memory implemenation using the hashicorp go-memdb (immuteable radix tree's).
|
Memdb package implements a Qlbridge Datasource in-memory implemenation using the hashicorp go-memdb (immuteable radix tree's). |
mockcsv
Package mockcsv implements an in-memory csv data source for testing usage implemented by wrapping the mem-b-tree, loading csv data into it.
|
Package mockcsv implements an in-memory csv data source for testing usage implemented by wrapping the mem-b-tree, loading csv data into it. |
mockcsvtestdata
Package mockcsvtestdata is csv test data only used for tests.
|
Package mockcsvtestdata is csv test data only used for tests. |
sqlite
Package sqlite implements a Qlbridge Datasource interface around sqlite that translates mysql syntax to sqlite.
|
Package sqlite implements a Qlbridge Datasource interface around sqlite that translates mysql syntax to sqlite. |
dialects
|
|
examples
|
|
Package exec contains execution tasks to run each of the separate tasks (Source, Project, Where, Having, etc) of a SQL data of tasks.
|
Package exec contains execution tasks to run each of the separate tasks (Source, Project, Where, Having, etc) of a SQL data of tasks. |
Expression structures, ie the `a = b` type expression syntax including parser, node types, boolean logic check, functions.
|
Expression structures, ie the `a = b` type expression syntax including parser, node types, boolean logic check, functions. |
builtins
Builtin functions are a library of functions natively available in qlbridge expression evaluation although adding your own is easy.
|
Builtin functions are a library of functions natively available in qlbridge expression evaluation although adding your own is easy. |
generators
|
|
Package Lex is a Lexer for QLBridge which is more of a lex-toolkit and implements 4 Dialects {SQL, FilterQL, Json, Expressions}.
|
Package Lex is a Lexer for QLBridge which is more of a lex-toolkit and implements 4 Dialects {SQL, FilterQL, Json, Expressions}. |
Plan package converts the AST (expr package) into a plan, which is a DAG of tasks that comprise that plan, the planner is pluggable.
|
Plan package converts the AST (expr package) into a plan, which is a DAG of tasks that comprise that plan, the planner is pluggable. |
Package driver registers a QL Bridge sql/driver named "qlbridge"
|
Package driver registers a QL Bridge sql/driver named "qlbridge" |
Package rel are the AST Structures and Parsers for the SQL, FilterQL, and Expression dialects.
|
Package rel are the AST Structures and Parsers for the SQL, FilterQL, and Expression dialects. |
Package schema implements core Relational Algrebra schema objects such as Table, Schema, DataSource, Fields, Headers, Index.
|
Package schema implements core Relational Algrebra schema objects such as Table, Schema, DataSource, Fields, Headers, Index. |
Package testutil a Test only package for harness to load, implement SQL tests.
|
Package testutil a Test only package for harness to load, implement SQL tests. |
Value package defines the core value types (string, int, etc) for the qlbridge package, mostly used to provide common interfaces instead of reflection for virtual machine.
|
Value package defines the core value types (string, int, etc) for the qlbridge package, mostly used to provide common interfaces instead of reflection for virtual machine. |
VM implements the virtual machine runtime evaluator for the SQL, FilterQL, and Expression evalutors.
|
VM implements the virtual machine runtime evaluator for the SQL, FilterQL, and Expression evalutors. |
Click to show internal directories.
Click to hide internal directories.