Horizon – Diff between revs 5 and 10
?pathlinks?
Rev 5 | Rev 10 | |||
---|---|---|---|---|
Line 96... | Line 96... | |||
96 | |
96 | |
|
Line 97... | Line 97... | |||
97 | #region Private Delegates, Events, Enums, Properties, Indexers and Fields |
97 | #region Private Delegates, Events, Enums, Properties, Indexers and Fields |
|
98 | |
98 | |
|
- | 99 | private readonly CancellationTokenSource _cancellationTokenSource; |
||
Line 99... | Line 100... | |||
99 | private readonly CancellationTokenSource _cancellationTokenSource; |
100 | private readonly SemaphoreSlim _databaseLock; |
|
Line 100... | Line 101... | |||
100 | private readonly SemaphoreSlim _databaseLock; |
101 | private readonly SQLiteConnectionStringBuilder _sqliteConnectionStringBuilder; |
|
Line 101... | Line 102... | |||
101 | |
102 | |
|
102 | #endregion |
103 | #endregion |
|
103 | |
104 | |
|
Line 104... | Line 105... | |||
104 | #region Constructors, Destructors and Finalizers |
105 | #region Constructors, Destructors and Finalizers |
|
- | 106 | |
||
- | 107 | private SnapshotDatabase() |
||
- | 108 | { |
||
- | 109 | Directory.CreateDirectory(Constants.DatabaseDirectory); |
||
- | 110 | |
||
105 | |
111 | _databaseLock = new SemaphoreSlim(1, 1); |
|
Line 106... | Line 112... | |||
106 | private SnapshotDatabase() |
112 | |
|
107 | { |
113 | _sqliteConnectionStringBuilder = new SQLiteConnectionStringBuilder |
|
108 | Directory.CreateDirectory(Constants.DatabaseDirectory); |
114 | { |
|
109 | |
115 | ConnectionString = DatabaseConnectionString |
|
110 | _databaseLock = new SemaphoreSlim(1, 1); |
116 | }; |
|
111 | } |
117 | } |
|
112 | |
118 | |
|
Line 113... | Line -... | |||
113 | public SnapshotDatabase(CancellationToken cancellationToken) : this() |
- | ||
114 | { |
- | ||
115 | _cancellationTokenSource = new CancellationTokenSource(); |
119 | public SnapshotDatabase(CancellationToken cancellationToken) : this() |
|
116 | var localCancellationToken = _cancellationTokenSource.Token; |
120 | { |
|
117 | var combinedCancellationTokenSource = |
121 | _cancellationTokenSource = new CancellationTokenSource(); |
|
118 | CancellationTokenSource.CreateLinkedTokenSource(localCancellationToken, cancellationToken); |
122 | var localCancellationToken = _cancellationTokenSource.Token; |
|
119 | _cancellationToken = combinedCancellationTokenSource.Token; |
123 | var combinedCancellationTokenSource = |
|
Line 120... | Line 124... | |||
120 | |
124 | CancellationTokenSource.CreateLinkedTokenSource(localCancellationToken, cancellationToken); |
|
121 | |
125 | _cancellationToken = combinedCancellationTokenSource.Token; |
|
122 | |
126 | |
|
123 | CreateDatabase(_cancellationToken).ContinueWith(async createDatabaseTask => |
127 | CreateDatabase(_cancellationToken).ContinueWith(async createDatabaseTask => |
|
124 | { |
128 | { |
|
125 | try |
129 | try |
|
126 | { |
130 | { |
|
127 | await createDatabaseTask; |
131 | await createDatabaseTask; |
|
128 | |
132 | |
|
129 | try |
133 | try |
|
130 | { |
134 | { |
|
131 | await SetAutoVacuum(_cancellationToken); |
135 | await SetAutoVacuum(_cancellationToken); |
|
132 | } |
136 | } |
|
133 | catch(Exception exception) |
137 | catch (Exception exception) |
|
134 | { |
138 | { |
|
Line 135... | Line 139... | |||
135 | Log.Error(exception,"Unable to set auto vacuum for database."); |
139 | Log.Error(exception, "Unable to set auto vacuum for database."); |
|
Line 200... | Line 204... | |||
200 | } |
204 | } |
|
201 | } |
205 | } |
|
Line 202... | Line 206... | |||
202 | |
206 | |
|
203 | public async Task NormalizeTime(string hash, CancellationToken cancellationToken) |
207 | public async Task NormalizeTime(string hash, CancellationToken cancellationToken) |
|
204 | { |
- | ||
205 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
206 | { |
- | ||
207 | ConnectionString = DatabaseConnectionString |
- | ||
208 | }; |
- | ||
209 | |
208 | { |
|
210 | await _databaseLock.WaitAsync(cancellationToken); |
209 | await _databaseLock.WaitAsync(cancellationToken); |
|
211 | try |
210 | try |
|
212 | { |
211 | { |
|
213 | using (var sqliteConnection = |
212 | using (var sqliteConnection = |
|
214 | new SQLiteConnection(connectionString.ConnectionString)) |
213 | new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
215 | { |
214 | { |
|
Line 216... | Line 215... | |||
216 | await sqliteConnection.OpenAsync(cancellationToken); |
215 | await sqliteConnection.OpenAsync(cancellationToken); |
|
217 | |
216 | |
|
Line 283... | Line 282... | |||
283 | } |
282 | } |
|
284 | } |
283 | } |
|
Line 285... | Line 284... | |||
285 | |
284 | |
|
286 | public async Task<long> CountSnapshots(CancellationToken cancellationToken) |
285 | public async Task<long> CountSnapshots(CancellationToken cancellationToken) |
|
287 | { |
- | ||
288 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
289 | { |
- | ||
290 | ConnectionString = DatabaseConnectionString |
- | ||
291 | }; |
- | ||
292 | |
286 | { |
|
293 | await _databaseLock.WaitAsync(cancellationToken); |
287 | await _databaseLock.WaitAsync(cancellationToken); |
|
294 | try |
288 | try |
|
295 | { |
289 | { |
|
296 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
290 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
297 | { |
291 | { |
|
Line 298... | Line 292... | |||
298 | await sqliteConnection.OpenAsync(cancellationToken); |
292 | await sqliteConnection.OpenAsync(cancellationToken); |
|
299 | |
293 | |
|
Line 328... | Line 322... | |||
328 | } |
322 | } |
|
329 | } |
323 | } |
|
Line 330... | Line 324... | |||
330 | |
324 | |
|
331 | public async IAsyncEnumerable<Snapshot> LoadSnapshots([EnumeratorCancellation] CancellationToken cancellationToken) |
325 | public async IAsyncEnumerable<Snapshot> LoadSnapshots([EnumeratorCancellation] CancellationToken cancellationToken) |
|
332 | { |
- | ||
333 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
334 | { |
- | ||
335 | ConnectionString = DatabaseConnectionString |
- | ||
336 | }; |
- | ||
337 | |
326 | { |
|
338 | await _databaseLock.WaitAsync(cancellationToken); |
327 | await _databaseLock.WaitAsync(cancellationToken); |
|
339 | try |
328 | try |
|
340 | { |
329 | { |
|
341 | using (var sqliteConnection = |
330 | using (var sqliteConnection = |
|
342 | new SQLiteConnection(connectionString.ConnectionString)) |
331 | new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
343 | { |
332 | { |
|
Line 344... | Line 333... | |||
344 | await sqliteConnection.OpenAsync(cancellationToken); |
333 | await sqliteConnection.OpenAsync(cancellationToken); |
|
345 | |
334 | |
|
Line 387... | Line 376... | |||
387 | } |
376 | } |
|
388 | } |
377 | } |
|
Line 389... | Line 378... | |||
389 | |
378 | |
|
390 | public async Task CreateSnapshot(string name, string path, Color color, CancellationToken cancellationToken) |
379 | public async Task CreateSnapshot(string name, string path, Color color, CancellationToken cancellationToken) |
|
391 | { |
- | ||
392 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
393 | { |
- | ||
394 | ConnectionString = DatabaseConnectionString |
- | ||
395 | }; |
- | ||
396 | |
380 | { |
|
397 | await _databaseLock.WaitAsync(cancellationToken); |
381 | await _databaseLock.WaitAsync(cancellationToken); |
|
398 | try |
382 | try |
|
399 | { |
383 | { |
|
400 | using (var sqliteConnection = |
384 | using (var sqliteConnection = |
|
401 | new SQLiteConnection(connectionString.ConnectionString)) |
385 | new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
402 | { |
386 | { |
|
Line 403... | Line 387... | |||
403 | await sqliteConnection.OpenAsync(cancellationToken); |
387 | await sqliteConnection.OpenAsync(cancellationToken); |
|
404 | |
388 | |
|
Line 535... | Line 519... | |||
535 | } |
519 | } |
|
Line 536... | Line 520... | |||
536 | |
520 | |
|
537 | public async Task CreateSnapshot(string name, string path, |
521 | public async Task CreateSnapshot(string name, string path, |
|
538 | Bitmap shot, Color color, CancellationToken cancellationToken) |
522 | Bitmap shot, Color color, CancellationToken cancellationToken) |
|
539 | { |
- | ||
540 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
541 | { |
- | ||
542 | ConnectionString = DatabaseConnectionString |
- | ||
543 | }; |
- | ||
544 | |
523 | { |
|
545 | await _databaseLock.WaitAsync(cancellationToken); |
524 | await _databaseLock.WaitAsync(cancellationToken); |
|
546 | try |
525 | try |
|
547 | { |
526 | { |
|
548 | using (var sqliteConnection = |
527 | using (var sqliteConnection = |
|
549 | new SQLiteConnection(connectionString.ConnectionString)) |
528 | new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
550 | { |
529 | { |
|
Line 551... | Line 530... | |||
551 | await sqliteConnection.OpenAsync(cancellationToken); |
530 | await sqliteConnection.OpenAsync(cancellationToken); |
|
552 | |
531 | |
|
Line 713... | Line 692... | |||
713 | } |
692 | } |
|
714 | } |
693 | } |
|
Line 715... | Line 694... | |||
715 | |
694 | |
|
716 | public async Task SaveFile(string path, string hash, CancellationToken cancellationToken) |
695 | public async Task SaveFile(string path, string hash, CancellationToken cancellationToken) |
|
717 | { |
- | ||
718 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
719 | { |
- | ||
720 | ConnectionString = DatabaseConnectionString |
- | ||
721 | }; |
- | ||
722 | |
696 | { |
|
723 | await _databaseLock.WaitAsync(cancellationToken); |
697 | await _databaseLock.WaitAsync(cancellationToken); |
|
724 | try |
698 | try |
|
725 | { |
699 | { |
|
726 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
700 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
727 | { |
701 | { |
|
Line 728... | Line 702... | |||
728 | await sqliteConnection.OpenAsync(cancellationToken); |
702 | await sqliteConnection.OpenAsync(cancellationToken); |
|
729 | |
703 | |
|
Line 776... | Line 750... | |||
776 | } |
750 | } |
|
777 | } |
751 | } |
|
Line 778... | Line 752... | |||
778 | |
752 | |
|
779 | public async Task RevertFile(string name, string hash, CancellationToken cancellationToken, bool atomic = true) |
753 | public async Task RevertFile(string name, string hash, CancellationToken cancellationToken, bool atomic = true) |
|
780 | { |
- | ||
781 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
782 | { |
- | ||
783 | ConnectionString = DatabaseConnectionString |
- | ||
784 | }; |
- | ||
785 | |
754 | { |
|
786 | await _databaseLock.WaitAsync(cancellationToken); |
755 | await _databaseLock.WaitAsync(cancellationToken); |
|
787 | try |
756 | try |
|
788 | { |
757 | { |
|
789 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
758 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
790 | { |
759 | { |
|
Line 791... | Line 760... | |||
791 | await sqliteConnection.OpenAsync(cancellationToken); |
760 | await sqliteConnection.OpenAsync(cancellationToken); |
|
792 | |
761 | |
|
Line 901... | Line 870... | |||
901 | } |
870 | } |
|
902 | } |
871 | } |
|
Line 903... | Line 872... | |||
903 | |
872 | |
|
904 | public async Task RemoveFileFast(IEnumerable<string> hashes, CancellationToken cancellationToken) |
873 | public async Task RemoveFileFast(IEnumerable<string> hashes, CancellationToken cancellationToken) |
|
905 | { |
- | ||
906 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
907 | { |
- | ||
908 | ConnectionString = DatabaseConnectionString |
- | ||
909 | }; |
- | ||
910 | |
874 | { |
|
911 | await _databaseLock.WaitAsync(cancellationToken); |
875 | await _databaseLock.WaitAsync(cancellationToken); |
|
912 | try |
876 | try |
|
913 | { |
877 | { |
|
914 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
878 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
915 | { |
879 | { |
|
Line 916... | Line 880... | |||
916 | await sqliteConnection.OpenAsync(cancellationToken); |
880 | await sqliteConnection.OpenAsync(cancellationToken); |
|
917 | |
881 | |
|
Line 959... | Line 923... | |||
959 | } |
923 | } |
|
960 | } |
924 | } |
|
Line 961... | Line 925... | |||
961 | |
925 | |
|
962 | public async Task RemoveFile(string hash, CancellationToken cancellationToken) |
926 | public async Task RemoveFile(string hash, CancellationToken cancellationToken) |
|
963 | { |
- | ||
964 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
965 | { |
- | ||
966 | ConnectionString = DatabaseConnectionString |
- | ||
967 | }; |
927 | { |
|
968 | await _databaseLock.WaitAsync(cancellationToken); |
928 | await _databaseLock.WaitAsync(cancellationToken); |
|
969 | try |
929 | try |
|
970 | { |
930 | { |
|
971 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
931 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
972 | { |
932 | { |
|
Line 973... | Line 933... | |||
973 | await sqliteConnection.OpenAsync(cancellationToken); |
933 | await sqliteConnection.OpenAsync(cancellationToken); |
|
974 | |
934 | |
|
Line 1007... | Line 967... | |||
1007 | } |
967 | } |
|
1008 | } |
968 | } |
|
Line 1009... | Line 969... | |||
1009 | |
969 | |
|
1010 | public async Task UpdateColor(string hash, Color color, CancellationToken cancellationToken) |
970 | public async Task UpdateColor(string hash, Color color, CancellationToken cancellationToken) |
|
1011 | { |
- | ||
1012 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1013 | { |
- | ||
1014 | ConnectionString = DatabaseConnectionString |
- | ||
1015 | }; |
- | ||
1016 | |
971 | { |
|
Line 1017... | Line 972... | |||
1017 | await _databaseLock.WaitAsync(cancellationToken); |
972 | await _databaseLock.WaitAsync(cancellationToken); |
|
1018 | |
973 | |
|
1019 | try |
974 | try |
|
1020 | { |
975 | { |
|
1021 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
976 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
Line 1022... | Line 977... | |||
1022 | { |
977 | { |
|
1023 | await sqliteConnection.OpenAsync(cancellationToken); |
978 | await sqliteConnection.OpenAsync(cancellationToken); |
|
Line 1058... | Line 1013... | |||
1058 | } |
1013 | } |
|
1059 | } |
1014 | } |
|
Line 1060... | Line 1015... | |||
1060 | |
1015 | |
|
1061 | public async Task RemoveColor(string hash, CancellationToken cancellationToken) |
1016 | public async Task RemoveColor(string hash, CancellationToken cancellationToken) |
|
1062 | { |
- | ||
1063 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1064 | { |
- | ||
1065 | ConnectionString = DatabaseConnectionString |
- | ||
1066 | }; |
- | ||
1067 | |
1017 | { |
|
1068 | await _databaseLock.WaitAsync(cancellationToken); |
1018 | await _databaseLock.WaitAsync(cancellationToken); |
|
1069 | try |
1019 | try |
|
1070 | { |
1020 | { |
|
1071 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1021 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1072 | { |
1022 | { |
|
Line 1073... | Line 1023... | |||
1073 | await sqliteConnection.OpenAsync(cancellationToken); |
1023 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1074 | |
1024 | |
|
Line 1107... | Line 1057... | |||
1107 | } |
1057 | } |
|
1108 | } |
1058 | } |
|
Line 1109... | Line 1059... | |||
1109 | |
1059 | |
|
1110 | public async Task<SnapshotPreview> RetrievePreview(string hash, CancellationToken cancellationToken) |
1060 | public async Task<SnapshotPreview> RetrievePreview(string hash, CancellationToken cancellationToken) |
|
1111 | { |
- | ||
1112 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1113 | { |
- | ||
1114 | ConnectionString = DatabaseConnectionString |
- | ||
1115 | }; |
- | ||
1116 | |
1061 | { |
|
1117 | await _databaseLock.WaitAsync(cancellationToken); |
1062 | await _databaseLock.WaitAsync(cancellationToken); |
|
1118 | try |
1063 | try |
|
1119 | { |
1064 | { |
|
1120 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1065 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1121 | { |
1066 | { |
|
Line 1122... | Line 1067... | |||
1122 | await sqliteConnection.OpenAsync(cancellationToken); |
1067 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1123 | |
1068 | |
|
Line 1173... | Line 1118... | |||
1173 | } |
1118 | } |
|
1174 | } |
1119 | } |
|
Line 1175... | Line 1120... | |||
1175 | |
1120 | |
|
1176 | public async Task<MemoryStream> RetrieveFileStream(string hash, CancellationToken cancellationToken) |
1121 | public async Task<MemoryStream> RetrieveFileStream(string hash, CancellationToken cancellationToken) |
|
1177 | { |
- | ||
1178 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1179 | { |
- | ||
1180 | ConnectionString = DatabaseConnectionString |
- | ||
1181 | }; |
- | ||
1182 | |
1122 | { |
|
1183 | await _databaseLock.WaitAsync(cancellationToken); |
1123 | await _databaseLock.WaitAsync(cancellationToken); |
|
1184 | try |
1124 | try |
|
1185 | { |
1125 | { |
|
1186 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1126 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1187 | { |
1127 | { |
|
Line 1188... | Line 1128... | |||
1188 | await sqliteConnection.OpenAsync(cancellationToken); |
1128 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1189 | |
1129 | |
|
Line 1237... | Line 1177... | |||
1237 | } |
1177 | } |
|
1238 | } |
1178 | } |
|
Line 1239... | Line 1179... | |||
1239 | |
1179 | |
|
1240 | public async Task RelocateFile(string hash, string path, CancellationToken cancellationToken) |
1180 | public async Task RelocateFile(string hash, string path, CancellationToken cancellationToken) |
|
1241 | { |
- | ||
1242 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1243 | { |
- | ||
1244 | ConnectionString = DatabaseConnectionString |
- | ||
1245 | }; |
- | ||
1246 | |
1181 | { |
|
1247 | await _databaseLock.WaitAsync(cancellationToken); |
1182 | await _databaseLock.WaitAsync(cancellationToken); |
|
1248 | try |
1183 | try |
|
1249 | { |
1184 | { |
|
1250 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1185 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1251 | { |
1186 | { |
|
Line 1252... | Line 1187... | |||
1252 | await sqliteConnection.OpenAsync(cancellationToken); |
1187 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1253 | |
1188 | |
|
Line 1288... | Line 1223... | |||
1288 | } |
1223 | } |
|
1289 | } |
1224 | } |
|
Line 1290... | Line 1225... | |||
1290 | |
1225 | |
|
1291 | public async Task UpdateNote(string hash, string note, CancellationToken cancellationToken) |
1226 | public async Task UpdateNote(string hash, string note, CancellationToken cancellationToken) |
|
1292 | { |
- | ||
1293 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1294 | { |
- | ||
1295 | ConnectionString = DatabaseConnectionString |
- | ||
1296 | }; |
- | ||
1297 | |
1227 | { |
|
1298 | await _databaseLock.WaitAsync(cancellationToken); |
1228 | await _databaseLock.WaitAsync(cancellationToken); |
|
1299 | try |
1229 | try |
|
1300 | { |
1230 | { |
|
1301 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1231 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1302 | { |
1232 | { |
|
Line 1303... | Line 1233... | |||
1303 | await sqliteConnection.OpenAsync(cancellationToken); |
1233 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1304 | |
1234 | |
|
Line 1342... | Line 1272... | |||
1342 | } |
1272 | } |
|
1343 | } |
1273 | } |
|
Line 1344... | Line 1274... | |||
1344 | |
1274 | |
|
1345 | public async Task<string> UpdateFile(string hash, byte[] data, CancellationToken cancellationToken) |
1275 | public async Task<string> UpdateFile(string hash, byte[] data, CancellationToken cancellationToken) |
|
1346 | { |
- | ||
1347 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1348 | { |
- | ||
1349 | ConnectionString = DatabaseConnectionString |
- | ||
1350 | }; |
- | ||
1351 | |
1276 | { |
|
1352 | await _databaseLock.WaitAsync(cancellationToken); |
1277 | await _databaseLock.WaitAsync(cancellationToken); |
|
1353 | try |
1278 | try |
|
1354 | { |
1279 | { |
|
1355 | using (var dataMemoryStream = new MemoryStream(data)) |
1280 | using (var dataMemoryStream = new MemoryStream(data)) |
|
1356 | { |
1281 | { |
|
1357 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1282 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1358 | { |
1283 | { |
|
Line 1359... | Line 1284... | |||
1359 | await sqliteConnection.OpenAsync(cancellationToken); |
1284 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1360 | |
1285 | |
|
Line 1467... | Line 1392... | |||
1467 | } |
1392 | } |
|
1468 | } |
1393 | } |
|
Line 1469... | Line 1394... | |||
1469 | |
1394 | |
|
1470 | public async Task UpdateHash(string from, string to, CancellationToken cancellationToken) |
1395 | public async Task UpdateHash(string from, string to, CancellationToken cancellationToken) |
|
1471 | { |
- | ||
1472 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1473 | { |
- | ||
1474 | ConnectionString = DatabaseConnectionString |
- | ||
1475 | }; |
- | ||
1476 | |
1396 | { |
|
1477 | await _databaseLock.WaitAsync(cancellationToken); |
1397 | await _databaseLock.WaitAsync(cancellationToken); |
|
1478 | try |
1398 | try |
|
1479 | { |
1399 | { |
|
1480 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1400 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1481 | { |
1401 | { |
|
Line 1482... | Line 1402... | |||
1482 | await sqliteConnection.OpenAsync(cancellationToken); |
1402 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1483 | |
1403 | |
|
Line 1521... | Line 1441... | |||
1521 | |
1441 | |
|
Line 1522... | Line 1442... | |||
1522 | #region Private Methods |
1442 | #region Private Methods |
|
1523 | |
1443 | |
|
1524 | private async Task SetAutoVacuum(CancellationToken cancellationToken) |
- | ||
1525 | { |
- | ||
1526 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1527 | { |
- | ||
1528 | ConnectionString = DatabaseConnectionString |
- | ||
1529 | }; |
1444 | private async Task SetAutoVacuum(CancellationToken cancellationToken) |
|
1530 | |
1445 | { |
|
1531 | await _databaseLock.WaitAsync(cancellationToken); |
1446 | await _databaseLock.WaitAsync(cancellationToken); |
|
1532 | try |
1447 | try |
|
1533 | { |
1448 | { |
|
1534 | using (var sqliteConnection = |
1449 | using (var sqliteConnection = |
|
1535 | new SQLiteConnection(connectionString.ConnectionString)) |
1450 | new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
Line 1536... | Line 1451... | |||
1536 | { |
1451 | { |
|
1537 | await sqliteConnection.OpenAsync(cancellationToken); |
1452 | await sqliteConnection.OpenAsync(cancellationToken); |
|
Line 1549... | Line 1464... | |||
1549 | } |
1464 | } |
|
1550 | } |
1465 | } |
|
Line 1551... | Line 1466... | |||
1551 | |
1466 | |
|
1552 | private async Task CreateDatabase(CancellationToken cancellationToken) |
1467 | private async Task CreateDatabase(CancellationToken cancellationToken) |
|
1553 | { |
- | ||
1554 | var connectionString = new SQLiteConnectionStringBuilder |
- | ||
1555 | { |
- | ||
1556 | ConnectionString = DatabaseConnectionString |
- | ||
1557 | }; |
- | ||
1558 | |
1468 | { |
|
1559 | await _databaseLock.WaitAsync(cancellationToken); |
1469 | await _databaseLock.WaitAsync(cancellationToken); |
|
1560 | try |
1470 | try |
|
1561 | { |
1471 | { |
|
1562 | using (var sqliteConnection = new SQLiteConnection(connectionString.ConnectionString)) |
1472 | using (var sqliteConnection = new SQLiteConnection(_sqliteConnectionStringBuilder.ConnectionString)) |
|
1563 | { |
1473 | { |
|
Line 1564... | Line 1474... | |||
1564 | await sqliteConnection.OpenAsync(cancellationToken); |
1474 | await sqliteConnection.OpenAsync(cancellationToken); |
|
1565 | |
1475 | |