]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix an assertion fault that can only occur if SQLITE_ENABLE_STAT2 is defined
authordrh <drh@noemail.net>
Thu, 16 Dec 2010 19:52:52 +0000 (19:52 +0000)
committerdrh <drh@noemail.net>
Thu, 16 Dec 2010 19:52:52 +0000 (19:52 +0000)
and the constant folding optimization is disabled using sqlite3_test_control().
Problem introduced by [ad8bc68197f2b4] but we missed it prior to the 3.7.4
release due to taking shortcuts and skipping tests in the release checklist.

FossilOrigin-Name: 70a3d81742fcd481f83ccc8f7ff6af58bc29c4fa

manifest
manifest.uuid
src/where.c

index 5130ec956c27b696c68aaac7235bddec1a60488a..9650e8ccdbe0320267f9747d5a6908595e07cfbc 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Make\swal_checkpoint\sa\sno-op\sif\sa\sprior\scheckpoint\shas\salready\scopied\sall\s\nWAL\scontent\sinto\sthe\sdatabase.\s\sThis\sprevents\sa\sconcurrent\swrite\sto\sthe\ndatabase\sfrom\sresetting\sthe\swal-index\sout\sfrom\sunder\sthe\sWalIterator\sof\nthe\scheckpoint\sas\sit\sis\sinitializing.
-D 2010-12-16T02:06:30
+C Fix\san\sassertion\sfault\sthat\scan\sonly\soccur\sif\sSQLITE_ENABLE_STAT2\sis\sdefined\nand\sthe\sconstant\sfolding\soptimization\sis\sdisabled\susing\ssqlite3_test_control().\nProblem\sintroduced\sby\s[ad8bc68197f2b4]\sbut\swe\smissed\sit\sprior\sto\sthe\s3.7.4\nrelease\sdue\sto\staking\sshortcuts\sand\sskipping\stests\sin\sthe\srelease\schecklist.
+D 2010-12-16T19:52:53
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 4547616ad2286053af6ccccefa242dc925e49bf0
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -243,7 +243,7 @@ F src/vtab.c b297e8fa656ab5e66244ab15680d68db0adbec30
 F src/wal.c dbca424f71678f663a286ab2a98f947af1d412a7
 F src/wal.h c1aac6593a0b02b15dc625987e619edeab39292e
 F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
-F src/where.c fa22d45b2577c77146f2e894d58011d472d64103
+F src/where.c af069e6b53234118014dabfece96a9515b69d76b
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
 F test/all.test 51756962d522e474338e9b2ebb26e7364d4aa125
@@ -897,14 +897,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P d0e4375b8a784d4e4ae66caababac919edd61883
-R 80db019f1fe0898e29ee135039b02e42
+P cf86affcb7d3089496e9849cbf43a211097e4f64
+R 3de2e9f1840abc5aa813c8670b73846d
 U drh
-Z b7c01cb05c8175ac2d3c285f2b41993d
+Z 1060a236dbc52565455341e304a20640
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFNCXQpoxKgR168RlERAvhYAJ9VEC5cEqFcvoO8pUyjLqrkEx8osgCePOvl
-dryfAhOPr5nP5lktpU/6FWo=
-=UvbB
+iD8DBQFNCm4ZoxKgR168RlERAiUbAJ4qrpq7mstZk9+svbST+q1EKzcnqACfZcXk
+mdsfy827moHN92mPMgDc9TQ=
+=f2T1
 -----END PGP SIGNATURE-----
index e14e6337292a199edf4ef467436a1ef00faa3bde..51060b85375ff7aedbb55d3faec1596816f1d72e 100644 (file)
@@ -1 +1 @@
-cf86affcb7d3089496e9849cbf43a211097e4f64
\ No newline at end of file
+70a3d81742fcd481f83ccc8f7ff6af58bc29c4fa
\ No newline at end of file
index b8d1d6b276fdd79179652d6c10b8051e1137aeee..4a5026f5f45fbe939aed188770c2e4c06d9f1f0c 100644 (file)
@@ -2315,10 +2315,9 @@ static int valueFromExpr(
   u8 aff, 
   sqlite3_value **pp
 ){
-  /* The evalConstExpr() function will have already converted any TK_VARIABLE
-  ** expression involved in an comparison into a TK_REGISTER. */
-  assert( pExpr->op!=TK_VARIABLE );
-  if( pExpr->op==TK_REGISTER && pExpr->op2==TK_VARIABLE ){
+  if( pExpr->op==TK_VARIABLE
+   || (pExpr->op==TK_REGISTER && pExpr->op2==TK_VARIABLE)
+  ){
     int iVar = pExpr->iColumn;
     sqlite3VdbeSetVarmask(pParse->pVdbe, iVar); /* IMP: R-23257-02778 */
     *pp = sqlite3VdbeGetValue(pParse->pReprepare, iVar, aff);