Merge branch 'master' of github.com:torpedro/sql-parser

This commit is contained in:
Pedro 2014-11-10 22:33:20 +01:00
commit e25aedd00e
1 changed files with 9 additions and 24 deletions

View File

@ -2,10 +2,9 @@ SQL Parser (C++)
========== ==========
This is a SQL Parser for C++. It parses the given SQL query into C++ objects. 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). It is developed for integration in hyrise (https://github.com/hyrise/hyrise), but can be used in other environments as well.
### General Usage
## Usage
**Prerequisites:** **Prerequisites:**
* bison (https://www.gnu.org/software/bison/) * bison (https://www.gnu.org/software/bison/)
@ -15,27 +14,13 @@ To create the full parser code run `make build`. The parser library code is crea
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. 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:** ### Usage in Hyrise
* Join Statements
* Limit Offset
* Having
* Order By multiple columns
* Distinct
## Language Progress Overview To build a new version of the sql parser and include it in hyrise you have to run `make build` and copy all contents of `build/` to `hyrise/src/lib/access/sql/parser/` and run rebuild Hyrise with `make` within the hyrise directory.
* Select Statements: **Mostly** If you have changed some API keywords than you might have to adjust the Hyrise source files accordingly.
* Selection List: **Mostly** (column names, literals, expressions, functions... DISTINCT is missing)
* From: **Full** (table names, select statements, cross product of each) ### Language Progress Overview
* Where: **Mostly** (some special operators might not be supported yet)
* Group By: **Partial** (Having is missing) See [Wiki](https://github.com/hyrise/sql-parser/wiki#currently-supported-and-planned-sql-features)
* 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_