Commit graph

1157 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
4e81a5633c Improve binary condition comparison checks 2017-12-12 01:11: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
b4c49a7099 Ensure that the NS and DB are available to the live query 2017-12-12 01:08:32 +00:00
Tobie Morgan Hitchcock
1200b6c209 Enable deep copying of time.TIme values 2017-12-12 01:08:03 +00:00
Tobie Morgan Hitchcock
21c7cb2341 Remove unnecessary brackets in sql test expressions 2017-12-12 01:07:24 +00:00
Tobie Morgan Hitchcock
3eef62067a Enable parsing times in strings which have been set using JSON
If the data of a record was set using CONTENT, MERGE, or DIFF, then any Javascript Date values were treated as strings. These values are now parsed if the field is defined as a datetime field.
2017-12-12 01:05:40 +00:00
Tobie Morgan Hitchcock
cacdf6dd49 Add SQL function for creating an array 2017-12-12 00:54:18 +00:00
Tobie Morgan Hitchcock
8076afd414 If adding to an empty value, set it as an array
If we have an empty field ‘test’ and we specify the sql `SET test += “test”` then we’ll presume it’s going to be an array if it isn’t a number or a decimal.
2017-12-11 17:52:02 +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
91bfb043dc Add test for events which create foreign keys 2017-12-08 14:30:11 +00:00
Tobie Morgan Hitchcock
fd35a134ca Enable special param values which supersede subquery params 2017-12-08 14:28:55 +00:00
Tobie Morgan Hitchcock
5357c93558 Remove @ character for record ids in tests 2017-12-08 14:27:47 +00:00
Tobie Morgan Hitchcock
e3c7aacd66 Enable parameters in LIVE queries 2017-12-08 10:29:52 +00:00
Tobie Morgan Hitchcock
92ecba9154 Improve signin and signup error messages 2017-12-07 18:48:42 +00:00
Tobie Morgan Hitchcock
edcd2d431c Only error if requesting a specific array index 2017-12-06 20:19:28 +00:00
Tobie Morgan Hitchcock
84b9cdc93a Fix binary equality tree parsing and calculations. 2017-12-06 20:18:57 +00:00
Tobie Morgan Hitchcock
fc0825a7fa Make sure that any non floats are converted to floats 2017-12-06 13:21:49 +00:00
Tobie Morgan Hitchcock
548995e935 Cancel the context timeout AFTER errors are checked 2017-12-06 13:21:12 +00:00
Tobie Morgan Hitchcock
6d8686138a Ensure permission checks don’t create subsequent checks 2017-12-06 13:20:34 +00:00
Tobie Morgan Hitchcock
e9b44c3cf2 Update 3rd party dependencies 2017-12-06 13:16:53 +00:00
Tobie Morgan Hitchcock
19ce0b7cad Improve IF / ELSE statement formatting 2017-12-05 11:09:06 +00:00
Tobie Morgan Hitchcock
7e8d5f9fe9 Add tests for using params with CONTENT/MERGE/DIFF 2017-12-05 11:09:06 +00:00
Tobie Morgan Hitchcock
6e8fdaa2db Ensure nil fields are removed when SCHEMAFULL 2017-12-05 11:09:04 +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
2087ea5fb5 Ensure ranges are iterated over correctly 2017-12-05 01:12:12 +00:00
Tobie Morgan Hitchcock
5c7378c9c7 Prevent circular references when yielding data 2017-12-04 22:20:39 +00:00
Tobie Morgan Hitchcock
8fadbc9f35 Enable path expressions starting from params 2017-12-04 22:20:19 +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
444d7858b8 Enable use of VOID in field VALUE statements
It is now possible to specify VOID values in field VALUE statements, to remove the field entirely.
2017-12-04 10:10:29 +00:00
Tobie Morgan Hitchcock
7733b7b129 Reset ctx variables between calculating field VALUE and ASSERT
If the field value was changed in the VALUE statement, then the context variables were not reset to reflect this change in the ASSERT statement. As a result the ASSERT would receive the old values prior to being affected by the VALUE statement.
2017-12-04 10:09:49 +00:00
Tobie Morgan Hitchcock
14d3539dbf Add SQL functions for parsing urls 2017-12-04 10:06:01 +00:00
Tobie Morgan Hitchcock
3e559a3f94 Update 3rd party dependencies 2017-12-03 11:10:58 +00:00
Tobie Morgan Hitchcock
d367726709 Ensure NULL/VOID/EMPTY values are compared correctly 2017-12-03 11:10:38 +00:00
Tobie Morgan Hitchcock
327bdd05cd Fix bug where CONTENT/MERGE/DIFF params weren’t fetched 2017-12-03 00:46:46 +00:00
Tobie Morgan Hitchcock
82df9dca86 Fix typo in comment 2017-12-03 00:44:07 +00:00
Tobie Morgan Hitchcock
f623ded1e4 Simplify table records loop in iterator 2017-12-01 00:36:14 +00:00
Tobie Morgan Hitchcock
34aa10f9b8 Pass channels into goroutines to prevent data race 2017-12-01 00:35:33 +00:00
Tobie Morgan Hitchcock
001d7f866c Prevent datarace, by not using global variable when decoding
Don’t use the global variable ‘skip’ to decode into, as this causes a data race, when decoding keys from inside multiple different goroutines. Instead we now create a new string variable for every decode function, which will be created on the heap and ignored when the function returns.
2017-12-01 00:34:44 +00:00
Tobie Morgan Hitchcock
63f2791494 Remove the need for the ‘unsafe’ package when encoding keys 2017-11-30 00:59:10 +00:00
Tobie Morgan Hitchcock
2a7f39ac1e Update 3rd party libraries 2017-11-30 00:57:52 +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
4ff14caace Add initial path following implementation 2017-11-28 01:20:30 +00:00
Tobie Morgan Hitchcock
475899960b Remove unused code 2017-11-28 01:18:41 +00:00
Tobie Morgan Hitchcock
eb7a9c2744 Add ability to retrieve different values
It is now possible to specify a function to manipulate each values stored in a data object, when retrieving that value. This enables storing compressed obejcts as strings, which are expanded when accessed. This is used to store *sql.Thing values, which when requested can access embedded fields by fetching and returning the full record when the *sql.Thing is requested.
2017-11-28 00:39:00 +00:00
Tobie Morgan Hitchcock
c925c40846 Yes we do need to copy all maps and slices 2017-11-27 18:32:47 +00:00
Tobie Morgan Hitchcock
287951a37f Ensure we trim all data path parts before fetching values 2017-11-27 18:30:20 +00:00
Tobie Morgan Hitchcock
4437b2b8a5 Remove old and unused code 2017-11-27 14:21:56 +00:00