Kenneth Skovhede
3524756beb
Refactored everything related to the databases, such that the transactions are handled within the database class instead of passing around transaction objects.
2018-01-21 07:35:07 +01:00
Kenneth Skovhede
d08b7750f0
Removed the unnecessary distinct clause from the recreate query.
...
Added a comment about the potentially unnecessary extra join in the statements that fills in block hashes.
2017-01-19 10:53:32 +01:00
Kenneth Skovhede
305d8bc7fe
Added an extra condition on the join for the recreate issue.
...
This is a less experimental rewrite of the query that fixes the exact problem.
The speedups from this query fix are also substantial, going from 2.5 hours to 11 minutes.
This is likely a fix to these issues:
#1699 , #2048 , #2140 , #2178
This could help with issues:
#1391 , #2050
2017-01-19 09:55:36 +01:00
Kenneth Skovhede
be46960a6b
Added debugging code that dumps the temporary tables as permanent tables if the error from #1699 , #2048 , #2140 , or #2178
2017-01-15 23:08:21 +01:00
Kenneth Skovhede
d3a3d8c85f
Fixed a mistake in the debugging code for issue 2140
2017-01-11 13:51:56 +01:00
Kenneth Skovhede
fd0d0d5529
Added tracing output to track down issue #1699 , #2140 and #2178
2017-01-05 21:41:21 +01:00
Kenneth Skovhede
d8972b0f2b
Removed unused memory cache code
2016-12-16 17:30:39 +01:00
Kenneth Skovhede
3a034c65ff
Removed some extra dispose code
2016-10-17 15:32:30 +02:00
Kenneth Skovhede
309bf1648d
Merge branch 'master' into feature/fix_for_different_blockhash_and_filehash_plus_multiblocks_metadata
...
# Conflicts:
# Duplicati/Library/Main/Database/LocalDatabase.cs
# Duplicati/Library/Main/Database/LocalRecreateDatabase.cs
# Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
# Duplicati/UnitTest/BorderTests.cs
2016-10-17 13:28:27 +02:00
Kenneth Skovhede
0c68daff6c
Fixed all whitespace to be 4 spaces instead of tabs
2016-09-15 11:39:27 +02:00
Kenneth Skovhede
a350d942e6
Fixed a case where a specially crafted broken index file could prevent the database from being recreated correctly.
...
This fix also optimizes recreates where data is missing in index files and block files are downloaded.
2016-05-02 20:30:38 +02:00
Kenneth Skovhede
742eab0913
Fixed multiple cases where connections and command instances were not disposed.
...
This should fix all cases of "File is locked" on windows.
2016-04-06 20:40:34 +02:00
Kenneth Skovhede
d101f91c94
Fixed support for metadata larger than blocksize. Now supports one full blocklist of metadata, appx 300mb with default settings.
...
Added correct handling of metadata hashes, such that a metadata blockset is now handled the same was as a regular file blockset.
The query that creates the filesets does not support more than a single blocklist of metadata, hence the limitiation.
2016-04-04 18:11:48 +02:00
Kenneth Skovhede
e40bd7f02a
Proposed version, not complete with handling large metadata chunks
2016-04-03 23:10:47 +02:00
Kenneth Skovhede
a6699e513d
Fixed the repair to also support blocksize values that are not evenly divisible with the blockhash size
2016-03-27 12:50:40 +02:00
FootStark
d715d494ec
Quickfix to restore issue
...
Fixes blocksize-assumption of 10KB
2016-03-26 13:14:05 +01:00
Kenneth Skovhede
9fdae7f0c3
Added distinct clause to guard against index files with multiple copies of the same blocklisthash
2016-03-19 22:16:22 +01:00
Kenneth Skovhede
6b18217c0a
Merge branch 'feature/improved_rebuild_queries'
...
# Conflicts:
# Duplicati/Library/Main/Operation/RecreateDatabaseHandler.cs
# Duplicati/Library/Main/Operation/RepairHandler.cs
2016-03-18 14:32:43 +01:00
Kenneth Skovhede
4be7a45067
Fixed the query to correctly compute the size of the trailing blocklisthash block.
2016-03-18 13:24:10 +01:00
Kenneth Skovhede
ade9db9dca
Utility fixes
2016-03-17 21:43:09 +01:00
Kenneth Skovhede
9a58a93894
Fixed an cleaned the rebuild SQL that picks missing blocklist hashes
2016-03-17 21:17:22 +01:00
Kenneth Skovhede
9f1c51e891
Improved logic to deal with blocklistshashes that collide but have different lengths.
...
Added safeguard to avoid importing blocklists with wrong length, that appears in index files created by older versions of Duplicati.
2016-03-15 21:02:13 +01:00
Kenneth Skovhede
1ef469be67
Bugfix for the index fix
2016-02-13 22:13:40 +01:00
Kenneth Skovhede
097be65865
Adding an index as suggested in issue #1569
2016-02-11 13:29:12 +01:00
Kenneth Skovhede
e65e7d234e
Fixed an issue where a restored database was missing some files.
...
This fixes #1410 .
2015-07-12 21:36:48 +02:00
Kenneth Skovhede
74bbf0f1f8
Added support for handling null values in the remotevolume table.
...
This fixes #1334 .
2015-05-17 13:38:25 +02:00
Kenneth Skovhede
e13978d1c0
Improved handling of non-standard blocksize and hashing algorithms
2015-04-08 20:33:30 +02:00
Kenneth Skovhede
4846ffa103
Now using the file modification timestamp and the filesize as indicators that trigger file scanning.
...
This fixes #1099 .
2015-01-24 21:59:53 +01:00
Kenneth Skovhede
8689d6cb80
Fixed bad SQL reported in #1186
2014-11-11 22:29:38 +01:00
Kenneth Skovhede
df9f91d8de
Fixed problem with the repair command.
...
This fixes #1188
2014-11-10 10:31:26 +01:00
Kenneth Skovhede
608e61fbca
Fixed SQL typo
2014-11-06 08:30:27 +01:00
Kenneth Skovhede
114195c2ac
Fixed an issue with recreating the local database as reported in issue #1150 and #1040 .
2014-10-14 13:03:38 +02:00
Kenneth Skovhede
796459df5d
Fix for hash collisions with different size inputs
2014-05-14 14:44:56 +02:00
Kenneth Skovhede
1f48d43515
Removed the HashDatabaseProtector and added the HashLookupHelper instead.
2013-09-09 22:50:18 +02:00
Kenneth Skovhede
555945eae4
Implemented a better cache for filenames.
2013-09-07 21:33:59 +02:00
Kenneth Skovhede
4c217b57d9
Fixed a number of dispose errors that would mask real errors
2013-08-23 23:36:25 +02:00
Kenneth Skovhede
0dc3c0aeea
Speedup fix
2013-07-24 21:25:02 +02:00
Kenneth Skovhede
5c110162ea
Changed the time format of times used programmatically to use EPOCH seconds, as it is faster to parse and more reliable
2013-07-23 21:28:01 +02:00
Kenneth Skovhede
a1ef4dbe96
Rewrote the way the database is recreated to ensure greater stability when recovering from a damaged backup.
...
The restore now correctly works with missing index files and full index files.
2013-07-22 16:54:19 +02:00