Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove a NEVER() that is no longer true. Fix for [36ffedcb9]. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
597896ed0ae9e2960a8f39576bd7f77a |
User & Date: | dan 2019-12-27 20:06:32 |
Context
2019-12-28
| ||
00:36 | Recompute the values for all generated columns after NOT NULL ON CONFLICT REPLACE constraints fire. Tickets [37823501c68a09f9] and [5fbc159eeb092130]. (check-in: 4cc12c18 user: drh tags: trunk) | |
2019-12-27
| ||
20:54 | Do not attempt to unwind the WITH stack in the Parse object following an error. This fixes a separate case to [de6e6d68], but also causes an assertion fault at select.c:4666 for test case altertab3-22.4. (check-in: d29edef9 user: dan tags: better-error-handling-1) | |
20:06 | Remove a NEVER() that is no longer true. Fix for [36ffedcb9]. (check-in: 597896ed user: dan tags: trunk) | |
19:46 | Fix a problem involving window function aliases being referenced from sub-selects. (check-in: e3b5fc05 user: dan tags: trunk) | |
Changes
Changes to src/expr.c.
︙ | ︙ | |||
5445 5446 5447 5448 5449 5450 5451 | int nOther; /* Number of references to columns in other FROM clauses */ }; /* ** Count the number of references to columns. */ static int exprSrcCount(Walker *pWalker, Expr *pExpr){ | > | | | > | < | | 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 | int nOther; /* Number of references to columns in other FROM clauses */ }; /* ** Count the number of references to columns. */ static int exprSrcCount(Walker *pWalker, Expr *pExpr){ /* There was once a NEVER() on the second term on the grounds that ** sqlite3FunctionUsesThisSrc() was always called before ** sqlite3ExprAnalyzeAggregates() and so the TK_COLUMNs have not yet ** been converted into TK_AGG_COLUMN. But this is no longer true due ** to window functions - sqlite3WindowRewrite() may now indirectly call ** FunctionUsesThisSrc() when creating a new sub-select. */ if( pExpr->op==TK_COLUMN || pExpr->op==TK_AGG_COLUMN ){ int i; struct SrcCount *p = pWalker->u.pSrcCount; SrcList *pSrc = p->pSrc; int nSrc = pSrc ? pSrc->nSrc : 0; for(i=0; i<nSrc; i++){ if( pExpr->iTable==pSrc->a[i].iCursor ) break; } |
︙ | ︙ |
Changes to test/window1.test.
︙ | ︙ | |||
1486 1487 1488 1489 1490 1491 1492 1493 1494 | do_catchsql_test 43.2.5 { SELECT a, sum(b) OVER (ORDER BY a) AS abc FROM t1 ORDER BY (SELECT abc) } {1 {misuse of aliased window function abc}} do_catchsql_test 43.2.6 { SELECT a, 1+sum(b) OVER (ORDER BY a) AS abc FROM t1 ORDER BY (SELECT abc) } {1 {misuse of aliased window function abc}} finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > | 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 | do_catchsql_test 43.2.5 { SELECT a, sum(b) OVER (ORDER BY a) AS abc FROM t1 ORDER BY (SELECT abc) } {1 {misuse of aliased window function abc}} do_catchsql_test 43.2.6 { SELECT a, 1+sum(b) OVER (ORDER BY a) AS abc FROM t1 ORDER BY (SELECT 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 |