Tobie Morgan Hitchcock
918c696eb1
Complete functionality to define scope tokens
2018-09-13 17:34:27 +01: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
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
e300e9c423
Improve efficiency of database key encoding and decoding
...
Make use of the github.com/abcum/bump package to efficiently encode and decode from and to byte slices, whilst at the same time using encoder and decoder pools, instead of creating a new buffer for each encoding / decoding process.
2017-11-16 20:18:42 +00:00
Tobie Morgan Hitchcock
61015c8f7a
Add database key for FT foreign tables
2017-11-16 20:16:52 +00:00
Tobie Morgan Hitchcock
8ffdaa6d77
Add database key for EV table events
2017-11-16 20:16:52 +00:00
Tobie Morgan Hitchcock
21cb197d5a
Make sure LV database key specifies a table
2017-11-16 20:16:52 +00:00
Tobie Morgan Hitchcock
6a1ec1b2bb
Remove unused VW database key
2017-11-16 20:16:52 +00:00
Tobie Morgan Hitchcock
81497e941d
Add Copy() method to all keys for efficiently duplicating a key
2017-11-16 20:16:51 +00:00
Tobie Morgan Hitchcock
b957202ee5
Remove unused CK database key
2017-11-16 20:16:24 +00:00
Tobie Morgan Hitchcock
2d5151c8ba
Enable SQL AST string formatting
2017-03-02 10:47:10 +00:00
Tobie Morgan Hitchcock
f56196a150
Update keys package
2017-02-09 20:35:19 +00:00
Tobie Morgan Hitchcock
91b3b83554
Add key for SCL SCOPE queries
2016-10-14 21:26:49 +01:00
Tobie Morgan Hitchcock
d578715d01
Add key for SQL LIVE queries
2016-10-14 21:26:39 +01:00
Tobie Morgan Hitchcock
8791fb4cfd
Improve code comments
2016-10-14 21:26:26 +01:00
Tobie Morgan Hitchcock
f90554c0b5
Ensure methods are not exported
2016-10-14 07:52:00 +01:00
Tobie Morgan Hitchcock
40a52dfbf1
Enable sorting of negative numbers and floats
2016-10-14 07:14:34 +01:00
Tobie Morgan Hitchcock
fdb639e517
Simplify variables
2016-10-14 07:14:05 +01:00
Tobie Morgan Hitchcock
66f09db9f5
Add SQL VIEWs
2016-09-21 00:36:37 +01:00
Tobie Morgan Hitchcock
2f12feeaaa
Improve array, and interface encoding / decoding
2016-09-10 00:24:46 +01:00
Tobie Morgan Hitchcock
529ddbbec2
Encode all numbers as float64
...
All numbers in encoded keys are now encoded into float64, ensuring that decimal numbers are sorted alongside integers.
The maximum number able to be stored as a float64, without losing precision, is now (1<<53 - 1) - the same maximum number possible in javascript.
2016-09-10 00:21:58 +01:00
Tobie Morgan Hitchcock
d76038652b
Add key type for rules
2016-09-06 13:27:59 +01:00
Tobie Morgan Hitchcock
33ef395d5b
Remove unused key type
2016-09-06 13:27:15 +01:00
Tobie Morgan Hitchcock
8758ce19ff
Add test for keys.CK
2016-08-28 09:41:21 +01:00
Tobie Morgan Hitchcock
e23473cfa9
Ensure correct encryption key is provided if using populated data store
2016-07-18 23:01:28 +01:00
Tobie Morgan Hitchcock
a91ca78606
Remove failing tests temporarily
2016-07-04 11:36:07 +01:00
Tobie Morgan Hitchcock
6afa0ede40
Rename Trail to Patch
2016-07-04 10:02:51 +01:00
Tobie Morgan Hitchcock
f0fde5ef16
Add keys
2016-06-16 13:33:28 +01:00
Tobie Morgan Hitchcock
485475d7f3
Ensure EndOfTime is always in the future
2016-05-31 13:35:08 +01:00
Tobie Morgan Hitchcock
f795c97c22
Add variables for begging and end of time
2016-05-31 11:24:10 +01:00
Tobie Morgan Hitchcock
ece43dae87
Add additional keys
2016-05-27 16:31:39 +01:00
Tobie Morgan Hitchcock
6d872fbd5d
Change key struct fields to interface{}
...
Most key struct fields are changed to interface{} so that they can be encoded with whatever data is underlying.
2016-05-27 16:29:50 +01:00
Tobie Morgan Hitchcock
c5f7c81ad1
Add key prefix testing
2016-05-27 16:27:02 +01:00
Tobie Morgan Hitchcock
e69ae69e4f
Add ability to ignore struct fields when encoding keys
2016-05-27 16:25:46 +01:00
Tobie Morgan Hitchcock
47adafe3c3
Enable custom type encoding
2016-05-26 00:25:18 +01:00
Tobie Morgan Hitchcock
16e1477f07
Remove unused packages
2016-05-26 00:25:09 +01:00
Tobie Morgan Hitchcock
c937505b7e
Remove unused package imports
2016-05-23 13:31:49 +01:00
Tobie Morgan Hitchcock
5e2241f77a
Hide Prefix and Suffix characters from public
2016-05-23 13:31:41 +01:00
Tobie Morgan Hitchcock
2024efdb0f
Ensure all tests are run
2016-05-23 13:31:24 +01:00
Tobie Morgan Hitchcock
24a7e406c0
End strings with double TERM byte
2016-05-23 13:31:16 +01:00
Tobie Morgan Hitchcock
7addcd8289
Latest implementation of key encoding+decoding
2016-05-18 00:55:50 +01:00
Tobie Morgan Hitchcock
07139fdc5b
Add database keys package
...
The keys package is used to encode and decode keys. Keys are used for storage in the key:value store.
2016-03-15 21:30:47 +00:00