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:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user