Commit Graph

223 Commits

Author SHA1 Message Date
Pedro 1f183147ec fix memory leaks when parsing fails 2017-02-08 04:56:07 +01:00
Pedro 5041dccf70 fix all leaks triggered by sql_grammar_test.cpp 2017-02-08 04:27: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 ec46b28f32 improved interface of SQLParserResult 2017-02-08 02:59:07 +01:00
Pedro 5cf62f6b1d add documentation to parser and parsing result 2017-02-08 02:33:42 +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 8582c7f901 remove typedef enums and inline methods. 2017-02-08 02:02:30 +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 Flemming 61be0684cf update build after merging #17 2016-05-24 15:09:11 +02:00
Adnan Hasnain Alam bcb5fe5e82 Enable compilation on clang++ also
‘uint’ is only available on Linux. Other than this, there seems to be
no other dependency on the compiler.
2016-04-30 10:26:18 +05:30
Pedro 4632abf92d change var names to camelCase 2016-02-27 15:22:22 +01:00
Pedro 7d1c56d0aa add astyle formatting 2016-02-27 15:01:06 +01:00
Pedro 57b8cdd31b adjust names of members 2016-02-27 14:45:59 +01:00
Pedro 3df367e668 renamed SQLStatementList to SQLParserResult and moved into separate file 2016-02-27 14:24:23 +01:00
Pedro Flemming f98843a316 extended example code 2016-01-16 12:36:58 +01:00
Pedro 8b59940fa3 include bison and flex generated code in release 2015-12-23 17:02:45 +01:00
Pedro 5046c6477f restructured source code and build dynamic library 2015-12-23 16:01:08 +01:00
Santa Zhang 61a1e65319 fix memory leak in SQLStatementList 2015-10-30 22:25:26 -04:00
Santa Zhang c8b768e549 fix build on mac
* typedef unsigned int uint
  uint isn't a standard type - unsigned int is.

* add missing #include <string>
  clang on mac complains about this
