1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-18 10:21:03 +03:00

Change the implementation of ALTER TABLE so that it does not use the IN() operattor. (CVS 2249)

FossilOrigin-Name: 06887afb323fa1fb6988a136f96a456467cf7b2f
This commit is contained in:
danielk1977
2005-01-21 00:44:22 +00:00
parent 4eec4c1b0c
commit 83715c3edd
3 changed files with 13 additions and 12 deletions

View File

@@ -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

View File

@@ -1 +1 @@
d1166472fd17960eb3016f3d5d3bf44afc9f5bc8
06887afb323fa1fb6988a136f96a456467cf7b2f

View 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);
}
}