Make not assume that the cel_sqlite3_custom SQL table primary key is AcctId.
authorRichard Mudgett <rmudgett@digium.com>
Thu, 5 Jan 2012 23:47:11 +0000 (23:47 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 5 Jan 2012 23:47:11 +0000 (23:47 +0000)
If a table is created by some other application and the primary key is not
named "AcctId", cel/cel_sqlite3_custom.c will always try to create the
table and fail because it already exists.

* Change the SQL table query to not require AcctId as the primary key.

(closes issue ASTERISK-18963)
Reported by: socketpair
Patches:
      fix.patch (license #6337) patch uploaded by socketpair
........

Merged revisions 349819 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349820 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349821 65c4cc65-6c06-0410-ace0-fbb531ad65f3

cel/cel_sqlite3_custom.c

index 4596e77..e0b0225 100644 (file)
@@ -321,7 +321,7 @@ static int load_module(void)
        }
 
        /* is the table there? */
-       sql = sqlite3_mprintf("SELECT COUNT(AcctId) FROM %q;", table);
+       sql = sqlite3_mprintf("SELECT COUNT(*) FROM %q;", table);
        res = sqlite3_exec(db, sql, NULL, NULL, NULL);
        sqlite3_free(sql);
        if (res != SQLITE_OK) {