Falco Duersch
2ff32fbee3
Extend table alias with column renames: "AS tbl(c0, c1)"
2018-02-12 11:28:36 +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
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