- if( bt_insertslot (mgr, set, slot, key->key, key->len, NULL, 0, Delete) )
- return mgr->err;
+ if( !mgr->type )
+ if( slot = bt_cleanpage(mgr, set, key->len, slot, 0) )
+ return bt_insertslot (mgr, set, slot, key->key, key->len, NULL, 0, Delete);
+ else { // split page before inserting Delete slot
+ if( entry = bt_splitpage (mgr, set, thread_no, 0) )
+ latch = mgr->leafsets + entry;
+ else
+ return mgr->err;
+
+ // splice right page into split chain
+ // and WriteLock it
+
+ bt_lockpage(BtLockWrite, latch, thread_no, __LINE__);
+ latch->split = set->latch->split;
+ set->latch->split = entry;
+
+ // clear slot number for atomic page
+
+ locks[src].slot = 0;
+ continue;
+ }
+ else
+ return 0;