• Leif Walsh's avatar
    implement db->get_key_after_bytes closes #18 · 8dc0827b
    Leif Walsh authored
    squashed commits:
    
    create db->get_key_after_bytes() api down to the ft layer, and start a unit test
    refs #18
    
    setup/teardown for get_key_after_bytes test
    refs #18
    
    rename test because it really is going to be a small unit test
    refs #18
    
    implement a few initial checks
    refs #18
    
    adding actually_skipped parameter because we will want it in splitVector
    refs #18
    
    NULL -> nullptr, I'm rusty from mongo work
    refs #18
    
    fix some old apis to fit what get_key_after_bytes needs:
    
    make keyrange_compare_s hold an FT instead of FT_HANDLE to prepare for reuse refs #18
    
    make keyrange_compare_s hold a const dbt refs #18
    
    fix const-correctness of fill_bfe functions refs #18
    
    add unit test for an empty dictionary
    refs #18
    
    implement get_key_after_bytes for a single basement node, passes simple tests
    refs #18
    
    add test for multiple basement nodes
    refs #18
    
    fix usage of ft_search_t, we do need a full one after all
    refs #18
    
    check actually_skipped for correctness (even though it's an estimate)
    refs #18
    
    restructure test to be faster, and test keys before the beginning of the table
    refs #18
    
    don't try to read in the right basement node, just check the bns you have
    refs #18
    
    implement get_key_after_bytes for height > 0 trees
    refs #18
    
    return the amount skipped even if we hit the end of the table
    refs #18
    
    add inexact test for height > 0 trees, adjust constants so it's faster
    refs #18
    
    don't do I/O to bring in basement nodes just for get_key_after_bytes
    refs #18
    
    don't blindly check the first basement node, it's not guaranteed to be there anymore
    refs #18
    
    fix leak in get_key_after_bytes_unit.tdb
    refs #18
    
    add get_key_after_bytes to test_stress5
    refs #18
    
    switch to a callback API to save mallocs and memcpys
    refs #18
    8dc0827b
ydb_db.cc 39.5 KB