Commit Graph

31 Commits

Author SHA1 Message Date
Ankush Rayabhari
b6dfe73051 Fix segfault on printing cast/extract exprs
- Additionally, fix printing logic
2020-09-01 08:25:15 -07:00
Mike Siomkin
7b22ee8ecb Add support of CAST(expression AS datatype(length))
CAST(expression AS datatype(length)) construction is a part of
ANSI SQL-92 standard. So we have to support it.
2020-06-16 22:39:00 +03: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
Moritz Eyssen
73ed061d7d Support EXTRACT (#95)
* EXTRACT support

* formatting

* formatting

* formatting
2018-05-23 03:02:14 +02:00
Moritz Eyssen
48f32a4b73 remove unused enum members 2018-01-24 15:35:45 +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
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
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
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
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
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
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
28214e8043 change indent to spaces=2 and indent access modifiers. minor style changes 2017-02-08 02:16:52 +01:00
Pedro
02b7b880ed remove inline functions from Expr 2017-02-08 01:55:59 +01:00
Pedro Flemming
0946624d54 moved implementations from header files to statements.cpp 2017-02-03 16:50:18 +01:00
Pedro
7d1c56d0aa add astyle formatting 2016-02-27 15:01:06 +01:00
Pedro
5046c6477f restructured source code and build dynamic library 2015-12-23 16:01:08 +01:00