From: drh Date: Tue, 25 Jul 2017 01:34:05 +0000 (+0000) Subject: Fix a bug in the deterministic date/time function logic that can only appear X-Git-Tag: version-3.20.0~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e8cf1ab9aa106b5d3fb11965ce1ca90264e7531c;p=thirdparty%2Fsqlite.git Fix a bug in the deterministic date/time function logic that can only appear with STAT3 or STAT4. FossilOrigin-Name: 1ca707a4fb8db7aa85430413164265607ce727fc8a5afc3424b3abfb59921b39 --- diff --git a/manifest b/manifest index c8525871d6..0f731b2855 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Do\snot\sattempt\sto\srun\stest\sfile\sunionvtabfault.test\swith\sSQLITE_OMIT_VIRTUAL_TABLE\sbuilds. -D 2017-07-24T20:01:36.136 +C Fix\sa\sbug\sin\sthe\sdeterministic\sdate/time\sfunction\slogic\sthat\scan\sonly\sappear\nwith\sSTAT3\sor\sSTAT4. +D 2017-07-25T01:34:05.482 F Makefile.in d9873c9925917cca9990ee24be17eb9613a668012c85a343aef7e5536ae266e8 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 02b469e9dcd5b7ee63fc1fb05babc174260ee4cfa4e0ef2e48c3c6801567a016 @@ -524,7 +524,7 @@ F src/vdbe.c 1e541ec7ff409bbabcc6b4f154957296fff5827c16c2ab0056348acae75685bf F src/vdbe.h d50cadf12bcf9fb99117ef392ce1ea283aa429270481426b6e8b0280c101fd97 F src/vdbeInt.h 19bd04a4211fe56c712ab35b48be77fd5a0579b851e9dea2cb8deade359b72b9 F src/vdbeapi.c 52844a5a71712197be45f1c63d730c48a745c7457c959465cfb2b969af40a266 -F src/vdbeaux.c 42e215cc6f69e91eebdd2b886ec1ff2b0d5e44331bd8b88a0a44e78bbeed7133 +F src/vdbeaux.c 3fe68bad02b33b09e08bdc0ad90d6b92b3d571f7864c3d047abca1bde050751c F src/vdbeblob.c 359891617358deefc85bef7bcf787fa6b77facb9 F src/vdbemem.c fe8fce1cdc258320b465934039fe4b1230d63f81d6b81b1eac775b6eec00af0d F src/vdbesort.c f512c68d0bf7e0105316a5594c4329358c8ee9cae3b25138df041d97516c0372 @@ -1637,7 +1637,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 9a5a3d60a5c6ce23bbdab5832f706bee8acdc4b1767aeed82b1aceb294f050f7 -R 9d8352e83316f08ec12324f403d928f8 -U dan -Z 731268f0f0f5770b6b74b815ab7de998 +P 1a632a9a6c85b78abe0351ef91c7478b26299c4c1c269d5796afb1e172084517 +R 8215cf089e6d9a2d7dcbd4ee22b67db3 +U drh +Z f46d8d102bf3b4a07103f8534020f352 diff --git a/manifest.uuid b/manifest.uuid index ef48ae0b05..9eb734f9c8 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1a632a9a6c85b78abe0351ef91c7478b26299c4c1c269d5796afb1e172084517 \ No newline at end of file +1ca707a4fb8db7aa85430413164265607ce727fc8a5afc3424b3abfb59921b39 \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index ce9e98bb46..7c2bd87ef7 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -4593,6 +4593,9 @@ void sqlite3VdbeSetVarmask(Vdbe *v, int iVar){ ** features such as 'now'. */ int sqlite3NotPureFunc(sqlite3_context *pCtx){ +#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 + if( pCtx->pVdbe==0 ) return 1; +#endif if( pCtx->pVdbe->aOp[pCtx->iOp].opcode==OP_PureFunc ){ sqlite3_result_error(pCtx, "non-deterministic function in index expression or CHECK constraint",