HyriseSQLParser/README.md

42 lines
1.4 KiB
Markdown

SQL Parser (C++)
==========
This is a SQL Parser for C++. It parses the given SQL query into C++ objects.
It is developed for integration in hyrise (https://github.com/hyrise/hyrise).
## Usage
**Prerequisites:**
* bison (https://www.gnu.org/software/bison/)
* flex (http://flex.sourceforge.net/)
To create the full parser code run `make build`. The parser library code is created in `build/`.
To use the SQL Parser in your own code, you only need to include `SQLParser.h` and build+link all the source files from the parser with your project.
**so far missing features, that are being worked on:**
* Join Statements
* Limit Offset
* Having
* Order By multiple columns
* Distinct
## Language Progress Overview
* Select Statements: **Mostly**
* Selection List: **Mostly** (column names, literals, expressions, functions... DISTINCT is missing)
* From: **Full** (table names, select statements, cross product of each)
* Where: **Mostly** (some special operators might not be supported yet)
* Group By: **Partial** (Having is missing)
* Order By: **Partial** (can only specify one column to sort by)
* Limit: **Partial** (no offset can be specified)
* Join Statements: **In Progress**
* Join Tables: **In Progress**
* Join Types: **In Progress**
* Join Condition: **In Progress**
* Insert Statements: _Planned_
* Delete Statements: _Planned_
* Create Statements: _Planned_