mirror of
				https://github.com/sqlite/sqlite.git
				synced 2025-11-03 16:53:36 +03:00 
			
		
		
		
	More efficient error handling and reset in the binding mechanism.
FossilOrigin-Name: 9a3e3b34ba6eafce2f560c13225a3673e18d696b29295b59d958e938fa593baf
This commit is contained in:
		
							
								
								
									
										15
									
								
								manifest
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								manifest
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
				
			|||||||
C Omit\sunnecessary\sfstat()\scalls\sfor\sdetermining\sthe\sdatabase\sfile\ssize,\nresulting\sin\ssmaller\sand\sfaster\scode.
 | 
					C More\sefficient\serror\shandling\sand\sreset\sin\sthe\sbinding\smechanism.
 | 
				
			||||||
D 2017-05-29T17:59:29.162
 | 
					D 2017-05-29T22:44:18.713
 | 
				
			||||||
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 | 
					F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 | 
				
			||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 | 
					F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 | 
				
			||||||
F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
 | 
					F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
 | 
				
			||||||
@@ -474,8 +474,8 @@ F src/vacuum.c 1fe4555cd8c9b263afb85b5b4ee3a4a4181ad569
 | 
				
			|||||||
F src/vdbe.c 70f1c27d3de7b3ea68d3ee2b7fbf407335b66f7483eb321201ffe53724f9c54e
 | 
					F src/vdbe.c 70f1c27d3de7b3ea68d3ee2b7fbf407335b66f7483eb321201ffe53724f9c54e
 | 
				
			||||||
F src/vdbe.h f7d1456e28875c2dcb964056589b5b7149ab7edf39edeca801596a39bb3d3848
 | 
					F src/vdbe.h f7d1456e28875c2dcb964056589b5b7149ab7edf39edeca801596a39bb3d3848
 | 
				
			||||||
F src/vdbeInt.h 1ecdacc1322fdd3241ec30c32a480e328a6f864e532dc53fae8e0ab68121aebf
 | 
					F src/vdbeInt.h 1ecdacc1322fdd3241ec30c32a480e328a6f864e532dc53fae8e0ab68121aebf
 | 
				
			||||||
F src/vdbeapi.c dc904b3c5e459727993c2421e653e29d63223846d129fae98adc782b0a996481
 | 
					F src/vdbeapi.c 6009dbf02b70aa0dc461e98ebad98b88e4b22588341818891a2ea5c3c6533411
 | 
				
			||||||
F src/vdbeaux.c 8416e4e5cf7b32cc3898cf3a28d05d5a3270c620513b46197f22bd24ca922539
 | 
					F src/vdbeaux.c 4ff778d12873ec6e3c222634dd17afeddfcee3ffa5dc51c173b306a2677cfa22
 | 
				
			||||||
F src/vdbeblob.c 359891617358deefc85bef7bcf787fa6b77facb9
 | 
					F src/vdbeblob.c 359891617358deefc85bef7bcf787fa6b77facb9
 | 
				
			||||||
F src/vdbemem.c 2c70f8f5de6c71fb99a22c5b83be9fab5c47cdd8e279fa44a8c00cfed06d7e89
 | 
					F src/vdbemem.c 2c70f8f5de6c71fb99a22c5b83be9fab5c47cdd8e279fa44a8c00cfed06d7e89
 | 
				
			||||||
F src/vdbesort.c f26595dfcc342f4ea8b2e703686c2352638ed578e20acfc3e6534d30bbd4f555
 | 
					F src/vdbesort.c f26595dfcc342f4ea8b2e703686c2352638ed578e20acfc3e6534d30bbd4f555
 | 
				
			||||||
@@ -1581,8 +1581,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 | 
				
			|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 | 
					F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 | 
				
			||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 | 
					F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 | 
				
			||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
 | 
					F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
 | 
				
			||||||
P 43ce3bd3a4b41ea757e308e563d6c1bf7f9c09f10e4766c536d0bf1042c45613 6c3476b513965df22d648f9a1b99733af753b44d51163cc7d42a69bf562300e1
 | 
					P dd61c736775c53450821327495276485dced7935d0b4b5ebd17662731afc8adb
 | 
				
			||||||
R 2857f5fe46b44ce298433361a62d485f
 | 
					R 5e684f7a00a0d6a652aca6da7ea72395
 | 
				
			||||||
T +closed 6c3476b513965df22d648f9a1b99733af753b44d51163cc7d42a69bf562300e1
 | 
					 | 
				
			||||||
U drh
 | 
					U drh
 | 
				
			||||||
Z 051ef5e7e86a2fe2010357685cc35b1c
 | 
					Z b26d5e830b0726cbeeccda52a9f7cf6e
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1 +1 @@
 | 
				
			|||||||
dd61c736775c53450821327495276485dced7935d0b4b5ebd17662731afc8adb
 | 
					9a3e3b34ba6eafce2f560c13225a3673e18d696b29295b59d958e938fa593baf
 | 
				
			||||||
@@ -1303,9 +1303,11 @@ static int bindText(
 | 
				
			|||||||
      if( rc==SQLITE_OK && encoding!=0 ){
 | 
					      if( rc==SQLITE_OK && encoding!=0 ){
 | 
				
			||||||
        rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
 | 
					        rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					      if( rc ){
 | 
				
			||||||
        sqlite3Error(p->db, rc);
 | 
					        sqlite3Error(p->db, rc);
 | 
				
			||||||
        rc = sqlite3ApiExit(p->db, rc);
 | 
					        rc = sqlite3ApiExit(p->db, rc);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    sqlite3_mutex_leave(p->db->mutex);
 | 
					    sqlite3_mutex_leave(p->db->mutex);
 | 
				
			||||||
  }else if( xDel!=SQLITE_STATIC && xDel!=SQLITE_TRANSIENT ){
 | 
					  }else if( xDel!=SQLITE_STATIC && xDel!=SQLITE_TRANSIENT ){
 | 
				
			||||||
    xDel((void*)zData);
 | 
					    xDel((void*)zData);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2820,10 +2820,10 @@ int sqlite3VdbeTransferError(Vdbe *p){
 | 
				
			|||||||
    sqlite3ValueSetStr(db->pErr, -1, p->zErrMsg, SQLITE_UTF8, SQLITE_TRANSIENT);
 | 
					    sqlite3ValueSetStr(db->pErr, -1, p->zErrMsg, SQLITE_UTF8, SQLITE_TRANSIENT);
 | 
				
			||||||
    sqlite3EndBenignMalloc();
 | 
					    sqlite3EndBenignMalloc();
 | 
				
			||||||
    db->bBenignMalloc--;
 | 
					    db->bBenignMalloc--;
 | 
				
			||||||
    db->errCode = rc;
 | 
					  }else if( db->pErr ){
 | 
				
			||||||
  }else{
 | 
					    sqlite3ValueSetNull(db->pErr);
 | 
				
			||||||
    sqlite3Error(db, rc);
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  db->errCode = rc;
 | 
				
			||||||
  return rc;
 | 
					  return rc;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user