/ Check-in [6f8cda26]
Login
Overview
Comment:Add missing VdbeCoverage() macros to the sqlite3_index_writer() implementation.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | ota-update
Files: files | file ages | folders
SHA1:6f8cda26e93f09eadf0b084131a1d4002d94d959
User & Date: drh 2015-01-28 20:37:03
Context
2015-01-30
16:36
Merge all recent trunk changes, and especially the SQLITE_TESTCTRL_INITMODE enhancement. check-in: 36436dde user: drh tags: ota-update
2015-01-28
20:37
Add missing VdbeCoverage() macros to the sqlite3_index_writer() implementation. check-in: 6f8cda26 user: drh tags: ota-update
15:30
When a "full", "restart" or "truncate" checkpoint is attempted, return SQLITE_BUSY if a reader prevents the checkpointer from copying any frames at all into the database file. check-in: f2700040 user: dan tags: ota-update
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/vdbeblob.c.

602
603
604
605
606
607
608

609
610
611
612
613
614
615
616

617
618
619
620
621
622
623
    sqlite3VdbeAddOp2(v, OP_Variable, i, i);
  }
  regRec = ++pParse->nMem;

  /* If this is a rowid table, check that the rowid field is an integer. */
  if( HasRowid(pTab) ){
    sqlite3VdbeAddOp2(v, OP_MustBeInt, pIdx->nColumn, 0);

  }

  if( bDelete==0 ){
    sqlite3VdbeAddOp4(v, OP_MakeRecord, 1, pIdx->nColumn, regRec, zAffinity, 0);

    /* If this is a UNIQUE index, check the constraint. */
    if( pIdx->onError ){
      int addr = sqlite3VdbeAddOp4Int(v, OP_NoConflict, 0, 0, 1, pIdx->nKeyCol);

      sqlite3UniqueConstraint(pParse, SQLITE_ABORT, pIdx);
      sqlite3VdbeJumpHere(v, addr);
    }

    /* Code the IdxInsert to write to the b-tree index. */
    sqlite3VdbeAddOp2(v, OP_IdxInsert, 0, regRec);
  }else{







>








>







602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
    sqlite3VdbeAddOp2(v, OP_Variable, i, i);
  }
  regRec = ++pParse->nMem;

  /* If this is a rowid table, check that the rowid field is an integer. */
  if( HasRowid(pTab) ){
    sqlite3VdbeAddOp2(v, OP_MustBeInt, pIdx->nColumn, 0);
    VdbeCoverageNeverTaken(v);
  }

  if( bDelete==0 ){
    sqlite3VdbeAddOp4(v, OP_MakeRecord, 1, pIdx->nColumn, regRec, zAffinity, 0);

    /* If this is a UNIQUE index, check the constraint. */
    if( pIdx->onError ){
      int addr = sqlite3VdbeAddOp4Int(v, OP_NoConflict, 0, 0, 1, pIdx->nKeyCol);
      VdbeCoverage(v);
      sqlite3UniqueConstraint(pParse, SQLITE_ABORT, pIdx);
      sqlite3VdbeJumpHere(v, addr);
    }

    /* Code the IdxInsert to write to the b-tree index. */
    sqlite3VdbeAddOp2(v, OP_IdxInsert, 0, regRec);
  }else{