From 7297d1f07058da3e3d6693ce4f4ade1f9bbdbcfd Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 9 May 2008 14:39:44 +0000 Subject: [PATCH] Do not clear the error code or error message in sqlite3_clear_bindings(). Ticket #3063. (CVS 5111) FossilOrigin-Name: 069f4560107246fdc31e1f15c3ad7d3dae2b9ad8 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/vdbeapi.c | 6 ++++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 96ff0ea2d8..aae82aa972 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\sALTER\sTABLE\sRENAME\salgorithm\sso\sthat\sit\sis\snot\sconfused\nby\scomments\sin\sthe\sCREATE\sTABLE\sstatement.\s\sTicket\s#3102.\s(CVS\s5110) -D 2008-05-09T14:17:52 +C Do\snot\sclear\sthe\serror\scode\sor\serror\smessage\sin\ssqlite3_clear_bindings().\nTicket\s#3063.\s(CVS\s5111) +D 2008-05-09T14:39:45 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in 8b9b8263852f0217157f9042b8e3dae7427ec739 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -170,7 +170,7 @@ F src/vacuum.c c3b2b70677f874102b8753bf494c232e777f3998 F src/vdbe.c 2bc3352c8109ef312ea129ae1cbad4c0328c5871 F src/vdbe.h f4bb70962d9c13e0f65b215c90e8acea1ae6e8ee F src/vdbeInt.h 18aebaa7857de4507d92ced62d8fe0844671a681 -F src/vdbeapi.c c810f936b09a1cfcac6b3624ad237b7951ca1880 +F src/vdbeapi.c 95ed14a59c509f98c64afba30cd18c3c8cf649cd F src/vdbeaux.c b98643abd85ae19318ee823f79168ae99b3a512e F src/vdbeblob.c 554736781ee273a8089c776e96bdb53e66f57ce6 F src/vdbefifo.c a30c237b2a3577e1415fb6e288cbb6b8ed1e5736 @@ -634,7 +634,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 2349ae75dfdd626ed97db99ac6de4bdc5a395008 -R f36404afe38ae90063c0c43dc92e5da7 +P ab18b4e75916b05863b31bc63625aa64a104a42c +R 18e63cebbbff2189e064184403f168a0 U drh -Z 2b92517d2da71a3352efb5891980e09b +Z d4393eb7d22c3e8846462316d45daa10 diff --git a/manifest.uuid b/manifest.uuid index 0fdd692e62..e8b2663b7a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ab18b4e75916b05863b31bc63625aa64a104a42c \ No newline at end of file +069f4560107246fdc31e1f15c3ad7d3dae2b9ad8 \ No newline at end of file diff --git a/src/vdbeapi.c b/src/vdbeapi.c index 6e90084517..88ec9dae62 100644 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@ -241,12 +241,14 @@ int sqlite3_reset(sqlite3_stmt *pStmt){ int sqlite3_clear_bindings(sqlite3_stmt *pStmt){ int i; int rc = SQLITE_OK; + Vdbe *p = (Vdbe*)pStmt; #ifndef SQLITE_MUTEX_NOOP sqlite3_mutex *mutex = ((Vdbe*)pStmt)->db->mutex; #endif sqlite3_mutex_enter(mutex); - for(i=1; rc==SQLITE_OK && i<=sqlite3_bind_parameter_count(pStmt); i++){ - rc = sqlite3_bind_null(pStmt, i); + for(i=0; inVar; i++){ + sqlite3VdbeMemRelease(&p->aVar[i]); + p->aVar[i].flags = MEM_Null; } sqlite3_mutex_leave(mutex); return rc; -- 2.47.2