Conversion to lowercase is no longer done by SQLite but now from Qt
authorMarcus Eggenberger <egs@quassel-irc.org>
Sun, 10 Feb 2008 16:07:00 +0000 (16:07 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Sun, 10 Feb 2008 16:07:00 +0000 (16:07 +0000)
42 files changed:
src/core/SQL/SQLite/3/insert_buffer.sql [deleted file]
src/core/SQL/SQLite/3/setup_080_version.sql [deleted file]
src/core/SQL/SQLite/4/delete_backlog_by_uid.sql [moved from src/core/SQL/SQLite/3/delete_backlog_by_uid.sql with 100% similarity]
src/core/SQL/SQLite/4/delete_buffers_by_uid.sql [moved from src/core/SQL/SQLite/3/delete_buffers_by_uid.sql with 100% similarity]
src/core/SQL/SQLite/4/delete_networks_by_uid.sql [moved from src/core/SQL/SQLite/3/delete_networks_by_uid.sql with 100% similarity]
src/core/SQL/SQLite/4/delete_quasseluser.sql [moved from src/core/SQL/SQLite/3/delete_quasseluser.sql with 100% similarity]
src/core/SQL/SQLite/4/insert_buffer.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/insert_message.sql [moved from src/core/SQL/SQLite/3/insert_message.sql with 100% similarity]
src/core/SQL/SQLite/4/insert_network.sql [moved from src/core/SQL/SQLite/3/insert_network.sql with 100% similarity]
src/core/SQL/SQLite/4/insert_quasseluser.sql [moved from src/core/SQL/SQLite/3/insert_quasseluser.sql with 100% similarity]
src/core/SQL/SQLite/4/insert_sender.sql [moved from src/core/SQL/SQLite/3/insert_sender.sql with 100% similarity]
src/core/SQL/SQLite/4/select_authuser.sql [moved from src/core/SQL/SQLite/3/select_authuser.sql with 100% similarity]
src/core/SQL/SQLite/4/select_bufferByName.sql [moved from src/core/SQL/SQLite/3/select_bufferByName.sql with 64% similarity]
src/core/SQL/SQLite/4/select_buffers.sql [moved from src/core/SQL/SQLite/3/select_buffers.sql with 100% similarity]
src/core/SQL/SQLite/4/select_lastMessage.sql [moved from src/core/SQL/SQLite/3/select_lastMessage.sql with 100% similarity]
src/core/SQL/SQLite/4/select_messageRange.sql [moved from src/core/SQL/SQLite/3/select_messageRange.sql with 100% similarity]
src/core/SQL/SQLite/4/select_messages.sql [moved from src/core/SQL/SQLite/3/select_messages.sql with 100% similarity]
src/core/SQL/SQLite/4/select_messagesOffset.sql [moved from src/core/SQL/SQLite/3/select_messagesOffset.sql with 100% similarity]
src/core/SQL/SQLite/4/select_messagesSince.sql [moved from src/core/SQL/SQLite/3/select_messagesSince.sql with 100% similarity]
src/core/SQL/SQLite/4/select_messagesSinceOffset.sql [moved from src/core/SQL/SQLite/3/select_messagesSinceOffset.sql with 100% similarity]
src/core/SQL/SQLite/4/select_userid.sql [moved from src/core/SQL/SQLite/3/select_userid.sql with 100% similarity]
src/core/SQL/SQLite/4/setup_000_quasseluser.sql [moved from src/core/SQL/SQLite/3/setup_000_quasseluser.sql with 100% similarity]
src/core/SQL/SQLite/4/setup_010_sender.sql [moved from src/core/SQL/SQLite/3/setup_010_sender.sql with 100% similarity]
src/core/SQL/SQLite/4/setup_020_network.sql [moved from src/core/SQL/SQLite/3/setup_020_network.sql with 100% similarity]
src/core/SQL/SQLite/4/setup_030_buffer.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/setup_040_buffer_idx.sql [moved from src/core/SQL/SQLite/3/setup_050_buffer_idx.sql with 100% similarity]
src/core/SQL/SQLite/4/setup_050_buffer_cname_idx.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/setup_060_backlog.sql [moved from src/core/SQL/SQLite/3/setup_060_backlog.sql with 100% similarity]
src/core/SQL/SQLite/4/setup_070_coreinfo.sql [moved from src/core/SQL/SQLite/3/setup_070_coreinfo.sql with 100% similarity]
src/core/SQL/SQLite/4/setup_080_version.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/update_username.sql [moved from src/core/SQL/SQLite/3/update_username.sql with 100% similarity]
src/core/SQL/SQLite/4/update_userpassword.sql [moved from src/core/SQL/SQLite/3/update_userpassword.sql with 100% similarity]
src/core/SQL/SQLite/4/upgrade_000_rename_buffertable.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/upgrade_010_create_buffertable.sql [moved from src/core/SQL/SQLite/3/setup_040_buffer.sql with 73% similarity]
src/core/SQL/SQLite/4/upgrade_020_copy_buffertable.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/upgrade_030_drop_oldbuffertable.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/upgrade_040_create_buffer_idx.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql [new file with mode: 0644]
src/core/SQL/SQLite/4/upgrade_999_update_schemaversion.sql [new file with mode: 0644]
src/core/sql.qrc
src/core/sqlitestorage.cpp
version.inc

diff --git a/src/core/SQL/SQLite/3/insert_buffer.sql b/src/core/SQL/SQLite/3/insert_buffer.sql
deleted file mode 100644 (file)
index da5aa80..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-INSERT INTO buffer (userid, networkid, buffername)
-VALUES (:userid, :networkid, :buffername)
diff --git a/src/core/SQL/SQLite/3/setup_080_version.sql b/src/core/SQL/SQLite/3/setup_080_version.sql
deleted file mode 100644 (file)
index 6b1890a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-INSERT INTO coreinfo (key, value) VALUES ('schemaversion', '3')
diff --git a/src/core/SQL/SQLite/4/insert_buffer.sql b/src/core/SQL/SQLite/4/insert_buffer.sql
new file mode 100644 (file)
index 0000000..013505a
--- /dev/null
@@ -0,0 +1,2 @@
+INSERT INTO buffer (userid, networkid, buffername, buffercname)
+VALUES (:userid, :networkid, :buffername, :buffercname)
@@ -1,3 +1,3 @@
 SELECT bufferid
 FROM buffer
 SELECT bufferid
 FROM buffer
-WHERE buffer.networkid = :networkid AND buffer.userid = :userid AND lower(buffer.buffername) = lower(:buffername)
+WHERE buffer.networkid = :networkid AND buffer.userid = :userid AND buffer.buffercname = :buffercname
diff --git a/src/core/SQL/SQLite/4/setup_030_buffer.sql b/src/core/SQL/SQLite/4/setup_030_buffer.sql
new file mode 100644 (file)
index 0000000..9a118ff
--- /dev/null
@@ -0,0 +1,8 @@
+CREATE TABLE buffer (
+       bufferid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+       userid INTEGER NOT NULL,
+       groupid INTEGER,
+       networkid INTEGER NOT NULL,
+       buffername TEXT NOT NULL,
+       buffercname TEXT NOT NULL
+)
diff --git a/src/core/SQL/SQLite/4/setup_050_buffer_cname_idx.sql b/src/core/SQL/SQLite/4/setup_050_buffer_cname_idx.sql
new file mode 100644 (file)
index 0000000..3858455
--- /dev/null
@@ -0,0 +1,2 @@
+CREATE UNIQUE INDEX buffer_cname_idx 
+       ON buffer(userid, networkid, buffercname)
diff --git a/src/core/SQL/SQLite/4/setup_080_version.sql b/src/core/SQL/SQLite/4/setup_080_version.sql
new file mode 100644 (file)
index 0000000..8cc4cdc
--- /dev/null
@@ -0,0 +1 @@
+INSERT INTO coreinfo (key, value) VALUES ('schemaversion', '4')
diff --git a/src/core/SQL/SQLite/4/upgrade_000_rename_buffertable.sql b/src/core/SQL/SQLite/4/upgrade_000_rename_buffertable.sql
new file mode 100644 (file)
index 0000000..616acfe
--- /dev/null
@@ -0,0 +1 @@
+ALTER TABLE buffer RENAME TO bufferold
@@ -3,4 +3,6 @@ CREATE TABLE buffer (
        userid INTEGER NOT NULL,
        groupid INTEGER,
        networkid INTEGER NOT NULL,
        userid INTEGER NOT NULL,
        groupid INTEGER,
        networkid INTEGER NOT NULL,
-       buffername TEXT NOT NULL)
+       buffername TEXT NOT NULL,
+       buffercname TEXT NOT NULL
+)
\ No newline at end of file
diff --git a/src/core/SQL/SQLite/4/upgrade_020_copy_buffertable.sql b/src/core/SQL/SQLite/4/upgrade_020_copy_buffertable.sql
new file mode 100644 (file)
index 0000000..2ab373a
--- /dev/null
@@ -0,0 +1,2 @@
+INSERT INTO buffer (bufferid, userid, groupid, networkid, buffername, buffercname)
+SELECT bufferid, userid, groupid, networkid, buffername, lower(buffername) FROM bufferold
diff --git a/src/core/SQL/SQLite/4/upgrade_030_drop_oldbuffertable.sql b/src/core/SQL/SQLite/4/upgrade_030_drop_oldbuffertable.sql
new file mode 100644 (file)
index 0000000..3a2c470
--- /dev/null
@@ -0,0 +1 @@
+DROP TABLE bufferold
diff --git a/src/core/SQL/SQLite/4/upgrade_040_create_buffer_idx.sql b/src/core/SQL/SQLite/4/upgrade_040_create_buffer_idx.sql
new file mode 100644 (file)
index 0000000..042ce3a
--- /dev/null
@@ -0,0 +1,2 @@
+CREATE UNIQUE INDEX buffer_idx 
+       ON buffer(userid, networkid, buffername)
diff --git a/src/core/SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql b/src/core/SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql
new file mode 100644 (file)
index 0000000..3858455
--- /dev/null
@@ -0,0 +1,2 @@
+CREATE UNIQUE INDEX buffer_cname_idx 
+       ON buffer(userid, networkid, buffercname)
diff --git a/src/core/SQL/SQLite/4/upgrade_999_update_schemaversion.sql b/src/core/SQL/SQLite/4/upgrade_999_update_schemaversion.sql
new file mode 100644 (file)
index 0000000..39ffe0a
--- /dev/null
@@ -0,0 +1,3 @@
+UPDATE coreinfo
+SET value='4'
+WHERE key = 'schemaversion'
index 73ed98d..7b75c7e 100644 (file)
@@ -5,36 +5,44 @@
     <file>./SQL/SQLite/1/upgrade_020_update_schemaversion.sql</file>
     <file>./SQL/SQLite/2/upgrade_000_drop_buffergroup.sql</file>
     <file>./SQL/SQLite/2/upgrade_010_update_schemaversion.sql</file>
     <file>./SQL/SQLite/1/upgrade_020_update_schemaversion.sql</file>
     <file>./SQL/SQLite/2/upgrade_000_drop_buffergroup.sql</file>
     <file>./SQL/SQLite/2/upgrade_010_update_schemaversion.sql</file>
