Skip to content

Instantly share code, notes, and snippets.

@PilzAdam
Created December 14, 2013 22:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PilzAdam/7965780 to your computer and use it in GitHub Desktop.
Save PilzAdam/7965780 to your computer and use it in GitHub Desktop.
diff --git a/src/rollback.cpp b/src/rollback.cpp
index bae81dd..647393d 100644
--- a/src/rollback.cpp
+++ b/src/rollback.cpp
@@ -203,41 +203,41 @@ bool SQL_createDatabase(void)
infostream << "CreateDB:" << dbp << std::endl;
int dbs = sqlite3_exec(dbh,
- "CREATE TABLE IF NOT EXISTS `actor` ("
- "`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"
- "`name` TEXT NOT NULL);"
- "CREATE TABLE IF NOT EXISTS `node` ("
- "`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"
- "`name` TEXT NOT NULL);"
- "CREATE TABLE IF NOT EXISTS `action` ("
- "`id` INTEGER PRIMARY KEY AUTOINCREMENT,"
- "`actor` INTEGER NOT NULL,"
- "`timestamp` TIMESTAMP NOT NULL,"
- "`type` INTEGER NOT NULL,"
- "`list` TEXT,"
- "`index` INTEGER,"
- "`add` INTEGER,"
- "`stackNode` INTEGER,"
- "`stackQuantity` INTEGER,"
- "`nodeMeta` INTEGER,"
- "`x` INT,"
- "`y` INT,"
- "`z` INT,"
- "`oldNode` INTEGER,"
- "`oldParam1` INTEGER,"
- "`oldParam2` INTEGER,"
- "`oldMeta` TEXT,"
- "`newNode` INTEGER,"
- "`newParam1` INTEGER,"
- "`newParam2` INTEGER,"
- "`newMeta` TEXT,"
- "`guessedActor` INTEGER,"
- "FOREIGN KEY (`actor`) REFERENCES `actor`(`id`),"
- "FOREIGN KEY (`oldNode`) REFERENCES `node`(`id`),"
- "FOREIGN KEY (`newNode`) REFERENCES `node`(`id`));"
- "CREATE INDEX IF NOT EXISTS `actionActor` ON `action`(`actor`);"
- "CREATE INDEX IF NOT EXISTS `actionTimestamp` ON `action`(`timestamp`);",
- NULL, NULL, NULL);
+ "CREATE TABLE IF NOT EXISTS `actor` ("
+ "`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"
+ "`name` TEXT NOT NULL);"
+ "CREATE TABLE IF NOT EXISTS `node` ("
+ "`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"
+ "`name` TEXT NOT NULL);"
+ "CREATE TABLE IF NOT EXISTS `action` ("
+ "`id` INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "`actor` INTEGER NOT NULL,"
+ "`timestamp` TIMESTAMP NOT NULL,"
+ "`type` INTEGER NOT NULL,"
+ "`list` TEXT,"
+ "`index` INTEGER,"
+ "`add` INTEGER,"
+ "`stackNode` INTEGER,"
+ "`stackQuantity` INTEGER,"
+ "`nodeMeta` INTEGER,"
+ "`x` INT,"
+ "`y` INT,"
+ "`z` INT,"
+ "`oldNode` INTEGER,"
+ "`oldParam1` INTEGER,"
+ "`oldParam2` INTEGER,"
+ "`oldMeta` TEXT,"
+ "`newNode` INTEGER,"
+ "`newParam1` INTEGER,"
+ "`newParam2` INTEGER,"
+ "`newMeta` TEXT,"
+ "`guessedActor` INTEGER,"
+ "FOREIGN KEY (`actor`) REFERENCES `actor`(`id`),"
+ "FOREIGN KEY (`oldNode`) REFERENCES `node`(`id`),"
+ "FOREIGN KEY (`newNode`) REFERENCES `node`(`id`));"
+ "CREATE INDEX IF NOT EXISTS `actionActor` ON `action`(`actor`);"
+ "CREATE INDEX IF NOT EXISTS `actionTimestamp` ON `action`(`timestamp`);",
+ NULL, NULL, NULL);
if (dbs == SQLITE_ABORT) {
throw FileNotGoodException("Could not create sqlite3 database structure");
} else if (dbs != 0) {
@@ -273,101 +273,101 @@ void SQL_databaseCheck(void)
int dbr;
dbr = sqlite3_prepare_v2(dbh,
- "INSERT INTO `action` ("
- " `actor`, `timestamp`, `type`,"
- " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodeMeta`,"
- " `x`, `y`, `z`,"
- " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
- " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
- " `guessedActor`"
- ") VALUES ("
- " ?, ?, ?,"
- " ?, ?, ?, ?, ?, ?,"
- " ?, ?, ?,"
- " ?, ?, ?, ?,"
- " ?, ?, ?, ?,"
- " ?"
- ");",
- -1, &dbs_insert, NULL);
+ "INSERT INTO `action` ("
+ " `actor`, `timestamp`, `type`,"
+ " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodeMeta`,"
+ " `x`, `y`, `z`,"
+ " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
+ " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
+ " `guessedActor`"
+ ") VALUES ("
+ " ?, ?, ?,"
+ " ?, ?, ?, ?, ?, ?,"
+ " ?, ?, ?,"
+ " ?, ?, ?, ?,"
+ " ?, ?, ?, ?,"
+ " ?"
+ ");",
+ -1, &dbs_insert, NULL);
if (dbr != SQLITE_OK) {
throw FileNotGoodException(sqlite3_errmsg(dbh));
}
dbr = sqlite3_prepare_v2(dbh,
- "REPLACE INTO `action` ("
- " `actor`, `timestamp`, `type`,"
- " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodeMeta`,"
- " `x`, `y`, `z`,"
- " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
- " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
- " `guessedActor`, `id`"
- ") VALUES ("
- " ?, ?, ?,"
- " ?, ?, ?, ?, ?, ?,"
- " ?, ?, ?,"
- " ?, ?, ?, ?,"
- " ?, ?, ?, ?,"
- " ?, ?"
- ");",
- -1, &dbs_replace, NULL);
+ "REPLACE INTO `action` ("
+ " `actor`, `timestamp`, `type`,"
+ " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodeMeta`,"
+ " `x`, `y`, `z`,"
+ " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
+ " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
+ " `guessedActor`, `id`"
+ ") VALUES ("
+ " ?, ?, ?,"
+ " ?, ?, ?, ?, ?, ?,"
+ " ?, ?, ?,"
+ " ?, ?, ?, ?,"
+ " ?, ?, ?, ?,"
+ " ?, ?"
+ ");",
+ -1, &dbs_replace, NULL);
if (dbr != SQLITE_OK) {
throw FileNotGoodException(sqlite3_errmsg(dbh));
}
dbr = sqlite3_prepare_v2(dbh,
- "SELECT"
- " `actor`, `timestamp`, `type`,"
- " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodemeta`,"
- " `x`, `y`, `z`,"
- " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
- " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
- " `guessedActor`"
- " FROM `action`"
- " WHERE `timestamp` >= ?"
- " ORDER BY `timestamp` DESC, `id` DESC",
- -1, &dbs_select, NULL);
+ "SELECT"
+ " `actor`, `timestamp`, `type`,"
+ " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodemeta`,"
+ " `x`, `y`, `z`,"
+ " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
+ " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
+ " `guessedActor`"
+ " FROM `action`"
+ " WHERE `timestamp` >= ?"
+ " ORDER BY `timestamp` DESC, `id` DESC",
+ -1, &dbs_select, NULL);
if (dbr != SQLITE_OK) {
throw FileNotGoodException(itos(dbr).c_str());
}
dbr = sqlite3_prepare_v2(dbh,
- "SELECT"
- " `actor`, `timestamp`, `type`,"
- " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodemeta`,"
- " `x`, `y`, `z`,"
- " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
- " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
- " `guessedActor`"
- " FROM `action`"
- " WHERE `timestamp` >= ?"
- " AND `x` IS NOT NULL"
- " AND `y` IS NOT NULL"
- " AND `z` IS NOT NULL"
- " AND ABS(`x` - ?) <= ?"
- " AND ABS(`y` - ?) <= ?"
- " AND ABS(`z` - ?) <= ?"
- " ORDER BY `timestamp` DESC, `id` DESC"
- " LIMIT 0,?",
- -1, &dbs_select_range, NULL);
+ "SELECT"
+ " `actor`, `timestamp`, `type`,"
+ " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodemeta`,"
+ " `x`, `y`, `z`,"
+ " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
+ " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
+ " `guessedActor`"
+ " FROM `action`"
+ " WHERE `timestamp` >= ?"
+ " AND `x` IS NOT NULL"
+ " AND `y` IS NOT NULL"
+ " AND `z` IS NOT NULL"
+ " AND ABS(`x` - ?) <= ?"
+ " AND ABS(`y` - ?) <= ?"
+ " AND ABS(`z` - ?) <= ?"
+ " ORDER BY `timestamp` DESC, `id` DESC"
+ " LIMIT 0,?",
+ -1, &dbs_select_range, NULL);
if (dbr != SQLITE_OK) {
throw FileNotGoodException(itos(dbr).c_str());
}
dbr = sqlite3_prepare_v2(dbh,
- "SELECT"
- " `actor`, `timestamp`, `type`,"
- " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodemeta`,"
- " `x`, `y`, `z`,"
- " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
- " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
- " `guessedActor`"
- " FROM `action`"
- " WHERE `timestamp` >= ?"
- " AND `actor` = ?"
- " ORDER BY `timestamp` DESC, `id` DESC",
- -1, &dbs_select_withActor, NULL);
+ "SELECT"
+ " `actor`, `timestamp`, `type`,"
+ " `list`, `index`, `add`, `stackNode`, `stackQuantity`, `nodemeta`,"
+ " `x`, `y`, `z`,"
+ " `oldNode`, `oldParam1`, `oldParam2`, `oldMeta`,"
+ " `newNode`, `newParam1`, `newParam2`, `newMeta`,"
+ " `guessedActor`"
+ " FROM `action`"
+ " WHERE `timestamp` >= ?"
+ " AND `actor` = ?"
+ " ORDER BY `timestamp` DESC, `id` DESC",
+ -1, &dbs_select_withActor, NULL);
if (dbr != SQLITE_OK) {
throw FileNotGoodException(itos(dbr).c_str());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment