Commit graph

83 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
5c84421028 Add programme tracing using Google Cloud 2020-11-27 12:57:31 +00:00
Tobie Morgan Hitchcock
e84fe44959 Tidy up live queries on startup 2019-11-21 09:21:29 +00:00
Tobie Morgan Hitchcock
d0d566bbd9 Improve database speed 2019-11-20 13:20:27 +00:00
Tobie Morgan Hitchcock
1b4c1bd094 Use common id / name for background SQL queries 2019-02-06 08:02:22 +00:00
Tobie Morgan Hitchcock
bd9e518f0f Ensure fibre connection id is created if it doesn’t exist 2019-02-01 01:17:41 +00:00
Tobie Morgan Hitchcock
ef9c73d4d7 Make SQL parser stateless 2019-01-31 12:38:23 +00:00
Tobie Morgan Hitchcock
bf4659d8f9 Add SQL export functionality 2018-08-20 07:53:11 +01:00
Tobie Morgan Hitchcock
48df950be5 Remove mysql kvs storage backend 2018-08-08 08:21:42 +01:00
Tobie Morgan Hitchcock
e120f8961c Add server-generated session info to queries 2018-05-12 23:46:01 +01:00
Tobie Morgan Hitchcock
c8980e2eac Remove connection wide variables 2018-05-09 23:09:51 +01:00
Tobie Morgan Hitchcock
5442861cb8 Enable global ENV variable to detect environment 2018-05-09 04:08:04 +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
bc31140308 Improve live query notification delivery 2018-04-14 19:20:15 +01:00
Tobie Morgan Hitchcock
677767d85b Ensure sockets are deregistered on disconnect 2018-04-14 19:17:07 +01:00
Tobie Morgan Hitchcock
be832029a7 Remove google and syslog logging 2018-04-05 08:51:44 +01:00
Tobie Morgan Hitchcock
b4a8f10cdc Ensure query variables are consistent
All request variables which are assigned to an sql query are now specified in one location, ensuring that they are consistent and always present for all queries.
2018-03-18 21:38:21 +00:00
Tobie Morgan Hitchcock
31c7849643 No need to cast, incase the value is not set on the context 2018-02-14 13:15:56 +00:00
Tobie Morgan Hitchcock
e073bf2775 Enable persistent request variables
It is now possible to set a variable on a connection, and use that variable in multiple subsequent queries. This ensures that websockets can make use of state variables for detecting logged-in, and non-logged-in clients.
2018-02-12 22:13:36 +00:00
Tobie Morgan Hitchcock
ccf57df085 Add support for mysql as a backend kv store 2018-02-11 00:16:28 +00:00
Tobie Morgan Hitchcock
dc6a357e26 Enable passing context when beginning a transaction 2018-02-06 17:07:42 +00:00
Tobie Morgan Hitchcock
36e7d8ed3a Flush websocket notifications correctly
Websocket notifications were cleared/flushed regardless of whether individual statements were successful or not.

Now notifications are shifted onto the stack, or removed if the statement is unsuccessful. Once the full query has been processed, all pending notifications are flushed to all websockets (ignoring the current connection frin which th query originated).
2018-01-31 09:15:29 +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
43d841dacc Full update of the DB package 2017-11-16 20:53:39 +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
5a558c0d6f Implement Authable statements for improved logging 2017-03-24 21:25:22 +00:00
Tobie Morgan Hitchcock
a133eb2482 Add HTTP 504 request timeouts to certain routes 2017-03-03 21:41:06 +00:00
Tobie Morgan Hitchcock
a96a8466cb Add initial golang code tracing and logging 2017-03-03 21:39:37 +00:00
Tobie Morgan Hitchcock
98db89a2d7 Implement query statement timeout functionality 2017-03-02 14:38:56 +00:00
Tobie Morgan Hitchcock
e3634fb4a8 Improve SQL debug logging 2017-02-28 00:19:21 +00:00
Tobie Morgan Hitchcock
b68c33835e Ensure all db.executor methods are private 2017-02-28 00:17:10 +00:00
Tobie Morgan Hitchcock
3167be73bb No need to pass statements in from goroutine
A series of statements on one request are always handled and run serially, so there is no need to loop over them in a goroutine.
2017-02-28 00:00:39 +00:00
Tobie Morgan Hitchcock
d5ee46ab17 Use chan struct for http connection closed channel 2017-02-27 15:30:46 +00:00
Tobie Morgan Hitchcock
7b78ff5b6e Add request context data to db query logs 2017-02-23 10:14:10 +00:00
Tobie Morgan Hitchcock
07c034bb75 Add request context to query executor 2017-02-23 10:14:02 +00:00
Tobie Morgan Hitchcock
73c56e4df5 Log sql queries centrally, not separately 2017-02-23 10:11:52 +00:00
Tobie Morgan Hitchcock
fbb0bd79bd Don’t delete txn until we have cancelled/committed 2017-02-20 01:44:13 +00:00
Tobie Morgan Hitchcock
a700ef9bc4 Improve debug logging throughout codebase 2017-02-20 01:44:13 +00:00
Tobie Morgan Hitchcock
6a719d815b Improve errors throught codebase 2017-02-20 01:44:13 +00:00
Tobie Morgan Hitchcock
e86857bdf7 Enable import / export of database transaction log 2017-02-20 01:44:12 +00:00
Tobie Morgan Hitchcock
363cfa8758 Use sync pool for query executor 2017-02-20 01:44:12 +00:00
Tobie Morgan Hitchcock
623d55225c Use transaction mem cache for db config data 2017-02-20 01:44:12 +00:00
Tobie Morgan Hitchcock
1cb44cce2f Only product stack trace if log level is debug 2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
2a35485089 Output full stacktrace for errors when debugging 2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
7f0ea653b8 Improve sql query requests timing 2017-02-20 01:44:11 +00:00
Tobie Morgan Hitchcock
1fd450890b Fix typo 2017-02-20 01:44:10 +00:00
Tobie Morgan Hitchcock
a5dc358e4e Don’t pass txn around, but use executor txn 2017-02-20 01:44:08 +00:00
Tobie Morgan Hitchcock
6807d4c338 Switch underlying KV store to rixxdb/dendrodb 2017-02-20 01:31:15 +00:00
Tobie Morgan Hitchcock
94c9631d91 Improve database authentication
Improve the database authentication implementation for namespaces, databases, and scopes.
2016-11-21 18:48:25 +00:00
Tobie Morgan Hitchcock
4931bfbca5 Enable public method for running sql query 2016-11-21 14:36:37 +00:00