From a6528fbee809022f2f910c60bcc02029c0df65bf Mon Sep 17 00:00:00 2001
From: an7s <an7s@git.zephyr-software.com>
Date: Fri, 5 Oct 2012 12:29:36 +0000
Subject: [PATCH] added sqlite signatures

Former-commit-id: 9ac0d97f26426396b5dee04e6ccf32f66264e1d3
---
 .gitattributes               |  1 +
 tools/signatures/sqlite.sigs | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 tools/signatures/sqlite.sigs

diff --git a/.gitattributes b/.gitattributes
index 551819aa2..17f1e10a8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1112,6 +1112,7 @@ tools/ps_validate_ss.deprecated.sh -text
 tools/run_one_test.sh -text
 tools/run_stratafied.tmpl.sh -text
 tools/set_dyna_link.sh -text
+tools/signatures/sqlite.sigs -text
 tools/test_controller.sh -text
 tools/update_env_var.sh -text
 tools/validate.sh -text
diff --git a/tools/signatures/sqlite.sigs b/tools/signatures/sqlite.sigs
new file mode 100644
index 000000000..cf0bf5a41
--- /dev/null
+++ b/tools/signatures/sqlite.sigs
@@ -0,0 +1,25 @@
+CREATE INDEX
+CREATE TABLE 
+CREATE TABLE %Q.sqlite_sequence(name,seq)
+CREATE TABLE %Q.%s(%s)
+CREATE TABLE sqlite_master(
+CREATE TEMP TABLE sqlite_temp_master(
+CREATE VIRTUAL TABLE %T
+DELETE FROM %Q.sqlite_sequence WHERE name=%Q
+DELETE FROM %Q.%s WHERE name=%Q AND type='index'
+DELETE FROM %Q.%s WHERE %s=%Q
+DELETE FROM %Q.%s WHERE tbl_name=%Q and type!='trigger'
+INSERT INTO %Q.%s VALUES('index',%Q,%Q,#%d,%Q);
+INSERT INTO %Q.%s VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')
+INSERT INTO vacuum_db.sqlite_master   
+SELECT name, rootpage, sql FROM
+SELECT type, name, tbl_name, rootpage, sql    FROM main.sqlite_master   WHERE type='view' OR type='trigger'      OR (type='table' AND rootpage=0)
+UPDATE %Q.%s SET rootpage=%d WHERE #%d AND rootpage=#%d
+UPDATE %Q.%s SET sql = CASE WHEN type = 'trigger' THEN sqlite_rename_trigger(sql, %Q)ELSE sqlite_rename_table(sql, %Q) END, tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqlite_autoindex%%' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');
+UPDATE %Q.%s SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d
+UPDATE %Q.%s SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d
+UPDATE sqlite_temp_master SET sql = sqlite_rename_trigger(sql, %Q), tbl_name = %Q WHERE %s;
+UPDATE "%w".sqlite_sequence set name = %Q WHERE name = %Q
+UPDATE "%w".%s SET sql = sqlite_rename_parent(sql, %Q, %Q) WHERE %s;
+UPDATE "%w".%s SET sql = substr(sql,1,%d) || ', ' || %Q || substr(sql,%d) WHERE type = 'table' AND name = %Q
+.sqlite_master ORDER BY rowid
-- 
GitLab