-C Fix\sa\sproblem\swith\srenaming\sa\scolumn\sthat\sis\sused\sas\spart\sof\san\sORDER\sBY\son\sa\ncompound\sSELECT\swithin\sa\sdatabase\sview\sor\strigger.
-D 2019-01-16T14:58:37.269
+C Fix\sa\sproblem\sin\sthe\scode\sgenerator\sfor\ssorting\sresults\swith\sSRT_EphemTab\nand\sa\sLIMIT\sclause.
+D 2019-01-16T19:26:31.946
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in 2a9d0331ab57c68173a4c2fe9046fe89c4d916a888e04dd7a2d36958c2bff777
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
F src/resolve.c 4bfb39273d61cc20634fb3bd8d37a60391546fcef63b19ec11c60b3f79011fa7
F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93
-F src/select.c 4b0be1bfd2d8668e2711f877682361e06b412c53ce7a56303f1f6978ec33eca8
+F src/select.c 5cbd6ab60bd017cf5857f9153680a64d04678a9d2a0ea56b90cae2f61deb18b3
F src/shell.c.in b3cd745b53439674fdc3dc4db12e094d11cff91495be68bb09ac52726084b583
F src/sqlite.h.in b54cd42d2f3b739a00de540cafe2dcd0de3b8e1748a2db33a68def487e9e602f
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F test/schemafault.test 1936bceca55ac82c5efbcc9fc91a1933e45c8d1e1d106b9a7e56c972a5a2a51e
F test/securedel.test 2f70b2449186a1921bd01ec9da407fbfa98c3a7a5521854c300c194b2ff09384
F test/securedel2.test 2d54c28e46eb1fd6902089958b20b1b056c6f1c5
-F test/select1.test 2e760bab8f3658b3b97debcf52860d0d2e20aa6cbe8b40e678ddb99871a15491
+F test/select1.test 7d41f354998524070317207d4e2b68e725e4cf14a57835fc746d4bea686a8714
F test/select2.test 352480e0e9c66eda9c3044e412abdf5be0215b56
F test/select3.test 2ce595f8fb8e2ac10071d3b4e424cadd4634a054
F test/select4.test 5389d9895968d1196c457d59b3ee6515d771d328
F test/window5.test d328dd18221217c49c144181975eea17339eaeaf0e9aa558cee3afb84652821e
F test/window6.test 5eae4ae7a590ccf1e605880969ca0bad3955616ac91cad3031baea38748badb3
F test/windowfault.test 12ceb6bbb355d13e8fcd88c5731a57256dfdf77b9a7ae20842a76fcd4623df5b
-F test/with1.test 64fcb1a81685b8a67da61af260a2d8f2afbf3530d39fa451831faf5a9ba6ea45
+F test/with1.test 4776e8a57739b1dd33c7cb2c9f17fede6b55634f53323fbf8bb538228b644dbf
F test/with2.test e0030e2f0267a910d6c0e4f46f2dfe941c1cc0d4f659ba69b3597728e7e8f1ab
F test/with3.test 8d26920c88283e0a473ceebd3451554922108ce7b2a6a1157c47eb0a7011212c
F test/with4.test 257be66c0c67fee1defbbac0f685c3465e2cad037f21ce65f23f86084f198205
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P d45bee36f2c1091a2d32c16ca8921bf4e7c9e40c46d0a36fbcb179ecfafcfbf0
-R 3f45003a2534f045f311767a554afd37
-U dan
-Z 31011417b8e1bcc509ea69d09d6af708
+P b4b5741366578b25ec6e4c415ab8239215e53b1c900be613575f40a826cfccc9
+R 0b3ae1bb0170c7a60eab725b603dd04a
+U drh
+Z d03311c2231f5748ca9f82049f7d8880
-b4b5741366578b25ec6e4c415ab8239215e53b1c900be613575f40a826cfccc9
\ No newline at end of file
+49fcde2f1f981ac0c75728bed3444e7c1d3167311db282d3375c96ce090b2210
\ No newline at end of file
regRow = pDest->iSdst;
}else{
regRowid = sqlite3GetTempReg(pParse);
- regRow = sqlite3GetTempRange(pParse, nColumn);
+ if( eDest==SRT_EphemTab || eDest==SRT_Table ){
+ regRow = sqlite3GetTempReg(pParse);
+ nColumn = 0;
+ }else{
+ regRow = sqlite3GetTempRange(pParse, nColumn);
+ }
}
nKey = pOrderBy->nExpr - pSort->nOBSat;
if( pSort->sortFlags & SORTFLAG_UseSorter ){
switch( eDest ){
case SRT_Table:
case SRT_EphemTab: {
+ sqlite3VdbeAddOp3(v, OP_Column, iSortTab, nKey+bSeq, regRow);
sqlite3VdbeAddOp2(v, OP_NewRowid, iParm, regRowid);
sqlite3VdbeAddOp3(v, OP_Insert, iParm, regRow, regRowid);
sqlite3VdbeChangeP5(v, OPFLAG_APPEND);
do_catchsql_test select1-16.2 {
SELECT 1 FROM sqlite_master LIMIT 1,#1;
} {1 {near "#1": syntax error}}
-
+
+# 2019-01-16 Chromium bug 922312
+# Sorting with a LIMIT clause using SRT_EphemTab and SRT_Table
+#
+do_execsql_test select1-17.1 {
+ DROP TABLE IF EXISTS t1;
+ DROP TABLE IF EXISTS t2;
+ CREATE TABLE t1(x); INSERT INTO t1 VALUES(1);
+ CREATE TABLE t2(y,z); INSERT INTO t2 VALUES(2,3);
+ CREATE INDEX t2y ON t2(y);
+ SELECT * FROM t1,(SELECT * FROM t2 WHERE y=2 ORDER BY y,z);
+} {1 2 3}
+do_execsql_test select1-17.2 {
+ SELECT * FROM t1,(SELECT * FROM t2 WHERE y=2 ORDER BY y,z LIMIT 4);
+} {1 2 3}
+do_execsql_test select1-17.3 {
+ SELECT * FROM t1,(SELECT * FROM t2 WHERE y=2
+ UNION ALL SELECT * FROM t2 WHERE y=3 ORDER BY y,z LIMIT 4);
+} {1 2 3}
+
finish_test
)
SELECT * FROM t21 AS tA, t21 AS tB
} {1 1 1 1}
+do_execsql_test 21.1b {
+ /* This variant from chromium bug 922312 on 2019-01-16 */
+ WITH RECURSIVE t21(a,b) AS (
+ WITH t21(x) AS (VALUES(1))
+ SELECT x, x FROM t21 ORDER BY 1 LIMIT 5
+ )
+ SELECT * FROM t21 AS tA, t21 AS tB
+} {1 1 1 1}
do_execsql_test 21.2 {
SELECT printf('',
EXISTS (WITH RECURSIVE Table0 AS (WITH Table0 AS (SELECT DISTINCT 1)