Commit graph

207 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
7277e32d88 Fix distinct() with GROUP BY clauses 2018-05-31 14:18:40 +01:00
Tobie Morgan Hitchcock
68f7ce3851 Fix index diffing algorithm 2018-05-13 22:16:06 +01:00
Tobie Morgan Hitchcock
b886a5576a Return empty array if requested array range
If an array range was requested, but no values matched, then a nil value was returned, instead of an empty array.

Now an empty array is returned if regardless of whether there are any matching array values or not.
2018-05-13 22:15:54 +01:00
Tobie Morgan Hitchcock
0615896c0e Add timeout errors to json output 2018-05-09 22:52:47 +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
05f8b6ad6b Fix bug in math.spread() SQL function 2018-04-29 14:42:49 +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
0c5af3ec29 the SQL distinct() function always returns a slice 2018-04-29 01:10:39 +01:00
Tobie Morgan Hitchcock
14c0d93635 Ensure arrays and objects are always set 2018-04-27 15:23:58 +01:00
Tobie Morgan Hitchcock
eb62515a05 Ensure that fields are not removed when set to NULL 2018-04-27 00:40:36 +01:00
Tobie Morgan Hitchcock
add47a5ada Ensure correct ordering with same-compare values 2018-04-24 15:54:50 +01:00
Tobie Morgan Hitchcock
11a9fa05e6 Prevent race conditions in when fetching document fields 2018-04-24 13:53:15 +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
7afe14ab1a Add ‘purge’ SQL function 2018-04-20 21:34:54 +01:00
Tobie Morgan Hitchcock
459c7264ec Don’t enable array lengths fetch using data paths 2018-04-20 21:33:13 +01:00
Tobie Morgan Hitchcock
3bc445ac05 Add tests to ‘ints’ package 2018-04-18 15:49:16 +01:00
Tobie Morgan Hitchcock
917dbff89d Add math.fixed function for truncating floats 2018-04-13 20:48:48 +01:00
Tobie Morgan Hitchcock
d163db967f Remove 3rd party package for SQL field validation 2018-04-05 00:35:35 +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
6c3ae600f8 Remove unused snappy compression package 2018-04-04 19:27:46 +01:00
Tobie Morgan Hitchcock
7c39c99bf3 Ensure correct index values are inserted 2018-04-01 00:33:51 +01:00
Tobie Morgan Hitchcock
ad4adbd986 Enable select * data from a foreign thing / record 2018-03-18 21:33:26 +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
cc85b86ced Fix incorrect fmt.Sprintf input arguments 2018-03-18 18:58:30 +00:00
Tobie Morgan Hitchcock
1dba4e4c89 Add string genrator function to util/rand package 2018-02-12 21:38:08 +00:00
Tobie Morgan Hitchcock
84b72e25d2 Don’t use of ClrL, GetL, DelL, PutL methods on KV store
Remove the need to query a particular KV level, and instead use slightly different encoded keys, and use prefix based iteration. This means we can use different KV stores to give the same functionality, without needing to use hierarchical KV stores.
2018-02-09 15:08:27 +00:00
Tobie Morgan Hitchcock
788d19c498 Fix godoc comments 2018-02-06 17:05:26 +00:00
Tobie Morgan Hitchcock
2f23e84877 Parse times and records within json content 2018-01-10 13:17:50 +00:00
Tobie Morgan Hitchcock
1200b6c209 Enable deep copying of time.TIme values 2017-12-12 01:08:03 +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
edcd2d431c Only error if requesting a specific array index 2017-12-06 20:19:28 +00:00
Tobie Morgan Hitchcock
6e8fdaa2db Ensure nil fields are removed when SCHEMAFULL 2017-12-05 11:09:04 +00:00
Tobie Morgan Hitchcock
14d3539dbf Add SQL functions for parsing urls 2017-12-04 10:06:01 +00:00
Tobie Morgan Hitchcock
82df9dca86 Fix typo in comment 2017-12-03 00:44:07 +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
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
287951a37f Ensure we trim all data path parts before fetching values 2017-11-27 18:30:20 +00:00
Tobie Morgan Hitchcock
93d154a099 Add sql functions for generating GUIDs 2017-11-27 11:35:26 +00:00
Tobie Morgan Hitchcock
7fbc9feff9 Simplify uuid util package 2017-11-27 11:34:59 +00:00
Tobie Morgan Hitchcock
0762ee25b2 Use XIDs instead of UUIDs for record IDs 2017-11-26 16:54:49 +00:00
Tobie Morgan Hitchcock
527f85f8e6 Implement both JsonMarshaler and JsonUnmarshaler
If a type only defines one-half of the symmetry (e.g. it implements MarshalJSON() but not UnmarshalJSON() ), then that type doesn't satisfy the codec encoding/decoding check and instead codec will not encode or decode the item using the special interface methods.
2017-11-24 10:55:13 +00:00
Tobie Morgan Hitchcock
43d841dacc Full update of the DB package 2017-11-16 20:53:39 +00:00
Tobie Morgan Hitchcock
08cf03f98b Add ‘fncs’ package for all sql function commands 2017-11-16 20:31:20 +00:00