Commit Graph
127 Commits
Author SHA1 Message Date
Antonio Scandurra cd0b663f62 Introduce per-room lock acquired before committing a transaction 2022-11-28 17:00:47 +01:00
Antonio Scandurra ae11e4f798 Check the correct serialization failure code when retrying transaction 2022-11-28 13:56:03 +01:00
Antonio Scandurra 4c1b4953c1 Remove version from Room
We won't need it once we add the per-room lock.
2022-11-18 20:18:48 +01:00
Antonio Scandurra 6c83be3f89 Remove obsolete code from Store 2022-11-17 18:46:39 +01:00
Antonio Scandurra 4f39181c4c Revert "Don't replace newer diagnostics with older ones"
This reverts commit 71eeeedc05.
2022-11-17 16:57:40 +01:00
Antonio Scandurra 7dae21cb36 🎨 2022-11-17 15:35:18 +01:00
Antonio Scandurra 71eeeedc05 Don't replace newer diagnostics with older ones 2022-11-17 12:21:51 +01:00
Antonio Scandurra 532a599239 Use Db::get_guest_connection_ids in other db methods 2022-11-17 11:38:00 +01:00
Nathan Sobo 9eee22ff0a Fix column name in query 2022-11-16 19:40:53 -07:00
Nathan Sobo 94fe93c6ee Move unshare_project to db module 2022-11-16 18:28:45 -07:00
Nathan Sobo e5f05c9f3b Move leave_project from Store to db module 2022-11-16 17:45:47 -07:00
Nathan Sobo bdb521cb6b Fix typo in query 2022-11-16 16:52:05 -07:00
Antonio ScandurraandNathan Sobo adf43c87dd Batch some of the new queries in Db
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-16 17:19:06 +01:00
Antonio Scandurra 9bc57c0c61 Move Store::start_language_server to Db 2022-11-16 15:48:26 +01:00
Antonio Scandurra 95369f92eb Move Store::update_diagnostic_summary to Db 2022-11-16 15:41:33 +01:00
Antonio Scandurra 117458f4f6 Send worktree updates after project metadata has been sent 2022-11-16 14:58:11 +01:00
Antonio Scandurra eeb32fa888 Improve queries for composite primary keys 2022-11-16 11:07:39 +01:00
Antonio Scandurra c151c87e12 Correctly leave projects when leaving room 2022-11-16 10:36:48 +01:00
Antonio Scandurra 3190236396 Update worktree entry instead of erroring when it already exists 2022-11-16 08:57:19 +01:00
Antonio Scandurra ad67f5e4de Always use the database to retrieve collaborators for a project 2022-11-15 17:49:37 +01:00
Antonio Scandurra e9eadcaa6a Move Store::update_worktree to Db::update_worktree 2022-11-15 17:18:28 +01:00
Antonio ScandurraandNathan Sobo 4b1dcf2d55 Always use strings to represent paths over the wire
Previously, the protocol used a mix of strings and bytes without any consistency.

When we go to multiple platforms, we won't be able to mix encodings of paths anyway.
We don't know this is the right approach, but it at least makes things consistent
and easy to read in the database, on the wire, etc. Really, we should be using entry
ids etc to refer to entries on the wire anyway, but there's a chance this is the
wrong decision.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-15 16:46:17 +01:00
Antonio ScandurraandNathan Sobo 974ef967a3 Move Store::join_project to Db::join_project
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-15 16:37:51 +01:00
Antonio Scandurra be523617c9 Start reworking join_project to use the database 2022-11-15 11:44:26 +01:00
Antonio Scandurra 6cbf197226 Determine whether a contact is busy via the database 2022-11-15 10:41:21 +01:00
Antonio Scandurra 3e8fcb04f7 Finish implementing Db::update_project 2022-11-15 09:01:51 +01:00
Antonio Scandurra 42bb5f0e9f Add random delay after returning results from the database 2022-11-15 08:48:16 +01:00
Antonio ScandurraandNathan Sobo b9af2ae66e Switch to serializable isolation
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-11-14 19:39:12 +01:00
Antonio Scandurra 40073f6100 Wait for acknowledgment before sending the next project update 2022-11-14 15:32:49 +01:00
Antonio Scandurra 65c5adff05 Automatically decline call when user drops their last connection 2022-11-14 11:32:26 +01:00
Antonio Scandurra 59e8600e4c Implement Db::cancel_call 2022-11-14 11:12:23 +01:00
Antonio Scandurra 0310e27347 Fix query errors in Db::share_project 2022-11-14 10:53:11 +01:00
Antonio Scandurra 9902211af1 Leave room when connection is dropped 2022-11-14 10:13:36 +01:00
Antonio Scandurra 2145965749 WIP 2022-11-11 19:36:20 +01:00
Antonio Scandurra 9f39dcf7cf Get basic calls test passing again 2022-11-11 18:53:23 +01:00
Antonio Scandurra 1135aeecb8 WIP: Move Store::leave_room to Db::leave_room 2022-11-11 16:59:54 +01:00
Antonio Scandurra 0d1d267213 Move Store::decline_call to Db::decline_call 2022-11-11 15:41:56 +01:00
Antonio Scandurra c213c98ea4 Remove calls table and use just room_participants 2022-11-11 15:22:04 +01:00
Antonio Scandurra cc58607c3b Move Store::join_room into Db::join_room 2022-11-11 14:43:40 +01:00
Antonio Scandurra 58947c5c72 Move incoming calls into Db 2022-11-11 14:28:26 +01:00
Antonio Scandurra 6871bbbc71 Start moving Store state into the database 2022-11-11 12:06:43 +01:00
Max Brunsfeld c839ab2028 Add missing cfg(test) attribute to sqlite RowsAffected 2022-11-10 15:04:57 -08:00
Max Brunsfeld 9ce3524eb8 Run db tests against both postgres and sqlite 2022-11-10 14:29:03 -08:00
Max Brunsfeld dafdc4b4a5 Run tests with an in-memory sqlite database 2022-11-10 12:18:35 -08:00
Max BrunsfeldandAntonio Scandurra 05a6bd914d Get integration tests passing with sqlite
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-11-10 11:03:52 -08:00
Antonio Scandurra 1bb41b6f54 Go back to a compiling state and start running tests again 2022-11-10 15:24:49 +01:00
Antonio Scandurra 90d1d9ac82 WIP: add more trait bounds 2022-11-10 12:24:56 +01:00
Max Brunsfeld bed06346d1 Total WIP - try making Db a generic struct instead of a trait 2022-11-09 19:28:06 -08:00
Max Brunsfeld 7e02ac772a Start work on using sqlite in tests 2022-11-09 19:26:29 -08:00
Max BrunsfeldandNathan Sobo d14dd27cdc Use a real database in tests, but block on db calls
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-11-09 15:22:50 -08:00