Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Tweaks to the generated VDBE code to make it a little easier to follow. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
129217ee91782ec77ff82661753ae5be |
User & Date: | drh 2014-02-08 13:12:19.189 |
Context
2014-02-08
| ||
13:24 | Fix a harmless compiler warning in VS2013. (check-in: 83116ee3e0 user: drh tags: trunk) | |
13:12 | Tweaks to the generated VDBE code to make it a little easier to follow. (check-in: 129217ee91 user: drh tags: trunk) | |
04:24 | Enable constant expression factoring even if no tables are read and no transaction is started. (check-in: a45b87713c user: drh tags: trunk) | |
Changes
Changes to src/select.c.
︙ | |||
4533 4534 4535 4536 4537 4538 4539 | 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 | - + - - + + + - | i = -1; }else if( pTabList->nSrc==1 && OptimizationEnabled(db, SQLITE_SubqCoroutine) ){ /* Implement a co-routine that will return a single row of the result ** set on each invocation. */ |
︙ | |||
4563 4564 4565 4566 4567 4568 4569 | 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 | - + + + | int topAddr; int onceAddr = 0; int retAddr; assert( pItem->addrFillSub==0 ); pItem->regReturn = ++pParse->nMem; topAddr = sqlite3VdbeAddOp2(v, OP_Integer, 0, pItem->regReturn); pItem->addrFillSub = topAddr+1; |
︙ |
Changes to src/where.c.
︙ | |||
2783 2784 2785 2786 2787 2788 2789 | 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 | - + | } /* Special case of a FROM clause subquery implemented as a co-routine */ if( pTabItem->viaCoroutine ){ int regYield = pTabItem->regReturn; sqlite3VdbeAddOp3(v, OP_InitCoroutine, regYield, 0, pTabItem->addrFillSub); pLevel->p2 = sqlite3VdbeAddOp2(v, OP_Yield, regYield, addrBrk); |
︙ |