2022-08-24 06:24:34 +08:00
2022-07-29 22:45:51 +08:00
2022-06-09 15:34:25 +08:00
2022-08-09 22:17:37 +08:00
2022-08-24 06:24:34 +08:00
2022-08-24 06:24:34 +08:00
2022-06-09 15:34:25 +08:00
2022-08-09 22:00:46 +08:00
2022-08-12 06:34:55 +08:00
2022-08-24 06:24:34 +08:00
2022-08-10 17:48:54 +08:00
2022-08-23 05:21:28 +08:00
2022-06-09 15:34:25 +08:00
2022-06-09 15:34:25 +08:00
2022-07-29 22:45:51 +08:00
2022-06-09 15:34:25 +08:00
2022-07-29 22:45:51 +08:00
2022-06-09 15:34:25 +08:00
2022-08-12 06:34:55 +08:00
2022-06-09 15:34:25 +08:00
2022-07-29 22:45:51 +08:00
2022-08-09 22:00:46 +08:00
2022-06-09 15:34:25 +08:00
2022-06-09 15:34:25 +08:00
2022-06-09 15:34:25 +08:00
2022-08-12 06:34:55 +08:00
2022-06-09 15:34:25 +08:00
2022-06-09 15:34:25 +08:00
2022-06-09 15:34:25 +08:00
2022-08-24 06:24:34 +08:00
2022-08-10 17:48:54 +08:00
2022-06-09 15:34:25 +08:00
2022-07-29 22:45:51 +08:00
2022-08-04 04:40:24 +08:00
2022-07-29 22:45:51 +08:00
2022-07-29 22:45:51 +08:00
2022-07-29 22:45:51 +08:00
2022-07-29 22:45:51 +08:00

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

S
Description
AQuery Database
Readme
26 MiB
Languages
C++ 45.1%
C 31.1%
Python 23.2%
Makefile 0.5%