allow mork to open db's with more than 64K rows, with help from leon.zhang@sun.com r=cavin, sr=alecf, 105497

git-svn-id: svn://10.0.0.236/trunk@130350 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bienvenu%netscape.com
2002-09-24 14:11:01 +00:00
parent 537ca4e14f
commit a72ce9bd34
4 changed files with 9 additions and 11 deletions

View File

@@ -108,7 +108,7 @@ morkRowObject::morkRowObject(morkEnv* ev,
if ( ioRow && ioStore )
{
mRowObject_Row = ioRow;
morkStore::SlotWeakStore(ioStore, ev, &mRowObject_Store);
mRowObject_Store = ioStore; // morkRowObjects don't ref-cnt the owning store.
if ( ev->Good() )
mNode_Derived = morkDerived_kRowObject;
@@ -609,8 +609,7 @@ morkRowObject::CloseRowObject(morkEnv* ev) // called by CloseMorkNode();
{
row->mRow_Object = 0; // just nil this slot -- cut ref down below
morkStore::SlotWeakStore((morkStore*) 0, ev,
&mRowObject_Store);
mRowObject_Store = 0; // morkRowObjects don't ref-cnt the owning store.
this->CutWeakRef(ev->AsMdbEnv()); // do last, because it might self destroy
}

View File

@@ -58,7 +58,7 @@ public: // state is public because the entire Mork system is private
NS_DECL_ISUPPORTS_INHERITED
morkRow* mRowObject_Row; // non-refcounted alias to morkRow
morkStore* mRowObject_Store; // weak ref to store containing row
morkStore* mRowObject_Store; // non-refcounted ptr to store containing row
// { ===== begin morkNode interface =====
public: // morkNode virtual methods

View File

@@ -149,8 +149,8 @@ morkTable::morkTable(morkEnv* ev, /*i*/
{
if ( inMustBeUnique )
this->SetTableUnique();
morkStore::SlotWeakStore(ioStore, ev, &mTable_Store);
morkRowSpace::SlotWeakRowSpace(ioRowSpace, ev, &mTable_RowSpace);
mTable_Store = ioStore;
mTable_RowSpace = ioRowSpace;
if ( inOptionalMetaRowOid )
mTable_MetaRowOid = *inOptionalMetaRowOid;
else
@@ -187,9 +187,8 @@ morkTable::CloseTable(morkEnv* ev) /*i*/ // called by CloseMorkNode();
morkRowMap::SlotStrongRowMap((morkRowMap*) 0, ev, &mTable_RowMap);
// mTable_RowMap.CloseMorkNode(ev);
mTable_RowArray.CloseMorkNode(ev);
morkStore::SlotWeakStore((morkStore*) 0, ev, &mTable_Store);
morkRowSpace::SlotWeakRowSpace((morkRowSpace*) 0,
ev, &mTable_RowSpace);
mTable_Store = 0;
mTable_RowSpace = 0;
this->MarkShut();
}
else

View File

@@ -429,10 +429,10 @@ public: // state is public because the entire Mork system is private
mdb_column inColumn); // the column to index if ever sorted
// } ----- end index methods -----
morkStore* mTable_Store; // weak ref to port
morkStore* mTable_Store; // non-refcnted ptr to port
// mTable_RowSpace->SpaceScope() is row scope
morkRowSpace* mTable_RowSpace; // weak ref to containing space
morkRowSpace* mTable_RowSpace; // non-refcnted ptr to containing space
morkRow* mTable_MetaRow; // table's actual meta row
mdbOid mTable_MetaRowOid; // oid for meta row