From 10852be938b545af8a60b5357686d6f695932e89 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 12:43:22 +0200 Subject: [PATCH 1/3] dict0load.c: dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later. innobase/dict/dict0load.c: dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables of MySQL 5.0.3 and later. --- innobase/dict/dict0load.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c index a4637e09d07..a39ffe37ffd 100644 --- a/innobase/dict/dict0load.c +++ b/innobase/dict/dict0load.c @@ -639,7 +639,7 @@ dict_load_table( /* Check if the table name in record is the searched one */ if (len != ut_strlen(name) || ut_memcmp(name, field, len) != 0) { - + err_exit: btr_pcur_close(&pcur); mtr_commit(&mtr); mem_heap_free(heap); @@ -662,6 +662,13 @@ dict_load_table( field = rec_get_nth_field(rec, 4, &len); n_cols = mach_read_from_4(field); + if (n_cols & 0x80000000UL) { + ut_print_timestamp(stderr); + fprintf(stderr, + " InnoDB: table %s is in the new compact format\n" + "InnoDB: of MySQL 5.0.3 or later\n", name); + goto err_exit; + } table = dict_mem_table_create(name, space, n_cols); From 6d0ec316a84fc85d8e327dafdf30aaccb0024b34 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 14 Mar 2005 19:59:00 -0600 Subject: [PATCH 2/3] mysql.1.in: Fix path that needs no parameterization. man/mysql.1.in: Fix path that needs no parameterization. BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted --- BitKeeper/etc/logging_ok | 1 + man/mysql.1.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index f8621170f64..ef04f36c433 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -112,6 +112,7 @@ paul@central.snake.net paul@ice.local paul@ice.snake.net paul@kite-hub.kitebird.com +paul@snake-hub.snake.net paul@teton.kitebird.com pem@mysql.com peter@linux.local diff --git a/man/mysql.1.in b/man/mysql.1.in index 35ff48693e1..7330ac8125b 100644 --- a/man/mysql.1.in +++ b/man/mysql.1.in @@ -107,7 +107,7 @@ version number and exit. Wait and retry if the database server connection is down. .SH FILES .TP 2.2i -.I @sysconfdir@/my.cnf +.I /etc/my.cnf MySQL configuration file .TP .I @bindir@/mysql From f56889321f9062f4b9af4664a9a8387a21534354 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 15 Mar 2005 08:33:47 +0200 Subject: [PATCH 3/3] buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user innobase/buf/buf0flu.c: Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user --- innobase/buf/buf0flu.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/innobase/buf/buf0flu.c b/innobase/buf/buf0flu.c index 964c396dd08..4df0e9962fb 100644 --- a/innobase/buf/buf0flu.c +++ b/innobase/buf/buf0flu.c @@ -115,7 +115,15 @@ buf_flush_ready_for_replace( #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(buf_pool->mutex))); #endif /* UNIV_SYNC_DEBUG */ - ut_a(block->state == BUF_BLOCK_FILE_PAGE); + if (block->state != BUF_BLOCK_FILE_PAGE) { + ut_print_timestamp(stderr); + fprintf(stderr, +" InnoDB: Error: buffer block state %lu in the LRU list!\n", + (ulong)block->state); + ut_print_buf(stderr, (byte*)block, sizeof(buf_block_t)); + + return(FALSE); + } if ((ut_dulint_cmp(block->oldest_modification, ut_dulint_zero) > 0) || (block->buf_fix_count != 0)