mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-05 15:55:57 +03:00
Remove a NEVER() that is no longer true. Fix for [36ffedcb9].
FossilOrigin-Name: 597896ed0ae9e2960a8f39576bd7f77a11dccc1da84b6a44ebb5c38d90ebc330
This commit is contained in:
14
manifest
14
manifest
@@ -1,5 +1,5 @@
|
|||||||
C Fix\sa\sproblem\sinvolving\swindow\sfunction\saliases\sbeing\sreferenced\sfrom\ssub-selects.
|
C Remove\sa\sNEVER()\sthat\sis\sno\slonger\strue.\sFix\sfor\s[36ffedcb9].
|
||||||
D 2019-12-27T19:46:07.834
|
D 2019-12-27T20:06:32.777
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||||
@@ -480,7 +480,7 @@ F src/date.c e1d8ac7102f3f283e63e13867acb0efa33861cf34f0faf4cdbaf9fa7a1eb7041
|
|||||||
F src/dbpage.c 135eb3b5e74f9ef74bde5cec2571192c90c86984fa534c88bf4a055076fa19b7
|
F src/dbpage.c 135eb3b5e74f9ef74bde5cec2571192c90c86984fa534c88bf4a055076fa19b7
|
||||||
F src/dbstat.c 6c407e549406c10fde9ac3987f6d734459205239ad370369bc5fcd683084a4fa
|
F src/dbstat.c 6c407e549406c10fde9ac3987f6d734459205239ad370369bc5fcd683084a4fa
|
||||||
F src/delete.c a5c59b9c0251cf7682bc52af0d64f09b1aefc6781a63592c8f1136f7b73c66e4
|
F src/delete.c a5c59b9c0251cf7682bc52af0d64f09b1aefc6781a63592c8f1136f7b73c66e4
|
||||||
F src/expr.c a01bfcf51be41214319d30abfcdc2a1b4fd0291b5e2a4deeb1f509cc06d59c2c
|
F src/expr.c 188a8c039c95a0b4adb6c9dcde7252810c90e5145333634b924cbe348b187df8
|
||||||
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
|
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
|
||||||
F src/fkey.c 92a248ec0fa4ed8ab60c98d9b188ce173aaf218f32e7737ba77deb2a684f9847
|
F src/fkey.c 92a248ec0fa4ed8ab60c98d9b188ce173aaf218f32e7737ba77deb2a684f9847
|
||||||
F src/func.c ed33e38cd642058182a31a3f518f2e34f4bbe53aa483335705c153c4d3e50b12
|
F src/func.c ed33e38cd642058182a31a3f518f2e34f4bbe53aa483335705c153c4d3e50b12
|
||||||
@@ -1714,7 +1714,7 @@ F test/win32heap.test 10fd891266bd00af68671e702317726375e5407561d859be1aa04696f2
|
|||||||
F test/win32lock.test fbf107c91d8f5512be5a5b87c4c42ab9fdd54972
|
F test/win32lock.test fbf107c91d8f5512be5a5b87c4c42ab9fdd54972
|
||||||
F test/win32longpath.test 169c75a3b2e43481f4a62122510210c67b08f26d
|
F test/win32longpath.test 169c75a3b2e43481f4a62122510210c67b08f26d
|
||||||
F test/win32nolock.test ac4f08811a562e45a5755e661f45ca85892bdbbc
|
F test/win32nolock.test ac4f08811a562e45a5755e661f45ca85892bdbbc
|
||||||
F test/window1.test 9b17982e6ffe57604946d3ec4b432a47b6449feb004fa3ae6facc151fc65184b
|
F test/window1.test caf402a9726a7cbc84106c3d3ba833bbff5ae00223d61c02936bf63049564318
|
||||||
F test/window2.tcl 492c125fa550cda1dd3555768a2303b3effbeceee215293adf8871efc25f1476
|
F test/window2.tcl 492c125fa550cda1dd3555768a2303b3effbeceee215293adf8871efc25f1476
|
||||||
F test/window2.test e466a88bd626d66edc3d352d7d7e1d5531e0079b549ba44efb029d1fbff9fd3c
|
F test/window2.test e466a88bd626d66edc3d352d7d7e1d5531e0079b549ba44efb029d1fbff9fd3c
|
||||||
F test/window3.tcl acea6e86a4324a210fd608d06741010ca83ded9fde438341cb978c49928faf03
|
F test/window3.tcl acea6e86a4324a210fd608d06741010ca83ded9fde438341cb978c49928faf03
|
||||||
@@ -1853,7 +1853,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 4e6fbb1a5100fe29209bcf668fbecf3a733034b84925265d8a15b0a84baf6cf0
|
P e3b5fc05c00fc58be7a7c94ce1d97a5b05113f39aba03df64aab08364f85616b
|
||||||
R d631658c66cc50630f2377c6822b52c7
|
R a966e346a033c0ab1a88c0d109a734aa
|
||||||
U dan
|
U dan
|
||||||
Z 7e0f8d6ba4dc51c9e12eed15e2098a4a
|
Z ba0d31a3cdb9b737f0aa85ce7fe964a5
|
||||||
|
@@ -1 +1 @@
|
|||||||
e3b5fc05c00fc58be7a7c94ce1d97a5b05113f39aba03df64aab08364f85616b
|
597896ed0ae9e2960a8f39576bd7f77a11dccc1da84b6a44ebb5c38d90ebc330
|
13
src/expr.c
13
src/expr.c
@@ -5449,12 +5449,13 @@ struct SrcCount {
|
|||||||
** Count the number of references to columns.
|
** Count the number of references to columns.
|
||||||
*/
|
*/
|
||||||
static int exprSrcCount(Walker *pWalker, Expr *pExpr){
|
static int exprSrcCount(Walker *pWalker, Expr *pExpr){
|
||||||
/* The NEVER() on the second term is because sqlite3FunctionUsesThisSrc()
|
/* There was once a NEVER() on the second term on the grounds that
|
||||||
** is always called before sqlite3ExprAnalyzeAggregates() and so the
|
** sqlite3FunctionUsesThisSrc() was always called before
|
||||||
** TK_COLUMNs have not yet been converted into TK_AGG_COLUMN. If
|
** sqlite3ExprAnalyzeAggregates() and so the TK_COLUMNs have not yet
|
||||||
** sqlite3FunctionUsesThisSrc() is used differently in the future, the
|
** been converted into TK_AGG_COLUMN. But this is no longer true due
|
||||||
** NEVER() will need to be removed. */
|
** to window functions - sqlite3WindowRewrite() may now indirectly call
|
||||||
if( pExpr->op==TK_COLUMN || NEVER(pExpr->op==TK_AGG_COLUMN) ){
|
** FunctionUsesThisSrc() when creating a new sub-select. */
|
||||||
|
if( pExpr->op==TK_COLUMN || pExpr->op==TK_AGG_COLUMN ){
|
||||||
int i;
|
int i;
|
||||||
struct SrcCount *p = pWalker->u.pSrcCount;
|
struct SrcCount *p = pWalker->u.pSrcCount;
|
||||||
SrcList *pSrc = p->pSrc;
|
SrcList *pSrc = p->pSrc;
|
||||||
|
@@ -1491,4 +1491,29 @@ do_catchsql_test 43.2.6 {
|
|||||||
SELECT a, 1+sum(b) OVER (ORDER BY a) AS abc FROM t1 ORDER BY (SELECT abc)
|
SELECT a, 1+sum(b) OVER (ORDER BY a) AS abc FROM t1 ORDER BY (SELECT abc)
|
||||||
} {1 {misuse of aliased window function abc}}
|
} {1 {misuse of aliased window function abc}}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
reset_db
|
||||||
|
do_execsql_test 44.1 {
|
||||||
|
CREATE TABLE t0(c0);
|
||||||
|
}
|
||||||
|
|
||||||
|
do_catchsql_test 44.2.1 {
|
||||||
|
SELECT ntile(0) OVER ();
|
||||||
|
} {1 {argument of ntile must be a positive integer}}
|
||||||
|
do_catchsql_test 44.2.2 {
|
||||||
|
SELECT (0, 0) IN(SELECT MIN(c0), NTILE(0) OVER()) FROM t0;
|
||||||
|
} {1 {argument of ntile must be a positive integer}}
|
||||||
|
|
||||||
|
do_execsql_test 44.3.1 {
|
||||||
|
SELECT ntile(1) OVER ();
|
||||||
|
} {1}
|
||||||
|
do_execsql_test 44.3.2 {
|
||||||
|
SELECT (0, 0) IN(SELECT MIN(c0), NTILE(1) OVER()) FROM t0;
|
||||||
|
} {0}
|
||||||
|
|
||||||
|
do_execsql_test 44.4.2 {
|
||||||
|
INSERT INTO t0 VALUES(2), (1), (0);
|
||||||
|
SELECT (0, 1) IN(SELECT MIN(c0), NTILE(1) OVER()) FROM t0;
|
||||||
|
} {1}
|
||||||
|
|
||||||
finish_test
|
finish_test
|
||||||
|
Reference in New Issue
Block a user