]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Convert the schema creation logic in the rtree extension to use the
authordrh <drh@noemail.net>
Mon, 14 May 2018 15:26:05 +0000 (15:26 +0000)
committerdrh <drh@noemail.net>
Mon, 14 May 2018 15:26:05 +0000 (15:26 +0000)
new sqlite3_str interface.

FossilOrigin-Name: fd8b8c4196d3f0f6cb129f43ebf473ada86eefdf16181fa70ceee21e1232b5e1

ext/rtree/rtree.c
manifest
manifest.uuid

index 00513d4005f1161379e8d2a45d3fe2632ae6e22f..02112618219412fb9d05d640258fbbb69b23830b 100644 (file)
@@ -3494,18 +3494,18 @@ static int rtreeInit(
     if( (rc = rtreeSqlInit(pRtree, db, argv[1], argv[2], isCreate)) ){
       *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db));
     }else{
-      char *zSql = sqlite3_mprintf("CREATE TABLE x(%s", argv[3]);
-      char *zTmp;
+      sqlite3_str *pSql = sqlite3_str_new(db);
+      char *zSql;
       int ii;
-      for(ii=4; zSql && ii<argc; ii++){
-        zTmp = zSql;
-        zSql = sqlite3_mprintf("%s, %s", zTmp, argv[ii]);
-        sqlite3_free(zTmp);
-      }
-      if( zSql ){
-        zTmp = zSql;
-        zSql = sqlite3_mprintf("%s);", zTmp);
-        sqlite3_free(zTmp);
+      if( pSql==0 ){
+        zSql = 0;
+      }else{
+        sqlite3_str_appendf(pSql, "CREATE TABLE x(%s", argv[3]);
+        for(ii=4; ii<argc; ii++){
+          sqlite3_str_appendf(pSql, ", %s", argv[ii]);
+        }
+        sqlite3_str_appendf(pSql, ");");
+        zSql = sqlite3_str_finish(pSql);
       }
       if( !zSql ){
         rc = SQLITE_NOMEM;
index e04a61c0997e7715135b821a612945dcdaec1d41..8b7444c23f0c75e5fc73f5e938b73315fe5f65e7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\stypo\sin\sthe\sshell.c\ssource\sfile.
-D 2018-05-14T12:23:04.441
+C Convert\sthe\sschema\screation\slogic\sin\sthe\srtree\sextension\sto\suse\sthe\nnew\ssqlite3_str\sinterface.
+D 2018-05-14T15:26:05.642
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in bfc40f350586923e0419d2ea4b559c37ec10ee4b6e210e08c14401f8e340f0da
@@ -355,7 +355,7 @@ F ext/repair/test/checkfreelist01.test 3e8aa6aeb4007680c94a8d07b41c339aa635cc782
 F ext/repair/test/checkindex01.test 6945d0ffc0c1dc993b2ce88036b26e0f5d6fcc65da70fc9df27c2647bb358b0f
 F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c
 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
-F ext/rtree/rtree.c bc61010e978b5b8ae6dbb90274a2fbb5db5ff5e2880b5c6e8abd48eea77264db
+F ext/rtree/rtree.c 11dc450eec4c86a9b1eee104e478f9556382622a6a7e8080a478567ea975ea69
 F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412
 F ext/rtree/rtree1.test 47e2095bebea6813754fd7afa6a20e2b7b4ebcd5cb7dbcb6932b6c9f86bbf972
 F ext/rtree/rtree2.test 5f25b01acd03470067a2d52783b2eb0a50bf836803d4342d20ca39e541220fe2
@@ -1728,7 +1728,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 d0f35739af3b226c8eef39676407293650cde551acef06fe8628fdd5b59bd66a
-R 489299cac46675755fcab587758ad144
-U mistachkin
-Z 8281898e504b077f3010a87c94a2cdcf
+P 389dc0a901b0ce54c3c773d63e5b288f6dd28b96dffc4b77861db89b275b57d6
+R 6e29d58591c6ddb3e781f9c6f4a089d0
+U drh
+Z 737947d21bd079c8c254ee52cdbee001
index 10ce66c0dd1f5474c4506eee91255f0315cc4dae..518c2585dea8b72404dd7d1a02218788f5d0d7ba 100644 (file)
@@ -1 +1 @@
-389dc0a901b0ce54c3c773d63e5b288f6dd28b96dffc4b77861db89b275b57d6
\ No newline at end of file
+fd8b8c4196d3f0f6cb129f43ebf473ada86eefdf16181fa70ceee21e1232b5e1
\ No newline at end of file