]> 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:20:47 +0000 (22:20 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Fri, 18 Nov 2011 22:20:47 +0000 (22:20 +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
........

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

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

main/db.c

index 0a996f84648356649702572a94615c8031834bfe..803bc2bb39b1a7db6b7c83ad7698ef0ac3e721a1 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))")