HyriseSQLParser/README.md

42 lines
1.4 KiB
Markdown
Raw Normal View History

2014-10-24 17:37:03 +02:00
SQL Parser (C++)
2014-10-09 01:27:56 +02:00
==========
2014-10-24 17:37:03 +02:00
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).
2014-10-31 18:54:00 +01:00
## 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.
2014-11-04 00:22:59 +01:00
**so far missing features, that are being worked on:**
* Join Statements
* Limit Offset
* Having
* Order By multiple columns
2014-11-04 10:22:06 +01:00
* Distinct
2014-11-04 00:22:59 +01:00
## Language Progress Overview
* Select Statements: **Mostly**
2014-11-04 10:22:06 +01:00
* Selection List: **Mostly** (column names, literals, expressions, functions... DISTINCT is missing)
2014-11-04 00:22:59 +01:00
* 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_
2014-11-04 00:17:32 +01:00