Parser used for BeeDB, mainly forked from Hyrise SQL Parser (https://github.com/hyrise/sql-parser).
Go to file
Pedro 7d12fb3ec4 added keyword list generator. Now understanding names in double quotes 2014-11-07 16:29:46 +01:00
frontend-hyrise added sample queries 2014-11-05 16:09:56 +01:00
lemon_example extended flex to use custom token type 2014-10-17 17:43:57 +02:00
src added keyword list generator. Now understanding names in double quotes 2014-11-07 16:29:46 +01:00
.gitignore refactored Expr to be struct and have a type 2014-10-08 19:26:38 -07:00
README.md Update README.md 2014-11-04 10:22:06 +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).

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.

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