-
Notifications
You must be signed in to change notification settings - Fork 2
1. Overview
wyfunique edited this page Apr 22, 2022
·
3 revisions
-
adapters/
: data storage -
aggregates/
: basic aggregate functions (count, sum, etc.) -
compilers/
: compilers for converting logical plan into executable physical plan -
examples/
: example code snippets as tutorials -
extensions/
: modules and utilities for building and managing extended syntax -
functions/
: some basic SQL built-in functions (cos, sqrt, etc.) -
gui/
: code for the GUI -
planners/
: query optimizer, optimization rules and logical cost -
tests/
: unit tests -
utils/
: global utilities -
ast.py
: definesExpr
, the base class for AST and logical plan nodes, and all necessary concrete classes for those nodes. Some related utilities like the method to traverse an AST are also defined in this file. -
compat.py
: utilities for compatibility on different versions of Python -
config.py
: configuration parameters -
dataset.py
: the runtime organizer and manager of data adapters and relations -
field.py
: defines fields in schema -
operations.py
: defines visitors and methods to walk on and manipulate AST in visitor pattern -
query_parser_toolbox.py
: core query parsing functions -
query_parser.py
: interfaces to call the core parsing functions -
query.py
: defines classQuery
for managing and executing queries -
schema_interpreter.py
: functions for resolving schema information to convert AST into logical plan -
schema.py
: defines classSchema
to manage schema information -
table.py
: defines abstract classTable
, used by data adapters
-
run_query_end2end.py
: example of running a SQL query end-to-end in DBSim -
parse_query_to_ast.py
: example of manually parsing a query into AST and visualizing the AST -
manipulate_ast_and_logical_plan.py
: example of manipulating AST and logical plan, including transforming AST into logical plan, traversing a plan tree, deep copying a plan, etc. -
run_query_plan.py
: example of manually running a query plan (instead of a query) in DBSim -
manually_optimize_logical_plan.py
: example of manually operating the optimizer to optimize a logical plan -
compute_logical_plan_cost.py
: example of using utilities inLogicalCost
to compute the logical cost of a plan -
load_data_from_file_and_run_query.py
: example of loading data from file and running queries on it