From: drh <> Date: Thu, 22 Dec 2022 19:12:48 +0000 (+0000) Subject: Avoid having to reinitialize Vdbe.pResultRow upon each call to sqlite3_step() X-Git-Tag: version-3.41.0~206 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cce70d52d0ac5c06a781a4d19e6807bba68a00ce;p=thirdparty%2Fsqlite.git Avoid having to reinitialize Vdbe.pResultRow upon each call to sqlite3_step() for a small size reduction and performance increase. FossilOrigin-Name: 6a00d67f5955ab86eea982c27b3a03b680fdf644ec63f49586ade6342a4d64a6 --- diff --git a/manifest b/manifest index 96d254eae2..3f59b5e9de 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Rename\sthe\sVdbe.pResultSet\sfield\sto\spResultRow\sin\sorder\sto\sbetter\sdistinguish\nit\sfrom\sother\svariables\swith\ssimilar\snames. -D 2022-12-22T18:44:39.948 +C Avoid\shaving\sto\sreinitialize\sVdbe.pResultRow\supon\seach\scall\sto\ssqlite3_step()\nfor\sa\ssmall\ssize\sreduction\sand\sperformance\sincrease. +D 2022-12-22T19:12:48.752 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -717,11 +717,11 @@ F src/upsert.c 5303dc6c518fa7d4b280ec65170f465c7a70b7ac2b22491598f6d0b4875b3145 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 F src/util.c 313f3154e2b85a447326f5dd15de8d31a4df6ab0c3579bd58f426ff634ec9050 F src/vacuum.c 84ce7f01f8a7a08748e107a441db83bcec13970190ddcb0c9ff522adbc1c23fd -F src/vdbe.c 6be002bb5faa47de14fe1dc31082f969ef1814ce48b527d7f24cf315b7339933 +F src/vdbe.c 65097b1b8dc19096a547c0fa54f9e3821e9d513d536654e77c63e85b8f195f1f F src/vdbe.h 73b904a6b3bb27f308c6cc287a5751ebc7f1f89456be0ed068a12b92844c6e8c F src/vdbeInt.h fc15815b7bdafbb27e7f027faba2b0112e87d382c0d72241672528806ebc0db5 -F src/vdbeapi.c a9ddd91f1907023efd3035642d4bd47cf65effcbeae211d6af4aa2426687e552 -F src/vdbeaux.c f01f4c96c836b9d2c7749ddcef2a779cab3974f478a4034389fd3c59c055749a +F src/vdbeapi.c 4ee67890913c1d2469c68e3ad2e7ddeab57ac5924a64bbfd0906a8ea0d542c7f +F src/vdbeaux.c 28d283db3e9e18fef46b2a726173ea57aee18ba3a17c88c763d826f85a7c5b5e F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd F src/vdbemem.c 6cfed43758d57b6e3b99d9cdedfeccd86e45a07e427b22d8487cbdbebb6c522a F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35 @@ -2067,8 +2067,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 3181331c1c0259d5cd274dcb33faba930dae51b1f0fe51e8a0318d9c564b94f9 -R 9394973e55c6ccfeb1c979e40b4ba15e +P 1fd6211ef7bd26ed625177bfedfd5153ace547de6a71365ecfa076578d043f1a +R d29f6177fe6e6d525f82d4157aa1b700 U drh -Z 82b58542dbd948888420949bdd4642ed +Z 0157da8e1ea08955e8449bebbef403a0 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 8db7649c83..a60a31ccf1 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1fd6211ef7bd26ed625177bfedfd5153ace547de6a71365ecfa076578d043f1a \ No newline at end of file +6a00d67f5955ab86eea982c27b3a03b680fdf644ec63f49586ade6342a4d64a6 \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index 1ed7216d1d..caaf2f429c 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -755,7 +755,6 @@ int sqlite3VdbeExec( assert( p->bIsReader || p->readOnly!=0 ); p->iCurrentTime = 0; assert( p->explain==0 ); - p->pResultRow = 0; db->busyHandler.nBusy = 0; if( AtomicLoad(&db->u1.isInterrupted) ) goto abort_due_to_interrupt; sqlite3VdbeIOTraceSql(p); diff --git a/src/vdbeapi.c b/src/vdbeapi.c index 34727c30ed..e080449c5e 100644 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@ -753,7 +753,7 @@ static int sqlite3Step(Vdbe *p){ /* If the statement completed successfully, invoke the profile callback */ checkProfileCallback(db, p); #endif - + p->pResultRow = 0; if( rc==SQLITE_DONE && db->autoCommit ){ assert( p->rc==SQLITE_OK ); p->rc = doWalCallbacks(db); diff --git a/src/vdbeaux.c b/src/vdbeaux.c index bcd67020e8..4ce2e9ec9e 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -2316,7 +2316,6 @@ int sqlite3VdbeList( ** sqlite3_column_text16(), causing a translation to UTF-16 encoding. */ releaseMemArray(pMem, 8); - p->pResultRow = 0; if( p->rc==SQLITE_NOMEM ){ /* This happens if a malloc() inside a call to sqlite3_column_text() or