aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2024-09-13 23:41:16 +0000
committerdrh <>2024-09-13 23:41:16 +0000
commit33f0a3ed13c469af77f42a82a42e81fdda4fa2f1 (patch)
treee9c5e566d729710c300f5d4e74513299898cc748 /src
parent8550e4a9f80663b443379f55028df013bd51053e (diff)
parent762946b236eacb00f3c545adca5a6aa5beea736f (diff)
downloadsqlite-33f0a3ed13c469af77f42a82a42e81fdda4fa2f1.tar.gz
sqlite-33f0a3ed13c469af77f42a82a42e81fdda4fa2f1.zip
Merge sqlite_dbpage fixes into the sqlite3-rsync branch.
FossilOrigin-Name: dff76b7a3436031ea5a61b8a44ddfa1d40ea20c983f3d34a8501cd7074db68b8
Diffstat (limited to 'src')
-rw-r--r--src/dbpage.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dbpage.c b/src/dbpage.c
index 4da81f8ca..42b24f9b8 100644
--- a/src/dbpage.c
+++ b/src/dbpage.c
@@ -360,7 +360,7 @@ static int dbpageUpdate(
iDb = 0;
}else{
const char *zSchema = (const char*)sqlite3_value_text(argv[4]);
- iDb = zSchema ? sqlite3FindDbName(pTab->db, zSchema) : -1;
+ iDb = sqlite3FindDbName(pTab->db, zSchema);
if( iDb<0 ){
zErr = "no such schema";
goto update_fail;
@@ -377,8 +377,11 @@ static int dbpageUpdate(
){
if( sqlite3_value_type(argv[3])==SQLITE_NULL && isInsert ){
if( iDb>=pTab->nTrunc ){
+ testcase( pTab->aTrunc!=0 );
pTab->aTrunc = sqlite3_realloc(pTab->aTrunc, (iDb+1)*sizeof(Pgno));
if( pTab->aTrunc ){
+ int j;
+ for(j=pTab->nTrunc; j<iDb; j++) pTab->aTrunc[j] = 0;
pTab->nTrunc = iDb+1;
}else{
return SQLITE_NOMEM;