Overview
| Comment: | Correct a mistake in the OBJECTS virtual table causing it to sometimes miss one object |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
ea3817b085ddd226bf1ef1e7d7343fec |
| User & Date: | user on 2021-03-06 04:52:09.646 |
| Other Links: | manifest | tags |
Context
|
2021-03-06
| ||
| 05:22 | Add the global examine command check-in: c1b51c9521 user: user tags: trunk | |
| 04:52 | Correct a mistake in the OBJECTS virtual table causing it to sometimes miss one object check-in: ea3817b085 user: user tags: trunk | |
|
2021-03-05
| ||
| 06:57 | When you toggle solution replay, ensure that the user replay is saved (if any) check-in: 3c53032e2c user: user tags: trunk | |
Changes
Modified function.c
from [a27d6bc1ae]
to [8935f5b923].
| ︙ | |||
364 365 366 367 368 369 370 371 372 373 374 375 376 377 | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | + + |
int i;
if(info->nOrderBy==1 && (info->aOrderBy->iColumn==-1 || !info->aOrderBy->iColumn) && !info->aOrderBy->desc) info->orderByConsumed=1;
for(i=0;i<info->nConstraint;i++) {
if((info->aConstraint[i].iColumn==-1 || !info->aConstraint[i].iColumn) && info->aConstraint[i].op==SQLITE_INDEX_CONSTRAINT_EQ && info->aConstraint[i].usable) {
info->aConstraintUsage[i].argvIndex=1;
info->aConstraintUsage[i].omit=1;
info->idxFlags=SQLITE_INDEX_SCAN_UNIQUE;
info->estimatedCost=1.0;
info->estimatedRows=1;
break;
}
}
return SQLITE_OK;
}
static int vt0_open(sqlite3_vtab*vt,sqlite3_vtab_cursor**cur) {
|
| ︙ | |||
634 635 636 637 638 639 640 | 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 | - + |
cur->eof=1;
break;
}
if(objects[cur->rowid]) break;
}
}
cur->arg[1]=1;
|
| ︙ | |||
781 782 783 784 785 786 787 | 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 | - + |
info->aConstraintUsage[i].omit=1;
info->aConstraintUsage[i].argvIndex=++arg;
info->idxFlags=SQLITE_INDEX_SCAN_UNIQUE;
sqlite3_str_appendchar(str,1,'a');
info->estimatedCost/=10000.0;
} else if(j==SQLITE_INDEX_CONSTRAINT_GT || j==SQLITE_INDEX_CONSTRAINT_GE) {
info->idxNum|=0x0008;
|
| ︙ |