SQLite

Check-in [734dde765b]
Login

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

Overview
Comment:Fix for bug #7: Correctly display the P3 operand in a VDBE trace when the operand is really a pointer to a structure. (CVS 512)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 734dde765b38d61feaa5520e6481c77022367892
User & Date: drh 2002-04-02 01:44:51.000
Context
2002-04-02
01:58
Fix for bug #6: Correctly handle functions in the WHERE clause of a join. (CVS 513) (check-in: bdd8ce584e user: drh tags: trunk)
01:44
Fix for bug #7: Correctly display the P3 operand in a VDBE trace when the operand is really a pointer to a structure. (CVS 512) (check-in: 734dde765b user: drh tags: trunk)
2002-04-01
12:15
Remove from the index page of the website hyperlinks that are not directly related to SQLite. (CVS 511) (check-in: 0cb5cfa814 user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/vdbe.c.
26
27
28
29
30
31
32
33

34
35
36
37
38
39
40
26
27
28
29
30
31
32

33
34
35
36
37
38
39
40







-
+







** type to the other occurs as necessary.
** 
** Most of the code in this file is taken up by the sqliteVdbeExec()
** function which does the work of interpreting a VDBE program.
** But other routines are also provided to help in building up
** a program instruction by instruction.
**
** $Id: vdbe.c,v 1.135 2002/03/18 13:03:55 drh Exp $
** $Id: vdbe.c,v 1.136 2002/04/02 01:44:51 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>

/*
** The following global variable is incremented every time a cursor
** moves, either by the OP_MoveTo or the OP_Next opcode.  The test
1296
1297
1298
1299
1300
1301
1302








1303
1304

1305
1306
1307
1308
1309
1310
1311
1312
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311

1312

1313
1314
1315
1316
1317
1318
1319







+
+
+
+
+
+
+
+

-
+
-







      break;
    }

    /* Only allow tracing if NDEBUG is not defined.
    */
#ifndef NDEBUG
    if( p->trace ){
      char *zP3;
      char zPtr[40];
      if( pOp->p3type==P3_POINTER ){
        sprintf(zPtr, "ptr(%#x)", (int)pOp->p3);
        zP3 = zPtr;
      }else{
        zP3 = pOp->p3;
      }
      fprintf(p->trace,"%4d %-12s %4d %4d %s\n",
        pc, zOpName[pOp->opcode], pOp->p1, pOp->p2,
        pc, zOpName[pOp->opcode], pOp->p1, pOp->p2, zP3 ? zP3 : "");
           pOp->p3 ? pOp->p3 : "");
      fflush(p->trace);
    }
#endif

    switch( pOp->opcode ){

/*****************************************************************************