diff options
author | drh <drh@noemail.net> | 2011-12-07 01:55:51 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2011-12-07 01:55:51 +0000 |
commit | 23b1b37229b8f28c70d3711228ef58cb7a370b0b (patch) | |
tree | 85bbd232ccd3444254358421bb15651ef43c5396 | |
parent | ed51f29774ca0581de17d7f4a066fea1b0459948 (diff) | |
download | sqlite-23b1b37229b8f28c70d3711228ef58cb7a370b0b.tar.gz sqlite-23b1b37229b8f28c70d3711228ef58cb7a370b0b.zip |
Cherrypick the [7e5b56b1c6] fix for the sqlite3SelectDup() routine
into trunk.
FossilOrigin-Name: 7fc535090ca3416706dff4abce10ac2d7f775e02
-rw-r--r-- | manifest | 14 | ||||
-rw-r--r-- | manifest.uuid | 2 | ||||
-rw-r--r-- | src/expr.c | 6 |
3 files changed, 12 insertions, 10 deletions
@@ -1,5 +1,5 @@ -C Add\sfile\stkt-3a77c9714e.test,\scontaining\stests\sto\sverify\sthat\sthe\sproblem\sdocumented\sby\sticket\s[3a77c9714e]\shas\sbeen\sfixed. -D 2011-12-06T13:46:54.313 +C Cherrypick\sthe\s[7e5b56b1c6]\sfix\sfor\sthe\ssqlite3SelectDup()\sroutine\s\ninto\strunk. +D 2011-12-07T01:55:51.485 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -134,7 +134,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c a9c26822515f81ec21588cbb482ca6724be02e33 F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4 F src/delete.c 51d32f0a9c880663e54ce309f52e40c325d5e112 -F src/expr.c 319db0ad9f3c5d039d54bf5a65c98c08c7233924 +F src/expr.c 9ac5831769dddee6a55b07cdd439b21929bbe4e7 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c 657212460bf5cfd3ae607d12ea62092844c227b5 F src/func.c 6261ce00aad9c63cd5b4219249b05683979060e9 @@ -977,7 +977,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 092d53315e50be42b51ef7b3069c82c32a129b6a -R 8d2fc7565d4aa525192ff0541b1c9cf2 -U dan -Z d04d6b5cb95ec0b64c1e1542ea707494 +P 162421dadf93e9201c3290d800c597cbeeacdb40 +R d17736709c9e1055d62b7d5dd5010549 +U drh +Z 01f1b62cbb252e00fe26739b3bf9a3e5 diff --git a/manifest.uuid b/manifest.uuid index 1ffea396b..f9ed37375 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -162421dadf93e9201c3290d800c597cbeeacdb40
\ No newline at end of file +7fc535090ca3416706dff4abce10ac2d7f775e02
\ No newline at end of file diff --git a/src/expr.c b/src/expr.c index e8a9d6410..136f302f9 100644 --- a/src/expr.c +++ b/src/expr.c @@ -940,7 +940,7 @@ IdList *sqlite3IdListDup(sqlite3 *db, IdList *p){ return pNew; } Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ - Select *pNew; + Select *pNew, *pPrior; if( p==0 ) return 0; pNew = sqlite3DbMallocRaw(db, sizeof(*p) ); if( pNew==0 ) return 0; @@ -951,7 +951,9 @@ Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ pNew->pHaving = sqlite3ExprDup(db, p->pHaving, flags); pNew->pOrderBy = sqlite3ExprListDup(db, p->pOrderBy, flags); pNew->op = p->op; - pNew->pPrior = sqlite3SelectDup(db, p->pPrior, flags); + pNew->pPrior = pPrior = sqlite3SelectDup(db, p->pPrior, flags); + if( pPrior ) pPrior->pNext = pNew; + pNew->pNext = 0; pNew->pLimit = sqlite3ExprDup(db, p->pLimit, flags); pNew->pOffset = sqlite3ExprDup(db, p->pOffset, flags); pNew->iLimit = 0; |