Commit graph

37 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
97513cdb65 Fix Thing parsing for record IDs 2021-05-12 16:37:50 +01:00
Tobie Morgan Hitchcock
6417cd2c2c Fix SQL parsing of JSON strings 2020-11-19 21:41:49 +00:00
Tobie Morgan Hitchcock
de925ae16e Ensure full duration values are parsed correctly 2018-08-20 07:32:21 +01:00
Tobie Morgan Hitchcock
05d4d97707 Support JSON unicode characters in SQL 2018-08-20 07:12:32 +01:00
Tobie Morgan Hitchcock
74785bd70d Add support for array index ranges in SQL queries 2018-05-13 22:14:19 +01:00
Tobie Morgan Hitchcock
35047ce04c Improve remote array record fetching 2018-04-22 00:10:51 +01:00
Tobie Morgan Hitchcock
7602b77c6d Store regex values in special sql.REGEX type 2018-04-14 21:56:29 +01:00
Tobie Morgan Hitchcock
3f7d7fc863 Add fuzzy string search to conditional SQL clauses 2018-04-13 20:34:52 +01:00
Tobie Morgan Hitchcock
b54e551353 No need to pass sql.parser into sql.scanner 2018-01-10 13:07:09 +00:00
Tobie Morgan Hitchcock
475899960b Remove unused code 2017-11-28 01:18:41 +00:00
Tobie Morgan Hitchcock
1d08949fff Full update of the SQL package 2017-11-16 20:53:13 +00:00
Tobie Morgan Hitchcock
b60c663fdd SQL models need a different min and max value
If the same minimum and maximum value is used in a SQL model … |person:1..1| then the sql query parser will fail.
2017-04-28 17:09:35 +01:00
Tobie Morgan Hitchcock
aa7e4ac561 Enable model expressions in SQL parser
The SQL parser now supports model expressions for defining ranges using the |table:0,0.5..100| notation syntax.
2017-04-14 13:21:08 +01:00
Tobie Morgan Hitchcock
2de5a8fa3f Simplify parsing @table:thing definitions 2017-04-14 13:13:31 +01:00
Tobie Morgan Hitchcock
17b1f9ff55 Fix JSON parsing in SQL
Previously, JSON which contained bracket `[]` or brace `{}` characters inside strings would fail to parse as valid JSON.
2017-04-12 17:44:27 +01:00
Tobie Morgan Hitchcock
98db89a2d7 Implement query statement timeout functionality 2017-03-02 14:38:56 +00:00
Tobie Morgan Hitchcock
2d5151c8ba Enable SQL AST string formatting 2017-03-02 10:47:10 +00:00
Tobie Morgan Hitchcock
e4bef0c4b7 Differentiate between IDENT and EXPR in SQL
Previously it was possible to CREATE/UPDATE/DELETE path expressions as this would satisfy an IDENT in the SQL parser.

Now however, there is a difference between an IDENT and an EXPR…

IDENT: person | person_main | person123
EXPR: person | person.path | person[0].path

As a result, path expressions are only possible when setting data or setting conditional conditions.
2017-02-24 13:05:07 +00:00
Tobie Morgan Hitchcock
b0f8ed6b56 Improving parsing of time durations.
Previously, the number 0 was parsed as 0ns.

In addition, it is now not possible to have duration values defined as strings (inside “” or ‘’).

However, now values are explicitly marked as a duration only if they have a valid DURATION suffix. Anlything else is either a NUMBER of an IDENT.
2016-11-09 15:15:09 +00:00
Tobie Morgan Hitchcock
fdbf38f833 Enable parameters in @thing:id in sql parser 2016-11-05 14:10:59 +00:00
Tobie Morgan Hitchcock
b5c8b21eb6 Enable durations to be specified without “” marks 2016-11-04 10:04:55 +00:00
Tobie Morgan Hitchcock
4d9f9b297e Fix single line comment bug
Comments which were on the last line of an SQL query would cause the scanner to never reach the end of the reader stream, hangining indefinitely.

This fix ensures that the single line comment is ended when an EOF is reached.
2016-11-04 10:04:31 +00:00
Tobie Morgan Hitchcock
6e4a229a96 Add && + || as alternatives for AND + OR in SQL 2016-11-04 10:03:07 +00:00
Tobie Morgan Hitchcock
68c22bc25c Add subqueries, subexpressions, and paths to SQL 2016-11-04 09:58:11 +00:00
Tobie Morgan Hitchcock
4951aa61f6 Enable double slash single line comments 2016-10-24 12:11:12 +01:00
Tobie Morgan Hitchcock
1fc814bb43 Parse tables and @things better 2016-09-14 22:22:31 +01:00
Tobie Morgan Hitchcock
974f75eea0 Uunexport methods which don’t need to be public 2016-09-14 22:21:25 +01:00
Tobie Morgan Hitchcock
9bbbf4491a Ensure parsed times are stored in UTC 2016-09-14 21:57:42 +01:00
Tobie Morgan Hitchcock
9492ed7244 Update SQL tests 2016-09-07 16:58:50 +01:00
Tobie Morgan Hitchcock
f8562f1ccb Parse record ids whole instead of seperately 2016-09-07 16:58:05 +01:00
Tobie Morgan Hitchcock
1219b3825f Use values parsed in scanner instead of reparsing 2016-09-07 16:53:04 +01:00
Tobie Morgan Hitchcock
96b44a8da6 Move standalone methods to parser class, and allow scanner to access parser 2016-09-07 16:40:05 +01:00
Tobie Morgan Hitchcock
08943946a9 Improvements on sql parser 2016-09-06 14:30:59 +01:00
Tobie Morgan Hitchcock
8431079025 Enable comments in SQL code 2016-07-21 22:45:35 +01:00
Tobie Morgan Hitchcock
88b59dc81e Update sql package for alpha testing 2016-07-04 11:37:37 +01:00
Tobie Morgan Hitchcock
5e6f2f9c5a Update sql package 2016-05-23 13:32:02 +01:00
Tobie Morgan Hitchcock
89b71cbe72 Add initial sql parser code 2016-02-26 17:27:07 +00:00