diff options
author | unknown <monty@mashka.mysql.fi> | 2003-09-11 20:31:40 +0300 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-09-11 20:31:40 +0300 |
commit | 41824a35338012ff8196eb975f961d5e0f0e2a22 (patch) | |
tree | 1475a169c541e6b7aedb36103dd255fe52fc0517 /innobase | |
parent | 07bc35e1d024e5e3b81b131a47878510f0521609 (diff) | |
parent | d32bdcb1bfc274476cdd945e66e00f3ec31253c3 (diff) | |
download | mariadb-git-41824a35338012ff8196eb975f961d5e0f0e2a22.tar.gz |
merge with 4.1 tree
client/mysqltest.c:
Auto merged
include/mysql.h:
Auto merged
libmysql/errmsg.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/client_test.c:
Auto merged
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/btr/btr0btr.c | 11 | ||||
-rw-r--r-- | innobase/dict/dict0dict.c | 7 | ||||
-rw-r--r-- | innobase/fsp/fsp0fsp.c | 33 | ||||
-rw-r--r-- | innobase/os/os0file.c | 7 |
4 files changed, 48 insertions, 10 deletions
diff --git a/innobase/btr/btr0btr.c b/innobase/btr/btr0btr.c index d8a0959e47f..1af9336ce72 100644 --- a/innobase/btr/btr0btr.c +++ b/innobase/btr/btr0btr.c @@ -2376,8 +2376,15 @@ btr_index_rec_validate( type = dict_index_get_nth_type(index, i); - if (len != UNIV_SQL_NULL && dtype_is_fixed_size(type) - && len != dtype_get_fixed_size(type)) { + if ((dict_index_get_nth_field(index, i)->prefix_len == 0 + && len != UNIV_SQL_NULL && dtype_is_fixed_size(type) + && len != dtype_get_fixed_size(type)) + || + (dict_index_get_nth_field(index, i)->prefix_len > 0 + && len != UNIV_SQL_NULL && dtype_is_fixed_size(type) + && len != + dict_index_get_nth_field(index, i)->prefix_len)) { + fprintf(stderr, "InnoDB: Record in index %s in table %s, page %lu, at offset %lu\n" "InnoDB: field %lu len is %lu, should be %lu\n", diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c index 924fa3ecf95..a576a886b97 100644 --- a/innobase/dict/dict0dict.c +++ b/innobase/dict/dict0dict.c @@ -1596,6 +1596,13 @@ dict_index_build_internal_clust( break; } + if (dict_index_get_nth_field(new_index, i)->prefix_len + > 0) { + new_index->trx_id_offset = 0; + + break; + } + new_index->trx_id_offset += fixed_size; } diff --git a/innobase/fsp/fsp0fsp.c b/innobase/fsp/fsp0fsp.c index 20bf4972f64..8727c5156e4 100644 --- a/innobase/fsp/fsp0fsp.c +++ b/innobase/fsp/fsp0fsp.c @@ -2656,7 +2656,13 @@ fseg_free_page_low( ulint not_full_n_used; ulint state; ulint i; - char errbuf[200]; + char errbuf[200]; + +#ifdef __WIN__ + dulint desm; + dulint segm; +#endif + ut_ad(seg_inode && mtr); ut_ad(mach_read_from_4(seg_inode + FSEG_MAGIC_N) == @@ -2736,7 +2742,10 @@ fseg_free_page_low( fprintf(stderr, "InnoDB: Dump of the segment inode: %s\n", errbuf); - fprintf(stderr, + +#ifndef __WIN__ + + fprintf(stderr, "InnoDB: Serious error: InnoDB is trying to free space %lu page %lu,\n" "InnoDB: which does not belong to segment %lu %lu but belongs\n" "InnoDB: to segment %lu %lu.\n", @@ -2750,6 +2759,26 @@ fseg_free_page_low( ut_dulint_get_low( mtr_read_dulint(seg_inode + FSEG_ID, MLOG_8BYTES, mtr))); +#else + +/* More pedantic usage to avoid VC++ 6.0 compiler errors due to inline + function expansion issues */ + + desm = mtr_read_dulint(descr + XDES_ID, MLOG_8BYTES, mtr); + segm = mtr_read_dulint(seg_inode + FSEG_ID, MLOG_8BYTES, mtr); + + fprintf(stderr, +"InnoDB: Serious error: InnoDB is trying to free space %lu page %lu,\n" +"InnoDB: which does not belong to segment %lu %lu but belongs\n" +"InnoDB: to segment %lu %lu.\n", + space, page, + ut_dulint_get_high(desm), + ut_dulint_get_low(desm), + ut_dulint_get_high(segm), + ut_dulint_get_low(segm)); + +#endif + fprintf(stderr, "InnoDB: If the InnoDB recovery crashes here, see section 6.1\n" "InnoDB: of http://www.innodb.com/ibman.html about forcing recovery.\n"); diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c index e31fd1d9efe..f4f50320906 100644 --- a/innobase/os/os0file.c +++ b/innobase/os/os0file.c @@ -226,13 +226,8 @@ os_file_get_last_error(void) "InnoDB: the directory. It may also be you have created a subdirectory\n" "InnoDB: of the same name as a data file.\n"); } else { - if (strerror((int)err) != NULL) { - fprintf(stderr, - "InnoDB: Error number %lu means '%s'.\n", err, strerror((int)err)); - } - fprintf(stderr, - "InnoDB: See also section 13.2 at http://www.innodb.com/ibman.html\n" + "InnoDB: See section 13.2 at http://www.innodb.com/ibman.html\n" "InnoDB: about operating system error numbers.\n"); } } |