Commit Graph

39 Commits

Author SHA1 Message Date
Dean Herbert d0a4e1e3c2 Force a checksum check before skipping FileStore copy op 2019-09-20 15:00:27 +09:00
Dean Herbert 5b75060b94 Add test for rollback logic correctly dereferencing files 2019-06-10 16:45:45 +09:00
Dean Herbert 26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
Dean Herbert 8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert 32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
Dean Herbert a738664167 Add interface for database context factory 2018-02-12 23:10:05 +09:00
Dean Herbert 8b37fde15b Only write when writes occur
Also add finaliser logic for safety. Also better threading. Also more cleanup.
2018-02-12 19:57:21 +09:00
Dean Herbert edc3638175 DatabaseWriteUsage 2018-02-12 17:55:11 +09:00
Dean Herbert 37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo 04b271cce9 Migrate osu.Game project to VS2017 project structure 2017-10-30 22:24:11 +09:00
TocoToucan 5107489cda Remove DatabaseBackedStore Reset functions 2017-10-25 15:12:14 +03:00
TocoToucan 63fe569afa Remove DatabaseBackedStore Prepare functions 2017-10-25 14:53:20 +03:00
Dean Herbert df20845fbb Share one context per file store for performance reasons
There is now a CreateContext method for retrieving a stand-alone context for threaded use.

We may want to add safety against this context being disposed (or just return a fresh one if it is).
2017-10-23 16:35:35 +09:00
Dean Herbert 4841d4a937 Fix deletion and use single context for imports and deletions for now 2017-10-18 18:27:17 +09:00
Dean Herbert e4a066dc5f Run cleanup tasks only on startup via manual calls 2017-10-17 19:58:33 +09:00
Dean Herbert 64dfce258f Fix file prefix not being read when calling storage.Exists 2017-10-17 17:08:19 +09:00
Dean Herbert e487b6f82a Standardise context retrieval 2017-10-17 15:50:42 +09:00
Dean Herbert cd41862e3b Add back transaction support for beatmap importing 2017-10-17 15:00:27 +09:00
Dean Herbert 66894d11ea Connection -> context 2017-10-17 12:46:29 +09:00
Dean Herbert 0df474accb Simplify file storing 2017-10-17 11:22:50 +09:00
Dean Herbert 31dc5c97f2 Fix intro and duplicate inserts 2017-10-17 11:22:42 +09:00
Dean Herbert 799f510217 FileStore logic fixes 2017-10-17 10:25:18 +09:00
Dean Herbert 7049a73490 Remove ValidTypes from databased stored; explicitly expose query methods instead 2017-10-16 14:47:33 +09:00
Dean Herbert 0a6dcdd405 Fix remaining warnings 2017-10-16 13:09:10 +09:00
smoogipoo b178be21d1 Let's not rename columns yet 2017-10-14 14:30:58 +09:00
TocoToucan 4653470779 Fix RulesetStore preparation 2017-10-10 22:29:16 +03:00
TocoToucan ef417c6388 Small DB-related refactoring 2017-10-09 23:30:32 +03:00
TocoToucan 6a4198d0d6 Initial EF Core commit 2017-10-04 22:52:12 +03:00
Dean Herbert c41ca10715 Allow files missing on disk to be restored on beatmap import
Previously, in the rare case the database became out of sync with the disk store, it was impossible to feasibly repair a beatmap. Now reimporting checks each file exists on disk and adds it back if it doesn't.
2017-09-19 18:35:52 +09:00
Dean Herbert 6eb960010f Speed up startup cleanup operations. 2017-08-01 17:58:21 +09:00
Dean Herbert 3b1166d1e6 Optimise file lookups and other database operations
FirstOrDefault when called on a TableQuery with a predicate doesn't use table indices
2017-08-01 17:37:21 +09:00
Dean Herbert 9d630e446e Use new storage methods to reset FileStore
Guarantees that backing files are cleaned up correctly. Also handles lingering "beatmaps" directory from older builds.
2017-08-01 10:57:46 +09:00
Dean Herbert 821f65c381 Actually delete files 2017-08-01 10:24:12 +09:00
Dean Herbert c73e139954 Add "migration"
Also simplify initial migration for BeatmapStore by just nuking everything.
2017-08-01 10:24:04 +09:00
Dean Herbert c060d32765 Separate out startup tasks to ensure they run after migrations 2017-08-01 10:24:00 +09:00
Dean Herbert 404497fa10 Allow a single beatmap to reference the same file multiple times
This fixes incorrect reference counts causing database desync.
2017-07-31 21:49:57 +09:00
Dean Herbert 6f4efbeda6 Merge remote-tracking branch 'upstream/master' into database-tidy 2017-07-27 17:41:29 +09:00
Dean Herbert 996e5e8b4a Use SHA2 for hashing 2017-07-27 17:40:08 +09:00
Dean Herbert 5f53426a9a *Database -> *Store
Welcome back BeatmapManager
2017-07-27 16:56:41 +09:00