Commit graph

700 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
17cecae390 Add ability to specific http scheme when connecting
Add ability to specific http scheme when connecting to a remote database, when import / exporting / running sql.
2017-11-24 20:07:31 +00:00
Tobie Morgan Hitchcock
f1e4e3961a Enable -a as a cli aliase for —auth on all commands 2017-11-24 19:49:53 +00:00
Tobie Morgan Hitchcock
a569ad78d6 Improve statement read/write status detection
Only store read-write statement status in the database for statements which can be either read or write. For those statements which are always write statements (Live, Kill, Create, Update, Delete, Relate, Insert, Upsert, Define, Remove….), then hardcode this on the statement itself.
2017-11-24 12:56:53 +00:00
Tobie Morgan Hitchcock
8de7424efb Ensure the IfStatement can be encoded and decoded into cork 2017-11-24 12:47:59 +00:00
Tobie Morgan Hitchcock
851c52d901 No need to version index data 2017-11-24 12:46:12 +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
b96cdc79dc Implement both TextMarshaler and TextUnmarshaler for codec
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:54:21 +00:00
Tobie Morgan Hitchcock
37e015b482 Only return an executor to the pool once
The executor was being returned to the pool twice, which was resulting in nil interface{} errors when creating new executors concurrently, as the transaction would not be set properly.
2017-11-24 01:45:56 +00:00
Tobie Morgan Hitchcock
26e5ef3978 Fix logic error with http redirects 2017-11-23 14:34:32 +00:00
Tobie Morgan Hitchcock
7bfcf8b7f8 Redirect http requests to https 2017-11-23 13:38:00 +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
62739b8154 Add live query support in the web layer to websockets 2017-11-16 20:54:10 +00:00
Tobie Morgan Hitchcock
43d841dacc Full update of the DB package 2017-11-16 20:53:39 +00:00
Tobie Morgan Hitchcock
1d08949fff Full update of the SQL package 2017-11-16 20:53:13 +00:00
Tobie Morgan Hitchcock
2609d761be Improve web layer authentication and session process 2017-11-16 20:52:17 +00:00
Tobie Morgan Hitchcock
1a5267e2e2 Improve mem query caching package 2017-11-16 20:51:39 +00:00
Tobie Morgan Hitchcock
aeb362e541 Update comments 2017-11-16 20:50:57 +00:00
Tobie Morgan Hitchcock
1ee95333fb Run auth middleware just before gzip middleware 2017-11-16 20:50:52 +00:00
Tobie Morgan Hitchcock
33ab1efb08 Ensure that gzip is the final middleware to be initialised 2017-11-16 20:49:28 +00:00
Tobie Morgan Hitchcock
8f06b958ff Remove TCP deadline timeouts completely
Deadline timeouts are not useful, as they do not give any meaningful http error responses to the end user. Instead we now make use of contexts throught the system to detect query timeouts, and send error messages accordingly.
2017-11-16 20:48:08 +00:00
Tobie Morgan Hitchcock
9fb7eec04b Add specific HTTP CORS headers 2017-11-16 20:46:54 +00:00
Tobie Morgan Hitchcock
82513d6e54 Improve RPC authentication query information 2017-11-16 20:46:17 +00:00
Tobie Morgan Hitchcock
d5a947bf53 Add batch support to RPC endpoint queries 2017-11-16 20:46:02 +00:00
Tobie Morgan Hitchcock
d7469c30d5 Insure start and limit query params do not overflow limit 2017-11-16 20:44:20 +00:00
Tobie Morgan Hitchcock
878ddbbf09 Fix SQL query for REST DELETE route 2017-11-16 20:43:38 +00:00
Tobie Morgan Hitchcock
28c10c9747 Add VERSION query param support to REST GET route 2017-11-16 20:43:26 +00:00
Tobie Morgan Hitchcock
0675bdb000 Change allowed content types on HTTP routes 2017-11-16 20:42:42 +00:00
Tobie Morgan Hitchcock
eb160265b7 Decrease http timeouts for /signup and /signin routes 2017-11-16 20:41:29 +00:00
Tobie Morgan Hitchcock
96cd07e1d1 Improve http error messages 2017-11-16 20:40:40 +00:00
Tobie Morgan Hitchcock
fd3df8dbfc No need to send error message if request is complete 2017-11-16 20:38:45 +00:00
Tobie Morgan Hitchcock
8883645aa7 No need to send error message if websocket 2017-11-16 20:38:33 +00:00
Tobie Morgan Hitchcock
08cf03f98b Add ‘fncs’ package for all sql function commands 2017-11-16 20:31:20 +00:00
Tobie Morgan Hitchcock
af00a45721 Add initial ‘geof’ package for geospatial functions 2017-11-16 20:30:56 +00:00
Tobie Morgan Hitchcock
096984ad05 Improve ‘conv’ package for converting values to specific data types 2017-11-16 20:30:27 +00:00
Tobie Morgan Hitchcock
da503f973e Improve Dockerfile 2017-11-16 20:23:13 +00:00
Tobie Morgan Hitchcock
1fdfb2c58a Improve circleci config file 2017-11-16 20:21:55 +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
fa714c1bdd Listen and wait for errors when server exits 2017-11-16 20:03:38 +00:00
Tobie Morgan Hitchcock
010d0ffe4b Ensure server certs are stored in tmp directory 2017-11-16 19:54:55 +00:00
Tobie Morgan Hitchcock
4320804779 Fix bug in error output message 2017-11-16 19:54:55 +00:00
Tobie Morgan Hitchcock
e401ff9b3f Improve cli command flag help information 2017-11-16 19:54:55 +00:00
Tobie Morgan Hitchcock
0ce8e78577 Make use of direct byte encoding / decoding
With the lates github.com/abcum/cork package, it is now possible to encode and decode a cork data stream without creating a new buffer each time. Instead the github.com/abcum/bump pacakge efficiently buffers the byte slice without any unnecessary allocations.
2017-11-16 19:54:55 +00:00
Tobie Morgan Hitchcock
44591abfe5 Add ‘hook’ package for retryable functions
The hook package enables static and backoff retryable functions. This package can be used for calling remote webhooks concurrently in separate goroutines.
2017-11-16 19:54:55 +00:00
Tobie Morgan Hitchcock
cfa6452863 Improve import and export cli command error parsing 2017-11-16 19:54:55 +00:00