Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Formatting change on a multi-line conditional, for improved clarity. No logic changes. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
7248e3476511ecd317f54edcfe1e8744 |
User & Date: | drh 2019-10-15 19:01:55.901 |
Context
2019-10-16
| ||
14:56 | If an AFTER DELETE trigger fires when a conflict row is deleted by REPLACE conflict resolution, make sure the conflict really has been resolved and that the trigger did not recreate the row before continuing. Ticket [a8a4847a2d96f5de] (check-in: eea1e7aa57 user: drh tags: trunk) | |
12:18 | Initial experimental code for generated column support. Non-functional. (check-in: 11d472c1df user: drh tags: generated-columns) | |
2019-10-15
| ||
19:01 | Formatting change on a multi-line conditional, for improved clarity. No logic changes. (check-in: 7248e34765 user: drh tags: trunk) | |
2019-10-14
| ||
20:32 | Futher improvements to the IN operator for row-values on virtual tables. (check-in: bc751fb64d user: drh tags: trunk) | |
Changes
Changes to src/wherecode.c.
︙ | ︙ | |||
1304 1305 1306 1307 1308 1309 1310 | pLevel->p2 = sqlite3VdbeCurrentAddr(v); iIn = pLevel->u.in.nIn; for(j=nConstraint-1; j>=0; j--){ pTerm = pLoop->aLTerm[j]; if( (pTerm->eOperator & WO_IN)!=0 ) iIn--; if( j<16 && (pLoop->u.vtab.omitMask>>j)&1 ){ disableTerm(pLevel, pTerm); | | | | 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 | pLevel->p2 = sqlite3VdbeCurrentAddr(v); iIn = pLevel->u.in.nIn; for(j=nConstraint-1; j>=0; j--){ pTerm = pLoop->aLTerm[j]; if( (pTerm->eOperator & WO_IN)!=0 ) iIn--; if( j<16 && (pLoop->u.vtab.omitMask>>j)&1 ){ disableTerm(pLevel, pTerm); }else if( (pTerm->eOperator & WO_IN)!=0 && sqlite3ExprVectorSize(pTerm->pExpr->pLeft)==1 ){ Expr *pCompare; /* The comparison operator */ Expr *pRight; /* RHS of the comparison */ VdbeOp *pOp; /* Opcode to access the value of the IN constraint */ /* Reload the constraint value into reg[iReg+j+2]. The same value ** was loaded into the same register prior to the OP_VFilter, but |
︙ | ︙ |