/ Check-in [5cea7554]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

Overview
Comment:Rollback if a commit hook fails. (CVS 912)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5cea7554ae9d36434cd7261b5b40f3d467b836f1
User & Date: drh 2003-04-16 21:03:14
Context
2003-04-17
02:54
Change the shell to use the sqliteIsNumber() routine for determining if values are numeric. Modified os.c so that it should now work with DJGPP - though I have no way of testing this. (CVS 913) check-in: 35caefe3 user: drh tags: trunk
2003-04-16
21:03
Rollback if a commit hook fails. (CVS 912) check-in: 5cea7554 user: drh tags: trunk
20:24
Fix the authorizer so that it correctly interprets attempts to read the OLD and NEW pseudo-tables of a trigger. (CVS 911) check-in: f04bd432 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/vdbe.c.

    32     32   **
    33     33   ** Various scripts scan this source file in order to generate HTML
    34     34   ** documentation, headers files, or other derived files.  The formatting
    35     35   ** of the code in this file is, therefore, important.  See other comments
    36     36   ** in this file for details.  If in doubt, do not deviate from existing
    37     37   ** commenting and indentation practices when changing or adding code.
    38     38   **
    39         -** $Id: vdbe.c,v 1.216 2003/04/16 02:17:36 drh Exp $
           39  +** $Id: vdbe.c,v 1.217 2003/04/16 21:03:14 drh Exp $
    40     40   */
    41     41   #include "sqliteInt.h"
    42     42   #include <ctype.h>
    43     43   
    44     44   /*
    45     45   ** The makefile scans this source file and creates the following
    46     46   ** array of string constants which are the names of all VDBE opcodes.
................................................................................
  3246   3246     int i;
  3247   3247     if( db->xCommitCallback!=0 ){
  3248   3248       if( sqliteSafetyOff(db) ) goto abort_due_to_misuse; 
  3249   3249       if( db->xCommitCallback(db->pCommitArg)!=0 ){
  3250   3250         rc = SQLITE_CONSTRAINT;
  3251   3251       }
  3252   3252       if( sqliteSafetyOn(db) ) goto abort_due_to_misuse;
  3253         -    if( rc ) break;
  3254   3253     }
  3255         -  assert( rc==SQLITE_OK );
  3256   3254     for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
  3257   3255       if( db->aDb[i].inTrans ){
  3258   3256         rc = sqliteBtreeCommit(db->aDb[i].pBt);
  3259   3257         db->aDb[i].inTrans = 0;
  3260   3258       }
  3261   3259     }
  3262   3260     if( rc==SQLITE_OK ){