Commit graph

24 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
4e3b3682a6 Don’t re-encode the key if we have already encoded it 2019-06-17 07:00:56 +01:00
Tobie Morgan Hitchcock
304c0458e8 Improve speed of document change detection 2019-06-17 07:00:32 +01:00
Tobie Morgan Hitchcock
0392aa904c Use reflect to check for document changes 2019-06-14 23:03:06 +01:00
Tobie Morgan Hitchcock
bd8c6fddb2 Diff the document properly to detect any changes 2019-02-06 08:02:43 +00:00
Tobie Morgan Hitchcock
f19a0f1744 Improve detecting document changes
Instead of computing a diff to detect whether the document has changed, the document is marked as ‘changed’ if the initial document is different from the current document after being updated, or after being deleted.
2019-02-01 00:20:16 +00:00
Tobie Morgan Hitchcock
a00a7f17ef Use caching on database level, not in document class 2019-02-01 00:18:55 +00:00
Tobie Morgan Hitchcock
0402d74708 Remove AND EXPUNGE clause from DELETE expression
When deleting records, it now removes and expunges document versions based on the table definition `DEFINE TABLE test VERSIONED` or `DEFINE TABLE test UNVERSIONED`, as opposed to the query being run. This prevents non-administrators from removing historic document data.
2018-12-31 07:46:44 +01:00
Tobie Morgan Hitchcock
a8f9198695 Fix comment 2018-12-30 23:02:12 +01:00
Tobie Morgan Hitchcock
9819b64dc6 Ensure unique indexes work with record ids 2018-12-13 02:05:23 +00:00
Tobie Morgan Hitchcock
8b0674c66d Add support for table versioning 2018-08-20 07:52:13 +01:00
Tobie Morgan Hitchcock
31ad063ef4 Encode and decode when copying a document 2018-08-20 01:06:52 +01:00
Tobie Morgan Hitchcock
a3787ad274 Simplify and improve internal SQL AST structures 2018-08-20 00:21:35 +01:00
Tobie Morgan Hitchcock
e3bea0a897 Use context.Context on all kvs requests 2018-05-02 03:05:03 +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
f335d71aba Move to channel based mutex 2018-04-28 20:35:20 +01:00
Tobie Morgan Hitchcock
672d298e7e Make db package more efficient 2018-04-25 00:00:36 +01:00
Tobie Morgan Hitchcock
47ef2de60f Prevent concurrent record edits and race conditions 2018-04-24 17:11:12 +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
67cfca04b9 Enable permissions on individual document fields 2018-04-14 19:14:47 +01:00
Tobie Morgan Hitchcock
7c39c99bf3 Ensure correct index values are inserted 2018-04-01 00:33:51 +01:00
Tobie Morgan Hitchcock
8cce4ad185 No need for PutC as we always already have the record value
We don’t need to check whether the record already exists, as we always have any record contents when we are procesing a document. Therefore we already know if a document exists or not in the kv store.
2018-02-08 10:59:54 +00:00
Tobie Morgan Hitchcock
851c52d901 No need to version index data 2017-11-24 12:46:12 +00:00
Tobie Morgan Hitchcock
a8137134e3 Ensure erased document is nil not empty map 2017-11-17 12:41:35 +00:00
Tobie Morgan Hitchcock
43d841dacc Full update of the DB package 2017-11-16 20:53:39 +00:00