Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Improved matching of COLLATE clauses within the ON CONFLICT conflict-target. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
8f4376e52b6124986937a3837ad83a18 |
User & Date: | drh 2018-04-18 18:18:12.893 |
Context
2018-04-18
| ||
18:19 | Fix a test case inside distinct.test. (check-in: 61cb8a391a user: drh tags: trunk) | |
18:18 | Improved matching of COLLATE clauses within the ON CONFLICT conflict-target. (check-in: 8f4376e52b user: drh tags: trunk) | |
17:56 | Add extra test cases for UPSERT. (check-in: 7ea08d0750 user: dan tags: trunk) | |
Changes
Changes to src/upsert.c.
︙ | ︙ | |||
144 145 146 147 148 149 150 151 152 153 154 155 156 | pIdx->pPartIdxWhere, iCursor)!=0 ){ continue; } } nn = pIdx->nKeyCol; for(ii=0; ii<nn; ii++){ Expr *pExpr; if( pIdx->aiColumn[ii]==XN_EXPR ){ assert( pIdx->aColExpr!=0 ); assert( pIdx->aColExpr->nExpr>ii ); pExpr = pIdx->aColExpr->a[ii].pExpr; }else{ sCol[1].iColumn = pIdx->aiColumn[ii]; | > > > > > > < | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | pIdx->pPartIdxWhere, iCursor)!=0 ){ continue; } } nn = pIdx->nKeyCol; for(ii=0; ii<nn; ii++){ Expr *pExpr; sCol[0].u.zToken = (char*)pIdx->azColl[ii]; if( pIdx->aiColumn[ii]==XN_EXPR ){ assert( pIdx->aColExpr!=0 ); assert( pIdx->aColExpr->nExpr>ii ); pExpr = pIdx->aColExpr->a[ii].pExpr; if( pExpr->op!=TK_COLLATE ){ sCol[0].pLeft = pExpr; pExpr = &sCol[0]; } }else{ sCol[0].pLeft = &sCol[1]; sCol[1].iColumn = pIdx->aiColumn[ii]; pExpr = &sCol[0]; } for(jj=0; jj<nn; jj++){ if( sqlite3ExprCompare(pParse, pTarget->a[jj].pExpr, pExpr,iCursor)<2 ){ break; /* Column ii of the index matches column jj of target */ } } |
︙ | ︙ |