Commit graph

1190 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
7f6d1565ff Enable ability to set a global query timeout duration 2018-05-02 02:42:16 +01:00
Tobie Morgan Hitchcock
9f0ea3ee61 Improve database query logging 2018-05-02 02:32:06 +01:00
Tobie Morgan Hitchcock
f1fa311d3b Specify connection limits for mysql kv store backend 2018-05-01 23:08:15 +01:00
Tobie Morgan Hitchcock
47e1a4aceb Fix a bug with virtual records in scoped queries
When querying a virtual document, it would check that the scope had permission to view the record, even though the record did not actually belong to a table.

Not it checks to see if the record is a virtual in-memory record, and does not perform any permissions checks if this is the case.
2018-05-01 13:17:10 +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
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
f5a0739985 Add foreign table information to SQL INFO query 2018-04-28 22:08:34 +01:00
Tobie Morgan Hitchcock
ec8ece9878 Remove for loop from mutex 2018-04-28 22:08:19 +01:00
Tobie Morgan Hitchcock
f335d71aba Move to channel based mutex 2018-04-28 20:35:20 +01:00
Tobie Morgan Hitchcock
99d050b238 Ensure linked records are fetched using the same query version 2018-04-28 20:35:19 +01:00
Tobie Morgan Hitchcock
14c0d93635 Ensure arrays and objects are always set 2018-04-27 15:23:58 +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
444a38986a Ensure field permissions are correctly applied 2018-04-27 00:40:59 +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
9b03178dfd Improve live query performance and simplicity 2018-04-27 00:04:36 +01:00
Tobie Morgan Hitchcock
5d5fdc296f Include nested fields in SQL INFO query output 2018-04-25 00:55:49 +01:00
Tobie Morgan Hitchcock
a62797e7da Prevent race conditions in live query socket notifications 2018-04-25 00:01:29 +01:00
Tobie Morgan Hitchcock
672d298e7e Make db package more efficient 2018-04-25 00:00: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
47ef2de60f Prevent concurrent record edits and race conditions 2018-04-24 17:11:12 +01:00
Tobie Morgan Hitchcock
db9534a2d6 Ensure empty arrays / objects are equal to EMPTY 2018-04-24 15:58:45 +01:00
Tobie Morgan Hitchcock
fa1061b3a5 Use query version time from executor not document 2018-04-24 15:57:41 +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
b94a944299 Update 3rd party dependencies 2018-04-24 13:33:20 +01:00
Tobie Morgan Hitchcock
27a5f785fd Change ERR_KV to ERR_EX for ‘record already exists’ errors 2018-04-23 09:12:00 +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
fb256df42b Prevent infinite loops with nested subqueries 2018-04-20 23:40:52 +01:00
Tobie Morgan Hitchcock
d2a451345a Don’t alter subquery RETURN type
Don’t alter the RETURN type for CREATE / UPDATE / DELETE / RELATE / INSERT / UPSERT statements. Not only does this cause unexpected behaviour, but it also altered the statement from multiple goroutines, and therefore caused a data race.
2018-04-20 23:35:32 +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
459c7264ec Don’t enable array lengths fetch using data paths 2018-04-20 21:33:13 +01:00
Tobie Morgan Hitchcock
8d11027788 Fix bug in downstream cork package
A bug in the cork encoding package prevented encoding of large maps or arrays.
2018-04-20 16:40:40 +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
83edea8a66 Don’t fetch right side of AND / OR statements if not necessary 2018-04-20 00:17:13 +01:00
Tobie Morgan Hitchcock
c4f8448345 Ensure session wide variables are available on a live query context 2018-04-19 13:36:08 +01:00
Tobie Morgan Hitchcock
4d155c61ce Only run events when the document has changed 2018-04-19 13:36:04 +01:00
Tobie Morgan Hitchcock
e8accd1b8e Enable limiting the maximum number of query workers 2018-04-18 15:49:32 +01:00
Tobie Morgan Hitchcock
3bc445ac05 Add tests to ‘ints’ package 2018-04-18 15:49:16 +01:00
Tobie Morgan Hitchcock
07d52831d0 Improve tests for DEFINE EVENT db queries 2018-04-18 15:27:51 +01:00
Tobie Morgan Hitchcock
cf68ebffb1 Improve DB error message types 2018-04-18 15:27:21 +01:00
Tobie Morgan Hitchcock
6fe4db6a58 Check permissions on the initial document when deleting
When deleting a document, we need to check the visibility permissions using the initial document, as the current document will now have been emptied. As a result, no delete notifications were being delivered to LIVE queries.
2018-04-15 01:53:36 +01:00
Tobie Morgan Hitchcock
55ece805e4 Don’t include empty/deleted values from KV storage
When looping over a range of KV items, it should ignore items which have been set to NULL and whose latest version has therefore been deleted.
2018-04-15 01:37:23 +01:00
Tobie Morgan Hitchcock
49ec33987f Update generated code 2018-04-14 21:59:16 +01:00