From 3f619478f796eddbba6e39502fe941b285dd97b1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 20:00:34 +0200 Subject: Adding upstream version 1:10.11.6. Signed-off-by: Daniel Baumann --- mysql-test/main/long_unique_debug.result | 579 +++++++++++++++++++++++++++++++ 1 file changed, 579 insertions(+) create mode 100644 mysql-test/main/long_unique_debug.result (limited to 'mysql-test/main/long_unique_debug.result') diff --git a/mysql-test/main/long_unique_debug.result b/mysql-test/main/long_unique_debug.result new file mode 100644 index 00000000..fb56a9d0 --- /dev/null +++ b/mysql-test/main/long_unique_debug.result @@ -0,0 +1,579 @@ +#In this test case we will check what will happen in the case of hash collision +SET debug_dbug="d,same_long_unique_hash"; +create table t1(a blob unique); +FLUSH STATUS; +insert into t1 values('xyz'); +insert into t1 values('abc'); +insert into t1 values('sachin'); +insert into t1 values('sachin'); +ERROR 23000: Duplicate entry 'sachin' for key 'a' +insert into t1 values('maria'); +insert into t1 values('maria'); +ERROR 23000: Duplicate entry 'maria' for key 'a' +drop table t1; +SHOW STATUS LIKE 'handler_read_next'; +Variable_name Value +Handler_read_next 11 +SET debug_dbug=""; +create table t1(a blob unique); +FLUSH STATUS; +insert into t1 values('xyz'); +insert into t1 values('abc'); +insert into t1 values('sachin'); +insert into t1 values('sachin'); +ERROR 23000: Duplicate entry 'sachin' for key 'a' +insert into t1 values('maria'); +insert into t1 values('maria'); +ERROR 23000: Duplicate entry 'maria' for key 'a' +drop table t1; +SHOW STATUS LIKE 'handler_read_next'; +Variable_name Value +Handler_read_next 0 +SET debug_dbug="d,same_long_unique_hash"; +create table t1(a blob unique, b blob unique); +insert into t1 values('xyz', 11); +insert into t1 values('abc', 22); +insert into t1 values('sachin', 1); +insert into t1 values('sachin', 4); +ERROR 23000: Duplicate entry 'sachin' for key 'a' +insert into t1 values('maria', 2); +insert into t1 values('maria', 3); +ERROR 23000: Duplicate entry 'maria' for key 'a' +drop table t1; +create table t1(a blob , b blob , unique(a,b)); +insert into t1 values('xyz', 11); +insert into t1 values('abc', 22); +insert into t1 values('sachin', 1); +insert into t1 values('sachin', 1); +ERROR 23000: Duplicate entry 'sachin-1' for key 'a' +insert into t1 values('maria', 2); +insert into t1 values('maria', 2); +ERROR 23000: Duplicate entry 'maria-2' for key 'a' +drop table t1; +##Internal State of long unique tables +SET debug_dbug="d,print_long_unique_internal_state"; +create table t1 ( a blob unique); +Warnings: +Note 1 Printing Table state, It will print table fields, fields->offset,field->null_bit, field->null_pos and key_info ... + +Printing Table keyinfo + +table->s->reclength 19 +table->s->fields 2 + +table->key_info[0] user_defined_key_parts = 1 +table->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[0] flags & HA_NOSAME = 0 + +table->s->key_info[0] user_defined_key_parts = 1 +table->s->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[0] flags & HA_NOSAME = 1 + +Printing table->key_info[0].key_part[0] info +key_part->offset = 11 +key_part->field_name = DB_ROW_HASH_1 +key_part->length = 8 +key_part->null_bit = 2 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 0 +key_part->null_bit = 1 +key_part->null_offset = 0 + +Printing table->fields + +table->field[0]->field_name a +table->field[0]->offset = 1 +table->field[0]->field_length = 10 +table->field[0]->null_pos wrt to record 0 = 0 +table->field[0]->null_bit_pos = 1 + +table->field[1]->field_name DB_ROW_HASH_1 +table->field[1]->offset = 11 +table->field[1]->field_length = 8 +table->field[1]->null_pos wrt to record 0 = 0 +table->field[1]->null_bit_pos = 2 + +SET debug_dbug=""; +drop table t1; +SET debug_dbug="d,print_long_unique_internal_state"; +create table t1 ( a blob unique, b blob unique , c blob unique); +Warnings: +Note 1 Printing Table state, It will print table fields, fields->offset,field->null_bit, field->null_pos and key_info ... + +Printing Table keyinfo + +table->s->reclength 55 +table->s->fields 6 + +table->key_info[0] user_defined_key_parts = 1 +table->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[0] flags & HA_NOSAME = 0 + +table->s->key_info[0] user_defined_key_parts = 1 +table->s->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[0] flags & HA_NOSAME = 1 + +Printing table->key_info[0].key_part[0] info +key_part->offset = 31 +key_part->field_name = DB_ROW_HASH_1 +key_part->length = 8 +key_part->null_bit = 8 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 0 +key_part->null_bit = 1 +key_part->null_offset = 0 + +table->key_info[1] user_defined_key_parts = 1 +table->key_info[1] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[1] flags & HA_NOSAME = 0 + +table->s->key_info[1] user_defined_key_parts = 1 +table->s->key_info[1] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[1] flags & HA_NOSAME = 1 + +Printing table->key_info[1].key_part[0] info +key_part->offset = 39 +key_part->field_name = DB_ROW_HASH_2 +key_part->length = 8 +key_part->null_bit = 16 +key_part->null_offset = 0 + +Printing share->key_info[1].key_part[0] info +key_part->offset = 11 +key_part->field_name = b +key_part->length = 0 +key_part->null_bit = 2 +key_part->null_offset = 0 + +table->key_info[2] user_defined_key_parts = 1 +table->key_info[2] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[2] flags & HA_NOSAME = 0 + +table->s->key_info[2] user_defined_key_parts = 1 +table->s->key_info[2] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[2] flags & HA_NOSAME = 1 + +Printing table->key_info[2].key_part[0] info +key_part->offset = 47 +key_part->field_name = DB_ROW_HASH_3 +key_part->length = 8 +key_part->null_bit = 32 +key_part->null_offset = 0 + +Printing share->key_info[2].key_part[0] info +key_part->offset = 21 +key_part->field_name = c +key_part->length = 0 +key_part->null_bit = 4 +key_part->null_offset = 0 + +Printing table->fields + +table->field[0]->field_name a +table->field[0]->offset = 1 +table->field[0]->field_length = 10 +table->field[0]->null_pos wrt to record 0 = 0 +table->field[0]->null_bit_pos = 1 + +table->field[1]->field_name b +table->field[1]->offset = 11 +table->field[1]->field_length = 10 +table->field[1]->null_pos wrt to record 0 = 0 +table->field[1]->null_bit_pos = 2 + +table->field[2]->field_name c +table->field[2]->offset = 21 +table->field[2]->field_length = 10 +table->field[2]->null_pos wrt to record 0 = 0 +table->field[2]->null_bit_pos = 4 + +table->field[3]->field_name DB_ROW_HASH_1 +table->field[3]->offset = 31 +table->field[3]->field_length = 8 +table->field[3]->null_pos wrt to record 0 = 0 +table->field[3]->null_bit_pos = 8 + +table->field[4]->field_name DB_ROW_HASH_2 +table->field[4]->offset = 39 +table->field[4]->field_length = 8 +table->field[4]->null_pos wrt to record 0 = 0 +table->field[4]->null_bit_pos = 16 + +table->field[5]->field_name DB_ROW_HASH_3 +table->field[5]->offset = 47 +table->field[5]->field_length = 8 +table->field[5]->null_pos wrt to record 0 = 0 +table->field[5]->null_bit_pos = 32 + +SET debug_dbug=""; +drop table t1; +SET debug_dbug="d,print_long_unique_internal_state"; +create table t1 ( a blob , b blob , c blob , d blob , unique (a,b), unique(c, d)); +Warnings: +Note 1 Printing Table state, It will print table fields, fields->offset,field->null_bit, field->null_pos and key_info ... + +Printing Table keyinfo + +table->s->reclength 57 +table->s->fields 6 + +table->key_info[0] user_defined_key_parts = 1 +table->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[0] flags & HA_NOSAME = 0 + +table->s->key_info[0] user_defined_key_parts = 2 +table->s->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[0] flags & HA_NOSAME = 1 + +Printing table->key_info[0].key_part[0] info +key_part->offset = 41 +key_part->field_name = DB_ROW_HASH_1 +key_part->length = 8 +key_part->null_bit = 16 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 0 +key_part->null_bit = 1 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[1] info +key_part->offset = 11 +key_part->field_name = b +key_part->length = 0 +key_part->null_bit = 2 +key_part->null_offset = 0 + +table->key_info[1] user_defined_key_parts = 1 +table->key_info[1] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[1] flags & HA_NOSAME = 0 + +table->s->key_info[1] user_defined_key_parts = 2 +table->s->key_info[1] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[1] flags & HA_NOSAME = 1 + +Printing table->key_info[1].key_part[0] info +key_part->offset = 49 +key_part->field_name = DB_ROW_HASH_2 +key_part->length = 8 +key_part->null_bit = 32 +key_part->null_offset = 0 + +Printing share->key_info[1].key_part[0] info +key_part->offset = 21 +key_part->field_name = c +key_part->length = 0 +key_part->null_bit = 4 +key_part->null_offset = 0 + +Printing share->key_info[1].key_part[1] info +key_part->offset = 31 +key_part->field_name = d +key_part->length = 0 +key_part->null_bit = 8 +key_part->null_offset = 0 + +Printing table->fields + +table->field[0]->field_name a +table->field[0]->offset = 1 +table->field[0]->field_length = 10 +table->field[0]->null_pos wrt to record 0 = 0 +table->field[0]->null_bit_pos = 1 + +table->field[1]->field_name b +table->field[1]->offset = 11 +table->field[1]->field_length = 10 +table->field[1]->null_pos wrt to record 0 = 0 +table->field[1]->null_bit_pos = 2 + +table->field[2]->field_name c +table->field[2]->offset = 21 +table->field[2]->field_length = 10 +table->field[2]->null_pos wrt to record 0 = 0 +table->field[2]->null_bit_pos = 4 + +table->field[3]->field_name d +table->field[3]->offset = 31 +table->field[3]->field_length = 10 +table->field[3]->null_pos wrt to record 0 = 0 +table->field[3]->null_bit_pos = 8 + +table->field[4]->field_name DB_ROW_HASH_1 +table->field[4]->offset = 41 +table->field[4]->field_length = 8 +table->field[4]->null_pos wrt to record 0 = 0 +table->field[4]->null_bit_pos = 16 + +table->field[5]->field_name DB_ROW_HASH_2 +table->field[5]->offset = 49 +table->field[5]->field_length = 8 +table->field[5]->null_pos wrt to record 0 = 0 +table->field[5]->null_bit_pos = 32 + +SET debug_dbug=""; +drop table t1; +SET debug_dbug="d,print_long_unique_internal_state"; +create table t1(a int primary key, b blob unique , c blob unique not null); +Warnings: +Note 1 Printing Table state, It will print table fields, fields->offset,field->null_bit, field->null_pos and key_info ... + +Printing Table keyinfo + +table->s->reclength 41 +table->s->fields 5 + +table->key_info[0] user_defined_key_parts = 1 +table->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 0 +table->key_info[0] flags & HA_NOSAME = 1 + +table->s->key_info[0] user_defined_key_parts = 1 +table->s->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 0 +table->s->key_info[0] flags & HA_NOSAME = 1 + +Printing table->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 4 +key_part->null_bit = 0 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 4 +key_part->null_bit = 0 +key_part->null_offset = 0 + +table->key_info[1] user_defined_key_parts = 1 +table->key_info[1] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[1] flags & HA_NOSAME = 0 + +table->s->key_info[1] user_defined_key_parts = 1 +table->s->key_info[1] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[1] flags & HA_NOSAME = 1 + +Printing table->key_info[1].key_part[0] info +key_part->offset = 25 +key_part->field_name = DB_ROW_HASH_1 +key_part->length = 8 +key_part->null_bit = 2 +key_part->null_offset = 0 + +Printing share->key_info[1].key_part[0] info +key_part->offset = 5 +key_part->field_name = b +key_part->length = 0 +key_part->null_bit = 1 +key_part->null_offset = 0 + +table->key_info[2] user_defined_key_parts = 1 +table->key_info[2] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[2] flags & HA_NOSAME = 0 + +table->s->key_info[2] user_defined_key_parts = 1 +table->s->key_info[2] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[2] flags & HA_NOSAME = 1 + +Printing table->key_info[2].key_part[0] info +key_part->offset = 33 +key_part->field_name = DB_ROW_HASH_2 +key_part->length = 8 +key_part->null_bit = 0 +key_part->null_offset = 0 + +Printing share->key_info[2].key_part[0] info +key_part->offset = 15 +key_part->field_name = c +key_part->length = 0 +key_part->null_bit = 0 +key_part->null_offset = 0 + +Printing table->fields + +table->field[0]->field_name a +table->field[0]->offset = 1 +table->field[0]->field_length = 4 +table->field[0]->null_pos wrt to record 0 = -1 +table->field[0]->null_bit_pos = 0 + +table->field[1]->field_name b +table->field[1]->offset = 5 +table->field[1]->field_length = 10 +table->field[1]->null_pos wrt to record 0 = 0 +table->field[1]->null_bit_pos = 1 + +table->field[2]->field_name c +table->field[2]->offset = 15 +table->field[2]->field_length = 10 +table->field[2]->null_pos wrt to record 0 = -1 +table->field[2]->null_bit_pos = 0 + +table->field[3]->field_name DB_ROW_HASH_1 +table->field[3]->offset = 25 +table->field[3]->field_length = 8 +table->field[3]->null_pos wrt to record 0 = 0 +table->field[3]->null_bit_pos = 2 + +table->field[4]->field_name DB_ROW_HASH_2 +table->field[4]->offset = 33 +table->field[4]->field_length = 8 +table->field[4]->null_pos wrt to record 0 = -1 +table->field[4]->null_bit_pos = 0 + +SET debug_dbug=""; +drop table t1; +##Using hash +SET debug_dbug="d,print_long_unique_internal_state"; +create table t1(a int ,b int , c int, unique(a, b, c) using hash); +Warnings: +Note 1 Printing Table state, It will print table fields, fields->offset,field->null_bit, field->null_pos and key_info ... + +Printing Table keyinfo + +table->s->reclength 21 +table->s->fields 4 + +table->key_info[0] user_defined_key_parts = 1 +table->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->key_info[0] flags & HA_NOSAME = 0 + +table->s->key_info[0] user_defined_key_parts = 3 +table->s->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 1 +table->s->key_info[0] flags & HA_NOSAME = 1 + +Printing table->key_info[0].key_part[0] info +key_part->offset = 13 +key_part->field_name = DB_ROW_HASH_1 +key_part->length = 8 +key_part->null_bit = 16 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 4 +key_part->null_bit = 2 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[1] info +key_part->offset = 5 +key_part->field_name = b +key_part->length = 4 +key_part->null_bit = 4 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[2] info +key_part->offset = 9 +key_part->field_name = c +key_part->length = 4 +key_part->null_bit = 8 +key_part->null_offset = 0 + +Printing table->fields + +table->field[0]->field_name a +table->field[0]->offset = 1 +table->field[0]->field_length = 4 +table->field[0]->null_pos wrt to record 0 = 0 +table->field[0]->null_bit_pos = 2 + +table->field[1]->field_name b +table->field[1]->offset = 5 +table->field[1]->field_length = 4 +table->field[1]->null_pos wrt to record 0 = 0 +table->field[1]->null_bit_pos = 4 + +table->field[2]->field_name c +table->field[2]->offset = 9 +table->field[2]->field_length = 4 +table->field[2]->null_pos wrt to record 0 = 0 +table->field[2]->null_bit_pos = 8 + +table->field[3]->field_name DB_ROW_HASH_1 +table->field[3]->offset = 13 +table->field[3]->field_length = 8 +table->field[3]->null_pos wrt to record 0 = 0 +table->field[3]->null_bit_pos = 16 + +SET debug_dbug=""; +drop table t1; +##Using hash but with memory engine so no long unique column +SET debug_dbug="d,print_long_unique_internal_state"; +create table t1(a int ,b int , c int, unique(a, b, c) using hash) engine=memory; +Warnings: +Note 1 Printing Table state, It will print table fields, fields->offset,field->null_bit, field->null_pos and key_info ... + +Printing Table keyinfo + +table->s->reclength 13 +table->s->fields 3 + +table->key_info[0] user_defined_key_parts = 3 +table->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 0 +table->key_info[0] flags & HA_NOSAME = 1 + +table->s->key_info[0] user_defined_key_parts = 3 +table->s->key_info[0] algorithm == HA_KEY_ALG_LONG_HASH = 0 +table->s->key_info[0] flags & HA_NOSAME = 1 + +Printing table->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 4 +key_part->null_bit = 2 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[0] info +key_part->offset = 1 +key_part->field_name = a +key_part->length = 4 +key_part->null_bit = 2 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[1] info +key_part->offset = 5 +key_part->field_name = b +key_part->length = 4 +key_part->null_bit = 4 +key_part->null_offset = 0 + +Printing share->key_info[0].key_part[2] info +key_part->offset = 9 +key_part->field_name = c +key_part->length = 4 +key_part->null_bit = 8 +key_part->null_offset = 0 + +Printing table->fields + +table->field[0]->field_name a +table->field[0]->offset = 1 +table->field[0]->field_length = 4 +table->field[0]->null_pos wrt to record 0 = 0 +table->field[0]->null_bit_pos = 2 + +table->field[1]->field_name b +table->field[1]->offset = 5 +table->field[1]->field_length = 4 +table->field[1]->null_pos wrt to record 0 = 0 +table->field[1]->null_bit_pos = 4 + +table->field[2]->field_name c +table->field[2]->offset = 9 +table->field[2]->field_length = 4 +table->field[2]->null_pos wrt to record 0 = 0 +table->field[2]->null_bit_pos = 8 + +SET debug_dbug=""; +drop table t1; -- cgit v1.2.3