On 02/26/2010 01:46 PM, Denys Vlasenko wrote:
...also reworked version update logic a bit.
Version 0 is no longer supported.
Plugged a leak in check_table() - added sqlite3_free_table()
Run tested. Example log:
abrtd: Loaded plugin SQLite3 v.0.0.2
abrtd: Registered Database plugin 'SQLite3'
abrtd: 4 rows affected by SQL:BEGIN TRANSACTION;CREATE TABLE abrt_v3 (UUID VARCHAR NOT
NULL,UID VARCHAR NOT NULL,DebugDumpPath VARCHAR NOT NULL,Count INT NOT NULL DEFAULT
1,Reported INT NOT NULL DEFAULT 0,Time VARCHAR NOT NULL DEFAULT 0,Message VARCHAR NOT NULL
DEFAULT '',PRIMARY KEY (UUID,UID));INSERT INTO abrt_v3 SELECT
UUID,UID,DebugDumpPath,Count,Reported,Time,Message FROM abrt_v2;DROP TABLE abrt_v2;CREATE
TABLE abrt_v3_reportresult (UUID VARCHAR NOT NULL,UID VARCHAR NOT NULL,Reporter VARCHAR
NOT NULL,Message VARCHAR NOT NULL DEFAULT '',PRIMARY KEY
(UUID,UID,Reporter));COMMIT;
abrtd: 4 rows returned by SQL:SELECT * FROM abrt_v3;
Please review.
There is a typo "upate_sql_commands", but no serious problems I can see
at first sight, it compiles, works fine, when updating from previous
version, table abrt_v3_reportresult is created, and the old table is
updated.
Reviewed by: jmoskovc