lujiashun
lujiashun
it seems the function handler::max_supported_key_part_length results in the difference . innodb inherit the function,while tianmu/stonedb enginer didn't.
1. in myrocks5.6,storage\rocksdb\ha_rocksdb.cc ``` uint ha_rocksdb::max_supported_key_part_length() const { DBUG_ENTER_FUNC(); DBUG_RETURN(rocksdb_large_prefix ? MAX_INDEX_COL_LEN_LARGE : MAX_INDEX_COL_LEN_SMALL); } ``` #define MAX_INDEX_COL_LEN_LARGE 3072 #define MAX_INDEX_COL_LEN_SMALL 767 rocksdb_large_prefix default value is 0 2. in innodb,...
max_supported_key_length in tianmu is 1024, this limit the key length, innodb's value is 3500, myrocks's value is 16*1024; tianmu use rocksdb as storage, so use the value 16*1024; 1. innodb's...

DD table Reference: https://blog.csdn.net/solihawk/article/details/120427599
``` (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f4c0b096859 in __GI_abort () at abort.c:79 #2 0x00007f4c0b096729 in __assert_fail_base (fmt=0x7f4c0b22c588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x56370c43dfa0 "send_metadata || field_types == 0...
1 fisrtly, in debug mode,there is a assertion failure, just fix it; 2 secondly, the release version will not cause this assertion failure,and will give the result,but the result is...