-C Fix\san\sobscure\scache\scorruption\sthat\scould\soccur\safter\san\sSQLITE_FULL\serror.\s(CVS\s3964)
-D 2007-05-09T15:56:40
+C Fix\sa\sproblem\swith\sstrange\sexpressions\sbeing\sfed\sto\san\sATTACH\sor\sDETACH\nstatement.\s(CVS\s3965)
+D 2007-05-09T20:31:30
F Makefile.in 87b200ad9970907f76df734d29dff3d294c10935
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F sqlite3.pc.in 985b9bf34192a549d7d370e0f0b6b34a4f61369a
F src/alter.c ca8fc4a3c7359379598dc12589b65c32eb88defd
F src/analyze.c 4bbf5ddf9680587c6d4917e02e378b6037be3651
-F src/attach.c a674f72b5e4a02b81d0ae7e6e14c1a2f48e36491
+F src/attach.c ba628db0c2b6a362f036d017bf1196cdfe4ebb37
F src/auth.c 902f4722661c796b97f007d9606bd7529c02597f
F src/btree.c ec0943dd89a7209ea3326ff29df7708f98c5596f
F src/btree.h 1d527bf61ed176f980c34999d5793a0fd45dcf8c
F test/analyze.test 2f55535aa335785db1a2f97d3f3831c16c09f8b0
F test/async.test 464dc7c7ccb144e8c82ecca429e6d7cd1c96bd6e
F test/async2.test 81e4a1fd010c903eb3b763fdb4c4cad7a99afb14
-F test/attach.test c616a88eab6b6fd99b7b2fcf449420f14628bc0b
+F test/attach.test cf289abdb120053136649efd1306ab9d47fa41b2
F test/attach2.test 0e6a7c54343c85dd877a1e86073a05176043ed40
F test/attach3.test eafcafb107585aecc2ed1569a77914138eef46a9
F test/attachmalloc.test 03eeddd06e685ddbe975efd51824e4941847e5f4
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P 9bf2c594a48a4661700f0833562ee2b3ff7b761c
-R e6e433ce97807ce8e1a14237202d778b
-U danielk1977
-Z 5e57374f56d07a6eac9a76bd05073c8d
+P e8e879aca67dee959bab42627028964c474da72f
+R d85fded0d2876aeef51189f8bdd48649
+U drh
+Z 136b1067dae497c5894f3596fcc6c47e
*************************************************************************
** This file contains code used to implement the ATTACH and DETACH commands.
**
-** $Id: attach.c,v 1.59 2007/05/08 01:08:49 drh Exp $
+** $Id: attach.c,v 1.60 2007/05/09 20:31:30 drh Exp $
*/
#include "sqliteInt.h"
if( pExpr ){
if( pExpr->op!=TK_ID ){
rc = sqlite3ExprResolveNames(pName, pExpr);
+ if( rc==SQLITE_OK && !sqlite3ExprIsConstant(pExpr) ){
+ sqlite3ErrorMsg(pName->pParse, "invalid name: \"%T\"", &pExpr->span);
+ return SQLITE_ERROR;
+ }
}else{
pExpr->op = TK_STRING;
}
# focus of this script is testing the ATTACH and DETACH commands
# and related functionality.
#
-# $Id: attach.test,v 1.43 2006/05/25 12:17:32 drh Exp $
+# $Id: attach.test,v 1.44 2007/05/09 20:31:30 drh Exp $
#
set testdir [file dirname $argv0]
file delete -force test2.db
file delete -force no-such-file
+do_test attach-7.1 {
+ file delete -force test.db test.db-journal
+ sqlite3 db test.db
+ catchsql {
+ DETACH RAISE ( IGNORE ) IN ( SELECT "AAAAAA" . * ORDER BY
+ REGISTER LIMIT "AAAAAA" . "AAAAAA" OFFSET RAISE ( IGNORE ) NOT NULL )
+ }
+} {1 {invalid name: "RAISE ( IGNORE ) IN ( SELECT "AAAAAA" . * ORDER BY
+ REGISTER LIMIT "AAAAAA" . "AAAAAA" OFFSET RAISE ( IGNORE ) NOT NULL )"}}
finish_test