]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change the implementation of ALTER TABLE so that it does not use the IN() operattor...
authordanielk1977 <danielk1977@noemail.net>
Fri, 21 Jan 2005 00:44:22 +0000 (00:44 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Fri, 21 Jan 2005 00:44:22 +0000 (00:44 +0000)
FossilOrigin-Name: 06887afb323fa1fb6988a136f96a456467cf7b2f

manifest
manifest.uuid
src/build.c

index d8b4c882e45c627b32bc5c253eb7e265b741887d..21513dcb9bed93b23217e661a8e3609652ce03a4 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\ssegfault\sthat\soccurs\son\sa\scorrupt\sdatabase.\s(CVS\s2248)
-D 2005-01-21T00:22:38
+C Change\sthe\simplementation\sof\sALTER\sTABLE\sso\sthat\sit\sdoes\snot\suse\sthe\sIN()\soperattor.\s(CVS\s2249)
+D 2005-01-21T00:44:22
 F Makefile.in ffd81f5e926d40b457071b4de8d7c1fa18f39b5a
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@@ -31,7 +31,7 @@ F src/attach.c cecf5ab42cff34416372a0210b14abb50ed48ef9
 F src/auth.c 3b81f2a42f48a62c2c9c9b0eda31a157c681edea
 F src/btree.c 011acf7cedbe591bfe8207ac10050d9024807282
 F src/btree.h 74d19cf40ab49fd69abe9e4e12a6c321ad86c497
-F src/build.c da5ecd9880f2d19d5e77fe48b722577494dd3290
+F src/build.c 9c9e9dbb9d8619f0755be79fcb30df5a8347a8ed
 F src/cursor.c de73c00aefc4747ad59b5105cf38bbff0667922e
 F src/date.c f3d1f5cd1503dabf426a198f3ebef5afbc122a7f
 F src/delete.c b3accca9c38d9a67dbd724f67b04151a13735ebd
@@ -270,7 +270,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
 F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl 3e522a06ad41992023c80ca29a048ae2331ca5bd
-P 6177148260c5e3e28df6ea1c486ba3642a745a01
-R 2762bf2e811176504fb47e78ea804eef
-U drh
-Z 97ed2a34cf1783e6f50f5fa286617335
+P d1166472fd17960eb3016f3d5d3bf44afc9f5bc8
+R d3c76340d5c2b36ec4f3164c5b3ed7ff
+U danielk1977
+Z e8d416a6477130fce4f05937d70746ae
index c9c74b59838126a6b51735dbee9c7d983f2c7a13..0eb06369bb52205b3040ef43ab7360be4cc5b052 100644 (file)
@@ -1 +1 @@
-d1166472fd17960eb3016f3d5d3bf44afc9f5bc8
\ No newline at end of file
+06887afb323fa1fb6988a136f96a456467cf7b2f
\ No newline at end of file
index ba8bef5d2787625746cb0b12c567d6d59c1532fe..603ecd755e175e6a0b5e10dd8034ff30213dce04 100644 (file)
@@ -22,7 +22,7 @@
 **     COMMIT
 **     ROLLBACK
 **
-** $Id: build.c,v 1.295 2005/01/19 23:24:50 drh Exp $
+** $Id: build.c,v 1.296 2005/01/21 00:44:22 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -3014,7 +3014,8 @@ void sqlite3AlterRenameTable(
             "WHEN name LIKE 'sqlite_autoindex%%' AND type='index' THEN "
               "'sqlite_autoindex_' || %Q || substr(name, %d+18,10) "
             "ELSE name END "
-      "WHERE tbl_name=%Q AND type IN ('table', 'index', 'trigger');", 
+      "WHERE tbl_name=%Q AND "
+          "(type='table' OR type='index' OR type='trigger');", 
       zDb, SCHEMA_TABLE(iDb), zName, zName, zName, 
 #ifndef SQLITE_OMIT_TRIGGER
 zName,
@@ -3045,10 +3046,10 @@ zName,
       if( pTrig->iDb==1 ){
         if( !zTempTrig ){
           zTempTrig = 
-              sqlite3MPrintf("type = 'trigger' AND name IN(%Q", pTrig->name);
+              sqlite3MPrintf("type = 'trigger' AND (name=%Q", pTrig->name);
         }else{
           tmp = zTempTrig;
-          zTempTrig = sqlite3MPrintf("%s%Q", zTempTrig, pTrig->name);
+          zTempTrig = sqlite3MPrintf("%s OR name=%Q", zTempTrig, pTrig->name);
           sqliteFree(tmp);
         }
       }