Commit Graph

361 Commits

Author SHA1 Message Date
mrks 159c786cdb
Merge pull request #157 from ankushrayabhari/date_cast
Added support for casting to DATE
2020-09-01 12:14:20 +02:00
Ankush Rayabhari 8d1c86f192 Added support for casting to DATE 2020-08-31 20:42:08 -07:00
mrks 723b4175fd
Merge pull request #155 from hyrise/mrks/tokens
Remove tokens that are defined more than once
2020-06-18 12:53:59 +02:00
Markus Dreseler f7bc462e18 Update flex cpp/h 2020-06-18 12:47:02 +02:00
Markus Dreseler d91debc538 Remove tokens that are defined more than once 2020-06-18 12:46:25 +02:00
mrks 2efd12d78c
Merge pull request #153 from msiomkin/cast-as-type
Add support of CAST(expression AS datatype(length))
Add DATETIME
2020-06-18 12:45:46 +02: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
mrks 3e7d03276e
Merge pull request #151 from msiomkin/fix-readme-example-typo
Add missing braces to the README code snippet
2020-06-05 20:08:38 +02:00
Mike Siomkin 819dc09eb2 Add missing braces to the README code snippet 2020-06-05 20:30:40 +03:00
mrks de657e7057
Merge pull request #150 from TennyZhuang/patch-2
Refine example in README.md
2020-06-04 11:28:27 +02:00
mrks 530b48d539
Fix kStmtSelect typo 2020-06-04 11:22:56 +02:00
庄天翼 a18f03e0bc refine example in README.md
Signed-off-by: TennyZhuang <zty0826@gmail.com>
2020-06-03 23:40:02 +08:00
mrks 2dfaa2b672
Merge pull request #149 from msiomkin/fix-compiler-versions
Fix compiler version requirements in readme
2020-05-28 12:55:16 +02:00
Mike Siomkin 00ac9cd304 Fix compiler version requirements in readme
c++17 is required to build the project. The minimum versions of gcc
and clang that support c++17 are 5 (for both compilers).

Closes #148
2020-05-26 15:29:43 +03:00
mrks d05ef8ed0c
Assert nullable on columns->at(4). Assertion was being made twice at(3). 2020-05-25 22:15:49 +02:00
Mateo Gonzales Navarrete 4ca664cdd3 Assert nullable on columns->at(4). Assertion was being made twice at(3). 2020-05-25 15:04:39 -05:00
mrks bba65d8f35
Use awk to check versions 2020-05-25 11:16:18 +02:00
Mike Siomkin 0f96b977e9 Use awk to check versions
Some Linux distributions (e.g. Centos) don't have bc installed by
default. And some (e.g Centos 8) don't have binary packages for it
available either. It's safer to use awk instead of bc to check
versions of bison and flex in the parser Makefile.

