Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix bug in transfer of arguments from WHERE clause to virtual table xFilter() methods. (CVS 3305) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
cf41f2a33f94c6c94fb39ae6ffcd58bb |
User & Date: | danielk1977 2006-06-27 12:16:56.000 |
Context
2006-06-27
| ||
12:24 | Additional documentation on the 3.3.0 file format change added to formatchng.html. (CVS 3306) (check-in: 955551ca2e user: drh tags: trunk) | |
12:16 | Fix bug in transfer of arguments from WHERE clause to virtual table xFilter() methods. (CVS 3305) (check-in: cf41f2a33f user: danielk1977 tags: trunk) | |
11:14 | Move older news items to the oldnews.html page. (CVS 3304) (check-in: 80163ded7d user: drh tags: trunk) | |
Changes
Changes to src/where.c.
︙ | ︙ | |||
12 13 14 15 16 17 18 | ** This module contains C code that generates VDBE code used to process ** the WHERE clause of SQL statements. This module is reponsible for ** generating the code that loops through a table looking for applicable ** rows. Indices are selected and used to speed the search when doing ** so is applicable. Because this module is responsible for selecting ** indices, you might also think of this module as the "query optimizer". ** | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ** This module contains C code that generates VDBE code used to process ** the WHERE clause of SQL statements. This module is reponsible for ** generating the code that loops through a table looking for applicable ** rows. Indices are selected and used to speed the search when doing ** so is applicable. Because this module is responsible for selecting ** indices, you might also think of this module as the "query optimizer". ** ** $Id: where.c,v 1.227 2006/06/27 12:16:56 danielk1977 Exp $ */ #include "sqliteInt.h" /* ** The number of bits in a Bitmask. "BMS" means "BitMask Size". */ #define BMS (sizeof(Bitmask)*8) |
︙ | ︙ | |||
2041 2042 2043 2044 2045 2046 2047 | const struct sqlite3_index_constraint *aConstraint = pBestIdx->aConstraint; for(j=1; j<=nConstraint; j++){ int k; for(k=0; k<nConstraint; k++){ if( aUsage[k].argvIndex==j ){ | | | 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 | const struct sqlite3_index_constraint *aConstraint = pBestIdx->aConstraint; for(j=1; j<=nConstraint; j++){ int k; for(k=0; k<nConstraint; k++){ if( aUsage[k].argvIndex==j ){ int iTerm = aConstraint[k].iTermOffset; sqlite3ExprCode(pParse, wc.a[iTerm].pExpr->pRight); break; } } if( k==nConstraint ) break; } sqlite3VdbeAddOp(v, OP_Integer, j-1, 0); |
︙ | ︙ |