Commit Graph

28 Commits

Author SHA1 Message Date
Huo Yaoyuan 87c8278139 Use Array.Empty. 2017-09-24 03:45:46 +08: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 e75f438c29 Add difficulty application mods
Also fixes circular references when using IJsonSerializable.
2017-08-07 08:54:54 +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
Dean Herbert 96b08b8777 Simplify and document DatabaseStore API 2017-07-27 15:06:10 +09:00
Dean Herbert 898a601098 Introduce a reference counting file store 2017-07-26 20:22:02 +09:00
Huo Yaoyuan e2a7f00a52 Remove unused namespace. 2017-05-16 22:20:05 +08:00
Huo Yaoyuan e911441394 Why AbandonedMutexException? 2017-05-16 21:23:14 +08:00
Huo Yaoyuan e466380ee2 Generic infer for IJsonSerializable.DeepClone. 2017-05-08 19:33:37 +08:00
smoogipooo cec8bca78a Implement IJsonSerializable, BeatmapInfo IJsonSerializable. 2017-04-06 15:54:50 +09:00
Dean Herbert 54e1b24fe9
Enforce readonly private members where possible. 2017-03-23 13:50:08 +09:00
Dean Herbert ba10c3a8db
Revert "Merge pull request #441 from tacchinotacchi/archive-reader"
This reverts commit 6f20473e65, reversing
changes made to c76a495d3d.
2017-03-14 11:46:34 +09:00
Alex Amadori c84a9d56f5 Fix namespace, comply with naming rules 2017-03-13 11:36:21 +01:00
Alex Amadori caa6e9c82b General improvements 2017-03-13 11:29:24 +01:00
Dean Herbert d7497330b2
Reduce warning/suggestion count to zero. 2017-03-09 15:52:40 +09:00
Dean Herbert da751804b6
Reduce error count. 2017-03-09 14:24:16 +09:00
Dean Herbert dc5ac6e88f
Add missing access modifiers. 2017-03-09 13:55:29 +09:00
Dean Herbert 5a42035f88
Update license headers. 2017-03-08 15:50:52 +09:00
Dean Herbert 58ae9e888d
Basic partial replay support. 2017-03-01 22:04:20 +09:00