Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Revise the VDBE comments for NULL-scan so that they also work make sense when reading a NULLS FIRST plan. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | nulls-last |
Files: | files | file ages | folders |
SHA3-256: |
bfe793780fa6fc7a1e7d0ee60606dda2 |
User & Date: | drh 2019-08-23 17:09:02.374 |
Context
2019-08-23
| ||
20:33 | Move some things in parse.y so that TK_COLUMN and TK_AGG_COLUMN are assigned the same values as they are on trunk for a very small speedup. (check-in: d26fdfa3bc user: dan tags: nulls-last) | |
17:09 | Revise the VDBE comments for NULL-scan so that they also work make sense when reading a NULLS FIRST plan. (check-in: bfe793780f user: drh tags: nulls-last) | |
17:00 | Additional simplifications of the WHERE loop code generator logic for NULLS LAST. (check-in: 1383680d92 user: drh tags: nulls-last) | |
Changes
Changes to src/wherecode.c.
︙ | |||
1687 1688 1689 1690 1691 1692 1693 | 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 | - + | ** so no further seeking is needed */ }else{ if( pLoop->wsFlags & WHERE_IN_EARLYOUT ){ sqlite3VdbeAddOp1(v, OP_SeekHit, iIdxCur); } if( regBignull ){ sqlite3VdbeAddOp2(v, OP_Integer, 1, regBignull); |
︙ | |||
1765 1766 1767 1768 1769 1770 1771 | 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 | - + - + | pLevel->p2 = sqlite3VdbeCurrentAddr(v); /* Check if the index cursor is past the end of the range. */ if( nConstraint ){ if( regBignull ){ /* Except, skip the end-of-range check while doing the NULL-scan */ sqlite3VdbeAddOp2(v, OP_IfNot, regBignull, sqlite3VdbeCurrentAddr(v)+3); |
︙ |