diff options
Diffstat (limited to 'src/datastore/plugin_datastore_sqlite.c')
-rw-r--r-- | src/datastore/plugin_datastore_sqlite.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/src/datastore/plugin_datastore_sqlite.c b/src/datastore/plugin_datastore_sqlite.c index 318c22cf5..6d3d56c02 100644 --- a/src/datastore/plugin_datastore_sqlite.c +++ b/src/datastore/plugin_datastore_sqlite.c | |||
@@ -325,41 +325,35 @@ database_setup (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
325 | &plugin->updRepl) != SQLITE_OK) || | 325 | &plugin->updRepl) != SQLITE_OK) || |
326 | (sq_prepare | 326 | (sq_prepare |
327 | (plugin->dbh, | 327 | (plugin->dbh, |
328 | "SELECT type,prio,anonLevel,expire,hash,value,_ROWID_ " | 328 | "SELECT type,prio,anonLevel,expire,hash,value,_ROWID_ " "FROM gn090 " |
329 | "FROM gn090 " | ||
330 | #if SQLITE_VERSION_NUMBER >= 3007000 | 329 | #if SQLITE_VERSION_NUMBER >= 3007000 |
331 | "INDEXED BY idx_repl_rvalue " | 330 | "INDEXED BY idx_repl_rvalue " |
332 | #endif | 331 | #endif |
333 | "WHERE repl=?2 AND " | 332 | "WHERE repl=?2 AND " " (rvalue>=?1 OR " |
334 | " (rvalue>=?1 OR " | ||
335 | " NOT EXISTS (SELECT 1 FROM gn090 " | 333 | " NOT EXISTS (SELECT 1 FROM gn090 " |
336 | #if SQLITE_VERSION_NUMBER >= 3007000 | 334 | #if SQLITE_VERSION_NUMBER >= 3007000 |
337 | "INDEXED BY idx_repl_rvalue " | 335 | "INDEXED BY idx_repl_rvalue " |
338 | #endif | 336 | #endif |
339 | "WHERE repl=?2 AND rvalue>=?1 LIMIT 1) ) " | 337 | "WHERE repl=?2 AND rvalue>=?1 LIMIT 1) ) " |
340 | "ORDER BY rvalue ASC LIMIT 1", &plugin->selRepl) != SQLITE_OK) || | 338 | "ORDER BY rvalue ASC LIMIT 1", &plugin->selRepl) != SQLITE_OK) || |
341 | (sq_prepare | 339 | (sq_prepare (plugin->dbh, "SELECT MAX(repl) FROM gn090" |
342 | (plugin->dbh, "SELECT MAX(repl) FROM gn090" | ||
343 | #if SQLITE_VERSION_NUMBER >= 3007000 | 340 | #if SQLITE_VERSION_NUMBER >= 3007000 |
344 | " INDEXED BY idx_repl_rvalue" | 341 | " INDEXED BY idx_repl_rvalue" |
345 | #endif | 342 | #endif |
346 | "", | 343 | "", &plugin->maxRepl) != SQLITE_OK) || |
347 | &plugin->maxRepl) != SQLITE_OK) || | ||
348 | (sq_prepare | 344 | (sq_prepare |
349 | (plugin->dbh, | 345 | (plugin->dbh, |
350 | "SELECT type,prio,anonLevel,expire,hash,value,_ROWID_ " | 346 | "SELECT type,prio,anonLevel,expire,hash,value,_ROWID_ " "FROM gn090 " |
351 | "FROM gn090 " | ||
352 | #if SQLITE_VERSION_NUMBER >= 3007000 | 347 | #if SQLITE_VERSION_NUMBER >= 3007000 |
353 | "INDEXED BY idx_expire " | 348 | "INDEXED BY idx_expire " |
354 | #endif | 349 | #endif |
355 | "WHERE NOT EXISTS (SELECT 1 FROM gn090 WHERE expire < ?1 LIMIT 1) OR (expire < ?1) " | 350 | "WHERE NOT EXISTS (SELECT 1 FROM gn090 WHERE expire < ?1 LIMIT 1) OR (expire < ?1) " |
356 | "ORDER BY expire ASC LIMIT 1", &plugin->selExpi) != SQLITE_OK) || | 351 | "ORDER BY expire ASC LIMIT 1", &plugin->selExpi) != SQLITE_OK) || |
357 | (sq_prepare | 352 | (sq_prepare |
358 | (plugin->dbh, | 353 | (plugin->dbh, |
359 | "SELECT type,prio,anonLevel,expire,hash,value,_ROWID_ " | 354 | "SELECT type,prio,anonLevel,expire,hash,value,_ROWID_ " "FROM gn090 " |
360 | "FROM gn090 " | ||
361 | #if SQLITE_VERSION_NUMBER >= 3007000 | 355 | #if SQLITE_VERSION_NUMBER >= 3007000 |
362 | "INDEXED BY idx_anon_type_hash " | 356 | "INDEXED BY idx_anon_type_hash " |
363 | #endif | 357 | #endif |
364 | "WHERE (anonLevel = 0 AND type=?1) " | 358 | "WHERE (anonLevel = 0 AND type=?1) " |
365 | "ORDER BY hash DESC LIMIT 1 OFFSET ?2", | 359 | "ORDER BY hash DESC LIMIT 1 OFFSET ?2", |