From: drh Date: Fri, 7 Oct 2011 18:24:25 +0000 (+0000) Subject: Make sure sqlite3_data_count() behaves as documented, even for X-Git-Tag: version-3.7.9~59 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9734e6e1f47ba9627008ce15a87b52fc9f0b5856;p=thirdparty%2Fsqlite.git Make sure sqlite3_data_count() behaves as documented, even for EXPLAIN QUERY PLAN queries. FossilOrigin-Name: d4f95b3b6e9f4a4072606af5daa17ea7c645382e --- diff --git a/manifest b/manifest index 9d612d2a8a..4eb0032471 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Improved\shandling\sof\sOR\sterms\sin\sthe\sWHERE\sclause\swith\smulti-column\sindexes. -D 2011-10-07T17:52:40.878 +C Make\ssure\ssqlite3_data_count()\sbehaves\sas\sdocumented,\seven\sfor\nEXPLAIN\sQUERY\sPLAN\squeries. +D 2011-10-07T18:24:25.948 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in a162fe39e249b8ed4a65ee947c30152786cfe897 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -242,7 +242,7 @@ F src/vdbe.c 60340bfb23f456ea0791cb28262a887363773371 F src/vdbe.h f0725ee997db869ecae5bb70a71612aabeca7755 F src/vdbeInt.h 693d6ac6810298fc6b4c503cfbe3f99a240f40af F src/vdbeapi.c 11dc47987abacb76ad016dcf5abc0dc422482a98 -F src/vdbeaux.c 9542e2fba791f14022c23fbe5cbe179eee36abc6 +F src/vdbeaux.c b4d509749502554e67ed14268928e4cc038b8efb F src/vdbeblob.c 32f2a4899d67f69634ea4dd93e3f651936d732cb F src/vdbemem.c 2fc78b3e0fabcc1eaa23cd79dd2e30e6dcfe1e56 F src/vdbesort.c 468d43c057063e54da4f1988b38b4f46d60e7790 @@ -967,7 +967,7 @@ F tool/symbols.sh caaf6ccc7300fd43353318b44524853e222557d5 F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 1da87fcdacfa7d277c3ee98e410a9ea8b529c368 5c132592820e9dc2355e26ea14e155c797c335b3 -R 8ca3076f2df3dea6526cd23b3be813bd +P b23ae131874bc5c621f0f5ea8d76fce1ec089cc2 +R c851b7fc8ea31836b467cff36423209c U drh -Z ddb3b7cdb3a83c191cd3bc7c8f9d4238 +Z ec0b90c872666342728b41ee2195393b diff --git a/manifest.uuid b/manifest.uuid index 951a165865..396a541880 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b23ae131874bc5c621f0f5ea8d76fce1ec089cc2 \ No newline at end of file +d4f95b3b6e9f4a4072606af5daa17ea7c645382e \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 90d1e9c8a2..9de4fe04f2 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -1142,7 +1142,7 @@ int sqlite3VdbeList( sqlite3 *db = p->db; /* The database connection */ int i; /* Loop counter */ int rc = SQLITE_OK; /* Return code */ - Mem *pMem = p->pResultSet = &p->aMem[1]; /* First Mem of result set */ + Mem *pMem = &p->aMem[1]; /* First Mem of result set */ assert( p->explain ); assert( p->magic==VDBE_MAGIC_RUN ); @@ -1153,7 +1153,7 @@ int sqlite3VdbeList( ** sqlite3_column_text16(), causing a translation to UTF-16 encoding. */ releaseMemArray(pMem, 8); - p->nResColumn = 0; + p->pResultSet = 0; if( p->rc==SQLITE_NOMEM ){ /* This happens if a malloc() inside a call to sqlite3_column_text() or @@ -1308,6 +1308,7 @@ int sqlite3VdbeList( } p->nResColumn = 8 - 4*(p->explain-1); + p->pResultSet = &p->aMem[1]; p->rc = SQLITE_OK; rc = SQLITE_ROW; }