Commit Graph

70 Commits

Author SHA1 Message Date
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
Pedro ef7c3cf349 add test for installed library 2016-02-27 16:45:17 +01:00
Pedro 5267d070e8 return bad exit code when a test fails 2016-02-27 15:48:20 +01:00