]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Early detection and reporting of too few columns in an rtree CREATE VIRTUAL
authordrh <drh@noemail.net>
Fri, 6 Dec 2019 19:07:44 +0000 (19:07 +0000)
committerdrh <drh@noemail.net>
Fri, 6 Dec 2019 19:07:44 +0000 (19:07 +0000)
TABLE statement.

FossilOrigin-Name: ef73107f475e40e6bdd8b722e96992070f81fd2b7a3cb718ec8f251c89ca3e81

ext/rtree/rtree.c
ext/rtree/rtree1.test
manifest
manifest.uuid

index 5944a7ef80696763edc697879c60f62bbe3fa4b7..4eae4c09f9ef59c48b3ac365515670d9bea523e2 100644 (file)
@@ -3706,8 +3706,8 @@ static int rtreeInit(
   };
 
   assert( RTREE_MAX_AUX_COLUMN<256 ); /* Aux columns counted by a u8 */
-  if( argc>RTREE_MAX_AUX_COLUMN+3 ){
-    *pzErr = sqlite3_mprintf("%s", aErrMsg[3]);
+  if( argc<6 || argc>RTREE_MAX_AUX_COLUMN+3 ){
+    *pzErr = sqlite3_mprintf("%s", aErrMsg[2 + (argc>=6)]);
     return SQLITE_ERROR;
   }
 
index 85075854ed96d35c46e5738423d73c8040e27b9f..447ef5dadd682b685f5fb509e812064f49e8f5dd 100644 (file)
@@ -112,6 +112,9 @@ for {set nCol 1} {$nCol<[llength $cols]} {incr nCol} {
 
   catchsql { DROP TABLE t1 }
 }
+do_catchsql_test rtree-1.3.1000 {
+  CREATE VIRTUAL TABLE t1000 USING rtree;
+} {1 {Too few columns for an rtree table}}
 
 # Like execsql except display output as integer where that can be
 # done without loss of information.
index 4ca14c1840675b796284dbf1d9e5bf825c2c58bb..ffa53fc918fb9cbe10446f52269dcfa2d1b99f5e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C In\sthe\srtree\sextension,\sactively\ssuppress\sextra\stokens\son\sthe\scolumn\snames,\nand\sbe\spedantic\sabout\scolumn\saffinities.\s\sTicket\s[367a86e28859f1ff]
-D 2019-12-06T13:10:29.260
+C Early\sdetection\sand\sreporting\sof\stoo\sfew\scolumns\sin\san\srtree\sCREATE\sVIRTUAL\nTABLE\sstatement.
+D 2019-12-06T19:07:44.980
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -380,9 +380,9 @@ F ext/repair/test/checkindex01.test b530f141413b587c9eb78ff734de6bb79bc3515c3350
 F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c
 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
 F ext/rtree/geopoly.c c591164125808f8bba9659e92665b78412cd263e654b6f05294f3a8da7cdd9fb
-F ext/rtree/rtree.c f1dace13854706121ec2369d5685d90e83dcfd1698585b0fd4a99f021a44da32
+F ext/rtree/rtree.c cb9d3634d9e198136f24eada199feb3ce146048b47a58e21e24c8aadf2c253ba
 F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412
-F ext/rtree/rtree1.test 686216b4181f64b1d27e786fbea053a9fb27cddb983d9bfe4bebb6e5f0d30d90
+F ext/rtree/rtree1.test 4092a8bd2b5eafc4fafe4fe9024249c12b13e4bab23c2c3eaff57412fdf805fa
 F ext/rtree/rtree2.test 9d9deddbb16fd0c30c36e6b4fdc3ee3132d765567f0f9432ee71e1303d32603d
 F ext/rtree/rtree3.test 4ee5d7df86040efe3d8d84f141f2962a7745452200a7cba1db06f86d97050499
 F ext/rtree/rtree4.test 304de65d484540111b896827e4261815e5dca4ce28eeecd58be648cd73452c4b
@@ -1852,7 +1852,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 62f2235adf796c72882b26313489cf49804ec3ec4972e0eee5034176cbb07f84
-R 1b112b7a4f0b3a3e64226b121a4ea4a7
+P 97fb5a72f91a44d579466e67c33aa862384c4d1c95c2010cf4ae9dbd172bbcfb
+R a5df17bc4bd57a47c10dfaaa183b435c
 U drh
-Z e237feeb1e17ed643316e435de3125ba
+Z 9d3d6a264e3c59291c05378e70901570
index eaa19a12429ca9f5bf75189fb60792f8b7989520..05dc70ffe8b67c691be7cd25170c7d039ae9770e 100644 (file)
@@ -1 +1 @@
-97fb5a72f91a44d579466e67c33aa862384c4d1c95c2010cf4ae9dbd172bbcfb
\ No newline at end of file
+ef73107f475e40e6bdd8b722e96992070f81fd2b7a3cb718ec8f251c89ca3e81
\ No newline at end of file