mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Fix windows builds of recover extension.
FossilOrigin-Name: abcbb6abfe08fc590123f0aa1bd72cfdecc75908f078f1348dc0e957de98bf52
This commit is contained in:
@@ -1587,6 +1587,9 @@ TESTEXT = \
|
|||||||
$(TOP)\ext\misc\unionvtab.c \
|
$(TOP)\ext\misc\unionvtab.c \
|
||||||
$(TOP)\ext\misc\wholenumber.c \
|
$(TOP)\ext\misc\wholenumber.c \
|
||||||
$(TOP)\ext\rtree\test_rtreedoc.c \
|
$(TOP)\ext\rtree\test_rtreedoc.c \
|
||||||
|
$(TOP)\ext\recover\sqlite3recover.c \
|
||||||
|
$(TOP)\ext\recover\test_recover.c \
|
||||||
|
$(TOP)\ext\misc\dbdata.c \
|
||||||
fts5.c
|
fts5.c
|
||||||
|
|
||||||
# If use of zlib is enabled, add the "zipfile.c" source file.
|
# If use of zlib is enabled, add the "zipfile.c" source file.
|
||||||
@@ -2224,6 +2227,9 @@ SHELL_SRC = \
|
|||||||
$(TOP)\ext\expert\sqlite3expert.c \
|
$(TOP)\ext\expert\sqlite3expert.c \
|
||||||
$(TOP)\ext\expert\sqlite3expert.h \
|
$(TOP)\ext\expert\sqlite3expert.h \
|
||||||
$(TOP)\ext\misc\memtrace.c \
|
$(TOP)\ext\misc\memtrace.c \
|
||||||
|
$(TOP)/ext/misc/dbdata.c \
|
||||||
|
$(TOP)/ext/recover/sqlite3recover.c \
|
||||||
|
$(TOP)/ext/recover/sqlite3recover.h \
|
||||||
$(TOP)\src\test_windirent.c
|
$(TOP)\src\test_windirent.c
|
||||||
|
|
||||||
# If use of zlib is enabled, add the "zipfile.c" source file.
|
# If use of zlib is enabled, add the "zipfile.c" source file.
|
||||||
|
@@ -137,7 +137,7 @@ struct RecoverColumn {
|
|||||||
typedef struct RecoverBitmap RecoverBitmap;
|
typedef struct RecoverBitmap RecoverBitmap;
|
||||||
struct RecoverBitmap {
|
struct RecoverBitmap {
|
||||||
i64 nPg; /* Size of bitmap */
|
i64 nPg; /* Size of bitmap */
|
||||||
u32 aElem[0]; /* Array of 32-bit bitmasks */
|
u32 aElem[1]; /* Array of 32-bit bitmasks */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -999,8 +999,8 @@ static int recoverWriteSchema1(sqlite3_recover *p){
|
|||||||
recoverSqlCallback(p, zSql);
|
recoverSqlCallback(p, zSql);
|
||||||
if( bTable && !bVirtual ){
|
if( bTable && !bVirtual ){
|
||||||
if( SQLITE_ROW==sqlite3_step(pTblname) ){
|
if( SQLITE_ROW==sqlite3_step(pTblname) ){
|
||||||
const char *zName = sqlite3_column_text(pTblname, 0);
|
const char *zTbl = (const char*)sqlite3_column_text(pTblname, 0);
|
||||||
recoverAddTable(p, zName, iRoot);
|
recoverAddTable(p, zTbl, iRoot);
|
||||||
}
|
}
|
||||||
recoverReset(p, pTblname);
|
recoverReset(p, pTblname);
|
||||||
}
|
}
|
||||||
@@ -1252,7 +1252,6 @@ static sqlite3_stmt *recoverLostAndFoundInsert(
|
|||||||
int nTotal = nField + 4;
|
int nTotal = nField + 4;
|
||||||
int ii;
|
int ii;
|
||||||
char *zBind = 0;
|
char *zBind = 0;
|
||||||
const char *zSep = "";
|
|
||||||
sqlite3_stmt *pRet = 0;
|
sqlite3_stmt *pRet = 0;
|
||||||
|
|
||||||
if( p->xSql==0 ){
|
if( p->xSql==0 ){
|
||||||
@@ -1328,7 +1327,7 @@ static void recoverLostAndFoundPopulate(
|
|||||||
recoverBindValue(p, pInsert, 5+ii, apVal[ii]);
|
recoverBindValue(p, pInsert, 5+ii, apVal[ii]);
|
||||||
}
|
}
|
||||||
if( sqlite3_step(pInsert)==SQLITE_ROW ){
|
if( sqlite3_step(pInsert)==SQLITE_ROW ){
|
||||||
recoverSqlCallback(p, sqlite3_column_text(pInsert, 0));
|
recoverSqlCallback(p, (const char*)sqlite3_column_text(pInsert, 0));
|
||||||
}
|
}
|
||||||
recoverReset(p, pInsert);
|
recoverReset(p, pInsert);
|
||||||
|
|
||||||
@@ -1376,7 +1375,7 @@ static void recoverLostAndFoundPopulate(
|
|||||||
** db and writes all orphaned rows to it. Or, if the recover handle is
|
** db and writes all orphaned rows to it. Or, if the recover handle is
|
||||||
** in SQL callback mode, issues equivalent callbacks.
|
** in SQL callback mode, issues equivalent callbacks.
|
||||||
*/
|
*/
|
||||||
static int recoverLostAndFound(sqlite3_recover *p){
|
static void recoverLostAndFound(sqlite3_recover *p){
|
||||||
i64 nPg = 0;
|
i64 nPg = 0;
|
||||||
RecoverBitmap *pMap = 0;
|
RecoverBitmap *pMap = 0;
|
||||||
|
|
||||||
@@ -1558,9 +1557,7 @@ static int recoverWriteData(sqlite3_recover *p){
|
|||||||
|
|
||||||
if( bNewCell ){
|
if( bNewCell ){
|
||||||
if( nVal>=0 ){
|
if( nVal>=0 ){
|
||||||
int ii;
|
|
||||||
int iVal = 0;
|
int iVal = 0;
|
||||||
int iBind = 1;
|
|
||||||
|
|
||||||
if( pInsert==0 || nVal!=nInsert ){
|
if( pInsert==0 || nVal!=nInsert ){
|
||||||
recoverFinalize(p, pInsert);
|
recoverFinalize(p, pInsert);
|
||||||
@@ -1570,9 +1567,8 @@ static int recoverWriteData(sqlite3_recover *p){
|
|||||||
if( nVal>0 ){
|
if( nVal>0 ){
|
||||||
for(ii=0; ii<pTab->nCol; ii++){
|
for(ii=0; ii<pTab->nCol; ii++){
|
||||||
RecoverColumn *pCol = &pTab->aCol[ii];
|
RecoverColumn *pCol = &pTab->aCol[ii];
|
||||||
|
int iBind = pCol->iBind;
|
||||||
if( pCol->iBind>0 ){
|
if( iBind>0 ){
|
||||||
int iBind = pCol->iBind;
|
|
||||||
if( pCol->bIPK ){
|
if( pCol->bIPK ){
|
||||||
sqlite3_bind_int64(pInsert, iBind, iRowid);
|
sqlite3_bind_int64(pInsert, iBind, iRowid);
|
||||||
}else if( pCol->iField<nVal ){
|
}else if( pCol->iField<nVal ){
|
||||||
|
14
manifest
14
manifest
@@ -1,11 +1,11 @@
|
|||||||
C Include\srecovery\sextension\sin\sconfigure/make\sbuilds\sof\stestfixture.
|
C Fix\swindows\sbuilds\sof\srecover\sextension.
|
||||||
D 2022-09-14T20:45:46.778
|
D 2022-09-15T03:54:52.116
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||||
F Makefile.in 1dd98f0349f14a7b106ae05904d4d040b4d20f2ab8e2d3c34f8231ba08948e42
|
F Makefile.in 1dd98f0349f14a7b106ae05904d4d040b4d20f2ab8e2d3c34f8231ba08948e42
|
||||||
F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
|
F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
|
||||||
F Makefile.msc d547a2fdba38a1c6cd1954977d0b0cc017f5f8fbfbc65287bf8d335808938016
|
F Makefile.msc 8a3c44169360ac55ceb55ac9f81bacb5f27b65eb5cb8b59a0c18a122c6edf4ed
|
||||||
F README.md 8b8df9ca852aeac4864eb1e400002633ee6db84065bd01b78c33817f97d31f5e
|
F README.md 8b8df9ca852aeac4864eb1e400002633ee6db84065bd01b78c33817f97d31f5e
|
||||||
F VERSION 8868ddfa6e1eee218286021a94b3e22d13e550c76c72d878857547ca001de24a
|
F VERSION 8868ddfa6e1eee218286021a94b3e22d13e550c76c72d878857547ca001de24a
|
||||||
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
|
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
|
||||||
@@ -397,7 +397,7 @@ F ext/recover/recoverfault2.test 321036336af23e778a87f148c4cc4407f88fbdab1fd72dd
|
|||||||
F ext/recover/recoverold.test 46e9d99b595fac583d4c67f74d7d89c20a435c752ef6eeb3e918b599940c88e0
|
F ext/recover/recoverold.test 46e9d99b595fac583d4c67f74d7d89c20a435c752ef6eeb3e918b599940c88e0
|
||||||
F ext/recover/recoverrowid.test 1694a1a5526d825f71279f3d02ab02a1ee4c5265de18858bf54cb8ec54487ac8
|
F ext/recover/recoverrowid.test 1694a1a5526d825f71279f3d02ab02a1ee4c5265de18858bf54cb8ec54487ac8
|
||||||
F ext/recover/recoversql.test f9872ff2114e13ffd8ee31e1de06919f62b9b48bc080191b5bd076d10becb60f
|
F ext/recover/recoversql.test f9872ff2114e13ffd8ee31e1de06919f62b9b48bc080191b5bd076d10becb60f
|
||||||
F ext/recover/sqlite3recover.c 29cb0ef3ff22e4a813d741930be123b7a44d59ba4c93868e74c4b0ebbee90a62
|
F ext/recover/sqlite3recover.c 699d14bf128f103f823dbeef0aa4987ae0f8cd822b113fca5be5615ca57f28de
|
||||||
F ext/recover/sqlite3recover.h 81108efb8c4618d3d9c6da4df785212b0e4501aa0d25edfc463405fe839a6640
|
F ext/recover/sqlite3recover.h 81108efb8c4618d3d9c6da4df785212b0e4501aa0d25edfc463405fe839a6640
|
||||||
F ext/recover/test_recover.c 72a765616a3fa9dae2ed537d79b00f365d9f639d347858341b71bda7a3a45f56
|
F ext/recover/test_recover.c 72a765616a3fa9dae2ed537d79b00f365d9f639d347858341b71bda7a3a45f56
|
||||||
F ext/repair/README.md 92f5e8aae749a4dae14f02eea8e1bb42d4db2b6ce5e83dbcdd6b1446997e0c15
|
F ext/repair/README.md 92f5e8aae749a4dae14f02eea8e1bb42d4db2b6ce5e83dbcdd6b1446997e0c15
|
||||||
@@ -2012,8 +2012,8 @@ 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 deed5336931b23bb507c064d08e9899b33f04e4f7eee03beb8d7147eb4caa030
|
P d2f4652144c4a54012a2176c178c5ade3463bd017515f472cfa8dafdde192df3
|
||||||
R 280ffbfae11c88d50514166a9090fc16
|
R 9e3a41d484514f69e10e038c6c38b48d
|
||||||
U dan
|
U dan
|
||||||
Z 303ba5cc3bab2dbc239e16c7c361938c
|
Z 602ce8dc722093a825536633983df6e0
|
||||||
# Remove this line to create a well-formed Fossil manifest.
|
# Remove this line to create a well-formed Fossil manifest.
|
||||||
|
@@ -1 +1 @@
|
|||||||
d2f4652144c4a54012a2176c178c5ade3463bd017515f472cfa8dafdde192df3
|
abcbb6abfe08fc590123f0aa1bd72cfdecc75908f078f1348dc0e957de98bf52
|
Reference in New Issue
Block a user