From 2fbcc0c47b115dcb519193eb14a5fbf3912ec61f Mon Sep 17 00:00:00 2001 From: "bienvenu%netscape.com" Date: Tue, 23 Mar 1999 23:38:25 +0000 Subject: [PATCH] turn on mork parsing, add nsNewsDatabase to makefile git-svn-id: svn://10.0.0.236/trunk@24918 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/mailnews/db/msgdb/src/makefile.win | 3 ++- .../mailnews/db/msgdb/src/nsDBFolderInfo.cpp | 25 +++++++++++-------- .../mailnews/db/msgdb/src/nsMailDatabase.cpp | 4 +-- .../mailnews/db/msgdb/src/nsMsgDatabase.cpp | 8 +++--- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/mozilla/mailnews/db/msgdb/src/makefile.win b/mozilla/mailnews/db/msgdb/src/makefile.win index a3c03533012..02081990e5f 100644 --- a/mozilla/mailnews/db/msgdb/src/makefile.win +++ b/mozilla/mailnews/db/msgdb/src/makefile.win @@ -29,6 +29,7 @@ DEFINES=-D_IMPL_NS_HTML -DWIN32_LEAN_AND_MEAN CPPSRCS= nsMsgDatabase.cpp\ nsDBFolderInfo.cpp\ nsMailDatabase.cpp\ + nsNewsDatabase.cpp\ nsMsgHdr.cpp\ mdbstubs.cpp \ $(NULL) @@ -36,8 +37,8 @@ CPPSRCS= nsMsgDatabase.cpp\ CPP_OBJS= .\$(OBJDIR)\nsMsgDatabase.obj \ .\$(OBJDIR)\nsDBFolderInfo.obj\ .\$(OBJDIR)\nsMailDatabase.obj\ + .\$(OBJDIR)\nsNewsDatabase.obj\ .\$(OBJDIR)\nsMsgHdr.obj\ -# .\$(OBJDIR)\mdbstubs.obj\ $(NULL) diff --git a/mozilla/mailnews/db/msgdb/src/nsDBFolderInfo.cpp b/mozilla/mailnews/db/msgdb/src/nsDBFolderInfo.cpp index dd418954fe7..a9d97752caf 100644 --- a/mozilla/mailnews/db/msgdb/src/nsDBFolderInfo.cpp +++ b/mozilla/mailnews/db/msgdb/src/nsDBFolderInfo.cpp @@ -179,22 +179,25 @@ nsresult nsDBFolderInfo::InitFromExistingDB() mdb_bool mustBeUnique; // whether port can hold only one of these ret = store->GetTableKind(m_mdb->GetEnv(), m_rowScopeToken, m_tableKindToken, &outTableCount, &mustBeUnique, &m_mdbTable); - NS_ASSERTION(mustBeUnique && outTableCount == 1, "only one global db info allowed"); +// NS_ASSERTION(mustBeUnique && outTableCount == 1, "only one global db info allowed"); - // find singleton row for global info. - ret = m_mdbTable->HasOid(m_mdb->GetEnv(), &gDBFolderInfoOID, &rowPos); - if (ret == NS_OK) + if (m_mdbTable) { - nsIMdbTableRowCursor *rowCursor; - rowPos = -1; - ret= m_mdbTable->GetTableRowCursor(m_mdb->GetEnv(), rowPos, &rowCursor); + // find singleton row for global info. + ret = m_mdbTable->HasOid(m_mdb->GetEnv(), &gDBFolderInfoOID, &rowPos); if (ret == NS_OK) { - ret = rowCursor->NextRow(m_mdb->GetEnv(), &m_mdbRow, &rowPos); - rowCursor->Release(); - if (ret == NS_OK && m_mdbRow) + nsIMdbTableRowCursor *rowCursor; + rowPos = -1; + ret= m_mdbTable->GetTableRowCursor(m_mdb->GetEnv(), rowPos, &rowCursor); + if (ret == NS_OK) { - LoadMemberVariables(); + ret = rowCursor->NextRow(m_mdb->GetEnv(), &m_mdbRow, &rowPos); + rowCursor->Release(); + if (ret == NS_OK && m_mdbRow) + { + LoadMemberVariables(); + } } } } diff --git a/mozilla/mailnews/db/msgdb/src/nsMailDatabase.cpp b/mozilla/mailnews/db/msgdb/src/nsMailDatabase.cpp index f4b359433d2..880d3e964b2 100644 --- a/mozilla/mailnews/db/msgdb/src/nsMailDatabase.cpp +++ b/mozilla/mailnews/db/msgdb/src/nsMailDatabase.cpp @@ -80,11 +80,9 @@ nsMailDatabase::~nsMailDatabase() stat (nativeFolderName, &st); PR_FREEIF(nativeFolderName); - summarySpec.Delete(PR_FALSE); // ### temporary hack until mork is persistent. nsresult err = NS_MSG_ERROR_FOLDER_SUMMARY_OUT_OF_DATE; - if (create && upgrading) // #### temporary hack until mork is persistent - err = mailDB->OpenMDB((const char *) summarySpec, create); + err = mailDB->OpenMDB((const char *) summarySpec, create); if (NS_SUCCEEDED(err)) { diff --git a/mozilla/mailnews/db/msgdb/src/nsMsgDatabase.cpp b/mozilla/mailnews/db/msgdb/src/nsMsgDatabase.cpp index d4e6f61bea6..9a7ca62a422 100644 --- a/mozilla/mailnews/db/msgdb/src/nsMsgDatabase.cpp +++ b/mozilla/mailnews/db/msgdb/src/nsMsgDatabase.cpp @@ -446,8 +446,8 @@ NS_IMETHODIMP nsMsgDatabase::OpenMDB(const char *dbName, PRBool create) } } while (NS_SUCCEEDED(ret) && !outBroken && !outDone); - m_mdbEnv->ClearErrors(); // ### temporary... - if (ret != 0 && NS_SUCCEEDED(ret) && outDone) +// m_mdbEnv->ClearErrors(); // ### temporary... + if (NS_SUCCEEDED(ret) && outDone) { ret = myMDBFactory->ThumbToOpenStore(m_mdbEnv, thumb, &m_mdbStore); if (ret == NS_OK && m_mdbStore) @@ -477,7 +477,7 @@ NS_IMETHODIMP nsMsgDatabase::OpenMDB(const char *dbName, PRBool create) NS_IMETHODIMP nsMsgDatabase::CloseMDB(PRBool commit) { -// --mRefCnt; don't decrement ref-count so we'll stay in memory until Mork files in and out. + --mRefCnt; PR_ASSERT(mRefCnt >= 0); if (mRefCnt == 0) { @@ -492,7 +492,7 @@ NS_IMETHODIMP nsMsgDatabase::CloseMDB(PRBool commit) } #endif if (m_mdbStore) - m_mdbStore->Release(); + m_mdbStore->CloseMdbObject(m_mdbEnv); // if this terrifies you, we can make it a static method delete this; return(NS_OK);