-    <file>./SQL/SQLite/3/delete_backlog_by_uid.sql</file>
-    <file>./SQL/SQLite/3/delete_buffers_by_uid.sql</file>
-    <file>./SQL/SQLite/3/delete_networks_by_uid.sql</file>
-    <file>./SQL/SQLite/3/delete_quasseluser.sql</file>
-    <file>./SQL/SQLite/3/insert_buffer.sql</file>
-    <file>./SQL/SQLite/3/insert_message.sql</file>
-    <file>./SQL/SQLite/3/insert_network.sql</file>
-    <file>./SQL/SQLite/3/insert_quasseluser.sql</file>
-    <file>./SQL/SQLite/3/insert_sender.sql</file>
-    <file>./SQL/SQLite/3/select_authuser.sql</file>
-    <file>./SQL/SQLite/3/select_bufferByName.sql</file>
-    <file>./SQL/SQLite/3/select_buffers.sql</file>
-    <file>./SQL/SQLite/3/select_lastMessage.sql</file>
-    <file>./SQL/SQLite/3/select_messageRange.sql</file>
-    <file>./SQL/SQLite/3/select_messages.sql</file>
-    <file>./SQL/SQLite/3/select_messagesOffset.sql</file>
-    <file>./SQL/SQLite/3/select_messagesSince.sql</file>
-    <file>./SQL/SQLite/3/select_messagesSinceOffset.sql</file>
-    <file>./SQL/SQLite/3/select_userid.sql</file>
-    <file>./SQL/SQLite/3/setup_000_quasseluser.sql</file>
-    <file>./SQL/SQLite/3/setup_010_sender.sql</file>
-    <file>./SQL/SQLite/3/setup_020_network.sql</file>
-    <file>./SQL/SQLite/3/setup_040_buffer.sql</file>
-    <file>./SQL/SQLite/3/setup_050_buffer_idx.sql</file>
-    <file>./SQL/SQLite/3/setup_060_backlog.sql</file>
-    <file>./SQL/SQLite/3/setup_070_coreinfo.sql</file>
-    <file>./SQL/SQLite/3/setup_080_version.sql</file>
-    <file>./SQL/SQLite/3/update_username.sql</file>
-    <file>./SQL/SQLite/3/update_userpassword.sql</file>
     <file>./SQL/SQLite/3/upgrade_000_update_backlog_flags.sql</file>
     <file>./SQL/SQLite/3/upgrade_010_update_schemaversion.sql</file>
     <file>./SQL/SQLite/3/upgrade_000_update_backlog_flags.sql</file>
     <file>./SQL/SQLite/3/upgrade_010_update_schemaversion.sql</file>
