diff options
author | unknown <monty@mysql.com> | 2004-03-16 22:41:30 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-03-16 22:41:30 +0200 |
commit | a8aacf87648f64e7489220dab7d8729c5c01e13d (patch) | |
tree | af285d8080c003d1ecb1479ec43c9b6996fd567f /innobase/dict | |
parent | 17f8d3d725f4b465a8a0dc8e96b04cd973c47fd5 (diff) | |
parent | 277cf702da7e6f0642742eb10582cfc382e537ec (diff) | |
download | mariadb-git-a8aacf87648f64e7489220dab7d8729c5c01e13d.tar.gz |
merge with 4.0
BitKeeper/etc/logging_ok:
auto-union
VC++Files/innobase/innobase.dsp:
Auto merged
VC++Files/libmysql/libmysql.dsp:
Auto merged
acinclude.m4:
Auto merged
configure.in:
Auto merged
BitKeeper/deleted/.del-com0shm.c~6a16f0c3d81de1f:
Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
Auto merged
extra/replace.c:
Auto merged
include/my_sys.h:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/btr/btr0pcur.c:
Auto merged
innobase/btr/btr0sea.c:
Auto merged
innobase/configure.in:
Auto merged
innobase/data/data0data.c:
Auto merged
innobase/dict/dict0boot.c:
Auto merged
innobase/dict/dict0crea.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/dict/dict0mem.c:
Auto merged
innobase/ha/ha0ha.c:
Auto merged
innobase/ha/hash0hash.c:
Auto merged
innobase/include/btr0btr.ic:
Auto merged
innobase/include/data0type.ic:
Auto merged
innobase/include/dict0mem.h:
Auto merged
innobase/include/log0log.ic:
Auto merged
innobase/include/mach0data.ic:
Auto merged
innobase/include/mtr0log.h:
Auto merged
innobase/include/mtr0mtr.h:
Auto merged
innobase/include/os0file.h:
Auto merged
innobase/include/row0upd.ic:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/sync0sync.h:
Auto merged
innobase/include/trx0rseg.ic:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/log/log0recv.c:
Auto merged
innobase/mem/mem0dbg.c:
Auto merged
innobase/mtr/mtr0log.c:
Auto merged
innobase/mtr/mtr0mtr.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/page/page0cur.c:
Auto merged
innobase/page/page0page.c:
Auto merged
innobase/pars/lexyy.c:
Auto merged
innobase/read/read0read.c:
Auto merged
innobase/rem/rem0cmp.c:
Auto merged
innobase/rem/rem0rec.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0purge.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0undo.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/sync/sync0rw.c:
Auto merged
innobase/thr/thr0loc.c:
Auto merged
innobase/trx/trx0purge.c:
Auto merged
innobase/trx/trx0rec.c:
Auto merged
innobase/trx/trx0roll.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
innobase/trx/trx0undo.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
mysql-test/r/multi_update.result:
Auto merged
mysql-test/r/mysqlbinlog.result:
Auto merged
mysql-test/r/rpl_error_ignored_table.result:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysys/mf_iocache.c:
Auto merged
mysys/mf_pack.c:
Auto merged
mysys/my_getopt.c:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_cache.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
tests/thread_test.c:
Auto merged
client/mysqldump.c:
Keep original indentation
mysql-test/r/merge.result:
keep old file
scripts/mysql_fix_privilege_tables.sh:
Keep old structure in merge with 4.0
sql/table.cc:
merge with 4.0 + simple optimizations
Diffstat (limited to 'innobase/dict')
-rw-r--r-- | innobase/dict/dict0boot.c | 25 | ||||
-rw-r--r-- | innobase/dict/dict0crea.c | 34 | ||||
-rw-r--r-- | innobase/dict/dict0dict.c | 64 | ||||
-rw-r--r-- | innobase/dict/dict0load.c | 22 | ||||
-rw-r--r-- | innobase/dict/dict0mem.c | 6 |
5 files changed, 118 insertions, 33 deletions
diff --git a/innobase/dict/dict0boot.c b/innobase/dict/dict0boot.c index 76c94d1a918..46cf6c7788d 100644 --- a/innobase/dict/dict0boot.c +++ b/innobase/dict/dict0boot.c @@ -39,8 +39,9 @@ dict_hdr_get( header = DICT_HDR + buf_page_get(DICT_HDR_SPACE, DICT_HDR_PAGE_NO, RW_X_LATCH, mtr); +#ifdef UNIV_SYNC_DEBUG buf_page_dbg_add_level(header, SYNC_DICT_HEADER); - +#endif /* UNIV_SYNC_DEBUG */ return(header); } @@ -64,7 +65,7 @@ dict_hdr_get_new_id( dict_hdr = dict_hdr_get(&mtr); - id = mtr_read_dulint(dict_hdr + type, MLOG_8BYTES, &mtr); + id = mtr_read_dulint(dict_hdr + type, &mtr); /* Add some dummy code here because otherwise pgcc seems to compile wrong */ @@ -75,7 +76,7 @@ dict_hdr_get_new_id( id = ut_dulint_add(id, 1); - mlog_write_dulint(dict_hdr + type, id, MLOG_8BYTES, &mtr); + mlog_write_dulint(dict_hdr + type, id, &mtr); mtr_commit(&mtr); @@ -94,7 +95,9 @@ dict_hdr_flush_row_id(void) dulint id; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ id = dict_sys->row_id; @@ -102,7 +105,7 @@ dict_hdr_flush_row_id(void) dict_hdr = dict_hdr_get(&mtr); - mlog_write_dulint(dict_hdr + DICT_HDR_ROW_ID, id, MLOG_8BYTES, &mtr); + mlog_write_dulint(dict_hdr + DICT_HDR_ROW_ID, id, &mtr); mtr_commit(&mtr); } @@ -138,20 +141,16 @@ dict_hdr_create( /* Start counting row, table, index, and tree ids from DICT_HDR_FIRST_ID */ mlog_write_dulint(dict_header + DICT_HDR_ROW_ID, - ut_dulint_create(0, DICT_HDR_FIRST_ID), - MLOG_8BYTES, mtr); + ut_dulint_create(0, DICT_HDR_FIRST_ID), mtr); mlog_write_dulint(dict_header + DICT_HDR_TABLE_ID, - ut_dulint_create(0, DICT_HDR_FIRST_ID), - MLOG_8BYTES, mtr); + ut_dulint_create(0, DICT_HDR_FIRST_ID), mtr); mlog_write_dulint(dict_header + DICT_HDR_INDEX_ID, - ut_dulint_create(0, DICT_HDR_FIRST_ID), - MLOG_8BYTES, mtr); + ut_dulint_create(0, DICT_HDR_FIRST_ID), mtr); mlog_write_dulint(dict_header + DICT_HDR_MIX_ID, - ut_dulint_create(0, DICT_HDR_FIRST_ID), - MLOG_8BYTES, mtr); + ut_dulint_create(0, DICT_HDR_FIRST_ID), mtr); /* Create the B-tree roots for the clustered indexes of the basic system tables */ @@ -247,7 +246,7 @@ dict_boot(void) dict_sys->row_id = ut_dulint_add( ut_dulint_align_up( mtr_read_dulint(dict_hdr + DICT_HDR_ROW_ID, - MLOG_8BYTES, &mtr), + &mtr), DICT_HDR_ROW_ID_WRITE_MARGIN), DICT_HDR_ROW_ID_WRITE_MARGIN); diff --git a/innobase/dict/dict0crea.c b/innobase/dict/dict0crea.c index ec54bb2d712..6a951317d47 100644 --- a/innobase/dict/dict0crea.c +++ b/innobase/dict/dict0crea.c @@ -158,7 +158,7 @@ dict_create_sys_tables_tuple( if (table->type == DICT_TABLE_CLUSTER_MEMBER) { dfield_set_data(dfield, table->cluster_name, ut_strlen(table->cluster_name)); - ut_a(0); /* Oracle-style clusters are not supported yet */ + ut_error; /* Oracle-style clusters are not supported yet */ } else { dfield_set_data(dfield, NULL, UNIV_SQL_NULL); } @@ -272,9 +272,10 @@ dict_build_table_def_step( ulint error; mtr_t mtr; - UT_NOT_USED(thr); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); - +#endif /* UNIV_SYNC_DEBUG */ + table = node->table; table->id = dict_hdr_get_new_id(DICT_HDR_TABLE_ID); @@ -369,7 +370,9 @@ dict_create_sys_indexes_tuple( byte* ptr; UT_NOT_USED(trx); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(index && heap); sys_indexes = dict_sys->sys_indexes; @@ -562,8 +565,9 @@ dict_build_index_def_step( dict_index_t* index; dtuple_t* row; - UT_NOT_USED(thr); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ index = node->index; @@ -635,8 +639,10 @@ dict_create_index_tree_step( dtuple_t* search_tuple; btr_pcur_t pcur; mtr_t mtr; - + +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ UT_NOT_USED(thr); index = node->index; @@ -701,7 +707,9 @@ dict_drop_index_tree( byte* ptr; ulint len; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ptr = rec_get_nth_field(rec, DICT_SYS_INDEXES_PAGE_NO_FIELD, &len); @@ -831,8 +839,10 @@ dict_create_table_step( trx_t* trx; ut_ad(thr); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); - +#endif /* UNIV_SYNC_DEBUG */ + trx = thr_get_trx(thr); node = thr->run_node; @@ -939,7 +949,9 @@ dict_create_index_step( trx_t* trx; ut_ad(thr); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ trx = thr_get_trx(thr); @@ -1128,7 +1140,7 @@ dict_create_or_check_foreign_constraint_tables(void) graph->fork_type = QUE_FORK_MYSQL_INTERFACE; - ut_a(thr = que_fork_start_command(graph, SESS_COMM_EXECUTE, 0)); + ut_a(thr = que_fork_start_command(graph)); que_run_threads(thr); @@ -1201,7 +1213,9 @@ dict_create_add_foreigns_to_dictionary( ulint i; char buf[10000]; - ut_ad(mutex_own(&(dict_sys->mutex))); +#ifdef UNIV_SYNC_DEBUG + ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ if (NULL == dict_table_get_low((char *) "SYS_FOREIGN")) { fprintf(stderr, @@ -1262,7 +1276,7 @@ loop: foreign->referenced_col_names[i]); } - ut_a(len < (sizeof buf) - 19) + ut_a(len < (sizeof buf) - 19); len += sprintf(buf + len,"COMMIT WORK;\nEND;\n"); graph = pars_sql(buf); @@ -1274,7 +1288,7 @@ loop: graph->fork_type = QUE_FORK_MYSQL_INTERFACE; - ut_a(thr = que_fork_start_command(graph, SESS_COMM_EXECUTE, 0)); + ut_a(thr = que_fork_start_command(graph)); que_run_threads(thr); diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c index 13ed5bd9af1..bf60567ceaa 100644 --- a/innobase/dict/dict0dict.c +++ b/innobase/dict/dict0dict.c @@ -209,7 +209,7 @@ dict_tables_have_same_db( } } - ut_a(0); + ut_error; return(FALSE); } @@ -232,7 +232,7 @@ dict_remove_db_name( } } - ut_a(0); + ut_error; return(NULL); } @@ -255,7 +255,7 @@ dict_get_db_name_len( } } - ut_a(0); + ut_error; return(0); } @@ -616,7 +616,9 @@ dict_table_get_on_id( if we are doing a rollback to handle an error in TABLE CREATE, for example, we already have the mutex! */ +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ return(dict_table_get_on_id_low(table_id, trx)); } @@ -762,7 +764,9 @@ dict_table_add_to_cache( ulint i; ut_ad(table); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ 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 == FALSE); @@ -898,8 +902,10 @@ dict_table_rename_in_cache( ulint i; ut_ad(table); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); - +#endif /* UNIV_SYNC_DEBUG */ + old_size = mem_heap_get_size(table->heap); fold = ut_fold_string(new_name); @@ -1136,7 +1142,9 @@ dict_table_remove_from_cache( ulint i; ut_ad(table); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); /* printf("Removing table %s from dictionary cache\n", table->name); */ @@ -1205,9 +1213,11 @@ dict_table_LRU_trim(void) dict_table_t* table; dict_table_t* prev_table; - ut_a(0); + ut_error; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ table = UT_LIST_GET_LAST(dict_sys->table_LRU); @@ -1236,7 +1246,9 @@ dict_col_add_to_cache( ulint fold; ut_ad(table && col); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); fold = ut_fold_ulint_pair(ut_fold_string(table->name), @@ -1267,7 +1279,9 @@ dict_col_remove_from_cache( ulint fold; ut_ad(table && col); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); fold = ut_fold_ulint_pair(ut_fold_string(table->name), @@ -1290,7 +1304,9 @@ dict_col_reposition_in_cache( ulint fold; ut_ad(table && col); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); fold = ut_fold_ulint_pair(ut_fold_string(table->name), @@ -1324,7 +1340,9 @@ dict_index_add_to_cache( ulint i; ut_ad(index); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(index->n_def == index->n_fields); ut_ad(index->magic_n == DICT_INDEX_MAGIC_N); @@ -1450,7 +1468,9 @@ dict_index_remove_from_cache( ut_ad(table && index); ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); ut_ad(index->magic_n == DICT_INDEX_MAGIC_N); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(UT_LIST_GET_LEN((index->tree)->tree_indexes) == 1); dict_tree_free(index->tree); @@ -1494,7 +1514,9 @@ dict_index_find_cols( ut_ad(table && index); ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ for (i = 0; i < index->n_fields; i++) { field = dict_index_get_nth_field(index, i); @@ -1635,7 +1657,9 @@ dict_index_build_internal_clust( ut_ad(table && index); ut_ad(index->type & DICT_CLUSTERED); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); /* Create a new index object with certainly enough fields */ @@ -1804,7 +1828,9 @@ dict_index_build_internal_non_clust( ut_ad(table && index); ut_ad(0 == (index->type & DICT_CLUSTERED)); +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_ad(table->magic_n == DICT_TABLE_MAGIC_N); /* The clustered index should be the first in the list of indexes */ @@ -1923,7 +1949,9 @@ dict_foreign_remove_from_cache( /*===========================*/ dict_foreign_t* foreign) /* in, own: foreign constraint */ { +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ ut_a(foreign); if (foreign->referenced_table) { @@ -1952,7 +1980,9 @@ dict_foreign_find( { dict_foreign_t* foreign; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ foreign = UT_LIST_GET_FIRST(table->foreign_list); @@ -2061,7 +2091,9 @@ dict_foreign_add_to_cache( ibool added_to_referenced_list = FALSE; char* buf = dict_foreign_err_buf; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ for_table = dict_table_check_if_in_cache_low( foreign->foreign_table_name); @@ -2732,7 +2764,9 @@ dict_create_foreign_constraints_low( ulint column_name_lens[500]; char referenced_table_name[2500]; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ table = dict_table_get_low(name); @@ -3312,7 +3346,9 @@ dict_foreign_parse_drop_constraints( str = dict_strip_comments(*(trx->mysql_query_str)); ptr = str; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ loop: ptr = dict_scan_to(ptr, (char *) "DROP"); @@ -3452,7 +3488,9 @@ dict_procedure_reserve_parsed_copy( que_t* graph; proc_node_t* proc_node; +#ifdef UNIV_SYNC_DEBUG ut_ad(!mutex_own(&kernel_mutex)); +#endif /* UNIV_SYNC_DEBUG */ mutex_enter(&(dict_sys->mutex)); @@ -3500,7 +3538,9 @@ dict_procedure_release_parsed_copy( { proc_node_t* proc_node; +#ifdef UNIV_SYNC_DEBUG ut_ad(!mutex_own(&kernel_mutex)); +#endif /* UNIV_SYNC_DEBUG */ mutex_enter(&(dict_sys->mutex)); @@ -3577,9 +3617,9 @@ dict_tree_create( tree->id = index->id; UT_LIST_INIT(tree->tree_indexes); - +#ifdef UNIV_DEBUG tree->magic_n = DICT_TREE_MAGIC_N; - +#endif /* UNIV_DEBUG */ rw_lock_create(&(tree->lock)); rw_lock_set_level(&(tree->lock), SYNC_INDEX_TREE); @@ -3990,7 +4030,9 @@ dict_foreign_print_low( { ulint i; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ printf(" FOREIGN KEY CONSTRAINT %s: %s (", foreign->id, foreign->foreign_table_name); @@ -4055,7 +4097,9 @@ dict_table_print_low( dict_foreign_t* foreign; ulint i; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ dict_update_statistics_low(table, TRUE); @@ -4109,7 +4153,9 @@ dict_col_print_low( { dtype_t* type; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ type = dict_col_get_type(col); printf("%s: ", col->name); @@ -4129,7 +4175,9 @@ dict_index_print_low( ib_longlong n_vals; ulint i; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ tree = index->tree; @@ -4175,7 +4223,9 @@ dict_field_print_low( /*=================*/ dict_field_t* field) /* in: field */ { +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ printf(" %s", field->name); diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c index 07c4ef3c683..c6a8ebc4b55 100644 --- a/innobase/dict/dict0load.c +++ b/innobase/dict/dict0load.c @@ -43,7 +43,9 @@ dict_get_first_table_name_in_db( char* table_name; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ heap = mem_heap_create(1000); @@ -307,7 +309,9 @@ dict_load_columns( ulint i; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ mtr_start(&mtr); @@ -414,7 +418,9 @@ dict_load_fields( ulint i; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ UT_NOT_USED(table); @@ -526,7 +532,9 @@ dict_load_indexes( dulint id; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ if ((ut_dulint_get_high(table->id) == 0) && (ut_dulint_get_low(table->id) < DICT_HDR_FIRST_ID)) { @@ -700,7 +708,9 @@ dict_load_table( ulint err; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ heap = mem_heap_create(1000); @@ -791,7 +801,7 @@ dict_load_table( table->type = mach_read_from_4(field); if (table->type == DICT_TABLE_CLUSTER_MEMBER) { - ut_a(0); + ut_error; field = rec_get_nth_field(rec, 6, &len); table->mix_id = mach_read_from_8(field); @@ -872,7 +882,9 @@ dict_load_table_on_id( char* name; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ /* NOTE that the operation of this function is protected by the dictionary mutex, and therefore no deadlocks can occur @@ -957,7 +969,9 @@ dict_load_sys_table( { mem_heap_t* heap; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ heap = mem_heap_create(1000); @@ -988,7 +1002,9 @@ dict_load_foreign_cols( ulint i; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ foreign->foreign_col_names = mem_heap_alloc(foreign->heap, foreign->n_fields * sizeof(void*)); @@ -1069,7 +1085,9 @@ dict_load_foreign( ulint err; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ heap2 = mem_heap_create(1000); @@ -1201,7 +1219,9 @@ dict_load_foreigns( ulint err; mtr_t mtr; +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); +#endif /* UNIV_SYNC_DEBUG */ sys_foreign = dict_table_get_low((char *) "SYS_FOREIGN"); diff --git a/innobase/dict/dict0mem.c b/innobase/dict/dict0mem.c index aed44eb246c..c49738a0960 100644 --- a/innobase/dict/dict0mem.c +++ b/innobase/dict/dict0mem.c @@ -92,9 +92,9 @@ dict_mem_table_create( mutex_set_level(&(table->autoinc_mutex), SYNC_DICT_AUTOINC_MUTEX); table->autoinc_inited = FALSE; - +#ifdef UNIV_DEBUG table->magic_n = DICT_TABLE_MAGIC_N; - +#endif /* UNIV_DEBUG */ return(table); } @@ -219,7 +219,9 @@ dict_mem_index_create( index->stat_n_diff_key_vals = NULL; index->cached = FALSE; +#ifdef UNIV_DEBUG index->magic_n = DICT_INDEX_MAGIC_N; +#endif /* UNIV_DEBUG */ return(index); } |