From 856b6f1feb25ca74d716a4c22fff650e0ff065a0 Mon Sep 17 00:00:00 2001
From: Ibrahim Hossam <ibrahem.h.basyone@gmail.com>
Date: Mon, 6 Jul 2015 21:38:11 +0200
Subject: Update Unique ID system to match official now it cover all cash items
 include stackable ones. Implement ForceSerial option in Package Item Database
 to force serial for any item. Implement ForceSerial option in item database
 to force serial for any item. Implement Merge Client interface to merge
 stackable items with serial numbers ( check npc/other/item_merge.txt ).

---
 sql-files/upgrades/2015-07-02--18-14.sql | 56 ++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 sql-files/upgrades/2015-07-02--18-14.sql

(limited to 'sql-files/upgrades/2015-07-02--18-14.sql')

diff --git a/sql-files/upgrades/2015-07-02--18-14.sql b/sql-files/upgrades/2015-07-02--18-14.sql
new file mode 100644
index 000000000..49094a5df
--- /dev/null
+++ b/sql-files/upgrades/2015-07-02--18-14.sql
@@ -0,0 +1,56 @@
+#1435860840
+
+DELIMITER $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+CREATE PROCEDURE alter_if_not_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+  set @dbname = DATABASE();
+  IF EXISTS (
+    SELECT * FROM information_schema.TABLES
+      WHERE TABLE_SCHEMA = @dbname
+        AND TABLE_NAME = my_table
+  ) AND NOT EXISTS (
+    SELECT * FROM information_schema.COLUMNS
+      WHERE TABLE_SCHEMA = @dbname
+        AND TABLE_NAME = my_table
+        AND COLUMN_NAME = my_column
+  )
+  THEN
+    SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+      my_command, ' `', my_column, '` ', my_predicate);
+    PREPARE STMT FROM @q;
+    EXECUTE STMT;
+  END IF;
+
+END $$
+
+CREATE PROCEDURE alter_if_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+  set @dbname = DATABASE();
+  IF EXISTS (
+    SELECT * FROM information_schema.COLUMNS
+      WHERE TABLE_SCHEMA = @dbname
+        AND TABLE_NAME = my_table
+        AND COLUMN_NAME = my_column
+  )
+  THEN
+    SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+      my_command, ' `', my_column, '` ', my_predicate);
+    PREPARE STMT FROM @q;
+    EXECUTE STMT;
+  END IF;
+
+END $$
+
+CALL alter_if_not_exists('item_db', 'forceserial', 'ADD COLUMN', 'TINYINT(1) UNSIGNED DEFAULT NULL AFTER `bindonequip`') $$
+CALL alter_if_not_exists('item_db2', 'forceserial', 'ADD COLUMN', 'TINYINT(1) UNSIGNED DEFAULT NULL AFTER `bindonequip`') $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+DELIMITER ';'
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1435860840);
-- 
cgit v1.2.3-70-g09d2

