Refs Tokutek/ft-index#46 Add dynamic-value omt clone

Refs Tokutek/ft-index#46 bndata uses dmt instead of omt

snapshot

snapshot

snapshot: conver omtdata to struct instead of struct*

snapshot: convers adding le_offset to klpair

Implemented more.. snapshot

Implemented more.. snapshot

implement delete/free

snapshot, finished implementing bndata

fix a few bugs, maintain key sizes

fix incorrect assert

Make nodes not be packed, fixes uses of copy constructor

Fix a couple of bugs

fix compiler warnings

do 4 byte alignment for dmt nodes, and 64 byte alignment for all mempools.

Bugfix in delete: when swapping nodes, take over rebalance responsibility (when appropriate)

Refactored dmt such that nodes (dmt) is responsible for knowing the dynamic size instead of klpair.  Old "non-dynamic" tree & array format now very broken, dynamic version still works

snapshot in making 3 representations of dmt

snapshot

snapshot

snapshot.  Includes convert array to ctree, convert array to dtree

snapshot

snapshot with bugfixes

snapshot with bugfixes

disable array for testing

snapshot

fixed bugs with array format regarding length (needs to be this->value_length instead of sizeof(dmtdata_t))

minor changes for optimized compile without warnings

Bugfix for Tokutek/ft-index#46 Calculate initial disk size correctly.

Refs Tokutek/ft-index#46 make ft-serialize-test work with branch 46

Clean up unused code in dmt

Refs Tokutek/ft-index#46 Implement dmt builder to increase speed of deserialize and rebalance

add comment

Bugfix with accessing sizes (num elements) in dmt builder

bugfix for having 0 values in a builder

Fix ft-serialize-test to not use large stack structures

added engine status counters

Refs Tokutek/ft-index#46 reduce memory usage on "upgrade" to split key/val

Refs Tokutek/ft-index#46 fix bug in cachetable node accounting, count the dbts

Refs Tokutek/ft-index#46 Try to fix cachetable node-size accounting.  INTRODUCES two bugs into dmt/omt whereby we may claim too little memory usage

Reverting changes to cachetable accounting in omt/dmt

add invariant

Support 0 children nodes

Initial attempt at speeding (de)serialization

Updated serialize-benchmark

Improved speed/fixed valgrind by zeroing out all pad bytes before serializing

Change disk format to not store keys aligned ((de)serialization aligns/unaligns the keys

compile bugfixes

Prepare to serialize before doing so

fix (no longer correct) asserts

fix loading of empty basements

fix overactive assert

fix loading of empty basements

More fixes for empty basements, properly deal with start_idx != 0, convert to array when necessary before serializing

Fix bug with counting key sizes, move HEADER_LENGTH outside responsibility of disk size of basement, simplify dmt

Fix bug in calculating leafentry sizes, and clean up header calculation

reduce size of elements due to slightly larger overhead in leaves

Add some tests, rename test wrappers, remove unused functions

add dmt test

improve dmt tests

fix compile for dmt-test

Maintain same value length status until we actually have a heterogenous dmt.  We only restore that status if the dmt is recreated or becomes empty

Optimization for serial inserts and mempool