+ next = mblock->next;
+ if (mblock->state == IS_MBSTATE_DIRTY && mblock->num_records == 0)
+ {
+ if (last)
+ {
+ last->next = mblock->next;
+ last->state = IS_MBSTATE_DIRTY;
+ next = mblock->next;
+ }
+ else
+ {
+ tab->data = tab->data->next;
+ tab->data->state = IS_MBSTATE_DIRTY;
+ next = tab->data;
+ }
+ if (mblock->diskpos >= 0)
+ is_freestore_free(tab->is, tab->pos_type, mblock->diskpos);
+ xrelease_mblock(mblock);
+ }
+ else if (mblock->state == IS_MBSTATE_DIRTY && mblock->num_records >