/ Changes On Branch begin-concurrent-pnu-tempfix
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch begin-concurrent-pnu-tempfix Excluding Merge-Ins

This is equivalent to a diff from 257900494f to 4df5ea935e

2018-04-24
19:22
Update this branch with latest changes from trunk. (check-in: 2d8d13e4a1 user: dan tags: begin-concurrent-pnu)
2018-04-23
19:30
Disable the OR optimization based on expressions in the ON clause of a LEFT JOIN. This is a temporary measure until we can devise a better fix. (Closed-Leaf check-in: 4df5ea935e user: drh tags: begin-concurrent-pnu-tempfix)
2018-03-20
14:00
Merge all recent trunk enchancements, and especially the autoincrement write reduction fix. (check-in: 257900494f user: drh tags: begin-concurrent-pnu)
13:54
Remove debugging puts from concurrrent3.test. (check-in: 13b4975681 user: drh tags: begin-concurrent)
2018-03-02
18:26
Merge latest changes from begin-concurrent into this branch. (check-in: 8ade94ba67 user: dan tags: begin-concurrent-pnu)

Changes to src/where.c.

3349
3350
3351
3352
3353
3354
3355

3356
3357
3358
3359
3360
3361
3362
  memset(&sSum, 0, sizeof(sSum));
  pItem = pWInfo->pTabList->a + pNew->iTab;
  iCur = pItem->iCursor;

  for(pTerm=pWC->a; pTerm<pWCEnd && rc==SQLITE_OK; pTerm++){
    if( (pTerm->eOperator & WO_OR)!=0
     && (pTerm->u.pOrInfo->indexable & pNew->maskSelf)!=0 

    ){
      WhereClause * const pOrWC = &pTerm->u.pOrInfo->wc;
      WhereTerm * const pOrWCEnd = &pOrWC->a[pOrWC->nTerm];
      WhereTerm *pOrTerm;
      int once = 1;
      int i, j;
    







>







3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
  memset(&sSum, 0, sizeof(sSum));
  pItem = pWInfo->pTabList->a + pNew->iTab;
  iCur = pItem->iCursor;

  for(pTerm=pWC->a; pTerm<pWCEnd && rc==SQLITE_OK; pTerm++){
    if( (pTerm->eOperator & WO_OR)!=0
     && (pTerm->u.pOrInfo->indexable & pNew->maskSelf)!=0 
     && !ExprHasProperty(pTerm->pExpr, EP_FromJoin)
    ){
      WhereClause * const pOrWC = &pTerm->u.pOrInfo->wc;
      WhereTerm * const pOrWCEnd = &pOrWC->a[pOrWC->nTerm];
      WhereTerm *pOrTerm;
      int once = 1;
      int i, j;