mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge
include/my_base.h: Auto merged include/my_bitmap.h: Auto merged include/my_sys.h: Auto merged innobase/include/row0mysql.h: Auto merged innobase/row/row0sel.c: Auto merged mysys/my_bitmap.c: Auto merged sql/ha_berkeley.cc: Auto merged sql/ha_berkeley.h: Auto merged sql/ha_heap.h: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/handler.h: Auto merged sql/opt_range.cc: Auto merged sql/opt_range.h: Auto merged sql/sql_select.h: Auto merged
This commit is contained in:
@ -2499,4 +2499,29 @@ ha_rows ha_berkeley::estimate_number_of_rows()
|
||||
return share->rows + HA_BERKELEY_EXTRA_ROWS;
|
||||
}
|
||||
|
||||
int ha_berkeley::cmp_ref(const byte *ref1, const byte *ref2)
|
||||
{
|
||||
if (hidden_primary_key)
|
||||
return memcmp(ref1, ref2, BDB_HIDDEN_PRIMARY_KEY_LENGTH);
|
||||
|
||||
int result;
|
||||
Field *field;
|
||||
KEY *key_info=table->key_info+table->primary_key;
|
||||
KEY_PART_INFO *key_part=key_info->key_part;
|
||||
KEY_PART_INFO *end=key_part+key_info->key_parts;
|
||||
|
||||
for (; key_part != end; key_part++)
|
||||
{
|
||||
field= key_part->field;
|
||||
result= field->pack_cmp((const char*)ref1, (const char*)ref2,
|
||||
key_part->length);
|
||||
if (result)
|
||||
return result;
|
||||
ref1 += field->packed_col_length((const char*)ref1, key_part->length);
|
||||
ref2 += field->packed_col_length((const char*)ref2, key_part->length);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* HAVE_BERKELEY_DB */
|
||||
|
Reference in New Issue
Block a user