2015-05-23 12:39:19 -04:00
Pedro c0c39b8bec removed obsolete analysis code 2015-02-04 19:07:08 +01:00
Pedro 2f110b8168 implemented DEALLOCATE PREPARE 2015-01-07 13:42:11 +01:00
Pedro ab9a85704f modification to prepare syntax 2015-01-07 13:24:39 +01:00
Pedro c3ded749e6 execute fix 2015-01-06 20:26:55 +01:00
Pedro d9e6712b64 destructor fix 2015-01-06 20:07:08 +01:00
Pedro 0c309ad658 minor doc changes 2015-01-06 20:01:10 +01:00
Pedro 71f9252019 removed List class wrapper and use simply std::vector throughout 2015-01-06 19:47:59 +01:00
Pedro b5aba646d8 support for execute without parameter list added 2015-01-06 19:20:52 +01:00
Pedro fed174a892 improved prepared statements 2015-01-06 15:29:18 +01:00
Pedro 8abfd6094e minor changes 2015-01-05 16:22:57 +01:00
Pedro 57b062f2b0 added distinct 2014-12-18 12:28:24 +01:00
Pedro 3c98fe1bae added having 2014-12-18 12:11:26 +01:00
Pedro 85b9ed2cf2 added doxygen documentation 2014-12-15 18:32:46 +01:00
Pedro 21503300ca added parsing of prepare and execute statement 2014-12-15 16:43:32 +01:00
Pedro 6f1a2821b2 added grammar rules for prepare and execute 2014-12-15 15:01:01 +01:00
Pedro 98c84abcba added location tracking to parser 2014-12-15 14:43:42 +01:00
Pedro 7d2cc528b3 updated sample queries 2014-12-05 09:37:59 +01:00
Pedro adcdc490dd restructured and refactored statements 2014-12-03 17:43:02 +01:00
Pedro 4e9eebb2af implemented drop statements 2014-12-03 16:53:49 +01:00
Pedro 48b473e7c5 refactored test framework 2014-12-03 16:32:56 +01:00
Pedro 03fe3a69e2 added update statement support 2014-12-02 01:27:02 +01:00
Pedro 2f76183586 implemented create with column def 2014-11-26 18:20:10 +01:00
Pedro 382522db76 improved testing 2014-11-26 17:45:59 +01:00
Pedro 49d3b8c14f added test-framework 2014-11-26 16:20:55 +01:00
Pedro 5997d9b4a1 extended create and added delete/truncate statement 2014-11-26 14:43:22 +01:00
Pedro 789a4a5b9b added class and keywords for updates 2014-11-26 12:19:33 +01:00
Pedro b86bf6e7f9 implemented insert statement 2014-11-26 00:26:20 +01:00
Pedro 7ab73f7b2b removed join algo 2014-11-18 16:38:31 +01:00
Pedro 070ea2de28 added join types and algorithms 2014-11-17 22:13:11 +01:00
Pedro 085397866e removed tablecolumnref expression type 2014-11-17 14:54:38 +01:00
Pedro 541a666e32 added if not exists option to create table stmt 2014-11-17 02:18:31 +01:00
Pedro 1c1902538e added some convenience methods 2014-11-17 02:01:24 +01:00
Pedro 48dbab8258 minor changes 2014-11-13 17:54:24 +01:00
Pedro 6d9a7b661c updated comments 2014-11-13 16:27:01 +01:00
Pedro f983757018 minor changes 2014-11-13 02:40:43 +01:00
Pedro dfbc50ed27 Implemented UNION and OFFSET 2014-11-13 01:27:47 +01:00
Pedro f2a9f5b3a8 uncommented destructor of expr 2014-11-12 11:20:32 +01:00
Pedro ab8622cbba implemented expr null constructor 2014-11-12 11:18:43 +01:00
Pedro 71cbe1bfac refactored test suite. added alias to expressions 2014-11-12 10:43:10 +01:00
Pedro 8d7d7b65ff changed import tbl to create tbl syntax 2014-11-12 00:11:07 +01:00
Pedro c6ae1c8427 minor changes 2014-11-10 23:32:27 +01:00
Pedro 49ceec4782 added deployment script 2014-11-10 22:33:03 +01:00
Pedro 7d12fb3ec4 added keyword list generator. Now understanding names in double quotes 2014-11-07 16:29:46 +01:00
Pedro 0b444c1955 added destructors 2014-11-07 15:21:54 +01:00
Pedro c5d3a84395 query parser now returns a list of statements 2014-11-07 02:00:09 +01:00
Pedro 7c30786b53 now parsing ImportStatements 2014-11-07 01:09:06 +01:00
Pedro 34da5535fe added support for comments and like operator 2014-11-05 15:54:41 +01:00
Pedro 079162542a switched to verbose error messages 2014-11-04 15:44:11 +01:00
Pedro 2a0b1fcf7e created join table instead of join statement. this is what sql actually defines 2014-11-04 10:05:09 +01:00
Pedro afe8dafef5 implemented table alias 2014-11-04 01:42:09 +01:00
Pedro b06ea85ff5 allowing column ref with table specified 2014-11-04 00:40:30 +01:00
Pedro 33e04efcab creating join statement object 2014-11-04 00:34:32 +01:00
Pedro aab1684f5f renaming analysis 2014-11-04 00:28:24 +01:00
Pedro 51d00b969b extended print helper 2014-11-04 00:10:03 +01:00
Pedro 9002abe81b added an error statement type 2014-11-04 00:02:40 +01:00
Pedro 71e80cc17e implemented join grammar 2014-11-03 23:57:42 +01:00
Pedro 1ee767a31e added a grammar test executable 2014-11-03 23:26:44 +01:00
Pedro ff0167cde6 added join definition to grammar. put limit and order tokens into lexer 2014-11-03 23:26:33 +01:00
Pedro ae44960bad removed obsolete incomplete lemon sql parser code 2014-11-03 23:03:49 +01:00
Pedro d48b6c3c77 added build goal to makefile 2014-10-31 18:49:20 +01:00
Pedro c1c5fba762 namespaced the library in namespace hsql 2014-10-31 18:36:02 +01:00
Pedro 3c69e33d5a prefixed parser and lexer with hsql_ 2014-10-31 18:24:47 +01:00
Pedro 16dbe70ea4 minor renaming and namespacing 2014-10-31 18:05:08 +01:00
Pedro 794a17c04c added limit and order by to grammar 2014-10-27 14:54:33 +01:00
Pedro b11e52bd6e added int type to lexer 2014-10-27 13:54:16 +01:00
Pedro e177b8cef7 added frame for join statements 2014-10-27 12:09:53 +01:00
Pedro ef716ec742 added object members for having, limit, order 2014-10-27 11:48:55 +01:00
Pedro f319a02a85 naming changes 2014-10-27 11:23:31 +01:00
Pedro 0b9d10f726 extended gitignore 2014-10-24 17:30:53 +02:00
Pedro bcb39ee291 extended unary expr support 2014-10-24 17:17:40 +02:00
Pedro f0bb8592cc removed Statement.cpp 2014-10-24 16:51:49 +02:00
Pedro e24a2ae88d major improvements to expr-structure 2014-10-24 16:10:38 +02:00
Pedro 67d2ad9336 tests fix 2014-10-24 13:49:49 +02:00
Pedro eb6444fd2f extended tableref and implemented helper function to print select statements 2014-10-23 18:12:03 +02:00
Pedro c6cd391301 added ignores 2014-10-23 16:31:54 +02:00
Pedro ac71302a49 minor changes 2014-10-23 16:31:17 +02:00
Pedro 4415273e2e changed .c files to .cpp files 2014-10-23 16:29:23 +02:00
Pedro 3c520b7aa4 minor changes. and extended token list 2014-10-23 11:41:44 +02:00
Pedro e886ae1644 added special expression type for star selector 2014-10-22 17:46:52 +02:00
Pedro 8e968ffb41 switched to structs insetead of classes 2014-10-22 17:42:05 +02:00
Pedro 1357458094 minor changes 2014-10-22 17:20:50 +02:00
Pedro 200402bab2 now supporting * in select list 2014-10-22 17:18:43 +02:00
Pedro 5dfcce1b7d added benchmarking method to tests 2014-10-22 16:48:02 +02:00
Pedro e71b76dc71 added a prefix for the tokens 2014-10-22 16:30:45 +02:00
Pedro d2baa4a3c0 now using tokens to describe predicate type instead of string 2014-10-22 16:01:25 +02:00
Pedro d2b5e10945 added documentation to lexer and grammar files 2014-10-22 15:43:27 +02:00
Pedro b92bbd9157 some clean up 2014-10-20 23:19:27 +02:00
Pedro 23cdcd5613 syntax fix 2014-10-20 22:34:34 +02:00
Pedro 6876de5ca8 naming changes 2014-10-20 22:33:36 +02:00
Pedro caaa010160 autoformat 2014-10-20 22:24:06 +02:00
Pedro 0a8cced386 started work on a lemon sql parser 2014-10-17 16:26:06 +02:00
Pedro 75a4bed720 added multithreading test 2014-10-17 16:25:55 +02:00
Pedro b97ae3545f moved bison related files into subdirectory bison 2014-10-16 15:54:51 +02:00
Pedro ce45347561 minor renaming 2014-10-16 15:35:38 +02:00
Pedro 4ee7863ddd added todo notes 2014-10-16 15:31:40 +02:00
Pedro 97465b12e2 implemented where clause into parser 2014-10-08 19:46:25 -07:00
Pedro d6598d6cf6 refactored Expr to be struct and have a type 2014-10-08 19:26:38 -07:00
Pedro 0e5477f916 renaming 2014-10-08 19:09:47 -07:00
Pedro 592d427f7a refactored grammar. now includes where clause 2014-10-08 17:55:07 -07:00
Pedro dee7fb6468 started implementing a prototype of executing sql statements 2014-10-08 17:11:23 -07:00
Pedro 6ea2c0e318 commit of current state 2014-10-08 16:30:22 -07:00