Tobie Morgan Hitchcock
8ab01b510f
Remove unused code
2018-05-30 13:25:53 +01:00
Tobie Morgan Hitchcock
db37b8378b
Allow any expression for SELECT VERSION string
2018-05-30 13:25:11 +01:00
Tobie Morgan Hitchcock
7bf408336d
Allow expressions in SELECT field AS alias clauses
2018-05-30 13:24:45 +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
b7d89ee65a
Add support for foreign tables with group by clauses
2018-05-02 02:43:04 +01:00
Tobie Morgan Hitchcock
efaccb8afa
Add math.min() and math.max() to rolling functions
2018-04-29 14:43:12 +01:00
Tobie Morgan Hitchcock
86b81c469e
Add math.nearestrank() SQL function
2018-04-29 14:42:35 +01:00
Tobie Morgan Hitchcock
2878b29dde
Add math.sqrt
SQL function
2018-04-29 14:02:19 +01:00
Tobie Morgan Hitchcock
ec6a44f2d6
Regenerate codec files
2018-04-27 00:46:43 +01:00
Tobie Morgan Hitchcock
1a37472f3f
Allow proper field names when removing a field
2018-04-27 00:46:36 +01:00
Tobie Morgan Hitchcock
ae303d062c
Add FETCH expressions to LIVE SELECT queries
2018-04-24 23:59:49 +01:00
Tobie Morgan Hitchcock
add47a5ada
Ensure correct ordering with same-compare values
2018-04-24 15:54:50 +01:00
Tobie Morgan Hitchcock
1f30035899
Add SQL FETCH functionality to SELECT statements
2018-04-22 00:10:52 +01:00
Tobie Morgan Hitchcock
35047ce04c
Improve remote array record fetching
2018-04-22 00:10:51 +01:00
Tobie Morgan Hitchcock
abe117b7d3
Don’t mask the named return values
...
The defer function is expecting an expression value, not a nil value, and therefore we shouldn’t override the named return values in the function.
2018-04-20 23:49:45 +01:00
Tobie Morgan Hitchcock
7afe14ab1a
Add ‘purge’ SQL function
2018-04-20 21:34:54 +01:00
Tobie Morgan Hitchcock
671e59d13f
Remove unused ‘binary’ SQL function
2018-04-20 21:33:54 +01:00
Tobie Morgan Hitchcock
2d17f69a8c
Ensure all SQL THINGs are processed correctly from JSON
2018-04-20 12:02:58 +01:00
Tobie Morgan Hitchcock
49ec33987f
Update generated code
2018-04-14 21:59:16 +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
dc700c34f6
Update 3rd party package dependencies
2018-04-14 19:24:25 +01:00
Tobie Morgan Hitchcock
2a74759a71
Enable IF and RUN statements in MultStatements
2018-04-14 18:36:28 +01:00
Tobie Morgan Hitchcock
ac19b552e5
Add SQL RUN query statement type
2018-04-14 17:55:05 +01:00
Tobie Morgan Hitchcock
917dbff89d
Add math.fixed function for truncating floats
2018-04-13 20:48:48 +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
be832029a7
Remove google and syslog logging
2018-04-05 08:51:44 +01:00
Tobie Morgan Hitchcock
b988b2c890
Remove ‘url’ and ‘color’ SQL field types
2018-04-05 00:35:08 +01:00
Tobie Morgan Hitchcock
b8972ae2c2
Mathmatical sql functions must be prefixed with ‘math’
...
All mathmatical functions must now be used by specifying the full function name. For example `avg` is now `math.avg`.
2018-04-05 00:34:09 +01:00
Tobie Morgan Hitchcock
0dc9ad339c
Enable multiple expressions with database events
...
It is now possible to run multiple query expressions when an event on a table has occured. Query expressions can be separated with a semicolon, and will be run in the same transaction as the main query.
2018-04-04 19:20:07 +01:00
Tobie Morgan Hitchcock
085ba565b2
The SQL function string.reverse should take 1 argument
2018-04-02 23:44:51 +01:00
Tobie Morgan Hitchcock
ca392f87a7
Add ON SIGNUP and ON SIGNIN events to SQL SCOPE
...
It is now possible to run queries when a user signs-up or signs-in, by specifying multiple queries within an ON SIGNUP (…) clause, or a ON SIGNIN (...) clause.
2018-03-18 21:30:02 +00:00
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