diff options
| author | Hans-Christoph Steiner <hans@eds.org> | 2013-08-13 15:43:01 -0400 | 
|---|---|---|
| committer | Hans-Christoph Steiner <hans@eds.org> | 2013-08-13 15:43:01 -0400 | 
| commit | 4228998fd796fa2f9e84fb73632e0a07cc7cd188 (patch) | |
| tree | 15b2336f351468fedd0c39e9de4ad905a686f3b0 /ext/rtree | |
| parent | bdee7cf7d974b2f70d5934786c5666006e7360be (diff) | |
| parent | 08119c361d1181b3e8f1abb429236e488a664753 (diff) | |
Merge tag 'upstream/2.2.1'
Upstream version 2.2.1
# gpg: Signature made Tue 13 Aug 2013 03:42:56 PM EDT using RSA key ID 374BBE81
# gpg: Good signature from "Hans-Christoph Steiner <hans@at.or.at>"
# gpg:                 aka "[jpeg image of size 5408]"
# gpg:                 aka "Hans-Christoph Steiner <hs420@nyu.edu>"
# gpg:                 aka "Hans-Christoph Steiner <hans@eds.org>"
# gpg:                 aka "Hans-Christoph Steiner <hans@guardianproject.info>"
# gpg:                 aka "Hans-Christoph Steiner <hansi@nyu.edu>"
# gpg:                 aka "Hans-Christoph Steiner <hans@guardianproject.info>"
Diffstat (limited to 'ext/rtree')
| -rw-r--r-- | ext/rtree/rtree.c | 16 | ||||
| -rw-r--r-- | ext/rtree/rtree1.test | 1 | ||||
| -rw-r--r-- | ext/rtree/rtree5.test | 2 | 
3 files changed, 13 insertions, 6 deletions
| diff --git a/ext/rtree/rtree.c b/ext/rtree/rtree.c index 66da481..16a316f 100644 --- a/ext/rtree/rtree.c +++ b/ext/rtree/rtree.c @@ -2660,12 +2660,12 @@ static int newRowid(Rtree *pRtree, i64 *piRowid){  */  static int rtreeDeleteRowid(Rtree *pRtree, sqlite3_int64 iDelete){    int rc;                         /* Return code */ -  RtreeNode *pLeaf;               /* Leaf node containing record iDelete */ +  RtreeNode *pLeaf = 0;           /* Leaf node containing record iDelete */    int iCell;                      /* Index of iDelete cell in pLeaf */    RtreeNode *pRoot;               /* Root node of rtree structure */ -  /* Obtain a reference to the root node to initialise Rtree.iDepth */ +  /* Obtain a reference to the root node to initialize Rtree.iDepth */    rc = nodeAcquire(pRtree, 1, 0, &pRoot);    /* Obtain a reference to the leaf node that contains the entry  @@ -2863,7 +2863,7 @@ static int rtreeUpdate(    */    if( rc==SQLITE_OK && nData>1 ){      /* Insert the new record into the r-tree */ -    RtreeNode *pLeaf; +    RtreeNode *pLeaf = 0;      /* Figure out the rowid of the new row. */      if( bHaveRowid==0 ){ @@ -3049,7 +3049,8 @@ static int getIntFromStmt(sqlite3 *db, const char *zSql, int *piVal){  static int getNodeSize(    sqlite3 *db,                    /* Database handle */    Rtree *pRtree,                  /* Rtree handle */ -  int isCreate                    /* True for xCreate, false for xConnect */ +  int isCreate,                   /* True for xCreate, false for xConnect */ +  char **pzErr                    /* OUT: Error message, if any */  ){    int rc;    char *zSql; @@ -3062,6 +3063,8 @@ static int getNodeSize(        if( (4+pRtree->nBytesPerCell*RTREE_MAXCELLS)<pRtree->iNodeSize ){          pRtree->iNodeSize = 4+pRtree->nBytesPerCell*RTREE_MAXCELLS;        } +    }else{ +      *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db));      }    }else{      zSql = sqlite3_mprintf( @@ -3069,6 +3072,9 @@ static int getNodeSize(          pRtree->zDb, pRtree->zName      );      rc = getIntFromStmt(db, zSql, &pRtree->iNodeSize); +    if( rc!=SQLITE_OK ){ +      *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); +    }    }    sqlite3_free(zSql); @@ -3132,7 +3138,7 @@ static int rtreeInit(    memcpy(pRtree->zName, argv[2], nName);    /* Figure out the node size to use. */ -  rc = getNodeSize(db, pRtree, isCreate); +  rc = getNodeSize(db, pRtree, isCreate, pzErr);    /* Create/Connect to the underlying relational database schema. If    ** that is successful, call sqlite3_declare_vtab() to configure diff --git a/ext/rtree/rtree1.test b/ext/rtree/rtree1.test index e3c7d68..275b132 100644 --- a/ext/rtree/rtree1.test +++ b/ext/rtree/rtree1.test @@ -17,6 +17,7 @@ if {![info exists testdir]} {  }  source [file join [file dirname [info script]] rtree_util.tcl]  source $testdir/tester.tcl +set testprefix rtree1  # Test plan:  # diff --git a/ext/rtree/rtree5.test b/ext/rtree/rtree5.test index 8990772..8ff90b0 100644 --- a/ext/rtree/rtree5.test +++ b/ext/rtree/rtree5.test @@ -61,7 +61,7 @@ do_test rtree5-1.9 {  do_test rtree5-1.10 {     execsql { SELECT (1<<31)-5, (1<<31)-1, -1*(1<<31), -1*(1<<31)+5 }  } {2147483643 2147483647 -2147483648 -2147483643} -do_test rtree5-1.10 {  +do_test rtree5-1.11 {     execsql {       INSERT INTO t1 VALUES(2, (1<<31)-5, (1<<31)-1, -1*(1<<31), -1*(1<<31)+5)     } | 
