Commit Graph

72 Commits

Author SHA1 Message Date
mrks
5fa5a94c9e
Merge branch 'master' into operator-equals 2018-01-24 14:20:23 +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
javrucebo
66804a6281 Allow '==' to be parsed as equal operator in expressions.
SQLite allows for this and it is in the same spirit as allowing both != and <>
for non equality.
(see https://sqlite.org/lang_expr.html#collateop)
2018-01-22 18:54:52 +01:00
Lawrence
a578842117 Fix order of table_ref 2018-01-17 16:47:57 +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
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
Moritz Eyssen
aa4dc099a0 Add DropTableIfExistsStatementTest 2017-10-12 20:19:59 +02:00
Moritz Eyssen
09f821e383 Add test for schema ref in FROM 2017-10-12 20:07:30 +02:00
Moritz Eyssen
0d0ba53546 Formatting and more tests 2017-10-12 19:18:38 +02:00
root
d220ff47ab add drop test case in test/queries/queries-good.sql 2017-09-29 17:15:18 +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
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
128cd74670 fix token generator for negative numbers (#41) 2017-04-25 17:25:00 +02:00
Pedro Flemming
793258f872 Add capability for multi join table references (#40) 2017-04-21 22:03:12 +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
e94e80e674 add various utility methods to SQLParserResult like releaseStatements 2017-04-08 03:18:58 +02:00
Pedro Flemming
d318ef0de4 update tpch tests to use new interface 2017-04-07 16:28:33 +02:00
Pedro Flemming
6b22e22162 update tests to use the new Parser interface 2017-04-07 16:26:00 +02:00
Pedro Flemming
e16925e7a5 add parseSQLString method with output parameter instead of return value 2017-04-07 16:16:25 +02:00
Pedro Flemming
9e558c7d22 Merge remote-tracking branch 'upstream/master' into misc 2017-04-07 15:48:51 +02:00
Pedro Flemming
e6cd70f029 move sqlhelper into util/. Add convenience methods 2017-04-07 15:47:51 +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
589a251ed7 add copy header files to install rule 2017-04-04 02:58:16 +02:00
Pedro
3e52bf1a66 Add test for grammar conflicts. Print summary at the end of tests 2017-03-08 19:28:25 +01: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
052f20ed1d add additonal TPC-H queries for testing 2017-03-07 15:30:54 +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 Flemming
42049b4d56 Benchmarking (#27)
Adds benchmarking capabilities and small grammar fix.
2017-03-06 18:30:35 +01:00
Pedro
681fbe42d2 refactor tests to use the microtest framework 2017-02-10 21:41:34 +01:00
Pedro Flemming
d576350e1e add auto memory leak check with valgrind to test script 2017-02-08 11:59:24 +01:00
Pedro
043e34b70c implement test for failing grammar in sql_grammar_test.cpp 2017-02-08 04:55:45 +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
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