]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Disable automatic indices on recursive CTE references.
authordan <dan@noemail.net>
Wed, 15 Jan 2014 18:21:41 +0000 (18:21 +0000)
committerdan <dan@noemail.net>
Wed, 15 Jan 2014 18:21:41 +0000 (18:21 +0000)
FossilOrigin-Name: 28aa6db8c878655255dbfb618f8d65be78e3d7e5

manifest
manifest.uuid
src/where.c
test/with1.test

index 7847f8e6915e96ac19f905f16f9975d0402582a6..e2d4787ec4b2631902d573294d38658f5a9ba12b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C When\sresolving\snames,\sconsider\sa\sreference\sto\sa\srecursive\sCTE\scolumn\sas\sequivalent\sto\sa\sreference\sto\sthe\soutermost\sname-context.\sThis\sensures\sthat\scorrelated\ssub-queries\sare\scorrectly\sidentified\sas\ssuch.
-D 2014-01-15T18:12:00.359
+C Disable\sautomatic\sindices\son\srecursive\sCTE\sreferences.
+D 2014-01-15T18:21:41.108
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -293,7 +293,7 @@ F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd
 F src/wal.c 7dc3966ef98b74422267e7e6e46e07ff6c6eb1b4
 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
 F src/walker.c e9e593d5bb798c3e67fc3893dfe7055c9e7d8d74
-F src/where.c 830b42f452cfbc4e17582f6c1d388e15b379b833
+F src/where.c 9448a176c10020a4446a8d5e2cdaecf7526e593d
 F src/whereInt.h 96a75c61f1d2b9d4a8e4bb17d89deb0cf7cba358
 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
@@ -1091,7 +1091,7 @@ F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c
 F test/win32heap.test ea19770974795cff26e11575e12d422dbd16893c
 F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
 F test/win32longpath.test 169c75a3b2e43481f4a62122510210c67b08f26d
-F test/with1.test 951807f7246215ec26cf5e9946f1b355ba892f89
+F test/with1.test fcd45b0128292d57f4435df873b51b7261edc9ba
 F test/withM.test ac3ec7ee0b33a02d0fa15da91214d97ddea64e34
 F test/without_rowid1.test aaa26da19d543cd8d3d2d0e686dfa255556c15c8
 F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99
@@ -1150,7 +1150,7 @@ F tool/vdbe-compress.tcl 0cf56e9263a152b84da86e75a5c0cdcdb7a47891
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P 9a514b50e4b01f109fbdb0aabcbfe1ddab129b44
-R 7a326e6d7d898da8a108f7b49c21709d
+P 61be2da0ae623c1572819481508b044e9d32f294
+R 054a2146ee506f873fefb3d9cec1bd30
 U dan
-Z a1fae4bd21e81652e55bd538f546aecf
+Z 902f9935ce7a37fa7329c31a191dfe9e
index 7d2b8e9f8ad89cdc1c2e9733225f5d8d02393aec..5d6578e47ce92fac813352aca5f947c5d00e8791 100644 (file)
@@ -1 +1 @@
-61be2da0ae623c1572819481508b044e9d32f294
\ No newline at end of file
+28aa6db8c878655255dbfb618f8d65be78e3d7e5
\ No newline at end of file
index 8827faa83992cbb5ddb68414245ca2305d023df2..7ac8c57f23836a4a100fe82a08e518522c90162c 100644 (file)
@@ -4196,6 +4196,7 @@ static int whereLoopAddBtree(
    && !pSrc->notIndexed
    && HasRowid(pTab)
    && !pSrc->isCorrelated
+   && !pSrc->isRecursive
   ){
     /* Generate auto-index WhereLoops */
     WhereTerm *pTerm;
index 1f227e81651daa1504cf6512b5b64cae4eb55a9d..5c59755ce0a461d351e937cc7f8a2112b94ea136 100644 (file)
@@ -228,7 +228,7 @@ do_execsql_test 6.2 {
   WITH flat(fid, fpath) AS (
     SELECT id, '' FROM f WHERE parentid IS NULL
     UNION ALL
-    SELECT id, fpath || '/' || name FROM f, flat WHERE +parentid=+fid
+    SELECT id, fpath || '/' || name FROM f, flat WHERE parentid=fid
   )
   SELECT fpath FROM flat WHERE fpath!='' ORDER BY 1;
 } {
@@ -248,7 +248,7 @@ do_execsql_test 6.3 {
   WITH flat(fid, fpath) AS (
     SELECT id, '' FROM f WHERE parentid IS NULL
     UNION ALL
-    SELECT id, fpath || '/' || name FROM f, flat WHERE parentid=+fid
+    SELECT id, fpath || '/' || name FROM f, flat WHERE parentid=fid
   )
   SELECT count(*) FROM flat;
 } {15}