1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Bug fixes and additional tests for the subquery flattener. (CVS 411)

FossilOrigin-Name: 2c05389eda391e38894fc6969e29766df82a8fec
This commit is contained in:
drh
2002-03-03 02:49:51 +00:00
parent 30e58750c1
commit 1b2e032999
9 changed files with 251 additions and 96 deletions

View File

@@ -30,7 +30,7 @@
** But other routines are also provided to help in building up
** a program instruction by instruction.
**
** $Id: vdbe.c,v 1.129 2002/02/28 03:31:11 drh Exp $
** $Id: vdbe.c,v 1.130 2002/03/03 02:49:51 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -1096,6 +1096,7 @@ int sqliteVdbeList(
char zAddr[20];
char zP1[20];
char zP2[20];
char zP3[40];
static char *azColumnNames[] = {
"addr", "opcode", "p1", "p2", "p3", 0
};
@@ -1116,7 +1117,12 @@ int sqliteVdbeList(
sprintf(zAddr,"%d",i);
sprintf(zP1,"%d", p->aOp[i].p1);
sprintf(zP2,"%d", p->aOp[i].p2);
azValue[4] = p->aOp[i].p3type!=P3_POINTER ? p->aOp[i].p3 : "";
if( p->aOp[i].p3type==P3_POINTER ){
sprintf(zP3, "ptr(%#x)", (int)p->aOp[i].p3);
azValue[4] = zP3;
}else{
azValue[4] = p->aOp[i].p3;
}
azValue[1] = zOpName[p->aOp[i].opcode];
if( xCallback(pArg, 5, azValue, azColumnNames) ){
rc = SQLITE_ABORT;