Parser used for BeeDB, mainly forked from Hyrise SQL Parser (https://github.com/hyrise/sql-parser).
Go to file
Pedro 21503300ca added parsing of prepare and execute statement 2014-12-15 16:43:32 +01:00
bin refactored test suite. added alias to expressions 2014-11-12 10:43:10 +01:00
frontend-hyrise minor changes to frontend 2014-12-15 13:19:12 +01:00
lemon_example extended flex to use custom token type 2014-10-17 17:43:57 +02:00
src added parsing of prepare and execute statement 2014-12-15 16:43:32 +01:00
test added parsing of prepare and execute statement 2014-12-15 16:43:32 +01:00
.gitignore refactored test suite. added alias to expressions 2014-11-12 10:43:10 +01:00
README.md refactored test framework 2014-12-03 16:32:56 +01:00
deploy_to_hyrise.sh implemented expr null constructor 2014-11-12 11:18:43 +01:00
run_analysis.sh added test-framework 2014-11-26 16:20:55 +01:00
run_tests.sh refactored test framework 2014-12-03 16:32:56 +01:00

README.md

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:

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