aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2011-10-07 18:24:25 +0000
committerdrh <drh@noemail.net>2011-10-07 18:24:25 +0000
commit9734e6e1f47ba9627008ce15a87b52fc9f0b5856 (patch)
tree7c98ac4d67f8730fd416685606008d4ffb46765e /src
parentbe7beab5f4178570af09054ff501186b56b20fbb (diff)
downloadsqlite-9734e6e1f47ba9627008ce15a87b52fc9f0b5856.tar.gz
sqlite-9734e6e1f47ba9627008ce15a87b52fc9f0b5856.zip
Make sure sqlite3_data_count() behaves as documented, even for
EXPLAIN QUERY PLAN queries. FossilOrigin-Name: d4f95b3b6e9f4a4072606af5daa17ea7c645382e
Diffstat (limited to 'src')
-rw-r--r--src/vdbeaux.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vdbeaux.c b/src/vdbeaux.c
index 90d1e9c8a..9de4fe04f 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;
}