SQLite

Check-in [e3350dbd9f]
Login

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

Overview
Comment:Make sure the P5 argument to the OP_VUpdate opcode is always set to a valid conflict resolution code.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: e3350dbd9f472c27ea6bc872d85098ac89d874c7
User & Date: drh 2011-05-30 14:35:48.783
Context
2011-05-30
15:06
Update evidence marks on the URI filename tests to conform to the latest documentation. (check-in: 1bab03c481 user: drh tags: trunk)
14:35
Make sure the P5 argument to the OP_VUpdate opcode is always set to a valid conflict resolution code. (check-in: e3350dbd9f user: drh tags: trunk)
2011-05-28
19:24
Fix a "#ifdef" from check-in [03f7d36a8a] that should have been "#ifndef". (check-in: edb865c354 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/delete.c.
397
398
399
400
401
402
403

404
405
406
407
408
409
410

    /* Delete the row */
#ifndef SQLITE_OMIT_VIRTUALTABLE
    if( IsVirtual(pTab) ){
      const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
      sqlite3VtabMakeWritable(pParse, pTab);
      sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iRowid, pVTab, P4_VTAB);

      sqlite3MayAbort(pParse);
    }else
#endif
    {
      int count = (pParse->nested==0);    /* True to count changes */
      sqlite3GenerateRowDelete(pParse, pTab, iCur, iRowid, count, pTrigger, OE_Default);
    }







>







397
398
399
400
401
402
403
404
405
406
407
408
409
410
411

    /* Delete the row */
#ifndef SQLITE_OMIT_VIRTUALTABLE
    if( IsVirtual(pTab) ){
      const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
      sqlite3VtabMakeWritable(pParse, pTab);
      sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iRowid, pVTab, P4_VTAB);
      sqlite3VdbeChangeP5(v, OE_Abort);
      sqlite3MayAbort(pParse);
    }else
#endif
    {
      int count = (pParse->nested==0);    /* True to count changes */
      sqlite3GenerateRowDelete(pParse, pTab, iCur, iRowid, count, pTrigger, OE_Default);
    }