diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-08-25 18:27:07 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-08-25 18:27:07 +0200 |
| commit | b9f2171818e7776f7b0ae2cb5f7d64133fc9f494 (patch) | |
| tree | a0d035946d2a5cf150f18e8f24f44fe1bbfbdc36 /lib | |
| parent | dc8ad3b59e41ffce53541411649b6838e905b8b5 (diff) | |
| parent | ef56b3c8afa0edfca2122c84343f6a35a3defb9e (diff) | |
| download | abrt-b9f2171818e7776f7b0ae2cb5f7d64133fc9f494.tar.gz abrt-b9f2171818e7776f7b0ae2cb5f7d64133fc9f494.tar.xz abrt-b9f2171818e7776f7b0ae2cb5f7d64133fc9f494.zip | |
Merge branch 'master' of ssh://vda@git.fedorahosted.org/git/abrt
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/MiddleWare/Database.h | 4 | ||||
| -rw-r--r-- | lib/Plugins/SQLite3.cpp | 32 |
2 files changed, 30 insertions, 6 deletions
diff --git a/lib/MiddleWare/Database.h b/lib/MiddleWare/Database.h index 6566f41..ce29f18 100644 --- a/lib/MiddleWare/Database.h +++ b/lib/MiddleWare/Database.h @@ -30,7 +30,7 @@ /** * Table * ===== - * UUID | UID| DebugDumpPath | Count | Reported + * UUID | UID| DebugDumpPath | Count | Reported | Time | Message * * primary key (UUID, UID) */ @@ -40,8 +40,8 @@ #define DATABASE_COLUMN_DEBUG_DUMP_PATH "DebugDumpPath" #define DATABASE_COLUMN_COUNT "Count" #define DATABASE_COLUMN_REPORTED "Reported" -#define DATABASE_COLUMN_MESSAGE "Message" #define DATABASE_COLUMN_TIME "Time" +#define DATABASE_COLUMN_MESSAGE "Message" /** * A struct contains one database row. diff --git a/lib/Plugins/SQLite3.cpp b/lib/Plugins/SQLite3.cpp index 7ddd43f..57b3317 100644 --- a/lib/Plugins/SQLite3.cpp +++ b/lib/Plugins/SQLite3.cpp @@ -33,7 +33,8 @@ #define ABRT_TABLE "abrt_v"ABRT_TABLE_VERSION_STR #define SQLITE3_MASTER_TABLE "sqlite_master" - +// afret a while, we can drom a support for update, so a table can stay in +// normal limits static const char* upate_sql_commands[][ABRT_TABLE_VERSION + 1] = { // v0 -> * { @@ -42,8 +43,10 @@ static const char* upate_sql_commands[][ABRT_TABLE_VERSION + 1] = { // v0 -> v1 "ALTER TABLE abrt ADD "DATABASE_COLUMN_MESSAGE" VARCHAR NOT NULL DEFAULT '';", // v0 -> v2 + "BEGIN TRANSACTION;" "ALTER TABLE abrt RENAME TO abrt_v2;" - "ALTER TABLE abrt_v2 ADD "DATABASE_COLUMN_MESSAGE" VARCHAR NOT NULL DEFAULT '';", + "ALTER TABLE abrt_v2 ADD "DATABASE_COLUMN_MESSAGE" VARCHAR NOT NULL DEFAULT '';" + "COMMIT;", }, //v1 -> * @@ -54,7 +57,27 @@ static const char* upate_sql_commands[][ABRT_TABLE_VERSION + 1] = { // v1 -> v1 ";", // v1 -> v2 - "ALTER TABLE abrt RENAME TO abrt_v2;", + "BEGIN TRANSACTION;" + "CREATE TABLE abrt_v2 (" + DATABASE_COLUMN_UUID" VARCHAR NOT NULL," + DATABASE_COLUMN_UID" VARCHAR NOT NULL," + DATABASE_COLUMN_DEBUG_DUMP_PATH" VARCHAR NOT NULL," + DATABASE_COLUMN_COUNT" INT NOT NULL DEFAULT 1," + DATABASE_COLUMN_REPORTED" INT NOT NULL DEFAULT 0," + DATABASE_COLUMN_TIME" VARCHAR NOT NULL DEFAULT 0," + DATABASE_COLUMN_MESSAGE" VARCHAR NOT NULL DEFAULT ''," + "PRIMARY KEY ("DATABASE_COLUMN_UUID","DATABASE_COLUMN_UID"));" + "INSERT INTO abrt_v2 " + "SELECT "DATABASE_COLUMN_UUID"," + DATABASE_COLUMN_UID"," + DATABASE_COLUMN_DEBUG_DUMP_PATH"," + DATABASE_COLUMN_COUNT"," + DATABASE_COLUMN_REPORTED"," + DATABASE_COLUMN_TIME"," + DATABASE_COLUMN_MESSAGE + " FROM abrt;" + "DROP TABLE abrt;" + "COMMIT;", }, }; @@ -206,7 +229,8 @@ bool CSQLite3::CheckTable() } return true; } - // TODO: after some time could be removed + // TODO: after some time could be removed, and if a table is that old, + // then simoply drop it and create new one else { // hack for version 0 and 1 |
