diff options
Diffstat (limited to 'innobase/row/row0row.c')
-rw-r--r-- | innobase/row/row0row.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/innobase/row/row0row.c b/innobase/row/row0row.c index 59169ef2a98..40a775143f4 100644 --- a/innobase/row/row0row.c +++ b/innobase/row/row0row.c @@ -455,12 +455,25 @@ row_build_row_ref_in_tuple( ulint pos; ulint i; - ut_ad(ref && index && rec); + ut_a(ref && index && rec); table = index->table; + + if (!table) { + fprintf(stderr, "InnoDB: table %s for index %s not found\n", + index->table_name, index->name); + ut_a(0); + } clust_index = dict_table_get_first_index(table); - + + if (!clust_index) { + fprintf(stderr, + "InnoDB: clust index for table %s for index %s not found\n", + index->table_name, index->name); + ut_a(0); + } + ref_len = dict_index_get_n_unique(clust_index); ut_ad(ref_len == dtuple_get_n_fields(ref)); @@ -555,6 +568,8 @@ row_search_on_row_ref( index = dict_table_get_first_index(table); + ut_a(dtuple_get_n_fields(ref) == dict_index_get_n_unique(index)); + btr_pcur_open(index, ref, PAGE_CUR_LE, mode, pcur, mtr); low_match = btr_pcur_get_low_match(pcur); |