handle case where mork is writing out an incremental change, and it's a remove row, and the row isn't in any table, but has dirty cells, 371672, sr=mscott
git-svn-id: svn://10.0.0.236/trunk@221075 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
444fe9e310
commit
7192b40e5e
@ -1457,6 +1457,19 @@ morkWriter::PutTableDict(morkEnv* ev, morkTable* ioTable)
|
||||
r->NonRowTypeError(ev);
|
||||
}
|
||||
}
|
||||
// we may have a change for a row which is no longer in the
|
||||
// table, but contains a cell with something not in the dictionary.
|
||||
// So, loop through the rows in the change log, writing out any
|
||||
// dirty dictionary elements.
|
||||
morkList* list = &ioTable->mTable_ChangeList;
|
||||
morkNext* next = list->GetListHead();
|
||||
while ( next && ev->Good() )
|
||||
{
|
||||
r = ((morkTableChange*) next)->mTableChange_Row;
|
||||
if ( r && r->IsRow() )
|
||||
this->PutRowDict(ev, r);
|
||||
next = next->GetNextLink();
|
||||
}
|
||||
}
|
||||
if ( ev->Good() )
|
||||
this->EndDict(ev);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user