diff options
author | drh <> | 2024-09-13 23:41:16 +0000 |
---|---|---|
committer | drh <> | 2024-09-13 23:41:16 +0000 |
commit | 33f0a3ed13c469af77f42a82a42e81fdda4fa2f1 (patch) | |
tree | e9c5e566d729710c300f5d4e74513299898cc748 /src | |
parent | 8550e4a9f80663b443379f55028df013bd51053e (diff) | |
parent | 762946b236eacb00f3c545adca5a6aa5beea736f (diff) | |
download | sqlite-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.c | 5 |
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; |