]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix the sqlite3_bind_blob() interface so that it sets the encoding of the
authordrh <>
Fri, 10 Oct 2025 00:59:28 +0000 (00:59 +0000)
committerdrh <>
Fri, 10 Oct 2025 00:59:28 +0000 (00:59 +0000)
underlying sqlite3_value object to the database encoding.  Fix for the
problem reported by
[forum:/forumpost/2025-10-07T12:47:25z|forum post 2025-10-07T12:47:25z].

FossilOrigin-Name: 8e7da8cf506059dde98000db2731b8c47951344263df680a12b7c95aaece2568

manifest
manifest.uuid
src/vdbeapi.c

index 1530e7dfbe0e8aacf001983d9b24f623a5585b69..4dfc0b40b9bf653d06d36cf4dc3bc20dd82521c3 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sthe\sxBestIndex\smethod\son\scarray\sso\sthat\sit\sgives\sa\scoherient\squery\splan\nin\sa\sjoin\swhen\ssome\sof\sthe\sarguments\sto\scarray()\scome\sfrom\sother\stable\nin\sthe\sjoin.
-D 2025-10-10T00:26:46.643
+C Fix\sthe\ssqlite3_bind_blob()\sinterface\sso\sthat\sit\ssets\sthe\sencoding\sof\sthe\nunderlying\ssqlite3_value\sobject\sto\sthe\sdatabase\sencoding.\s\sFix\sfor\sthe\nproblem\sreported\sby\n[forum:/forumpost/2025-10-07T12:47:25z|forum\spost\s2025-10-07T12:47:25z].
+D 2025-10-10T00:59:28.216
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -804,7 +804,7 @@ F src/vacuum.c 1bacdd0a81d2b5dc1c508fbf0d938c89fa78dd8d5b46ec92686d44030d4f4789
 F src/vdbe.c 07084aa0152c8d4e74e7b86c0cf744732f0f9b1fd62bd7098252cadb741c630a
 F src/vdbe.h be33bd7b17f2ec92939642416030491508c51071f6c14e27cd195983fec56b63
 F src/vdbeInt.h 52896dd4d5b62190c53db14b09fc2484434eb594c963df0fa66eb8a94527b02e
-F src/vdbeapi.c f9a4881a9674fec3fa13da35044a1484d3c4b95f9ec891cc8ffb02ef2b7a41df
+F src/vdbeapi.c 869a0da5d855495055f4d35c6ada582f64ce995ce14b26ff9d336274d497266c
 F src/vdbeaux.c cb907297d03b374544a5a4f81ca981497ff4d09d13838f06de507118367f0b73
 F src/vdbeblob.c b3f0640db9642fbdc88bd6ebcc83d6009514cafc98f062f675f2c8d505d82692
 F src/vdbemem.c e67d9c6484d868c879d20c70d00bf4a9058082f1d4058607ca15d50eb3aebc21
@@ -2169,8 +2169,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 22f694682107036e68b67e48123d606aeff8cd8b7fedc8ab8ed9cc1a9cccd73f
-R e015417c9e052c0b39ffc92bd36a8b62
+P c8417b3261b2c9f20dcc38c482b9fc43acb97d933eb723c2f6698a7435a192eb
+R e62bedbe4ebd78d955eb9d4a08e67a9e
 U drh
-Z 8bb352561f711d41895ac5369503ea6b
+Z aac9140f9d713f4fc0203b14dc184034
 # Remove this line to create a well-formed Fossil manifest.
index ebf9753a2362f9c2753cb0052851062cdfa32afe..5a2a2483d91e363631b346420a922b586d2281b5 100644 (file)
@@ -1 +1 @@
-c8417b3261b2c9f20dcc38c482b9fc43acb97d933eb723c2f6698a7435a192eb
+8e7da8cf506059dde98000db2731b8c47951344263df680a12b7c95aaece2568
index af90d4497a941eb5207ee1e80130f17ba8d6ea5a..1118481d1c9b32283ae775a1148fb2a61c715fb6 100644 (file)
@@ -1693,8 +1693,12 @@ static int bindText(
     if( zData!=0 ){
       pVar = &p->aVar[i-1];
       rc = sqlite3VdbeMemSetStr(pVar, zData, nData, encoding, xDel);
-      if( rc==SQLITE_OK && encoding!=0 ){
-        rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
+      if( rc==SQLITE_OK ){
+        if( encoding==0 ){
+          pVar->enc = ENC(p->db);
+        }else{
+          rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
+        }
       }
       if( rc ){
         sqlite3Error(p->db, rc);