Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false". |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
8168021f9ab5fb8b4888257963c9ec68 |
User & Date: | dan 2019-08-01 10:58:46.890 |
Context
2019-08-01
| ||
15:18 | Add new release tests for windows to releasetest_data.tcl. (check-in: 1b330ec24c user: dan tags: trunk) | |
10:58 | Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false". (check-in: 8168021f9a user: dan tags: trunk) | |
2019-07-31
| ||
21:08 | Update "releasetest_data.tcl" so that it is a standalone script that generates sh or batch scripts to run each tcl test run at release time. Update wapptest.tcl to use it. (check-in: 559c2dd672 user: dan tags: trunk) | |
Changes
Changes to src/resolve.c.
︙ | ︙ | |||
1274 1275 1276 1277 1278 1279 1280 | const char *zType /* "ORDER" or "GROUP" */ ){ int i; sqlite3 *db = pParse->db; ExprList *pEList; struct ExprList_item *pItem; | | | 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 | const char *zType /* "ORDER" or "GROUP" */ ){ int i; sqlite3 *db = pParse->db; ExprList *pEList; struct ExprList_item *pItem; if( pOrderBy==0 || pParse->db->mallocFailed || IN_RENAME_OBJECT ) return 0; if( pOrderBy->nExpr>db->aLimit[SQLITE_LIMIT_COLUMN] ){ sqlite3ErrorMsg(pParse, "too many terms in %s BY clause", zType); return 1; } pEList = pSelect->pEList; assert( pEList!=0 ); /* sqlite3SelectNew() guarantees this */ for(i=0, pItem=pOrderBy->a; i<pOrderBy->nExpr; i++, pItem++){ |
︙ | ︙ |
Changes to test/altertab3.test.
︙ | ︙ | |||
340 341 342 343 344 345 346 347 348 349 | SELECT sum() FILTER (WHERE (SELECT sum() FILTER (WHERE 0)) AND a); END; } do_catchsql_test 14.2 { ALTER TABLE t1 RENAME TO t1x; } {1 {error in trigger AFTER: no such column: a}} finish_test | > > > > > > > > > > > > > > > > > > | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 | SELECT sum() FILTER (WHERE (SELECT sum() FILTER (WHERE 0)) AND a); END; } do_catchsql_test 14.2 { ALTER TABLE t1 RENAME TO t1x; } {1 {error in trigger AFTER: no such column: a}} #------------------------------------------------------------------------- reset_db do_execsql_test 16.1 { CREATE TABLE t1(x); CREATE TRIGGER AFTER INSERT ON t1 BEGIN SELECT (WITH t2 AS (WITH t3 AS (SELECT true) SELECT * FROM t3 ORDER BY true COLLATE nocase) SELECT 11); WITH t4 AS (SELECT * FROM t1) SELECT 33; END; } do_execsql_test 16.2 { ALTER TABLE t1 RENAME TO t1x; } finish_test |