Closes #144
2020-05-24 13:43:01 +03:00
mrks dd360837f1
Fixed typos 2020-05-19 16:09:29 +02:00
Mateo Gonzales Navarrete 28b3da0e84
Merge pull request #1 from mgonnav/fix-devdocs-typos
Fixed typos
2020-05-16 21:56:16 -05:00
Mateo Gonzales Navarrete dfbce8112d
Fixed typos 2020-05-16 21:54:22 -05:00
mrks a63232533f
std::experimental::filesystem --> std::filesystem (#142)
Yepp, thanks. Just curious: Did this cause issues anywhere?
2020-04-07 23:53:22 +02:00
mrks 3f2f37e772
Merge branch 'master' into patch-2 2020-04-07 23:46:18 +02:00
Christian Clauss cd646f9971
Use print() function in both Python 2 and Python 3 (#141)
Thanks!
2020-04-07 23:46:03 +02:00
Christian Clauss 0e0f79feb9
std::experimental::filesystem --> std::filesystem 2020-04-01 00:15:37 +02:00
Tobias Nack e8ce1c4caf
Add support to identify different set operators & allow chain of multiple set operators (#138) 2020-02-18 14:26:10 +01:00
Till Later 4b617bca96 Adds simple transaction commands (#137) 2020-01-14 13:21:19 +01:00
Daniel Lindner e3cfc80975 Add COPY for import and export (#139) 2020-01-08 16:21:02 +01:00
mrks 907b668151
Fix build badge (#135)
The badge referred to the outdated release (which has been deleted for a while now). This PR updates it so that the master is used.
2019-12-16 04:52:17 -08:00
Bernhard M. Wiedemann e88c1f4518 Sort the input file list (#133)
so that libsqlparser.so.1 builds in a reproducible way
in spite of indeterministic filesystem readdir order.

See https://reproducible-builds.org/ for why this is good.
2019-11-14 07:10:51 -08:00
mrks a4703fec5b
Add DESCRIBE (#131) 2019-09-16 11:58:05 +02:00
f4lco 6e730a5436 Print matching token for operator types instead of plain integer (#85)
* Print matching token for operator types instead of plain integer

* Update sqlhelper.cpp
2019-08-13 16:07:19 +02:00
mrks 755ea052d7
Remove HISTORY keyword (#129) 2019-07-31 12:43:18 +02:00
d-justen de4f81bb18 Support Create Table As Syntax (#127)
* support create table as select statement

* Generate bison code

* add test
2019-06-07 11:42:49 +02: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
mrks ab1e6b4192
Fix printing of EXISTS (SELECT) (#114)
* Fix printing of EXISTS (SELECT)

* Update sqlhelper.cpp
2019-04-23 11:35:17 +02:00
mrks ddb6276fac
Fix print (#112) 2019-04-23 11:03:18 +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
Moritz Eyssen 9701403ff5 Fix multi-threaded parsing (#110)
This should fix multi-threaded parsing. Not a clean solution, I am guessing the following block should be a single, state-less pattern? @mrks

```
\'                          { BEGIN singlequotedstring; strbuf = std::stringstream{}; }
<singlequotedstring>\'\'    { strbuf << '\''; }
<singlequotedstring>[^']*   { strbuf << yytext; }
<singlequotedstring>\'      { BEGIN 0; yylval->sval = strdup(strbuf.str().c_str()); return SQL_STRING; }
<singlequotedstring><<EOF>> { fprintf(stderr, "[SQL-Lexer-Error] Unterminated string\n"); return 0; }
```

Anyway, the following hyrise playground does not crash anymore, so Toni should be able to work with this for the time being.

```c++
#include <iostream>
#include <thread>

#include "types.hpp"
#include "tpch/tpch_queries.hpp"
#include "SQLParser.h"

using namespace opossum;  // NOLINT

int main() {
  std::vector<std::thread> threads;

  for (size_t t = 0; t < 200; ++t) {
    threads.emplace_back([&]() {
      for (size_t p = 0; p < 10'000; ++p) {
        hsql::SQLParserResult result;
        hsql::SQLParser::parse(tpch_queries.at(19), &result);
        std::cout << "Parsing " << p << " is valid: " << result.isValid() << std::endl;
      }
    });
  }

  for (auto& thread : threads) {
    thread.join();
  }

  return 0;
}
```
2019-03-22 07:07:17 -05:00
mrks 1b86e5e624
Make parameters for execute optional (#107) 2018-11-23 11:10:31 +01:00
mrks bd56ba8f7a
Fix type inconsistency (#106) 2018-11-17 12:10:39 +01:00
mrks b35fce9977
store all float values in doubles (#105) 2018-11-17 12:02:48 +01:00
mrks 62d162579a
Support escaped strings (e.g., 'Max O''Mustermann') (#104)
* Support escaped strings (e.g., 'Max O''Mustermann')

* review
2018-11-12 15:35:31 +01: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
mrks a122effd46
Fix Tokens (#102)
* Fix Tokens

* fix

* ci
2018-10-22 22:05:29 +02:00
mrks f7bd4ee592
Support more of the CREATE TABLE command (#101)
* 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 (#100)
* 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] (#99) 2018-09-29 10:38:29 +02:00
Jan Koßmann 717df4d910 Adjust license paragraph in readme (#97) 2018-05-31 17:51:27 +10: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