Tobie Morgan Hitchcock
0dae9d2366
Add sql.MultExpression type
2018-03-18 21:01:29 +00:00
Tobie Morgan Hitchcock
f77daca0da
Simplify subquery parsing
2018-03-18 20:01:41 +00:00
Tobie Morgan Hitchcock
3436634586
Add SQL either function for simplified IF ELSE clauses
2018-03-18 19:03:14 +00:00
Tobie Morgan Hitchcock
926ef37234
LET and RETURN should not need SC level permissions
2018-02-12 15:38:34 +00:00
Tobie Morgan Hitchcock
2f23e84877
Parse times and records within json content
2018-01-10 13:17:50 +00: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
cc8f4ec29e
Use special SQL type for null values
2017-12-12 01:10:37 +00:00
Tobie Morgan Hitchcock
cacdf6dd49
Add SQL function for creating an array
2017-12-12 00:54:18 +00:00
Tobie Morgan Hitchcock
8849c7c30a
Enable specifying a regex using a function
2017-12-11 17:49:58 +00:00
Tobie Morgan Hitchcock
0c607302ed
Ensure one can specify regexes in sql expressions
2017-12-11 15:59:55 +00:00
Tobie Morgan Hitchcock
e3c7aacd66
Enable parameters in LIVE queries
2017-12-08 10:29:52 +00:00
Tobie Morgan Hitchcock
84b9cdc93a
Fix binary equality tree parsing and calculations.
2017-12-06 20:18:57 +00:00
Tobie Morgan Hitchcock
19ce0b7cad
Improve IF / ELSE statement formatting
2017-12-05 11:09:06 +00:00
Tobie Morgan Hitchcock
ccdc6fb8ea
Add ability to define the order fields are processed
2017-12-05 01:57:25 +00:00
Tobie Morgan Hitchcock
e27a9e78a7
Enable password field type without need to quote
2017-12-05 01:13:50 +00:00
Tobie Morgan Hitchcock
449ce9a4a8
Make sure ORDER BY clauses are formatted correctly
2017-12-04 18:45:51 +00:00
Tobie Morgan Hitchcock
14d3539dbf
Add SQL functions for parsing urls
2017-12-04 10:06:01 +00:00
Tobie Morgan Hitchcock
42bbc078e0
Don’t allow params inside SQL PathExpressions
2017-11-29 10:21:02 +00:00
Tobie Morgan Hitchcock
ba4af9a305
Remove unused SQL keyword
2017-11-28 19:02:11 +00:00
Tobie Morgan Hitchcock
475899960b
Remove unused code
2017-11-28 01:18:41 +00:00
Tobie Morgan Hitchcock
93d154a099
Add sql functions for generating GUIDs
2017-11-27 11:35:26 +00:00
Tobie Morgan Hitchcock
cfa573e7cf
Ensure Model can be encoded<->decoded into CORK
2017-11-27 11:16:29 +00:00
Tobie Morgan Hitchcock
a569ad78d6
Improve statement read/write status detection
...
Only store read-write statement status in the database for statements which can be either read or write. For those statements which are always write statements (Live, Kill, Create, Update, Delete, Relate, Insert, Upsert, Define, Remove….), then hardcode this on the statement itself.
2017-11-24 12:56:53 +00:00
Tobie Morgan Hitchcock
8de7424efb
Ensure the IfStatement can be encoded and decoded into cork
2017-11-24 12:47:59 +00:00
Tobie Morgan Hitchcock
1d08949fff
Full update of the SQL package
2017-11-16 20:53:13 +00:00
Tobie Morgan Hitchcock
4c16dafcf3
Add duration method to killable statements
2017-04-28 17:12:11 +01: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
dacf7b954b
Enable WITH aswell as TO in RELATE clause
2017-04-28 17:07:38 +01:00
Tobie Morgan Hitchcock
8a53ed3617
Fix SQL tests
2017-04-14 13:24:53 +01:00
Tobie Morgan Hitchcock
7aca98a581
No need to generate codec code definitions
...
SQL ASTs are never outputted to the end user, but instead are only ever encoded/decoded using CORK, so we don’t need to pre-generate any code definitions for codec (JSON, BINC, CBOR, MsgPack).
2017-04-14 13:22:29 +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
a3da779190
Improve SQL error messages
2017-04-12 18:45:52 +01:00
Tobie Morgan Hitchcock
9df4c5041a
Use pointer
2017-04-12 18:44:01 +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
5a558c0d6f
Implement Authable statements for improved logging
2017-03-24 21:25:22 +00:00
Tobie Morgan Hitchcock
7a071af821
Download generate dependencies in each gen files
2017-03-04 10:55:58 +00:00
Tobie Morgan Hitchcock
a96a8466cb
Add initial golang code tracing and logging
2017-03-03 21:39:37 +00:00
Tobie Morgan Hitchcock
98db89a2d7
Implement query statement timeout functionality
2017-03-02 14:38:56 +00:00
Tobie Morgan Hitchcock
378bbe6dae
Ensure default tables/fields are private by default
2017-03-02 10:55:42 +00:00
Tobie Morgan Hitchcock
2d5151c8ba
Enable SQL AST string formatting
2017-03-02 10:47:10 +00:00
Tobie Morgan Hitchcock
1157835a29
Don’t perform cpu intensive operations in SQL parser
2017-03-02 10:32:20 +00:00
Tobie Morgan Hitchcock
6e223f5f08
Move authentication level constants to cnf package
...
Instead of defining the authentication level types as ints in the sql package, there is now a specific type which is now located in the cnf package.
2017-02-24 13:33:03 +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
d27e00e737
Fix sql tests
2017-02-23 15:09:02 +00:00
Tobie Morgan Hitchcock
e10debba6c
Enable query params for USE NS / USE DB in queries
2017-02-20 01:44:13 +00:00
Tobie Morgan Hitchcock
ac868694eb
Enable query params for VERSION in queries
2017-02-20 01:44:13 +00:00
Tobie Morgan Hitchcock
6a719d815b
Improve errors throught codebase
2017-02-20 01:44:13 +00:00
Tobie Morgan Hitchcock
cd7922db15
Enable query params for LIMIT and START in queries
2017-02-20 01:44:12 +00:00
Tobie Morgan Hitchcock
83a64c6c29
Enforce default RETURN value in sql parser
2017-02-20 01:44:12 +00:00
Tobie Morgan Hitchcock
3ffaec9265
Remove RETURN statement from SELECT query
2017-02-20 01:44:12 +00:00
Tobie Morgan Hitchcock
3f82f83cf1
Remove SQL error for embedded DEFINE/REMOVE queries
2017-02-20 01:44:12 +00:00
Tobie Morgan Hitchcock
b62b7ed2c9
Don’t use pointer as we already are a pointer
2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
6c82529d85
JSON Patch expects only array in SQL, not object
2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
b724d864f8
Add ability to define NAMESPACE without DATABASE
...
Once somebody had specified USE NAMESPACE to select a namespace, it was not possible to DEFINE a DATABASE underneath the NAMESPACE, as an error that ‘no database is selected’ would be returned. Not it is possible to DEFINE DATABASE having selected only a NAMESPACE.
2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
7d88c389e1
Enable use of SQL DEFINE/REMOVE in transactions
2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
dd230dca56
Enable SQL ASTs to self-encode and self-decode
2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
1fd450890b
Fix typo
2017-02-20 01:44:10 +00:00
Tobie Morgan Hitchcock
dfee11339e
Fix SQL bug where NAMESPACE/DATABASE were needed twice
...
DEFINE NAMESPACE and REMOVE NAMESPACE statements expected two NAMESPACE keywords in the SQL query.
DEFINE DATABASE and REMOVE DATABASE statements expected two DATABASE keywords in the SQL query.
2017-02-09 10:31:53 +00:00
Tobie Morgan Hitchcock
74658132c1
Enable password field types
2017-02-03 19:10:51 +00:00
Tobie Morgan Hitchcock
1901f6fd8c
Enable simplified json in SQL queries
2017-02-03 19:08:57 +00:00
Tobie Morgan Hitchcock
a941987349
Remove unnecessary return statement
2017-02-03 19:08:37 +00:00
Tobie Morgan Hitchcock
e3c472b31a
Remove incorrect build tags
2017-01-11 11:22:17 +00:00
Tobie Morgan Hitchcock
fa40f52302
Place build instruction before package name
2016-12-08 22:04:22 +00:00
Tobie Morgan Hitchcock
9b8aec6549
Add SQL functions for hotp/totp/yubikey security
2016-12-08 21:57:22 +00:00
Tobie Morgan Hitchcock
fbe34c6083
Add PERMISSIONS and remove DEFINE / REMOVE RULES
2016-11-26 13:39:03 +00:00
Tobie Morgan Hitchcock
2b47e6e0a9
No need for a default TYPE on SQL DEFINE FIELD
...
Previously the default type for DEFINE FIELD statements was “any”, but this is unnecessary, as fields with type “any” are not type-checked anyway, so there is little point in defining the default as “any”. Therefore the type is left blank if no TYPE is specifically defined.
2016-11-26 13:35:58 +00:00
Tobie Morgan Hitchcock
90953735d9
DEFINE and REMOVE SQL queries can not be inside transactions
2016-11-26 13:05:21 +00:00
Tobie Morgan Hitchcock
2fcc2e3668
Improve SQL INFO command to support namespaces
2016-11-23 12:53:27 +00:00
Tobie Morgan Hitchcock
75b5f2f412
Improve SQL DEFINE TOKEN statements
2016-11-22 19:10:42 +00:00
Tobie Morgan Hitchcock
063de926ed
Improve SQL DEFINE LOGIN statements
2016-11-22 19:10:32 +00:00
Tobie Morgan Hitchcock
f150e5b587
Increase bit length of SQL TOKEN keys
2016-11-22 19:09:02 +00:00
Tobie Morgan Hitchcock
8cdae77483
Generate token keys in SQL and store as binary
2016-11-22 13:51:21 +00:00
Tobie Morgan Hitchcock
bb752eb124
Encrypt SQL LOGIN password immediately
2016-11-22 13:36:57 +00:00
Tobie Morgan Hitchcock
5bfe938fcf
Enable authentication tokens on SCOPES
2016-11-21 18:58:07 +00:00
Tobie Morgan Hitchcock
2783c4c653
Add authentication level checks to SQL INFO query
2016-11-21 18:52:51 +00:00
Tobie Morgan Hitchcock
b25ce6d059
If no TYPE is found on SQL DEFINE FIELD default to “any”
2016-11-21 18:52:12 +00:00
Tobie Morgan Hitchcock
94c9631d91
Improve database authentication
...
Improve the database authentication implementation for namespaces, databases, and scopes.
2016-11-21 18:48:25 +00:00
Tobie Morgan Hitchcock
19650ab770
Remove POLICY from SQL DEFINE SCOPE statement
2016-11-21 18:43:15 +00:00
Tobie Morgan Hitchcock
4e039cff44
Add basic sql functions for crypto
2016-11-21 14:34:15 +00:00
Tobie Morgan Hitchcock
0fa8537624
No need to have selected a NS/DB for transactions
2016-11-17 14:18:33 +00:00
Tobie Morgan Hitchcock
ee6653c289
Improve SQL DEFINE SCOPE statement
2016-11-16 22:47:43 +00:00
Tobie Morgan Hitchcock
cf79487b81
Add SQL DEFINE TOKEN statement
2016-11-16 22:47:23 +00:00
Tobie Morgan Hitchcock
a66c604c2f
Add SQL DEFINE LOGIN statement
2016-11-16 22:46:57 +00:00
Tobie Morgan Hitchcock
2a10913b06
Change name of authentication scope level
2016-11-14 13:26:07 +00:00
Tobie Morgan Hitchcock
cd20e647a0
No need to check auth level when choosing NS/DB
2016-11-14 13:23:34 +00:00
Tobie Morgan Hitchcock
63e516b63f
Add method for parsing json object directly
2016-11-14 13:22:43 +00:00
Tobie Morgan Hitchcock
cd44c77de6
Improve error message when unable to select NS/DB
2016-11-14 10:20:45 +00:00
Tobie Morgan Hitchcock
3038b6adec
Rename file
2016-11-13 19:21:34 +00:00
Tobie Morgan Hitchcock
45b06dfd9b
Remove unused SQL tokens
2016-11-10 12:36:01 +00:00
Tobie Morgan Hitchcock
4f04721b31
Enable times as basic LET variables and set immediately
2016-11-09 15:18:11 +00:00
Tobie Morgan Hitchcock
0292140d3c
Enable NOW keyword as shortcut for now() in SQL
2016-11-09 15:16:09 +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
c53efdb06f
Define basic parameters immediately
2016-11-05 14:00:15 +00:00
Tobie Morgan Hitchcock
77aa2adaf7
Update SQL tests
2016-11-04 12:15:51 +00:00
Tobie Morgan Hitchcock
3016dfae99
This should never have been here in the first place
2016-11-04 11:49:50 +00:00
Tobie Morgan Hitchcock
54ad8a16d9
Add codec code generation
2016-11-04 11:45:38 +00:00
Tobie Morgan Hitchcock
2e94c2fe02
Add AND UPSERT to UPDATE statement
2016-11-04 11:43:59 +00:00
Tobie Morgan Hitchcock
61e884c529
Add AND EXPUNGE to DELETE statement
2016-11-04 11:43:32 +00:00