+    <file>./SQL/SQLite/4/delete_backlog_by_uid.sql</file>
+    <file>./SQL/SQLite/4/delete_buffers_by_uid.sql</file>
+    <file>./SQL/SQLite/4/delete_networks_by_uid.sql</file>
+    <file>./SQL/SQLite/4/delete_quasseluser.sql</file>
+    <file>./SQL/SQLite/4/insert_buffer.sql</file>
+    <file>./SQL/SQLite/4/insert_message.sql</file>
+    <file>./SQL/SQLite/4/insert_network.sql</file>
+    <file>./SQL/SQLite/4/insert_quasseluser.sql</file>
+    <file>./SQL/SQLite/4/insert_sender.sql</file>
+    <file>./SQL/SQLite/4/select_authuser.sql</file>
+    <file>./SQL/SQLite/4/select_bufferByName.sql</file>
+    <file>./SQL/SQLite/4/select_buffers.sql</file>
+    <file>./SQL/SQLite/4/select_lastMessage.sql</file>
+    <file>./SQL/SQLite/4/select_messageRange.sql</file>
+    <file>./SQL/SQLite/4/select_messages.sql</file>
+    <file>./SQL/SQLite/4/select_messagesOffset.sql</file>
+    <file>./SQL/SQLite/4/select_messagesSince.sql</file>
+    <file>./SQL/SQLite/4/select_messagesSinceOffset.sql</file>
+    <file>./SQL/SQLite/4/select_userid.sql</file>
+    <file>./SQL/SQLite/4/setup_000_quasseluser.sql</file>
+    <file>./SQL/SQLite/4/setup_010_sender.sql</file>
+    <file>./SQL/SQLite/4/setup_020_network.sql</file>
+    <file>./SQL/SQLite/4/setup_030_buffer.sql</file>
+    <file>./SQL/SQLite/4/setup_040_buffer_idx.sql</file>
+    <file>./SQL/SQLite/4/setup_050_buffer_cname_idx.sql</file>
+    <file>./SQL/SQLite/4/setup_060_backlog.sql</file>
+    <file>./SQL/SQLite/4/setup_070_coreinfo.sql</file>
+    <file>./SQL/SQLite/4/setup_080_version.sql</file>
+    <file>./SQL/SQLite/4/update_username.sql</file>
+    <file>./SQL/SQLite/4/update_userpassword.sql</file>
+    <file>./SQL/SQLite/4/upgrade_000_rename_buffertable.sql</file>
+    <file>./SQL/SQLite/4/upgrade_010_create_buffertable.sql</file>
+    <file>./SQL/SQLite/4/upgrade_020_copy_buffertable.sql</file>
+    <file>./SQL/SQLite/4/upgrade_030_drop_oldbuffertable.sql</file>
+    <file>./SQL/SQLite/4/upgrade_040_create_buffer_idx.sql</file>
+    <file>./SQL/SQLite/4/upgrade_050_create_buffer_cname_idx.sql</file>
+    <file>./SQL/SQLite/4/upgrade_999_update_schemaversion.sql</file>
 </qresource>
 </RCC>
 </qresource>
 </RCC>
