summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-04-03 11:22:51 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2019-04-03 11:22:51 +0300
commitc6b8b05be48d7cc7a3a46063bf4dee269d7d5609 (patch)
tree75983aff9e643020e1325cf94c8a1d4fa6281871
parent977d7a7572ce97b1f21bfef8531a5c574f518ba2 (diff)
parent03672a0573566cdb31a5ad3a925f80d2560ebc9b (diff)
downloadmariadb-git-c6b8b05be48d7cc7a3a46063bf4dee269d7d5609.tar.gz
Merge 10.2 into 10.3
-rw-r--r--cmake/cpack_rpm.cmake2
-rw-r--r--mysql-test/suite/roles/flush_roles-17898.result27
-rw-r--r--mysql-test/suite/roles/flush_roles-17898.test25
-rw-r--r--plugin/auth_gssapi/cmake/FindGSSAPI.cmake2
-rw-r--r--sql/sql_acl.cc2
-rw-r--r--storage/innobase/buf/buf0buddy.cc3
-rw-r--r--storage/innobase/data/data0data.cc4
-rw-r--r--storage/innobase/dict/dict0dict.cc22
-rw-r--r--storage/innobase/dict/dict0mem.cc1
-rw-r--r--storage/innobase/handler/handler0alter.cc12
-rw-r--r--storage/innobase/include/data0data.ic29
-rw-r--r--storage/innobase/include/data0type.h2
-rw-r--r--storage/innobase/include/dict0dict.h9
-rw-r--r--storage/innobase/include/dict0dict.ic43
-rw-r--r--storage/innobase/include/rem0rec.ic9
-rw-r--r--storage/innobase/rem/rem0rec.cc20
-rw-r--r--storage/innobase/row/row0ftsort.cc3
-rw-r--r--storage/innobase/row/row0ins.cc6
-rw-r--r--storage/innobase/row/row0merge.cc2
-rw-r--r--storage/innobase/row/row0mysql.cc1
-rw-r--r--storage/innobase/row/row0purge.cc2
-rw-r--r--storage/innobase/row/row0row.cc5
-rw-r--r--storage/innobase/row/row0upd.cc5
-rw-r--r--storage/innobase/trx/trx0rec.cc8
-rw-r--r--storage/tokudb/PerconaFT/ftcxx/tests/CMakeLists.txt4
25 files changed, 78 insertions, 170 deletions
diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
index 7f24232242c..44438d99141 100644
--- a/cmake/cpack_rpm.cmake
+++ b/cmake/cpack_rpm.cmake
@@ -85,6 +85,8 @@ SET(CPACK_RPM_SPEC_MORE_DEFINE "
%define restart_flag %{restart_flag_dir}/need-restart
%{?filter_setup:
+%filter_provides_in \\\\.\\\\(test\\\\|result\\\\|h\\\\|cc\\\\|c\\\\|inc\\\\|opt\\\\|ic\\\\|cnf\\\\|rdiff\\\\|cpp\\\\)$
+%filter_requires_in \\\\.\\\\(test\\\\|result\\\\|h\\\\|cc\\\\|c\\\\|inc\\\\|opt\\\\|ic\\\\|cnf\\\\|rdiff\\\\|cpp\\\\)$
%filter_from_provides /perl(\\\\(mtr\\\\|My::\\\\)/d
%filter_from_requires /\\\\(lib\\\\(ft\\\\|lzma\\\\|tokuportability\\\\)\\\\)\\\\|\\\\(perl(\\\\(.*mtr\\\\|My::\\\\|.*HandlerSocket\\\\|Mysql\\\\)\\\\)/d
%filter_setup
diff --git a/mysql-test/suite/roles/flush_roles-17898.result b/mysql-test/suite/roles/flush_roles-17898.result
index dbe6ea24afd..ae8fb0a27d2 100644
--- a/mysql-test/suite/roles/flush_roles-17898.result
+++ b/mysql-test/suite/roles/flush_roles-17898.result
@@ -11,3 +11,30 @@ flush privileges;
drop role dwr_foo;
drop role dwr_bar;
drop role dwr_qux_dev;
+use test;
+create table db_copy as select * from mysql.db;
+delete from mysql.db;
+flush privileges;
+create user u1@localhost;
+create role r1;
+create role r2;
+grant r1 to u1@localhost;
+grant select on test.* to r2;
+grant select on m_.* to r2;
+grant r2 to r1;
+show grants for u1@localhost;
+Grants for u1@localhost
+GRANT r1 TO 'u1'@'localhost'
+GRANT USAGE ON *.* TO 'u1'@'localhost'
+show grants for r1;
+Grants for r1
+GRANT r2 TO 'r1'
+GRANT USAGE ON *.* TO 'r1'
+GRANT USAGE ON *.* TO 'r2'
+GRANT SELECT ON `test`.* TO 'r2'
+GRANT SELECT ON `m_`.* TO 'r2'
+drop user u1@localhost;
+drop role r1, r2;
+insert mysql.db select * from db_copy;
+flush privileges;
+drop table db_copy;
diff --git a/mysql-test/suite/roles/flush_roles-17898.test b/mysql-test/suite/roles/flush_roles-17898.test
index 6a3b8d6f345..22568196c30 100644
--- a/mysql-test/suite/roles/flush_roles-17898.test
+++ b/mysql-test/suite/roles/flush_roles-17898.test
@@ -1,3 +1,4 @@
+source include/not_embedded.inc;
#
# MDEV-17898 FLUSH PRIVILEGES crashes server with segfault
#
@@ -9,3 +10,27 @@ flush privileges;
drop role dwr_foo;
drop role dwr_bar;
drop role dwr_qux_dev;
+use test;
+
+#
+# MDEV-18298 Crashes server with segfault during role grants
+#
+create table db_copy as select * from mysql.db;
+delete from mysql.db;
+flush privileges;
+
+create user u1@localhost;
+create role r1;
+create role r2;
+grant r1 to u1@localhost;
+grant select on test.* to r2;
+grant select on m_.* to r2;
+grant r2 to r1;
+show grants for u1@localhost;
+show grants for r1;
+drop user u1@localhost;
+drop role r1, r2;
+
+insert mysql.db select * from db_copy;
+flush privileges;
+drop table db_copy;
diff --git a/plugin/auth_gssapi/cmake/FindGSSAPI.cmake b/plugin/auth_gssapi/cmake/FindGSSAPI.cmake
index cc8e62d1ca7..67309eed1ee 100644
--- a/plugin/auth_gssapi/cmake/FindGSSAPI.cmake
+++ b/plugin/auth_gssapi/cmake/FindGSSAPI.cmake
@@ -40,7 +40,7 @@ if(GSSAPI_LIBS AND GSSAPI_FLAVOR)
else(GSSAPI_LIBS AND GSSAPI_FLAVOR)
find_program(KRB5_CONFIG NAMES krb5-config heimdal-krb5-config PATHS
- /opt/local/bin
+ /opt/local/bin /usr/lib/mit/bin
ONLY_CMAKE_FIND_ROOT_PATH # this is required when cross compiling with cmake 2.6 and ignored with cmake 2.4, Alex
)
mark_as_advanced(KRB5_CONFIG)
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 0b1749fd10d..4ffb2c8b8f1 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -5879,7 +5879,7 @@ static bool merge_role_db_privileges(ACL_ROLE *grantee, const char *dbname,
ulong access= 0, update_flags= 0;
for (int *p= dbs.front(); p <= dbs.back(); p++)
{
- if (first<0 || (!dbname && strcmp(acl_dbs.at(*p).db, acl_dbs.at(*p-1).db)))
+ if (first<0 || (!dbname && strcmp(acl_dbs.at(p[0]).db, acl_dbs.at(p[-1]).db)))
{ // new db name series
update_flags|= update_role_db(merged, first, access, grantee->user.str);
merged= -1;
diff --git a/storage/innobase/buf/buf0buddy.cc b/storage/innobase/buf/buf0buddy.cc
index bd8d575d8c2..3b784494fda 100644
--- a/storage/innobase/buf/buf0buddy.cc
+++ b/storage/innobase/buf/buf0buddy.cc
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2018, 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
@@ -493,7 +493,6 @@ buf_buddy_alloc_low(
{
buf_block_t* block;
- ut_ad(lru);
ut_ad(buf_pool_mutex_own(buf_pool));
ut_ad(!mutex_own(&buf_pool->zip_mutex));
ut_ad(i >= buf_buddy_get_slot(UNIV_ZIP_SIZE_MIN));
diff --git a/storage/innobase/data/data0data.cc b/storage/innobase/data/data0data.cc
index cc14664821f..6cd4f68c035 100644
--- a/storage/innobase/data/data0data.cc
+++ b/storage/innobase/data/data0data.cc
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 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
@@ -117,8 +117,6 @@ dtuple_set_n_fields(
dtuple_t* tuple, /*!< in: tuple */
ulint n_fields) /*!< in: number of fields */
{
- ut_ad(tuple);
-
tuple->n_fields = n_fields;
tuple->n_fields_cmp = n_fields;
}
diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc
index 35de10f3f14..2bf22778f70 100644
--- a/storage/innobase/dict/dict0dict.cc
+++ b/storage/innobase/dict/dict0dict.cc
@@ -946,7 +946,6 @@ dict_index_get_nth_field_pos(
ulint n_fields;
ulint pos;
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
field2 = dict_index_get_nth_field(index2, n);
@@ -1055,8 +1054,6 @@ dict_table_col_in_clustered_key(
ulint pos;
ulint n_fields;
- ut_ad(table);
-
col = dict_table_get_nth_col(table, n);
index = dict_table_get_first_index(table);
@@ -1226,8 +1223,7 @@ dict_table_add_system_columns(
dict_table_t* table, /*!< in/out: table */
mem_heap_t* heap) /*!< in: temporary heap */
{
- ut_ad(table);
- ut_ad(table->n_def == (table->n_cols - DATA_N_SYS_COLS));
+ ut_ad(table->n_def == table->n_cols - DATA_N_SYS_COLS);
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
ut_ad(!table->cached);
@@ -1952,7 +1948,6 @@ dict_table_change_id_in_cache(
dict_table_t* table, /*!< in/out: table object already in cache */
table_id_t new_id) /*!< in: new id to set */
{
- ut_ad(table);
ut_ad(mutex_own(&dict_sys->mutex));
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
@@ -1979,7 +1974,6 @@ dict_table_remove_from_cache_low(
dict_foreign_t* foreign;
dict_index_t* index;
- ut_ad(table);
ut_ad(dict_lru_validate());
ut_a(table->get_ref_count() == 0);
ut_a(table->n_rec_locks == 0);
@@ -2334,7 +2328,6 @@ dict_index_add_to_cache(
ulint n_ord;
ulint i;
- ut_ad(index);
ut_ad(mutex_own(&dict_sys->mutex));
ut_ad(index->n_def == index->n_fields);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
@@ -2973,7 +2966,6 @@ dict_index_build_internal_clust(
/* Add to new_index non-system columns of table not yet included
there */
for (i = 0; i + DATA_N_SYS_COLS < ulint(table->n_cols); i++) {
-
dict_col_t* col = dict_table_get_nth_col(table, i);
ut_ad(col->mtype != DATA_SYS);
@@ -5197,7 +5189,6 @@ dict_foreign_parse_drop_constraints(
const char* id;
CHARSET_INFO* cs;
- ut_a(trx);
ut_a(trx->mysql_thd);
cs = innobase_get_charset(trx->mysql_thd);
@@ -5363,9 +5354,8 @@ dict_index_check_search_tuple(
const dict_index_t* index, /*!< in: index tree */
const dtuple_t* tuple) /*!< in: tuple used in a search */
{
- ut_a(index);
- ut_a(dtuple_get_n_fields_cmp(tuple)
- <= dict_index_get_n_unique_in_tree(index));
+ ut_ad(dtuple_get_n_fields_cmp(tuple)
+ <= dict_index_get_n_unique_in_tree(index));
return(TRUE);
}
#endif /* UNIV_DEBUG */
@@ -6900,8 +6890,6 @@ dict_index_zip_success(
/*===================*/
dict_index_t* index) /*!< in/out: index to be updated. */
{
- ut_ad(index);
-
ulint zip_threshold = zip_failure_threshold_pct;
if (!zip_threshold) {
/* Disabled by user. */
@@ -6922,8 +6910,6 @@ dict_index_zip_failure(
/*===================*/
dict_index_t* index) /*!< in/out: index to be updated. */
{
- ut_ad(index);
-
ulint zip_threshold = zip_failure_threshold_pct;
if (!zip_threshold) {
/* Disabled by user. */
@@ -6949,8 +6935,6 @@ dict_index_zip_pad_optimal_page_size(
ulint min_sz;
ulint sz;
- ut_ad(index);
-
if (!zip_failure_threshold_pct) {
/* Disabled by user. */
return(srv_page_size);
diff --git a/storage/innobase/dict/dict0mem.cc b/storage/innobase/dict/dict0mem.cc
index f919fb7b9cf..b55cb51aef6 100644
--- a/storage/innobase/dict/dict0mem.cc
+++ b/storage/innobase/dict/dict0mem.cc
@@ -305,7 +305,6 @@ dict_mem_table_add_col(
dict_col_t* col;
ulint i;
- ut_ad(table);
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
ut_ad(!heap == !name);
diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc
index 3a3f01e92c9..fc714d59568 100644
--- a/storage/innobase/handler/handler0alter.cc
+++ b/storage/innobase/handler/handler0alter.cc
@@ -2439,8 +2439,8 @@ name_ok:
index
@param[in] altered_table MySQL table that is being altered
@param[in] key_part MySQL key definition
-@param[out] index_field index field defition for key_part */
-static MY_ATTRIBUTE((nonnull(2,3)))
+@param[out] index_field index field definition for key_part */
+static MY_ATTRIBUTE((nonnull))
void
innobase_create_index_field_def(
bool new_clustered,
@@ -2455,10 +2455,6 @@ innobase_create_index_field_def(
DBUG_ENTER("innobase_create_index_field_def");
- ut_ad(key_part);
- ut_ad(index_field);
- ut_ad(altered_table);
-
field = new_clustered
? altered_table->field[key_part->fieldnr]
: key_part->field;
@@ -2520,8 +2516,6 @@ innobase_create_index_def(
DBUG_ENTER("innobase_create_index_def");
DBUG_ASSERT(!key_clustered || new_clustered);
- ut_ad(altered_table);
-
index->fields = static_cast<index_field_t*>(
mem_heap_alloc(heap, n_fields * sizeof *index->fields));
@@ -7665,7 +7659,6 @@ innobase_rename_columns_try(
uint i = 0;
ulint num_v = 0;
- DBUG_ASSERT(ctx);
DBUG_ASSERT(ha_alter_info->handler_flags
& ALTER_COLUMN_NAME);
@@ -8060,7 +8053,6 @@ innobase_update_foreign_try(
ulint i;
DBUG_ENTER("innobase_update_foreign_try");
- DBUG_ASSERT(ctx);
foreign_id = dict_table_get_highest_foreign_id(ctx->new_table);
diff --git a/storage/innobase/include/data0data.ic b/storage/innobase/include/data0data.ic
index 310902f5166..2d5a9810025 100644
--- a/storage/innobase/include/data0data.ic
+++ b/storage/innobase/include/data0data.ic
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, MariaDB Corporation.
+Copyright (c) 2017, 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
@@ -43,8 +43,6 @@ dfield_get_type(
/*============*/
const dfield_t* field) /*!< in: SQL data field */
{
- ut_ad(field);
-
return((dtype_t*) &(field->type));
}
#endif /* UNIV_DEBUG */
@@ -74,7 +72,6 @@ dfield_get_data(
/*============*/
const dfield_t* field) /*!< in: field */
{
- ut_ad(field);
ut_ad((field->len == UNIV_SQL_NULL)
|| (field->data != &data_error));
@@ -91,7 +88,6 @@ dfield_get_len(
/*===========*/
const dfield_t* field) /*!< in: field */
{
- ut_ad(field);
ut_ad((field->len == UNIV_SQL_NULL)
|| (field->data != &data_error));
ut_ad(field->len != UNIV_SQL_DEFAULT);
@@ -108,7 +104,6 @@ dfield_set_len(
dfield_t* field, /*!< in: field */
ulint len) /*!< in: length or UNIV_SQL_NULL */
{
- ut_ad(field);
ut_ad(len != UNIV_SQL_DEFAULT);
#ifdef UNIV_VALGRIND_DEBUG
if (len != UNIV_SQL_NULL) UNIV_MEM_ASSERT_RW(field->data, len);
@@ -127,8 +122,6 @@ dfield_is_null(
/*===========*/
const dfield_t* field) /*!< in: field */
{
- ut_ad(field);
-
return(field->len == UNIV_SQL_NULL);
}
@@ -141,9 +134,7 @@ dfield_is_ext(
/*==========*/
const dfield_t* field) /*!< in: field */
{
- ut_ad(field);
ut_ad(!field->ext || field->len >= BTR_EXTERN_FIELD_REF_SIZE);
-
return(field->ext);
}
@@ -155,8 +146,6 @@ dfield_set_ext(
/*===========*/
dfield_t* field) /*!< in/out: field */
{
- ut_ad(field);
-
field->ext = 1;
}
@@ -198,8 +187,6 @@ dfield_set_data(
const void* data, /*!< in: data */
ulint len) /*!< in: length or UNIV_SQL_NULL */
{
- ut_ad(field);
-
#ifdef UNIV_VALGRIND_DEBUG
if (len != UNIV_SQL_NULL) UNIV_MEM_ASSERT_RW(data, len);
#endif /* UNIV_VALGRIND_DEBUG */
@@ -217,8 +204,6 @@ dfield_write_mbr(
dfield_t* field, /*!< in: field */
const double* mbr) /*!< in: data */
{
- ut_ad(field);
-
#ifdef UNIV_VALGRIND_DEBUG
if (len != UNIV_SQL_NULL) UNIV_MEM_ASSERT_RW(data, len);
#endif /* UNIV_VALGRIND_DEBUG */
@@ -343,8 +328,6 @@ dtuple_get_info_bits(
/*=================*/
const dtuple_t* tuple) /*!< in: tuple */
{
- ut_ad(tuple);
-
return(tuple->info_bits);
}
@@ -357,8 +340,6 @@ dtuple_set_info_bits(
dtuple_t* tuple, /*!< in: tuple */
ulint info_bits) /*!< in: info bits */
{
- ut_ad(tuple);
-
tuple->info_bits = info_bits;
}
@@ -371,8 +352,6 @@ dtuple_get_n_fields_cmp(
/*====================*/
const dtuple_t* tuple) /*!< in: tuple */
{
- ut_ad(tuple);
-
return(tuple->n_fields_cmp);
}
@@ -386,9 +365,7 @@ dtuple_set_n_fields_cmp(
ulint n_fields_cmp) /*!< in: number of fields used in
comparisons in rem0cmp.* */
{
- ut_ad(tuple);
ut_ad(n_fields_cmp <= tuple->n_fields);
-
tuple->n_fields_cmp = n_fields_cmp;
}
@@ -401,8 +378,6 @@ dtuple_get_n_fields(
/*================*/
const dtuple_t* tuple) /*!< in: tuple */
{
- ut_ad(tuple);
-
return(tuple->n_fields);
}
@@ -652,7 +627,6 @@ dtuple_get_data_size(
ulint i;
ulint sum = 0;
- ut_ad(tuple);
ut_ad(dtuple_check_typed(tuple));
ut_ad(tuple->magic_n == DATA_TUPLE_MAGIC_N);
@@ -686,7 +660,6 @@ dtuple_get_n_ext(
ulint n_fields = tuple->n_fields;
ulint i;
- ut_ad(tuple);
ut_ad(dtuple_check_typed(tuple));
ut_ad(tuple->magic_n == DATA_TUPLE_MAGIC_N);
diff --git a/storage/innobase/include/data0type.h b/storage/innobase/include/data0type.h
index b999106fee0..03f3e4d2c71 100644
--- a/storage/innobase/include/data0type.h
+++ b/storage/innobase/include/data0type.h
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 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
diff --git a/storage/innobase/include/dict0dict.h b/storage/innobase/include/dict0dict.h
index 1223fa5df91..c61e035beb4 100644
--- a/storage/innobase/include/dict0dict.h
+++ b/storage/innobase/include/dict0dict.h
@@ -860,12 +860,11 @@ dict_table_get_sys_col(
ulint sys) /*!< in: DATA_ROW_ID, ... */
MY_ATTRIBUTE((nonnull, warn_unused_result));
#else /* UNIV_DEBUG */
-#define dict_table_get_nth_col(table, pos) \
- (&(table)->cols[pos])
-#define dict_table_get_sys_col(table, sys) \
- (&(table)->cols[(table)->n_cols + (sys) - DATA_N_SYS_COLS])
+#define dict_table_get_nth_col(table, pos) &(table)->cols[pos]
+#define dict_table_get_sys_col(table, sys) \
+ &(table)->cols[(table)->n_cols + (sys) - DATA_N_SYS_COLS]
/* Get nth virtual columns */
-#define dict_table_get_nth_v_col(table, pos) (&(table)->v_cols[pos])
+#define dict_table_get_nth_v_col(table, pos) &(table)->v_cols[pos]
#endif /* UNIV_DEBUG */
/** Wrapper function.
@see dict_col_t::name()
diff --git a/storage/innobase/include/dict0dict.ic b/storage/innobase/include/dict0dict.ic
index 78e16774a09..d591cb57378 100644
--- a/storage/innobase/include/dict0dict.ic
+++ b/storage/innobase/include/dict0dict.ic
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2013, 2018, MariaDB Corporation.
+Copyright (c) 2013, 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
@@ -78,9 +78,6 @@ dict_col_type_assert_equal(
const dict_col_t* col, /*!< in: column */
const dtype_t* type) /*!< in: data type */
{
- ut_ad(col);
- ut_ad(type);
-
ut_ad(col->mtype == type->mtype);
ut_ad(col->prtype == type->prtype);
//ut_ad(col->len == type->len);
@@ -150,8 +147,6 @@ dict_col_get_no(
/*============*/
const dict_col_t* col) /*!< in: column */
{
- ut_ad(col);
-
return(col->ind);
}
@@ -166,8 +161,6 @@ dict_col_get_clust_pos(
{
ulint i;
- ut_ad(col);
- ut_ad(clust_index);
ut_ad(dict_index_is_clust(clust_index));
for (i = 0; i < clust_index->n_def; i++) {
@@ -193,8 +186,6 @@ dict_col_get_index_pos(
{
ulint i;
- ut_ad(col);
-
for (i = 0; i < index->n_def; i++) {
const dict_field_t* field = &index->fields[i];
@@ -216,7 +207,6 @@ dict_table_get_first_index(
/*=======================*/
const dict_table_t* table) /*!< in: table */
{
- ut_ad(table);
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
return(UT_LIST_GET_FIRST(((dict_table_t*) table)->indexes));
@@ -231,9 +221,7 @@ dict_table_get_last_index(
/*=======================*/
const dict_table_t* table) /*!< in: table */
{
- ut_ad(table);
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
-
return(UT_LIST_GET_LAST((const_cast<dict_table_t*>(table))
->indexes));
}
@@ -247,9 +235,7 @@ dict_table_get_next_index(
/*======================*/
const dict_index_t* index) /*!< in: index */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
-
return(UT_LIST_GET_NEXT(indexes, (dict_index_t*) index));
}
#endif /* UNIV_DEBUG */
@@ -289,7 +275,6 @@ dict_index_is_unique(
const dict_index_t* index) /*!< in: index */
{
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
-
return(index->type & DICT_UNIQUE);
}
@@ -302,9 +287,7 @@ dict_index_is_spatial(
/*==================*/
const dict_index_t* index) /*!< in: index */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
-
return ulint(UNIV_EXPECT(index->type & DICT_SPATIAL, 0));
}
@@ -317,9 +300,7 @@ dict_index_is_ibuf(
/*===============*/
const dict_index_t* index) /*!< in: index */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
-
return(index->type & DICT_IBUF);
}
@@ -333,7 +314,6 @@ dict_index_is_sec_or_ibuf(
const dict_index_t* index) /*!< in: index */
{
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
-
return((index->type & (DICT_CLUSTERED | DICT_IBUF)) != DICT_CLUSTERED);
}
@@ -366,7 +346,6 @@ dict_table_get_n_cols(
const dict_table_t* table) /*!< in: table */
{
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
-
return(table->n_cols);
}
@@ -464,7 +443,6 @@ dict_table_get_nth_col(
const dict_table_t* table, /*!< in: table */
ulint pos) /*!< in: position of column */
{
- ut_ad(table);
ut_ad(pos < table->n_def);
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
@@ -518,10 +496,8 @@ dict_table_get_sys_col_no(
const dict_table_t* table, /*!< in: table */
ulint sys) /*!< in: DATA_ROW_ID, ... */
{
- ut_ad(table);
ut_ad(sys < DATA_N_SYS_COLS);
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
-
return unsigned(table->n_cols) + (sys - DATA_N_SYS_COLS);
}
@@ -547,8 +523,6 @@ dict_table_has_fts_index(
/* out: TRUE if table has an FTS index */
dict_table_t* table) /* in: table */
{
- ut_ad(table);
-
return(DICT_TF2_FLAG_IS_SET(table, DICT_TF2_FTS));
}
@@ -839,7 +813,6 @@ dict_table_x_lock_indexes(
{
dict_index_t* index;
- ut_a(table);
ut_ad(mutex_own(&dict_sys->mutex));
/* Loop through each index of the table and lock them */
@@ -881,7 +854,6 @@ dict_table_x_unlock_indexes(
{
dict_index_t* index;
- ut_a(table);
ut_ad(mutex_own(&dict_sys->mutex));
for (index = dict_table_get_first_index(table);
@@ -903,9 +875,7 @@ dict_index_get_n_fields(
representation of index (in
the dictionary cache) */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
-
return(index->n_fields);
}
@@ -922,10 +892,8 @@ dict_index_get_n_unique(
const dict_index_t* index) /*!< in: an internal representation
of index (in the dictionary cache) */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
ut_ad(index->cached);
-
return(index->n_uniq);
}
@@ -941,7 +909,6 @@ dict_index_get_n_unique_in_tree(
const dict_index_t* index) /*!< in: an internal representation
of index (in the dictionary cache) */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
ut_ad(index->cached);
@@ -1005,7 +972,6 @@ dict_index_get_nth_field(
const dict_index_t* index, /*!< in: index */
ulint pos) /*!< in: position of field */
{
- ut_ad(index);
ut_ad(pos < index->n_def);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
@@ -1023,7 +989,6 @@ dict_index_get_sys_col_pos(
const dict_index_t* index, /*!< in: index */
ulint type) /*!< in: DATA_ROW_ID, ... */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
ut_ad(!dict_index_is_ibuf(index));
@@ -1047,8 +1012,6 @@ dict_field_get_col(
/*===============*/
const dict_field_t* field) /*!< in: index field */
{
- ut_ad(field);
-
return(field->col);
}
@@ -1123,7 +1086,6 @@ dict_index_get_page(
/*================*/
const dict_index_t* index) /*!< in: index */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
return(index->page);
@@ -1138,7 +1100,6 @@ dict_index_get_lock(
/*================*/
dict_index_t* index) /*!< in: index */
{
- ut_ad(index);
ut_ad(index->magic_n == DICT_INDEX_MAGIC_N);
return(&(index->lock));
@@ -1363,9 +1324,7 @@ dict_table_is_corrupted(
/*====================*/
const dict_table_t* table) /*!< in: table */
{
- ut_ad(table);
ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
-
return(table->corrupted);
}
diff --git a/storage/innobase/include/rem0rec.ic b/storage/innobase/include/rem0rec.ic
index 41794582f37..d1d89b9a4be 100644
--- a/storage/innobase/include/rem0rec.ic
+++ b/storage/innobase/include/rem0rec.ic
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 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
@@ -355,7 +355,6 @@ rec_set_next_offs_old(
rec_t* rec, /*!< in: old-style physical record */
ulint next) /*!< in: offset of the next record */
{
- ut_ad(rec);
ut_ad(srv_page_size > next);
compile_time_assert(REC_NEXT_MASK == 0xFFFFUL);
compile_time_assert(REC_NEXT_SHIFT == 0);
@@ -374,7 +373,6 @@ rec_set_next_offs_new(
{
ulint field_value;
- ut_ad(rec);
ut_ad(srv_page_size > next);
if (!next) {
@@ -874,7 +872,6 @@ rec_offs_set_n_alloc(
must be allocated */
ulint n_alloc) /*!< in: number of elements */
{
- ut_ad(offsets);
ut_ad(n_alloc > REC_OFFS_HEADER_SIZE);
UNIV_MEM_ALLOC(offsets, n_alloc * sizeof *offsets);
offsets[0] = n_alloc;
@@ -896,7 +893,6 @@ rec_get_nth_field_offs(
ulint offs;
ulint length;
ut_ad(n < rec_offs_n_fields(offsets));
- ut_ad(len);
if (n == 0) {
offs = 0;
@@ -1188,7 +1184,6 @@ rec_set_nth_field(
byte* data2;
ulint len2;
- ut_ad(rec);
ut_ad(rec_offs_validate(rec, NULL, offsets));
ut_ad(!rec_offs_nth_default(offsets, n));
@@ -1392,8 +1387,6 @@ rec_get_converted_size(
ulint data_size;
ulint extra_size;
- ut_ad(index);
- ut_ad(dtuple);
ut_ad(dtuple_check_typed(dtuple));
#ifdef UNIV_DEBUG
if (dict_index_is_ibuf(index)) {
diff --git a/storage/innobase/rem/rem0rec.cc b/storage/innobase/rem/rem0rec.cc
index 495c29e4805..8bd6c3faa98 100644
--- a/storage/innobase/rem/rem0rec.cc
+++ b/storage/innobase/rem/rem0rec.cc
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 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
@@ -781,10 +781,6 @@ rec_get_offsets_func(
ulint n;
ulint size;
- ut_ad(rec);
- ut_ad(index);
- ut_ad(heap);
-
if (dict_table_is_comp(index->table)) {
switch (UNIV_EXPECT(rec_get_status(rec),
REC_STATUS_ORDINARY)) {
@@ -895,9 +891,6 @@ rec_get_offsets_reverse(
ulint null_mask;
ulint n_node_ptr_field;
- ut_ad(extra);
- ut_ad(index);
- ut_ad(offsets);
ut_ad(dict_table_is_comp(index->table));
ut_ad(!index->is_instant());
@@ -1006,8 +999,6 @@ rec_get_nth_field_offs_old(
ulint os;
ulint next_os;
- ut_ad(len);
- ut_a(rec);
ut_a(n < rec_get_n_fields_old(rec));
if (rec_get_1byte_offs_flag(rec)) {
@@ -2060,7 +2051,6 @@ rec_validate(
ulint len_sum = 0;
ulint i;
- ut_a(rec);
n_fields = rec_offs_n_fields(offsets);
if ((n_fields == 0) || (n_fields > REC_MAX_N_FIELDS)) {
@@ -2118,8 +2108,6 @@ rec_print_old(
ulint n;
ulint i;
- ut_ad(rec);
-
n = rec_get_n_fields_old(rec);
fprintf(file, "PHYSICAL RECORD: n_fields " ULINTPF ";"
@@ -2293,8 +2281,6 @@ rec_print_mbr_rec(
const rec_t* rec, /*!< in: physical record */
const ulint* offsets)/*!< in: array returned by rec_get_offsets() */
{
- ut_ad(rec);
- ut_ad(offsets);
ut_ad(rec_offs_validate(rec, NULL, offsets));
ut_ad(!rec_offs_any_default(offsets));
@@ -2363,8 +2349,6 @@ rec_print_new(
const rec_t* rec, /*!< in: physical record */
const ulint* offsets)/*!< in: array returned by rec_get_offsets() */
{
- ut_ad(rec);
- ut_ad(offsets);
ut_ad(rec_offs_validate(rec, NULL, offsets));
#ifdef UNIV_DEBUG
@@ -2398,8 +2382,6 @@ rec_print(
const rec_t* rec, /*!< in: physical record */
const dict_index_t* index) /*!< in: record descriptor */
{
- ut_ad(index);
-
if (!dict_table_is_comp(index->table)) {
rec_print_old(file, rec);
return;
diff --git a/storage/innobase/row/row0ftsort.cc b/storage/innobase/row/row0ftsort.cc
index 10059a94dfb..b9f01f4547e 100644
--- a/storage/innobase/row/row0ftsort.cc
+++ b/storage/innobase/row/row0ftsort.cc
@@ -1574,9 +1574,6 @@ row_fts_merge_insert(
dict_index_t* aux_index;
trx_t* trx;
- ut_ad(index);
- ut_ad(table);
-
/* We use the insert query graph as the dummy graph
needed in the row module call */
diff --git a/storage/innobase/row/row0ins.cc b/storage/innobase/row/row0ins.cc
index 49c38518ff3..de3745d984e 100644
--- a/storage/innobase/row/row0ins.cc
+++ b/storage/innobase/row/row0ins.cc
@@ -494,8 +494,6 @@ row_ins_cascade_calc_update_vec(
doc_id_t new_doc_id = FTS_NULL_DOC_ID;
ulint prefix_col;
- ut_a(node);
- ut_a(foreign);
ut_a(cascade);
ut_a(table);
ut_a(index);
@@ -1092,10 +1090,6 @@ row_ins_foreign_check_on_constraint(
doc_id_t doc_id = FTS_NULL_DOC_ID;
DBUG_ENTER("row_ins_foreign_check_on_constraint");
- ut_a(thr);
- ut_a(foreign);
- ut_a(pcur);
- ut_a(mtr);
trx = thr_get_trx(thr);
diff --git a/storage/innobase/row/row0merge.cc b/storage/innobase/row/row0merge.cc
index 019fcbb20a9..101287c204e 100644
--- a/storage/innobase/row/row0merge.cc
+++ b/storage/innobase/row/row0merge.cc
@@ -4208,7 +4208,6 @@ row_merge_rename_index_to_add(
"WHERE TABLE_ID = :tableid AND ID = :indexid;\n"
"END;\n";
- ut_ad(trx);
ut_a(trx->dict_operation_lock_mode == RW_X_LATCH);
ut_ad(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX);
@@ -4262,7 +4261,6 @@ row_merge_rename_index_to_drop(
"WHERE TABLE_ID = :tableid AND ID = :indexid;\n"
"END;\n";
- ut_ad(trx);
ut_a(trx->dict_operation_lock_mode == RW_X_LATCH);
ut_ad(trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX);
diff --git a/storage/innobase/row/row0mysql.cc b/storage/innobase/row/row0mysql.cc
index 772d5487a0f..5b7fae06c9d 100644
--- a/storage/innobase/row/row0mysql.cc
+++ b/storage/innobase/row/row0mysql.cc
@@ -3164,7 +3164,6 @@ row_mysql_lock_table(
dberr_t err;
sel_node_t* node;
- ut_ad(trx);
ut_ad(mode == LOCK_X || mode == LOCK_S);
heap = mem_heap_create(512);
diff --git a/storage/innobase/row/row0purge.cc b/storage/innobase/row/row0purge.cc
index 3b12fbfdbb9..2fc465e7726 100644
--- a/storage/innobase/row/row0purge.cc
+++ b/storage/innobase/row/row0purge.cc
@@ -1294,8 +1294,6 @@ row_purge_step(
{
purge_node_t* node;
- ut_ad(thr);
-
node = static_cast<purge_node_t*>(thr->run_node);
node->start();
diff --git a/storage/innobase/row/row0row.cc b/storage/innobase/row/row0row.cc
index d419fd9998f..47da6b57b1f 100644
--- a/storage/innobase/row/row0row.cc
+++ b/storage/innobase/row/row0row.cc
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2018, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2018, 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
@@ -944,9 +944,6 @@ row_build_row_ref_in_tuple(
ulint offsets_[REC_OFFS_NORMAL_SIZE];
rec_offs_init(offsets_);
- ut_a(ref);
- ut_a(index);
- ut_a(rec);
ut_ad(!dict_index_is_clust(index));
ut_a(index->table);
diff --git a/storage/innobase/row/row0upd.cc b/storage/innobase/row/row0upd.cc
index f9cb174088f..1f5e39fec85 100644
--- a/storage/innobase/row/row0upd.cc
+++ b/storage/innobase/row/row0upd.cc
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2015, 2018, MariaDB Corporation.
+Copyright (c) 2015, 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
@@ -2688,7 +2688,6 @@ row_upd_clust_rec_by_insert(
rec_t* rec;
ulint* offsets = NULL;
- ut_ad(node);
ut_ad(dict_index_is_clust(index));
trx = thr_get_trx(thr);
@@ -2839,7 +2838,6 @@ row_upd_clust_rec(
dberr_t err;
const dtuple_t* rebuilt_old_pk = NULL;
- ut_ad(node);
ut_ad(dict_index_is_clust(index));
ut_ad(!thr_get_trx(thr)->in_rollback);
ut_ad(!node->table->skip_alter_undo);
@@ -2975,7 +2973,6 @@ row_upd_del_mark_clust_rec(
rec_t* rec;
trx_t* trx = thr_get_trx(thr);
- ut_ad(node);
ut_ad(dict_index_is_clust(index));
ut_ad(node->is_delete == PLAIN_DELETE);
diff --git a/storage/innobase/trx/trx0rec.cc b/storage/innobase/trx/trx0rec.cc
index 56b8db7ec37..8ea60bf6eb6 100644
--- a/storage/innobase/trx/trx0rec.cc
+++ b/storage/innobase/trx/trx0rec.cc
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2018, MariaDB Corporation.
+Copyright (c) 2017, 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
@@ -1676,11 +1676,7 @@ trx_undo_rec_get_partial_row(
bool first_v_col = true;
bool is_undo_log = true;
- ut_ad(index);
- ut_ad(ptr);
- ut_ad(row);
- ut_ad(heap);
- ut_ad(dict_index_is_clust(index));
+ ut_ad(index->is_primary());
*row = dtuple_create_with_vcol(
heap, dict_table_get_n_cols(index->table),
diff --git a/storage/tokudb/PerconaFT/ftcxx/tests/CMakeLists.txt b/storage/tokudb/PerconaFT/ftcxx/tests/CMakeLists.txt
index 6f9146ce5b2..b4db82ffff5 100644
--- a/storage/tokudb/PerconaFT/ftcxx/tests/CMakeLists.txt
+++ b/storage/tokudb/PerconaFT/ftcxx/tests/CMakeLists.txt
@@ -2,9 +2,9 @@ include_directories(..)
include_directories(../../src)
include_directories(../../src/tests)
-find_library(JEMALLOC_STATIC_LIBRARY libjemalloc.a)
-
if (BUILD_TESTING)
+ find_library(JEMALLOC_STATIC_LIBRARY libjemalloc.a)
+
## reference implementation with simple size-doubling buffer without
## jemalloc size tricks
add_library(doubling_buffer_ftcxx STATIC