Commit Graph

343 Commits

Author SHA1 Message Date
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
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
mrks c7e8309363
Merge pull request #79 from f4lco/table-alias-with-columns
Extend table alias with column renames: "AS tbl(c0, c1)"
2018-02-12 11:42:02 +01:00
mrks 7837a2a6f5
Dummy-Commit to retrigger CI 2018-02-12 11:36:47 +01:00
Falco Duersch 2ff32fbee3 Extend table alias with column renames: "AS tbl(c0, c1)" 2018-02-12 11:28:36 +01:00
mrks 77185183f6
Merge pull request #87 from hyrise/mrks/fix-flex
Fix use of old flex version
2018-02-08 18:15:48 +01:00
Markus Dreseler 8bd3ad3a2c
Fix use of old flex version 2018-02-08 18:06:17 +01:00
mrks 2dea18f515
Merge pull request #83 from javrucebo/limit-offset
Allow more variations of LIMIT/OFFSET
2018-02-08 17:36:22 +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
mrks fbc1839786
Merge pull request #82 from hyrise/remove_unused_enum_members
Remove unused enum members
2018-02-08 17:01:33 +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 36628dc005
Merge pull request #80 from javrucebo/operator-equals
Allow '==' for operator equals
2018-01-24 14:53:22 +01:00
mrks 5fa5a94c9e
Merge branch 'master' into operator-equals 2018-01-24 14:20:23 +01:00
mrks ea694ad2b3
Merge pull request #81 from javrucebo/join-types
Adjust Join types
2018-01-23 13:46:17 +01:00
mrks ac9a742fce
Rearrange order of join types 2018-01-23 13:39:42 +01:00