The use P4_DYNAMIC in place of the P4_MPRINTF operand type.
FossilOrigin-Name: 3954f83798ed78527280c9db6360c62a5134b9ec
This commit is contained in:
parent
bdaa1ee2ee
commit
861b1307cb
16
manifest
16
manifest
@ -1,5 +1,5 @@
|
||||
C Performance\soptimization\sfor\ssqlite3VdbeAddOp4().
|
||||
D 2016-12-07T20:09:51.583
|
||||
C The\suse\sP4_DYNAMIC\sin\splace\sof\sthe\sP4_MPRINTF\soperand\stype.
|
||||
D 2016-12-07T20:22:31.737
|
||||
F Makefile.in 7639c6a09da11a9c7c6f2630fc981ee588d1072d
|
||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||
F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
|
||||
@ -456,10 +456,10 @@ F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
|
||||
F src/util.c e68e8ced7328f22d2cf7b4c898c394a0de34cdf1
|
||||
F src/vacuum.c 33c174b28886b2faf26e503b5a49a1c01a9b1c16
|
||||
F src/vdbe.c 3986f226945b14b98eb26bd589de3705223c95ad
|
||||
F src/vdbe.h c044be7050ac6bf596eecc6ab159f5dbc020a3b7
|
||||
F src/vdbe.h 1987921713ee2b948a79f0af192024065db095fb
|
||||
F src/vdbeInt.h 9b498d3cb52dc2efb53571fb8ae8e14cf298ce84
|
||||
F src/vdbeapi.c ea4e2dc2213cc6bd7bee375a29a9b51c31b93ae0
|
||||
F src/vdbeaux.c 3afb187a9239e49d999a0f077f7c138a2799d074
|
||||
F src/vdbeaux.c 8378658e15a82b20fa49718f9204d1286b4fbc26
|
||||
F src/vdbeblob.c f4f98ea672b242f807c08c92c7faaa79e5091b65
|
||||
F src/vdbemem.c 1af2f14ab0f7004b364933ddcfc767fb880d4742
|
||||
F src/vdbesort.c 91fda3909326860382b0ca8aa251e609c6a9d62c
|
||||
@ -471,7 +471,7 @@ F src/wal.h 06b2a0b599cc0f53ea97f497cf8c6b758c999f71
|
||||
F src/walker.c 91a6df7435827e41cff6bb7df50ea00934ee78b0
|
||||
F src/where.c 6bbf9284f4f15a6fa48663d033870cc0d7f5ee66
|
||||
F src/whereInt.h 2bcc3d176e6091cb8f50a30b65c006e88a73614d
|
||||
F src/wherecode.c 9a3b1034191c9ea8ac14a5405564402f8b1114b2
|
||||
F src/wherecode.c e04ac8f24c3ac8621df6c3be3ac8c7d4fa893745
|
||||
F src/whereexpr.c 87ecdf24beba4498e4380b31c4131febb0a6ceaa
|
||||
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
|
||||
F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
|
||||
@ -1536,7 +1536,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P 24574a15a336ffcb961334f84b56e9ab98490a79
|
||||
R fe9a80abf2b1a7e9a5d7d152eff8a8fe
|
||||
P 04716c907bf9fc9b827e18fdc7b4e1069e201536
|
||||
R 5a971bdba4dcd12ecdc94b0ffc7d235f
|
||||
U drh
|
||||
Z 7f586b627685f0d65f8b0e7af7753ff2
|
||||
Z 9cd8827513cba2f6d012918afdfa6fc2
|
||||
|
@ -1 +1 @@
|
||||
04716c907bf9fc9b827e18fdc7b4e1069e201536
|
||||
3954f83798ed78527280c9db6360c62a5134b9ec
|
29
src/vdbe.h
29
src/vdbe.h
@ -110,22 +110,21 @@ typedef struct VdbeOpList VdbeOpList;
|
||||
#define P4_NOTUSED 0 /* The P4 parameter is not used */
|
||||
#define P4_DYNAMIC (-1) /* Pointer to a string obtained from sqliteMalloc() */
|
||||
#define P4_STATIC (-2) /* Pointer to a static string */
|
||||
#define P4_COLLSEQ (-4) /* P4 is a pointer to a CollSeq structure */
|
||||
#define P4_FUNCDEF (-5) /* P4 is a pointer to a FuncDef structure */
|
||||
#define P4_KEYINFO (-6) /* P4 is a pointer to a KeyInfo structure */
|
||||
#define P4_EXPR (-7) /* P4 is a pointer to an Expr tree */
|
||||
#define P4_MEM (-8) /* P4 is a pointer to a Mem* structure */
|
||||
#define P4_COLLSEQ (-3) /* P4 is a pointer to a CollSeq structure */
|
||||
#define P4_FUNCDEF (-4) /* P4 is a pointer to a FuncDef structure */
|
||||
#define P4_KEYINFO (-5) /* P4 is a pointer to a KeyInfo structure */
|
||||
#define P4_EXPR (-6) /* P4 is a pointer to an Expr tree */
|
||||
#define P4_MEM (-7) /* P4 is a pointer to a Mem* structure */
|
||||
#define P4_TRANSIENT 0 /* P4 is a pointer to a transient string */
|
||||
#define P4_VTAB (-10) /* P4 is a pointer to an sqlite3_vtab structure */
|
||||
#define P4_MPRINTF (-11) /* P4 is a string obtained from sqlite3_mprintf() */
|
||||
#define P4_REAL (-12) /* P4 is a 64-bit floating point value */
|
||||
#define P4_INT64 (-13) /* P4 is a 64-bit signed integer */
|
||||
#define P4_INT32 (-14) /* P4 is a 32-bit signed integer */
|
||||
#define P4_INTARRAY (-15) /* P4 is a vector of 32-bit integers */
|
||||
#define P4_SUBPROGRAM (-18) /* P4 is a pointer to a SubProgram structure */
|
||||
#define P4_ADVANCE (-19) /* P4 is a pointer to BtreeNext() or BtreePrev() */
|
||||
#define P4_TABLE (-20) /* P4 is a pointer to a Table structure */
|
||||
#define P4_FUNCCTX (-21) /* P4 is a pointer to an sqlite3_context object */
|
||||
#define P4_VTAB (-8) /* P4 is a pointer to an sqlite3_vtab structure */
|
||||
#define P4_REAL (-9) /* P4 is a 64-bit floating point value */
|
||||
#define P4_INT64 (-10) /* P4 is a 64-bit signed integer */
|
||||
#define P4_INT32 (-11) /* P4 is a 32-bit signed integer */
|
||||
#define P4_INTARRAY (-12) /* P4 is a vector of 32-bit integers */
|
||||
#define P4_SUBPROGRAM (-13) /* P4 is a pointer to a SubProgram structure */
|
||||
#define P4_ADVANCE (-14) /* P4 is a pointer to BtreeNext() or BtreePrev() */
|
||||
#define P4_TABLE (-15) /* P4 is a pointer to a Table structure */
|
||||
#define P4_FUNCCTX (-16) /* P4 is a pointer to an sqlite3_context object */
|
||||
|
||||
/* Error message codes for OP_Halt */
|
||||
#define P5_ConstraintNotNull 1
|
||||
|
@ -828,10 +828,6 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case P4_MPRINTF: {
|
||||
if( db->pnBytesFreed==0 ) sqlite3_free(p4);
|
||||
break;
|
||||
}
|
||||
case P4_FUNCDEF: {
|
||||
freeEphemeralFunction(db, (FuncDef*)p4);
|
||||
break;
|
||||
|
@ -1142,7 +1142,7 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
sqlite3VdbeAddOp2(v, OP_Integer, nConstraint, iReg+1);
|
||||
sqlite3VdbeAddOp4(v, OP_VFilter, iCur, addrNotFound, iReg,
|
||||
pLoop->u.vtab.idxStr,
|
||||
pLoop->u.vtab.needFree ? P4_MPRINTF : P4_STATIC);
|
||||
pLoop->u.vtab.needFree ? P4_DYNAMIC : P4_STATIC);
|
||||
VdbeCoverage(v);
|
||||
pLoop->u.vtab.needFree = 0;
|
||||
pLevel->p1 = iCur;
|
||||
|
Loading…
x
Reference in New Issue
Block a user