]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places
authordrh <drh@noemail.net>
Wed, 2 Sep 2015 15:37:50 +0000 (15:37 +0000)
committerdrh <drh@noemail.net>
Wed, 2 Sep 2015 15:37:50 +0000 (15:37 +0000)
for better performance and a smaller footprint.

FossilOrigin-Name: 82355e41084387fa11b7b531e4d660dd3b4cd984

manifest
manifest.uuid
src/btree.c
src/printf.c
src/wherecode.c

index 9439863ceba3617dc2c8a862cfc6302098866ded..f7cce1b307e088fbb7b4b6ab1d9a7f842bd087f1 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C The\ssqlite3_memory_alarm()\sinterface\shas\sbeen\sdeprecated\sand\sundocumented\nfor\salmost\s8\syears\s(since\sversion\s3.5.3).\s\sChange\sit\sinto\sa\sno-op.
-D 2015-09-02T14:56:56.653
+C Use\ssqlite3XPrintf()\sinstead\sof\ssqlite3StrAccumAppend()\sin\sa\sfew\splaces\nfor\sbetter\sperformance\sand\sa\ssmaller\sfootprint.
+D 2015-09-02T15:37:50.515
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in f85066ce844a28b671aaeeff320921cd0ce36239
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -279,7 +279,7 @@ F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240
 F src/backup.c 4d9134dc988a87838c06056c89c0e8c4700a0452
 F src/bitvec.c d1f21d7d91690747881f03940584f4cc548c9d3d
 F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79
-F src/btree.c f48b3ef91676c06a90a8832987ecef6b94c931ee
+F src/btree.c 4084d9eed2817331f6e6a82230ba30e448cad497
 F src/btree.h 969adc948e89e449220ff0ff724c94bb2a52e9f1
 F src/btreeInt.h 8177c9ab90d772d6d2c6c517e05bed774b7c92c0
 F src/build.c 511b02138eddc3cf68dab1016da4998260093e9f
@@ -333,7 +333,7 @@ F src/pcache1.c b31af9dbc83b9c68e87d681b8453a9605f28e734
 F src/pragma.c a239d2c8c6d87d589927547f234b0f6259c69f62
 F src/pragma.h 631a91c8b0e6ca8f051a1d8a4a0da4150e04620a
 F src/prepare.c 82e5db1013846a819f198336fed72c44c974e7b1
-F src/printf.c 2bc439ff20a4aad0e0ad50a37a67b5eae7d20edc
+F src/printf.c e66737e0e460aa7a765d1dbc3834c1ed91fbf36b
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c f2ef256786a6435efddd64a632fea89c8be62215
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
@@ -416,7 +416,7 @@ F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
 F src/walker.c 2e14d17f592d176b6dc879c33fbdec4fbccaa2ba
 F src/where.c 91e73ffc699c140a59baa03a6b7b060db02bed81
 F src/whereInt.h 901c17c1e3c82745ad9b85b4471543fa59c980e9
-F src/wherecode.c 3d9113cc307ffeed58db41fe9f2d807c94787ab5
+F src/wherecode.c f749795d059a71dd7b33af1b11bf65a30d085233
 F src/whereexpr.c 1a308d1ee5144890d21ea9cf70d49bc96a83432b
 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
 F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
@@ -1380,7 +1380,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 6db3ff45bc15ece29cb2c7a736e5c6d005dde200
-R fb43199c7de8d8215fceefa0991f495e
+P 5d3f5df4da9f40d5897b5c23b2ea9333fc18ac2c
+R 015478dce7d3b6dcb9b04185a9d6060b
 U drh
-Z 048512fff9b9f8d1311c6e43a6f32096
+Z 3e1b692f08d8bff51066d541f96997b7
index 6223c7166a2f0c49d93739be8df2ab2d860dfbdd..7aad3d15cefe6933353189caf58076bac94ae57c 100644 (file)
@@ -1 +1 @@
-5d3f5df4da9f40d5897b5c23b2ea9333fc18ac2c
\ No newline at end of file
+82355e41084387fa11b7b531e4d660dd3b4cd984
\ No newline at end of file
index 2692ade8e4888fc98904b8d047603ad95a650b51..d5b9b5fd8585260d3c8309a678097b6145d7c439 100644 (file)
@@ -8700,7 +8700,6 @@ static void checkAppendMsg(
   ...
 ){
   va_list ap;
-  char zBuf[200];
   if( !pCheck->mxErr ) return;
   pCheck->mxErr--;
   pCheck->nErr++;
@@ -8709,8 +8708,7 @@ static void checkAppendMsg(
     sqlite3StrAccumAppend(&pCheck->errMsg, "\n", 1);
   }
   if( pCheck->zPfx ){
-    sqlite3_snprintf(sizeof(zBuf), zBuf, pCheck->zPfx, pCheck->v1, pCheck->v2);
-    sqlite3StrAccumAppendAll(&pCheck->errMsg, zBuf);
+    sqlite3XPrintf(&pCheck->errMsg, 0, pCheck->zPfx, pCheck->v1, pCheck->v2);
   }
   sqlite3VXPrintf(&pCheck->errMsg, 1, zFormat, ap);
   va_end(ap);
index 018df412f4749b35df34c279136e169f6e629bb6..cec5ad44cace367735f4645ed6f7ddd5b58f9669 100644 (file)
@@ -1062,7 +1062,8 @@ void sqlite3DebugPrintf(const char *zFormat, ...){
 
 
 /*
-** variable-argument wrapper around sqlite3VXPrintf().
+** variable-argument wrapper around sqlite3VXPrintf().  The bFlags argument
+** can contain the bit SQLITE_PRINTF_INTERNAL enable internal formats.
 */
 void sqlite3XPrintf(StrAccum *p, u32 bFlags, const char *zFormat, ...){
   va_list ap;
index e5c0b40b1a48fb08afbedc73e73af75a9a9adb0a..99ebfe1d4f1e152c2fc46e2fcf4a139c4cb58048 100644 (file)
@@ -165,19 +165,18 @@ int sqlite3WhereExplainOneScan(
         explainIndexRange(&str, pLoop, pItem->pTab);
       }
     }else if( (flags & WHERE_IPK)!=0 && (flags & WHERE_CONSTRAINT)!=0 ){
-      const char *zRange;
+      const char *zRangeOp;
       if( flags&(WHERE_COLUMN_EQ|WHERE_COLUMN_IN) ){
-        zRange = "(rowid=?)";
+        zRangeOp = "=";
       }else if( (flags&WHERE_BOTH_LIMIT)==WHERE_BOTH_LIMIT ){
-        zRange = "(rowid>? AND rowid<?)";
+        zRangeOp = ">? AND rowid<";
       }else if( flags&WHERE_BTM_LIMIT ){
-        zRange = "(rowid>?)";
+        zRangeOp = ">";
       }else{
         assert( flags&WHERE_TOP_LIMIT);
-        zRange = "(rowid<?)";
+        zRangeOp = "<";
       }
-      sqlite3StrAccumAppendAll(&str, " USING INTEGER PRIMARY KEY ");
-      sqlite3StrAccumAppendAll(&str, zRange);
+      sqlite3XPrintf(&str, 0, " USING INTEGER PRIMARY KEY (rowid%s?)",zRangeOp);
     }
 #ifndef SQLITE_OMIT_VIRTUALTABLE
     else if( (flags & WHERE_VIRTUALTABLE)!=0 ){