1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-18 10:21:03 +03:00

Initial experimental code for generated column support. Non-functional.

FossilOrigin-Name: 11d472c1df707b8d03ec57d8fc582a34f5eb89a9d02a154a9871650c65065b45
This commit is contained in:
drh
2019-10-16 12:18:59 +00:00
parent 4ec3e820a0
commit 81f7b37270
13 changed files with 190 additions and 71 deletions

View File

@@ -2072,7 +2072,7 @@ Bitmask sqlite3WhereCodeOneLoopStart(
if( (pWInfo->wctrlFlags & WHERE_DUPLICATES_OK)==0 ){
int iSet = ((ii==pOrWc->nTerm-1)?-1:ii);
if( HasRowid(pTab) ){
sqlite3ExprCodeGetColumnOfTable(v, pTab, iCur, -1, regRowid);
sqlite3ExprCodeGetColumnOfTable(pParse, pTab, iCur, -1, regRowid);
jmp1 = sqlite3VdbeAddOp4Int(v, OP_RowSetTest, regRowset, 0,
regRowid, iSet);
VdbeCoverage(v);
@@ -2086,7 +2086,7 @@ Bitmask sqlite3WhereCodeOneLoopStart(
r = sqlite3GetTempRange(pParse, nPk);
for(iPk=0; iPk<nPk; iPk++){
int iCol = pPk->aiColumn[iPk];
sqlite3ExprCodeGetColumnOfTable(v, pTab, iCur, iCol, r+iPk);
sqlite3ExprCodeGetColumnOfTable(pParse, pTab, iCur, iCol,r+iPk);
}
/* Check if the temp table already contains this key. If so,