From 71170918676d4c7b81a4019c737c4346d72d8cd4 Mon Sep 17 00:00:00 2001
From: an7s <an7s@git.zephyr-software.com>
Date: Fri, 24 Oct 2014 16:22:20 +0000
Subject: [PATCH] Extract more signatures from sqlite3

Former-commit-id: 2da1a5cf705b02a0cae03d2d23f76ec7b0a5db0e
---
 tools/signatures/sqlite.sigs | 126 +++++++++++++++++++++++++++++++++--
 1 file changed, 122 insertions(+), 4 deletions(-)

diff --git a/tools/signatures/sqlite.sigs b/tools/signatures/sqlite.sigs
index b3893665f..d90307df6 100644
--- a/tools/signatures/sqlite.sigs
+++ b/tools/signatures/sqlite.sigs
@@ -1,12 +1,130 @@
+) || ', ' || 
+) + 1, 1)
++18) ELSE name END WHERE tbl_name=
+AND block IS NULL
+AND idx < 
+AND idx = 
+AND rootpage=
+AND type='index'
+' AND type='index' THEN 'sqlite_autoindex_' || 
+AND type='index' THEN 'sqlite_autoindex_' || 
+COLLATE nocase AND (type='table' OR type='index' OR type='trigger');
 CREATE INDEX
 CREATE TABLE 
 CREATE TABLE sqlite_master(
 CREATE TEMP TABLE sqlite_temp_master(
+'CREATE TRIGGER 
+ELSE name END WHERE tbl_name=
+ELSE sqlite_rename_table(sql,
+ELSE sqlite_rename_table(sql, 
+) END, tbl_name = 
+END, tbl_name = 
+FROM main.sqlite_master
+FROM main.sqlite_master WHERE type = 'table' AND name!='sqlite_sequence'   AND rootpage>0
+FROM vacuum_db.sqlite_master WHERE name=='sqlite_sequence';
+FROM vacuum_db.sqlite_master WHERE name='sqlite_sequence'
+GROUP BY level HAVING count(*)>=
 INSERT INTO vacuum_db.sqlite_master
+INSERT INTO vacuum_db.sqlite_master   SELECT type, name, tbl_name, rootpage, sql    FROM main.sqlite_master   WHERE type='view' OR type='trigger'      OR (type='table' AND rootpage=0)
+INSERT OR REPLACE INTO
+', name=
+, name = CASE WHEN type='table' THEN 
+(nodeno INTEGER PRIMARY KEY, data BLOB);CREATE TABLE 
+(nodeno INTEGER PRIMARY KEY, parentnode INTEGER);
+ORDER BY 1 ASC
+ORDER BY idx ASC
+ORDER BY (level %% 1024) ASC LIMIT 1
+ORDER BY level DESC, idx ASC
+ORDER BY rowid
+OR (type='table' AND rootpage=0)
+OR type='trigger'
+quote(name) || ' SELECT * FROM main.' || quote(name) || ';'
+, root = 
+, rootpage=
+rootpage=
+, rootpage=0, sql=
+(rowid INTEGER PRIMARY KEY, nodeno INTEGER);
+SELECT 1 FROM 
+SELECT 2 * total(1 + leaves_end_block - start_block)   FROM
+SELECT coalesce((SELECT max(blockid) FROM
+SELECT count(*) FROM 
+SELECT 'CREATE INDEX vacuum_db.'
+SELECT 'CREATE INDEX vacuum_db.' || substr(sql,14)  FROM sqlite_master WHERE sql LIKE 'CREATE INDEX
+SELECT 'CREATE INDEX vacuum_db.' || substr(sql,14)  FROM sqlite_master WHERE sql LIKE 'CREATE INDEX %' 
+SELECT 'CREATE TABLE vacuum_db.'
+SELECT 'CREATE TABLE vacuum_db.' || substr(sql,14)   FROM sqlite_master WHERE type='table' AND name!='sqlite_sequence'   AND rootpage>0
+SELECT 'CREATE UNIQUE INDEX vacuum_db.'
+SELECT 'CREATE UNIQUE INDEX vacuum_db.' || substr(sql,21)   FROM sqlite_master WHERE sql LIKE 'CREATE UNIQUE INDEX 
+SELECT 'CREATE UNIQUE INDEX vacuum_db.' || substr(sql,21)   FROM sqlite_master WHERE sql LIKE 'CREATE UNIQUE INDEX %'
+SELECT data FROM 
+SELECT 'DELETE FROM vacuum_db.' || quote(name) || ';'
+SELECT 'DELETE FROM vacuum_db.' || quote(name) || ';' FROM vacuum_db.sqlite_master WHERE name='sqlite_sequence' 
+SELECT DISTINCT level / (1024 *
+SELECT idx FROM 
+SELECT idx, start_block, leaves_end_block, end_block, root FROM 
+SELECT idx, start_block, leaves_end_block, end_block, root FROM %Q.'%q_segdir' WHERE level BETWEEN ? AND ?ORDER BY level DESC, idx ASC
+SELECT idx, start_block, leaves_end_block, end_block, root FROM %Q.'%q_segdir' WHERE level = ? ORDER BY idx ASC
+SELECT 'INSERT INTO vacuum_db.' || 
+SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' || quote(name) || ';'
+SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' || quote(name) || ';' 
+SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' || quote(name) || ';'FROM main.sqlite_master WHERE type = 'table' AND name!='sqlite_sequence'   AND rootpage>0
+SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' || quote(name) || ';' FROM vacuum_db.sqlite_master WHERE name=='sqlite_sequence';
+SELECT length(data) FROM 
+SELECT level FROM 
+SELECT max( level %% 1024 ) FROM 
+SELECT max(level) FROM 
 SELECT name, rootpage, sql FROM 
+SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid
+SELECT nodeno FROM 
+SELECT NOT EXISTS(SELECT docid FROM 
+SELECT NOT EXISTS(SELECT docid FROM %Q.'%q_content' WHERE rowid!=?)
+SELECT parentnode FROM 
+SELECT (SELECT max(idx) FROM 
+SELECT size FROM 
+SELECT tbl,idx,stat FROM %Q.sqlite_stat1
 SELECT type, name, tbl_name, rootpage, sql
-FROM main.sqlite_master
-WHERE type='view'
-OR type='trigger'
-OR (type='table' AND rootpage=0)
+SELECT value FROM
+SELECT value FROM 
+SET sql = CASE WHEN type = 'trigger' THEN sqlite_rename_trigger(sql, 
+SET sql = sqlite_rename_parent(sql, 
+SET sql = substr(sql,1,
+SET start_block = 
+SET type='table', name=
+, sql=
+sqlite_master ORDER BY
 .sqlite_master ORDER BY rowid
+sqlite_master WHERE
+sqlite_sequence set name = 
+sqlite_temp_master ORDER BY
+sqlite_temp_master WHERE
+|| substr(name,
+substr(name,
+|| substr(sql,
+|| substr(sql,14)  FROM sqlite_master WHERE sql LIKE 'CREATE INDEX 
+substr(sql,14)   FROM sqlite_master WHERE type='table' AND name!='sqlite_sequence'   AND rootpage>0
+|| substr(sql,21)   FROM sqlite_master WHERE sql LIKE 'CREATE UNIQUE INDEX
+, tbl_name=
+, tbl_name = 
+UPDATE sqlite_temp_master SET sql = sqlite_rename_trigger(sql, 
+VALUES(1, zeroblob(
+VALUES('index',
+VALUES('trigger',
+WHEN name LIKE 'sqlite_autoindex
+WHERE blockid BETWEEN 
+WHERE docid=
+WHERE docid = 
+WHERE id=2
+WHERE level =
+WHERE level = 
+WHERE level BETWEEN
+WHERE level BETWEEN 
+WHERE name = 
+WHERE nodeno = 
+WHERE nodeno = 1
+WHERE rowid=
+WHERE rowid!=
+WHERE tbl_name=
+WHERE tbl_name =
+) WHERE type = 'table' AND name = 
+WHERE type = 'table' AND name = 
+WHERE type='view'
-- 
GitLab