summaryrefslogtreecommitdiff
path: root/storage/innobase/pars
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/pars')
-rw-r--r--storage/innobase/pars/pars0opt.cc7
-rw-r--r--storage/innobase/pars/pars0pars.cc28
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));