index 900a193..a20640c 100644 (file)
@@ -175,6 +175,7 @@ void SqliteStorage::createBuffer(UserId user, const NetworkId &networkId, const
   query->bindValue(":userid", user.toInt());
   query->bindValue(":networkid", networkId.toInt());
   query->bindValue(":buffername", buffer);
   query->bindValue(":userid", user.toInt());
   query->bindValue(":networkid", networkId.toInt());
   query->bindValue(":buffername", buffer);
+  query->bindValue(":buffercname", buffer.toLower());
   query->exec();
 
   watchQuery(query);
   query->exec();
 
   watchQuery(query);
@@ -184,7 +185,7 @@ BufferInfo SqliteStorage::getBufferInfo(UserId user, const NetworkId &networkId,
   QSqlQuery *query = cachedQuery("select_bufferByName");
   query->bindValue(":networkid", networkId.toInt());
   query->bindValue(":userid", user.toInt());
   QSqlQuery *query = cachedQuery("select_bufferByName");
   query->bindValue(":networkid", networkId.toInt());
   query->bindValue(":userid", user.toInt());
-  query->bindValue(":buffername", buffer);
+  query->bindValue(":buffercname", buffer.toLower());
   query->exec();
 
   if(!query->first()) {
   query->exec();
 
   if(!query->first()) {
index ba5bb55..c3368e5 100644 (file)
@@ -5,7 +5,7 @@
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-02-10";
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-02-10";
-  quasselBuild = 495;
+  quasselBuild = 497;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 480;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 480;