Ankush Rayabhari
8d1c86f192
Added support for casting to DATE
2020-08-31 20:42:08 -07:00
Julian Menzler
6003ab58d1
Support WITH ( #125 )
...
* Add struct WithDescription in SelectStatement.h
* Add test for With statements
* Implement With draft
* tm
* Fix Grammar
* Fix commented code
* naming improvements
* naming improvements
* introduce memory leak1
* removed memory leak
* Create two WITH-tests
* Add bad queries reg. WITH
2019-05-24 16:42:28 +02:00
Leander Neiss
e0e58d0876
Allow Expressions in LIMIT and OFFSET. ( #111 )
...
* Allow Expressions in LIMIT and OFFSET.
* Make NULL distinguishable from nullptr (not present) for LIMIT and OFFSET.
2019-04-04 12:25:15 +02: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
Tim Zimmermann
1f564e16b8
Add tests for SUBSTR support ( #96 )
...
* Add test for SUBSTR support
* Trigger CI
* Trigger
* Trigger
* Trigger
* Remove CMake file
2018-05-30 17:52:56 +10:00
Moritz Eyssen
73ed061d7d
Support EXTRACT ( #95 )
...
* EXTRACT support
* formatting
* formatting
* formatting
2018-05-23 03:02:14 +02:00
Moritz Eyssen
82e73f66d2
No FROM required ( #94 )
2018-05-22 15:35:39 +02:00
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
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
09f821e383
Add test for schema ref in FROM
2017-10-12 20:07:30 +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
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
6b22e22162
update tests to use the new Parser interface
2017-04-07 16:26:00 +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
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
681fbe42d2
refactor tests to use the microtest framework
2017-02-10 21:41:34 +01:00