Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a faulty assert() in the SELECT code generator and add a test case to prevent regression. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
1421c8ffba179d6aafa2643012f80a27 |
User & Date: | drh 2015-05-04 16:09:34.295 |
Context
2015-05-04
| ||
19:06 | Add the "dbstat" virtual table as a standard component in the SQLite amalgamation, though turned off unless compiled with SQLITE_ENABLE_DBSTAT_VTAB. (check-in: e752970590 user: drh tags: trunk) | |
17:06 | Include the "dbstat" virtual table in the amalgamation. (check-in: fc6504aa8c user: drh tags: dbstat-in-amalgamation) | |
16:09 | Fix a faulty assert() in the SELECT code generator and add a test case to prevent regression. (check-in: 1421c8ffba user: drh tags: trunk) | |
15:04 | Fix a bug in --changeset output for sqldiff.exe for floating-point values. Also fix harmless compiler warnings in sqldiff.exe. (check-in: 9f428530f9 user: drh tags: trunk) | |
Changes
Changes to src/select.c.
︙ | ︙ | |||
2599 2600 2601 2602 2603 2604 2605 | #ifndef SQLITE_OMIT_SUBQUERY /* If we are creating a set for an "expr IN (SELECT ...)" construct, ** then there should be a single item on the stack. Write this ** item into the set table with bogus data. */ case SRT_Set: { int r1; | | | 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 | #ifndef SQLITE_OMIT_SUBQUERY /* If we are creating a set for an "expr IN (SELECT ...)" construct, ** then there should be a single item on the stack. Write this ** item into the set table with bogus data. */ case SRT_Set: { int r1; assert( pIn->nSdst==1 || pParse->nErr>0 ); pDest->affSdst = sqlite3CompareAffinity(p->pEList->a[0].pExpr, pDest->affSdst); r1 = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp4(v, OP_MakeRecord, pIn->iSdst, 1, r1, &pDest->affSdst,1); sqlite3ExprCacheAffinityChange(pParse, pIn->iSdst, 1); sqlite3VdbeAddOp2(v, OP_IdxInsert, pDest->iSDParm, r1); sqlite3ReleaseTempReg(pParse, r1); |
︙ | ︙ |
Changes to test/select4.test.
︙ | ︙ | |||
269 270 271 272 273 274 275 276 277 278 279 280 281 282 | set v [catch {execsql { SELECT DISTINCT log FROM t1 ORDER BY log INTERSECT SELECT n FROM t1 WHERE log=3 ORDER BY log; }} msg] lappend v $msg } {1 {ORDER BY clause should come after INTERSECT not before}} # Various error messages while processing UNION or INTERSECT # do_test select4-5.1 { set v [catch {execsql { SELECT DISTINCT log FROM t2 | > > > > > > > > > > | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | set v [catch {execsql { SELECT DISTINCT log FROM t1 ORDER BY log INTERSECT SELECT n FROM t1 WHERE log=3 ORDER BY log; }} msg] lappend v $msg } {1 {ORDER BY clause should come after INTERSECT not before}} do_catchsql_test select4-4.4 { SELECT 3 IN ( SELECT 0 ORDER BY 1 INTERSECT SELECT 1 INTERSECT SELECT 2 ORDER BY 1 ); } {1 {ORDER BY clause should come after INTERSECT not before}} # Various error messages while processing UNION or INTERSECT # do_test select4-5.1 { set v [catch {execsql { SELECT DISTINCT log FROM t2 |
︙ | ︙ |