Commit Graph

208 Commits

Author SHA1 Message Date
mrks
b35fce9977
store all float values in doubles () 2018-11-17 12:02:48 +01:00
mrks
62d162579a
Support escaped strings (e.g., 'Max O''Mustermann') ()
* Support escaped strings (e.g., 'Max O''Mustermann')

* review
2018-11-12 15:35:31 +01:00
alkim0
a59deb43c3 Added boolean literal support ()
* 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
mrks
a122effd46
Fix Tokens ()
* Fix Tokens

* fix

* ci
2018-10-22 22:05:29 +02:00
mrks
f7bd4ee592
Support more of the CREATE TABLE command ()
* Support more of the CREATE TABLE command

* bison version

* build on nemea

* bla

* Check for flex version
2018-10-19 14:18:03 +02:00
mrks
79bdad949f
Remove PART keyword ()
* Remove PART keyword

* Change it in some tests
2018-10-10 16:33:53 +02:00
mrks
c7980a0009
Fix include guard naming [-Wreserved-id-macro] () 2018-09-29 10:38:29 +02:00
Tim Zimmermann
1f564e16b8 Add tests for SUBSTR support ()
* 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 ()
* EXTRACT support

* formatting

* formatting

* formatting
2018-05-23 03:02:14 +02:00
Moritz Eyssen
82e73f66d2 No FROM required () 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
Markus Dreseler
8bd3ad3a2c
Fix use of old flex version 2018-02-08 18:06:17 +01:00
Markus Dreseler
8ec540fc52
Merge branch 'master' of https://github.com/hyrise/sql-parser into limit-offset 2018-02-08 17:25:30 +01:00
Moritz Eyssen
c43af4b401
Update bison_parser.y 2018-02-08 16:46:30 +01:00
javrucebo
e33e6f61f7 committing bison/flex output to run testsuite on travis 2018-01-27 01:00:55 +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
Moritz Eyssen
48f32a4b73 remove unused enum members 2018-01-24 15:35:45 +01:00
mrks
5fa5a94c9e
Merge branch 'master' into operator-equals 2018-01-24 14:20:23 +01:00
mrks
ac9a742fce
Rearrange order of join types 2018-01-23 13:39:42 +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
mrks
314d697fa2
Merge branch 'master' into fix_ref_table_order 2018-01-18 10:13:34 +01:00
Lawrence
a578842117 Fix order of table_ref 2018-01-17 16:47:57 +01:00
Lawrence
2f5502cb93
Fix typo 2018-01-17 16:05:42 +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
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
mrks
4d36a1d426 Merge branch 'master' into print-op-expr 2017-10-24 15:20:53 +02:00
mrks
6a192cdf17 Merge branch 'master' into feature/schema_and_if_exists_for_drop 2017-10-20 14:12:58 +02:00
Moritz Eyssen
fe157ec830 Merge with master 2017-10-13 11:27:44 +02:00
Moritz Eyssen
0d0ba53546 Formatting and more tests 2017-10-12 19:18:38 +02:00
root
cf28f8fdaf space format 2017-09-29 17:19:39 +08:00
root
d220ff47ab add drop test case in test/queries/queries-good.sql 2017-09-29 17:15:18 +08:00
root
bdc9a4b939 fix clang++ errror report 2017-09-13 22:21:09 +08:00
root
7da22a8bb1 fix %destructor of table_n 2017-09-13 21:59:15 +08:00
root
4e3be32ba0 cancel empty from clause support 2017-09-13 18:24:41 +08:00
root
45cae0bb0b cancel empty from clause support 2017-09-13 18:12:29 +08:00
root
1922210f70 1. add scheme name support for tables names
2. add IF EXIST support for DROP TABLE/VIEW
3. fix memory free bug: delete -> free
4. add features in sqlhelper.cpp
2017-09-13 17:37:31 +08:00
Markus Dreseler
68e4d1b207 Make UPDATE use expression, not literal
This allows for things like UPDATE x SET a = a + 1
2017-09-12 19:50:34 +02:00
Tim Zimmermann
2316e07d52 Do not allow deprecated features for flex 2017-09-05 10:25:39 +00: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 () 2017-08-14 15:13:56 +02:00
Nan Xiao
165583a60b Print exprList in printOperatorExpression 2017-08-03 14:55:44 +08: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... ()
* 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
Pedro Flemming
69d96061b2 Add tokenize method to SQLParser to output the list of tokens ()
Added tokenize benchmark. Restructured Makefile
2017-07-21 02:47:45 +02:00
Nan Xiao
12e35dcd63 Fix bug in print kExprFunctionRef expression. ()
* Fix bug in print kExprFunctionRef expression.

* Support print "groupBy" member in printSelectStatementInfo function.
2017-07-19 22:20:05 +02:00
Tim Zimmermann
6a05b8e94b Add enum types for formerly 'simple' operands ()
* Add enum types for formerly 'simple' operands

* Use non-semantic names

* Formatting

* Add generated files
2017-06-29 13:40:24 +02:00
Tim Zimmermann
8913f9213d Fix: use correct format specifiers for int64 ()
* Fix: use correct format specifiers for int64
* Use iostream instead of stdio
2017-06-14 22:46:43 +02:00