]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix a change in behavior in 'database show' from 1.8.
authorTilghman Lesher <tilghman@meg.abyt.es>
Fri, 18 Nov 2011 22:16:26 +0000 (22:16 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Fri, 18 Nov 2011 22:16:26 +0000 (22:16 +0000)
In 1.8 and previous versions, one could use any fullword portion of the key
name, including the full key, to obtain the record.  Until this patch, this
did not work for the full key.

Closes issue ASTERISK-18886

Patch: by tilghman
Review: by twilson (http://pastebin.com/7rtu6bpk) on #asterisk-dev

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

main/db.c

index 67a8ccdb72df64bbb95b222e7fbad3ac802be76c..d7c8f55509a7aa45ec89d4c87459540da8da3213 100644 (file)
--- a/main/db.c
+++ b/main/db.c
@@ -117,9 +117,9 @@ static void db_sync(void);
 DEFINE_SQL_STATEMENT(put_stmt, "INSERT OR REPLACE INTO astdb (key, value) VALUES (?, ?)")
 DEFINE_SQL_STATEMENT(get_stmt, "SELECT value FROM astdb WHERE key=?")
 DEFINE_SQL_STATEMENT(del_stmt, "DELETE FROM astdb WHERE key=?")
-DEFINE_SQL_STATEMENT(deltree_stmt, "DELETE FROM astdb WHERE key LIKE ? || '/' || '%'")
+DEFINE_SQL_STATEMENT(deltree_stmt, "DELETE FROM astdb WHERE key || '/' LIKE ? || '/' || '%'")
 DEFINE_SQL_STATEMENT(deltree_all_stmt, "DELETE FROM astdb")
-DEFINE_SQL_STATEMENT(gettree_stmt, "SELECT key, value FROM astdb WHERE key LIKE ? || '/' || '%'")
+DEFINE_SQL_STATEMENT(gettree_stmt, "SELECT key, value FROM astdb WHERE key || '/' LIKE ? || '/' || '%'")
 DEFINE_SQL_STATEMENT(gettree_all_stmt, "SELECT key, value FROM astdb")
 DEFINE_SQL_STATEMENT(showkey_stmt, "SELECT key, value FROM astdb WHERE key LIKE '%' || '/' || ?")
 DEFINE_SQL_STATEMENT(create_astdb_stmt, "CREATE TABLE IF NOT EXISTS astdb(key VARCHAR(256), value VARCHAR(256), PRIMARY KEY(key))")