Commit Graph

59 Commits

Author SHA1 Message Date
mrks b35fce9977
store all float values in doubles (#105) 2018-11-17 12:02:48 +01:00
alkim0 a59deb43c3 Added boolean literal support (#103)
* Added boolean support

* Made bool literals int vals

With a flag indicating if they came from boolean literals.

* Add makeLiteral(bool val);
2018-11-02 11:42:23 +01:00
mrks f7bd4ee592
Support more of the CREATE TABLE command (#101)
* Support more of the CREATE TABLE command

* bison version

* build on nemea

* bla

* Check for flex version
2018-10-19 14:18:03 +02:00
mrks c7980a0009
Fix include guard naming [-Wreserved-id-macro] (#99) 2018-09-29 10:38:29 +02:00
Moritz Eyssen 73ed061d7d Support EXTRACT (#95)
* EXTRACT support

* formatting

* formatting

* formatting
2018-05-23 03:02:14 +02:00
Falco Duersch 2ff32fbee3 Extend table alias with column renames: "AS tbl(c0, c1)" 2018-02-12 11:28:36 +01:00
Markus Dreseler 8ec540fc52
Merge branch 'master' of https://github.com/hyrise/sql-parser into limit-offset 2018-02-08 17:25:30 +01:00
javrucebo cdd271490b Allow more variations of LIMIT/OFFSET
In addtion to already supported LIMIT/OFFSET variants allow more to be parsed

Legacy:
  - LIMIT int
  - LIMIT int OFFSET int

Enhancement:
  - OFFSET int             (no limit)
  - LIMIT ALL              (no limit)
  - LIMIT NULL             (no limit)
  - LIMIT ALL OFFSET int   (no limit, but offset)
  - LIMIT NULL OFFSET int  (no limit, but offset)

Also ensures negative limits / offsets are set to kNoLimit/kNoOffset
2018-01-27 00:33:23 +01:00
Moritz Eyssen 48f32a4b73 remove unused enum members 2018-01-24 15:35:45 +01:00
javrucebo 66688f7199 Adjust Table Join Types
Consolidate LeftOuter/Left and RightOuter/Right as they are
by definition the same.
Similar consolidate FullOuter/Outer/Full ... with Outer (as in the
parser) not part of standard, but "full" missing. Allowing all three.

This commit potentially breaks other programs as kJoinLeftOuter and kJoinRightOuter
are eliminated
2018-01-22 20:44:33 +01:00
Lawrence 1425deb75d Merge master 2018-01-17 15:53:23 +01:00
Lawrence 77e396703f Add stringLength information to hsql::Statement 2018-01-17 15:43:38 +01:00
Moritz Eyssen 074bce4d90 dix and adapt casecasewhen 2018-01-17 13:11:39 +01:00
javrucebo daf8fe7a45 Changing Grammar to extend CASE WHEN statement:
- allow multiple WHEN statements
- allow for syntax like `CASE x WHEN 1 THEN 2 WHEN 3 THEN 4 ELSE 5 END`
NOTE: This changes also the way the CASE operator is stored:
- CASE [expr] exprList [ELSE expr2] END
- exprList holds each of the WHEN statements with:
  expr := WHEN, expr2 := THEN

Added also tests in test/select_tests.cpp
and adapted the existing one to reflect the new storage
2018-01-16 00:45:55 +01:00
mrks 6a192cdf17 Merge branch 'master' into feature/schema_and_if_exists_for_drop 2017-10-20 14:12:58 +02:00
Moritz Eyssen fe157ec830 Merge with master 2017-10-13 11:27:44 +02:00
root 1922210f70 1. add scheme name support for tables names
2. add IF EXIST support for DROP TABLE/VIEW
3. fix memory free bug: delete -> free
4. add features in sqlhelper.cpp
2017-09-13 17:37:31 +08:00
Tim Zimmermann 0233f77cef Add support for SHOW TABLES statement 2017-08-23 23:56:16 +02:00
Pedro Flemming f815247510 Add documentation about missing features (#56) 2017-08-14 15:13:56 +02:00
Nan Xiao e7c2833e43 Initialize all fields in Expr struct 2017-08-01 13:58:22 +08:00
alkim0 88ffe4822b Many updates to grammar including support for arrays, ilike, natural joins with no predicates... (#49)
* Got ISNULL working

* Allow function calls with no arguments

* Added no-else cases and arrays

* Added more operations including ilike, concat

* Added optional all to set operations and fixed natural join

* Ran astyle

* Used the appropriate star expression

Instead of using a ColumnRef with star literal.

* NULL expressions now returns true isLiteral

* Fixed structure for no-else case clauses

* Fixed up grammar conflicts
2017-07-26 19:09:02 +02:00
Pedro Flemming 69d96061b2 Add tokenize method to SQLParser to output the list of tokens (#54)
Added tokenize benchmark. Restructured Makefile
2017-07-21 02:47:45 +02:00
Tim Zimmermann 6a05b8e94b Add enum types for formerly 'simple' operands (#48)
* Add enum types for formerly 'simple' operands

* Use non-semantic names

* Formatting

* Add generated files
2017-06-29 13:40:24 +02:00
Pedro Flemming 1483a4a95a Add Hints per statement to SQL syntax. 2017-06-06 22:15:19 +02:00
Pedro Flemming f85a5e7b52 Prepared Statements (#43)
Changed PREPARE syntax to be closer to the standard.
2017-05-29 16:22:13 +02:00
Pedro Flemming 0909c6a89a Documentation & Result Move Constructor (#39)
Updates documentation, adds a move constructor to SQLParserResult, fixes compile-time warnings
2017-04-21 16:15:07 +02:00
Pedro Flemming 927c8ec40a add tests and benchmarks for prepare and execute 2017-04-09 13:34:51 +02:00
Pedro Flemming e6cd70f029 move sqlhelper into util/. Add convenience methods 2017-04-07 15:47:51 +02:00
Pedro Flemming de48a0bafd adjust define guard namings 2017-04-06 18:27:47 +02:00
Pedro Flemming 7bce903eb8 fix various const constraints and comments 2017-04-06 17:42:46 +02:00
Pedro Flemming eddd799c26 rename operators to match constant naming style. Move the enum out of Expr 2017-04-06 17:25:47 +02:00
Pedro 39d0dbd9af Implement CREATE VIEW and DROP VIEW 2017-03-08 17:42:33 +01:00
Pedro 9a5a352a0b add explicit test to TPC-H query properties 2017-03-08 16:55:29 +01:00
Pedro a0e55035fd Implement NOT EXISTS 2017-03-07 15:53:22 +01:00
Pedro 177901816f add more join types 2017-03-07 15:49:49 +01:00
Pedro b4adfa5b74 implement IN operator 2017-03-07 15:44:44 +01:00
Pedro bf255c65ac fix memory leaks 2017-03-07 15:09:39 +01:00
Pedro b7828e698e implement CASE WHEN expressions 2017-03-07 14:55:51 +01:00
Pedro 5605dbab7e implement EXISTS conditional 2017-03-07 14:37:19 +01:00
Pedro cf1c84d46d Add select statement as possible operand in expressions 2017-03-07 14:22:52 +01:00
Pedro 35b8b569eb Implement BETWEEN operator 2017-03-07 13:49:56 +01:00
Pedro 9ecfa8e8f6 Allow function expressions to have variable length of parameters 2017-03-07 02:51:04 +01:00
Pedro f82504b319 Allow order by to define a list of expressions to order by 2017-03-07 02:30:44 +01:00
Pedro 36adab70c5 add 10 tpch style queries and test for them 2017-03-07 02:01:00 +01:00
Pedro 5041dccf70 fix all leaks triggered by sql_grammar_test.cpp 2017-02-08 04:27:04 +01:00
Pedro 69e9673763 fixed leaks triggered by sql_tests.cpp 2017-02-08 04:10:26 +01:00
Pedro a362e86da1 resolved memory leaks triggered in select tests 2017-02-08 03:54:38 +01:00
Pedro 4aca7d035f fixed inconsistend member naming. fixed building of error result in parser 2017-02-08 03:07:51 +01:00
Pedro ec46b28f32 improved interface of SQLParserResult 2017-02-08 02:59:07 +01:00
Pedro 28214e8043 change indent to spaces=2 and indent access modifiers. minor style changes 2017-02-08 02:16:52 +01:00