AQuery Database
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Bill 6490aab558
fixed int128 problem, groupby agg
2 years ago
aquery_parser simple udf code generation 2 years ago
docs fix gitw 3 years ago
engine fixed int128 problem, groupby agg 2 years ago
lib simple udf code generation 2 years ago
monetdb simple udf code generation 2 years ago
msc-plugin simple udf code generation 2 years ago
msvs-py fix gitw 3 years ago
reconstruct fixed int128 problem, groupby agg 2 years ago
sdk simple udf code generation 2 years ago
server fixed int128 problem, groupby agg 2 years ago
.gitignore simple udf code generation 2 years ago
LICENSE fix gitw 3 years ago
Makefile fixed int128 problem, groupby agg 2 years ago
README.md fix gitw 3 years ago
Untitled-1.json simple udf code generation 2 years ago
a.exe udf support for monetdbe backend 3 years ago
a.exp udf support for monetdbe backend 3 years ago
a.lib udf support for monetdbe backend 3 years ago
aquery_config.py fixed int128 problem, groupby agg 2 years ago
build_instructions.md simple udf code generation 2 years ago
csv.h fix gitw 3 years ago
dbconn.py fix gitw 3 years ago
funcs.a simple udf code generation 2 years ago
header.cxx fix gitw 3 years ago
index.html fix gitw 3 years ago
joins.a simple udf code generation 2 years ago
mmw.cpp fix gitw 3 years ago
modules.a simple udf code generation 2 years ago
moving_avg.a udf support for monetdbe backend 3 years ago
moving_avg.csv fix gitw 3 years ago
nyctx100.csv fix gitw 3 years ago
out.cpp fixed int128 problem, groupby agg 2 years ago
out_attempt1.cpp fix gitw 3 years ago
prompt.py fixed int128 problem, groupby agg 2 years ago
q.sql fix gitw 3 years ago
q1.sql fix gitw 3 years ago
requirements.txt simple udf code generation 2 years ago
server.exe fix gitw 3 years ago
server2.exp udf support for monetdbe backend 3 years ago
server2.lib udf support for monetdbe backend 3 years ago
stock.a fixed int128 problem, groupby agg 2 years ago
test.csv fix gitw 3 years ago
udf.hpp fixed int128 problem, groupby agg 2 years ago
udf.hpp.gch simple udf code generation 2 years ago
udf2.a simple udf code generation 2 years ago
udf3.a fixed int128 problem, groupby agg 2 years ago
udf4.a simple udf code generation 2 years ago
udf_style1.hpp simple udf code generation 2 years ago
udftest.cpp simple udf code generation 2 years ago
udftest_compile.cpp simple udf code generation 2 years ago

README.md

AQuery++ DB

Introduction

AQuery++ Database is a cross-platform, In-Memory Column-Store Database that incorporates compiled query execution. Compiler frontend built on top of mo-sql-parsing.

Roadmap

  • SQL Parser -> AQuery Parser (Front End)
  • AQuery-C++ Compiler (Back End)
    • Schema and Data Model
    • Data acquisition/output from/to csv file
    • Single table queries
      • Projections and Single Table Aggregations
      • Group by Aggregations
      • Filters
      • Order by
      • Assumption
      • Flatten
    • Multi-table
      • Join
    • Subqueries
  • -> Optimizing Compiler

TODO:

  • C++ Meta-Programming: Elimilate template recursions as much as possible.
  • IPC: Better ways to communicate between Interpreter (Python) and Executer (C++).
    • Sockets? stdin/stdout capture?

Requirements

Recent version of Linux, Windows or MacOS, with recent C++ compiler that has C++17 (1z) support (e.g. gcc 6.0, MSVC 2017, clang 6.0), and python 3.6 or above.

Usage

python3 prompt.py will launch the interactive command prompt. The server binary will be autometically rebuilt and started.

Commands:

  • <sql statement>: parse sql statement
  • f <filename>: parse all sql statements in file
  • print: printout parsed sql statements
  • exec: execute last parsed statement(s)
  • r: run the last generated code snippet
  • save <OPTIONAL: filename>: save current code snippet. will use random filename if not specified.
  • exit: quit the prompt

Example:

f moving_avg.a
exec