HyriseSQLParser/README.md

40 lines
1.1 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), but can be used in other environments as well.
### General 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. See `hyrise/src/lib/access/sql/SQLQueryParser.cpp` for how it's used in Hyrise.
### Run tests
To execute all tests run: `./run_tests.sh`.
### Update in Hyrise
Run `./deploy_to_hyris.sh path/to/hyrise` to update the SQL parser within Hyrise.
### Capabilities (Can and Can't do)
**Can**
* Single select statements
* Join expressions
* Create tables
* Insert statements
* Delete/Truncate statements
**Can't (yet)**
* Having clause
* Update statements
* Union clauses
* Create anything other than tables
* Alter/Rename statements