diff options
Diffstat (limited to 'storage/innobase/pars')
-rw-r--r-- | storage/innobase/pars/pars0opt.cc | 7 | ||||
-rw-r--r-- | storage/innobase/pars/pars0pars.cc | 28 |
2 files changed, 20 insertions, 15 deletions
diff --git a/storage/innobase/pars/pars0opt.cc b/storage/innobase/pars/pars0opt.cc index 4874ce610ca..0cfd93d4120 100644 --- a/storage/innobase/pars/pars0opt.cc +++ b/storage/innobase/pars/pars0opt.cc @@ -205,7 +205,7 @@ opt_look_for_col_in_comparison_before( if (opt_check_exp_determined_before(exp, sel_node, nth_table)) { - *op = search_cond->func; + *op = ulint(search_cond->func); return(exp); } @@ -224,7 +224,8 @@ opt_look_for_col_in_comparison_before( if (opt_check_exp_determined_before(exp, sel_node, nth_table)) { - *op = opt_invert_cmp_op(search_cond->func); + *op = ulint(opt_invert_cmp_op( + search_cond->func)); return(exp); } @@ -1256,7 +1257,7 @@ opt_print_query_plan( fprintf(stderr, "Index %s of table %s" "; exact m. %lu, match %lu, end conds %lu\n", - plan->index->name(), plan->index->table_name, + plan->index->name(), plan->index->table->name.m_name, (unsigned long) plan->n_exact_match, (unsigned long) n_fields, (unsigned long) UT_LIST_GET_LEN(plan->end_conds)); diff --git a/storage/innobase/pars/pars0pars.cc b/storage/innobase/pars/pars0pars.cc index 991762673aa..6a187787c12 100644 --- a/storage/innobase/pars/pars0pars.cc +++ b/storage/innobase/pars/pars0pars.cc @@ -1,7 +1,7 @@ /***************************************************************************** Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved. -Copyright (c) 2019, MariaDB Corporation. +Copyright (c) 2018, 2019, MariaDB Corporation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -1040,7 +1040,7 @@ pars_update_statement_start( node = upd_node_create(pars_sym_tab_global->heap); - node->is_delete = is_delete; + node->is_delete = is_delete ? PLAIN_DELETE : NO_DELETE; node->table_sym = table_sym; node->col_assign_list = col_assign_list; @@ -1205,9 +1205,9 @@ pars_update_statement( node->select = sel_node; ut_a(!node->is_delete || (node->col_assign_list == NULL)); - ut_a(node->is_delete || (node->col_assign_list != NULL)); + ut_a(node->is_delete == PLAIN_DELETE || node->col_assign_list != NULL); - if (node->is_delete) { + if (node->is_delete == PLAIN_DELETE) { node->cmpl_info = 0; } else { pars_process_assign_list(node); @@ -1748,7 +1748,7 @@ pars_column_def( ulint len2; if (len) { - len2 = eval_node_get_int_val(len); + len2 = ulint(eval_node_get_int_val(len)); } else { len2 = 0; } @@ -1783,14 +1783,15 @@ pars_create_table( n_cols = que_node_list_get_len(column_defs); table = dict_mem_table_create( - table_sym->name, 0, n_cols, 0, flags, flags2); + table_sym->name, NULL, n_cols, 0, flags, flags2); + mem_heap_t* heap = pars_sym_tab_global->heap; column = column_defs; while (column) { dtype = dfield_get_type(que_node_get_val(column)); - dict_mem_table_add_col(table, table->heap, + dict_mem_table_add_col(table, heap, column->name, dtype->mtype, dtype->prtype, dtype->len); column->resolved = TRUE; @@ -1799,8 +1800,10 @@ pars_create_table( column = static_cast<sym_node_t*>(que_node_get_next(column)); } - node = tab_create_graph_create(table, pars_sym_tab_global->heap, - FIL_ENCRYPTION_DEFAULT, FIL_DEFAULT_ENCRYPTION_KEY); + dict_table_add_system_columns(table, heap); + node = tab_create_graph_create(table, heap, + FIL_ENCRYPTION_DEFAULT, + FIL_DEFAULT_ENCRYPTION_KEY); table_sym->resolved = TRUE; table_sym->token_type = SYM_TABLE; @@ -1840,7 +1843,7 @@ pars_create_index( ind_type = ind_type | DICT_CLUSTERED; } - index = dict_mem_index_create(table_sym->name, index_sym->name, 0, + index = dict_mem_index_create(NULL, index_sym->name, ind_type, n_fields); column = column_list; @@ -1853,7 +1856,8 @@ pars_create_index( column = static_cast<sym_node_t*>(que_node_get_next(column)); } - node = ind_create_graph_create(index, pars_sym_tab_global->heap, NULL); + node = ind_create_graph_create(index, table_sym->name, + pars_sym_tab_global->heap); table_sym->resolved = TRUE; table_sym->token_type = SYM_TABLE; @@ -2204,7 +2208,7 @@ pars_info_add_int4_literal( /*=======================*/ pars_info_t* info, /*!< in: info struct */ const char* name, /*!< in: name */ - lint val) /*!< in: value */ + ulint val) /*!< in: value */ { byte* buf = static_cast<byte*>(mem_heap_alloc(info->heap, 4)); |