Olivier Goffart
02704cdf74
Merge remote-tracking branch 'origin/1.6' into il
...
Conflicts:
VERSION.cmake
csync/src/csync_statedb.c
src/mirall/syncengine.cpp
src/mirall/syncfileitem.h
2014-06-23 12:48:34 +02:00
Klaas Freitag
b71881d300
SyncEngine: Use QSet for the seenFiles rather than QHash.
...
We can save some memory here as the seenFiles list can be long.
2014-06-17 16:30:11 +02:00
Markus Goetz
8dbfcd782b
CSync: Fetch permissions from server for whole tree on server update
2014-06-06 17:10:07 +02:00
Markus Goetz
70ff928381
CSync & statedb: Parse 'perm' from server
...
ownCloud 6 sends this.
2014-06-06 15:24:17 +02:00
Markus Goetz
b48ab79a92
CSync & statedb: Remove uid/gid
...
Columns are still in the DB as we don't want to break any compatibility.
2014-06-06 13:41:16 +02:00
Olivier Goffart
582a8fe7fd
Merge branch '1.6'
2014-06-03 17:27:12 +02:00
Olivier Goffart
6e10b8c5c4
Propagator: Recover from 'precondition failed' error
...
When we detect a precondition failed, it is possible that it is
because the etag in the database is wrong. We must therefore not
read from the database on the next sync. In order to avoid that, we
reset the etag of parent directories to invalid values
Fixes #1767
2014-06-03 17:22:40 +02:00
Klaas Freitag
1af3d3f18b
More descriptive error message when querying the database without hit.
2014-06-03 09:50:09 +02:00
Klaas Freitag
ea9f302b7a
Read the blacklist entries case insensitive in case the file
...
system is only case preserving.
2014-05-23 16:13:35 +02:00
Olivier Goffart
9da261acd8
Do not read from the database when upgrading from 1.5
...
We need to make sure that the file id are updated (if the user
had upgraded from owncloud 5 to owncloud 6 while using owncloud 1.5)
2014-04-25 13:31:44 +02:00
Olivier Goffart
bfe6a50b19
Fix some error cases in the SyncEngine
...
Always cleanup properly when we bail out.
Also fix thread safety of the SyncJournalDB
2014-04-01 13:41:47 +02:00
Markus Goetz
c6e5f39f7f
SyncJournalDb: Verbose log on load failure
2014-03-26 16:40:00 +01:00
Olivier Goffart
e74f0f2854
Better support when user remove or rename the Shared directory
2014-02-19 15:23:36 +01:00
Olivier Goffart
a677f97b7f
Fix removing and renaming directories from the Shared directory
2014-02-12 13:44:55 +01:00
Olivier Goffart
6540f54512
Don't use QDateTime::toTime_t or QDateTime::fromTime_t
...
They only take an uint, and time_t is 64bit.
This breaks when date are before 1970
Fixes #1380
2014-01-29 11:47:13 +01:00
Olivier Goffart
c7227297af
Make it compile with the merge of csync mirall
2014-01-15 12:20:03 +01:00
Klaas Freitag
09745c7f75
Fix: Allow to retry sync also for fatal err conditions.
...
Otherwise there would not have been a chance to resync for example data
that was Forbidden because of a read only share.
Also removed some commented code.
2013-12-12 11:39:05 +01:00
hefee
f8478ac27b
Fixing typos
2013-12-09 20:17:56 +01:00
Klaas Freitag
c5e435f9bd
Let recursive removal also remove the top dir.
2013-12-06 16:37:30 +01:00
Klaas Freitag
4b7f75059a
Fixed check for SQL command successs.
2013-12-04 10:31:05 +01:00
Klaas Freitag
278e76b774
Add blackListEntryCount method.
2013-12-03 14:48:49 +01:00
Klaas Freitag
f0a6047ecf
Add a button to acitivity view to clean the blacklist.
2013-12-03 14:04:01 +01:00
Olivier Goffart
6f17131e3c
Fix mutex usage in the journal
...
All public function must lock the mutex. And therefore none of the journal
function may call public function because the mutex is already locked.
So have a public commit that lock the mutex, and a private commitInternal
that assume the mutex is locked
2013-11-25 15:11:37 +01:00
Olivier Goffart
ca3885de2a
Fix some SQL error and warning
...
Such as:
Error opening the db: "Driver not loaded Driver not loaded"
or
QSqlDatabasePrivate::removeDatabase: connection '...' is still in use, all queries will cease to wor
We need to clear the QSqlDatabase _db handle before calling removeDatabase.
And we also need to give a different name to different folder database, just to be sure
2013-11-25 15:07:58 +01:00
Klaas Freitag
65bd4be16e
Make sure all queries are initialized on our database object.
...
Since we use a database with the non default name, we need to do that,
otherwise the query is initialized on the default db which is not open
in our case.
2013-11-22 15:37:35 +01:00
Klaas Freitag
55e82ee4c1
Made transaction management a bit more transparent. Some fixes.
2013-11-21 11:13:58 +01:00
Klaas Freitag
aa17be40cc
Some database code cleanups.
2013-11-20 18:19:14 +01:00
Klaas Freitag
5900b1ad25
Add blacklisting for files with error conditions.
2013-11-20 14:27:44 +01:00
Markus Goetz
b98d97a96d
SyncJournalDb: Fix warnings
...
I got those warnings for the latter sync runs:
11-19 10:58:15:997 QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
11-19 10:58:15:997 QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
2013-11-19 11:28:08 +01:00
Klaas Freitag
f30ac49264
Cached more queries, used safe QSqlQuery pattern
2013-11-18 13:02:09 +01:00
Klaas Freitag
49ba252fff
Database initialize code cleanup.
...
If the QSqlQuery class is called with a query in the constructor, the query
is executed immediately. In fact, we executed each query twice before.
Later on we might want to implement a wrapper clas around the query.
2013-11-18 10:02:33 +01:00
Klaas Freitag
69269f8f75
Use transactions to speed up database access.
2013-11-18 10:02:32 +01:00
Klaas Freitag
e73730cb94
Close database after retrieval of file record count.
...
As the csync updater opens the database itself, it is cleaner to close
the db before and open it again after csync has finished.
Added a close method to the journal class.
2013-11-18 10:02:32 +01:00
Klaas Freitag
098e04c13f
Set PRAGMA synchronous to NORMAL
2013-11-18 10:02:32 +01:00
Klaas Freitag
bf6e1f10ce
Prepare the queries after the database was migrated.
2013-11-15 11:21:27 +01:00
Klaas Freitag
858facb5e0
Use precompiled database statements.
2013-11-15 10:32:13 +01:00
Daniel Molkentin
7ba8983f0a
Change all Network Jobs to use start()
2013-11-14 19:20:19 +01:00
Olivier Goffart
52e01b39d6
Adapt to csync 'md5'->'etag' change
2013-11-13 14:28:41 +01:00
Klaas Freitag
e0a50d4bb9
PostSyncCleanup added: Remove superfluous entries from database after
...
sync.
2013-11-11 16:45:40 +01:00
Klaas Freitag
c6a926842a
Fix recursivley flag misinterpretation.
2013-11-05 17:47:51 +01:00
Olivier Goffart
84a40dcb59
Refactor the new propagator in jobs
...
This makes the code (IMHO) more easy to understand, and will allow
even more easy parallelism
2013-10-28 15:58:35 +01:00
Klaas Freitag
2fefc428a8
Write file Id to journal table.
...
Since this requires a change of existing sync journals, database migration
code was added.
2013-10-25 13:31:00 +02:00
Olivier Goffart
313832de8d
Put the progress database within the journal
2013-10-16 12:01:14 +02:00
Olivier Goffart
05fbfb520f
Protect the sync database by a mutex since it is used by the thread
2013-10-04 21:05:46 +02:00
Daniel Molkentin
805e1330ad
Compile with MinGW
2013-10-04 20:29:42 +02:00
Markus Goetz
f4929e849e
CsyncThread: Activate recursive PROPFIND
2013-10-04 15:42:40 +02:00
Olivier Goffart
d8d2d36638
Fix SQL Query
2013-10-03 23:00:47 +02:00
Olivier Goffart
baa9ba089c
Save the database after each operation.
2013-10-03 22:41:12 +02:00
Daniel Molkentin
be88d425fc
Fix connecting to the mysql db
2013-10-03 19:52:09 +02:00
Klaas Freitag
94a06cec5b
WIP on the journal database.
2013-10-03 18:52:02 +02:00