diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-06-06 00:07:27 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-06-06 00:07:27 +0200 |
commit | e27c338634739ef56a6888e7948e04c0fa0ba677 (patch) | |
tree | ad63ccae614f3dd77509825d1905fd815ef322cb /storage | |
parent | 2a5905141a3c509a7c34c3d370fb146dbc1c965f (diff) | |
parent | 6d75570e99fbf070cdbeefdfbcfc94d1c7b3ad1f (diff) | |
download | mariadb-git-e27c338634739ef56a6888e7948e04c0fa0ba677.tar.gz |
5.5.38 merge
Diffstat (limited to 'storage')
-rw-r--r-- | storage/archive/ha_archive.cc | 4 | ||||
-rw-r--r-- | storage/maria/maria_chk.c | 2 | ||||
-rw-r--r-- | storage/myisam/mi_open.c | 7 | ||||
-rw-r--r-- | storage/myisam/myisampack.c | 11 | ||||
-rw-r--r-- | storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test | 4 | ||||
-rw-r--r-- | storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_timeout.test | 4 | ||||
-rw-r--r-- | storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test | 4 |
7 files changed, 19 insertions, 17 deletions
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index 3625df73c4f..6c308e7eef1 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -1,6 +1,6 @@ /* - Copyright (c) 2004, 2012, Oracle and/or its affiliates - Copyright (c) 2010, 2013 Monty Program Ab. + Copyright (c) 2004, 2014, Oracle and/or its affiliates + Copyright (c) 2010, 2014, SkySQL Ab. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License diff --git a/storage/maria/maria_chk.c b/storage/maria/maria_chk.c index 623d3c6c92e..9235d5ee96a 100644 --- a/storage/maria/maria_chk.c +++ b/storage/maria/maria_chk.c @@ -432,7 +432,7 @@ static struct my_option my_long_options[] = static void print_version(void) { - printf("%s Ver 1.2 for %s at %s\n", my_progname, SYSTEM_TYPE, + printf("%s Ver 1.2 for %s on %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE); } diff --git a/storage/myisam/mi_open.c b/storage/myisam/mi_open.c index c6af5195f82..060017f10ad 100644 --- a/storage/myisam/mi_open.c +++ b/storage/myisam/mi_open.c @@ -475,13 +475,11 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) share->blobs[j].offset=offset; j++; } -#if MYSQL_VERSION_ID <= 60100 - /* This is to detect old checksum option */ + /* This is to detect how to calculate checksums */ if (share->rec[i].null_bit) share->has_null_fields= 1; if (share->rec[i].type == FIELD_VARCHAR) share->has_varchar_fields= 1; -#endif offset+=share->rec[i].length; } share->rec[i].type=(int) FIELD_LAST; /* End marker */ @@ -775,7 +773,8 @@ void mi_setup_functions(register MYISAM_SHARE *share) share->read_record=_mi_read_pack_record; share->read_rnd=_mi_read_rnd_pack_record; if ((share->options & - (HA_OPTION_PACK_RECORD | HA_OPTION_NULL_FIELDS))) + (HA_OPTION_PACK_RECORD | HA_OPTION_NULL_FIELDS)) || + share->has_varchar_fields) share->calc_checksum= mi_checksum; else share->calc_checksum= mi_static_checksum; diff --git a/storage/myisam/myisampack.c b/storage/myisam/myisampack.c index 8854a85c3d3..966edc877cd 100644 --- a/storage/myisam/myisampack.c +++ b/storage/myisam/myisampack.c @@ -417,6 +417,11 @@ static MI_INFO *open_isam_file(char *name,int mode) if (verbose) puts("Recompressing already compressed table"); share->options&= ~HA_OPTION_READ_ONLY_DATA; /* We are modifing it */ + + /* We want to use the new checksums if we have null fields */ + if (share->has_null_fields) + share->options|= HA_OPTION_NULL_FIELDS; + } if (! force_pack && share->state.state.records != 0 && (share->state.state.records <= 1 || @@ -2966,7 +2971,8 @@ static int save_state(MI_INFO *isam_file,PACK_MRG_INFO *mrg,my_off_t new_length, uint key; DBUG_ENTER("save_state"); - options|= HA_OPTION_COMPRESS_RECORD | HA_OPTION_READ_ONLY_DATA; + options|= (HA_OPTION_COMPRESS_RECORD | HA_OPTION_READ_ONLY_DATA | + (share->options & HA_OPTION_NULL_FIELDS)); mi_int2store(share->state.header.options,options); share->state.state.data_file_length=new_length; @@ -3015,7 +3021,8 @@ static int save_state_mrg(File file,PACK_MRG_INFO *mrg,my_off_t new_length, state= isam_file->s->state; options= (mi_uint2korr(state.header.options) | HA_OPTION_COMPRESS_RECORD | - HA_OPTION_READ_ONLY_DATA); + HA_OPTION_READ_ONLY_DATA | + (isam_file->s->options & HA_OPTION_NULL_FIELDS)); mi_int2store(state.header.options,options); state.state.data_file_length=new_length; state.state.del=0; diff --git a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test index 658becb0b12..6b4e5d88673 100644 --- a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test +++ b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test @@ -1,7 +1,7 @@ # verify that information_schema.tokudb_locks gets populated with locks, information_schema.tokudb_lock_waits gets -if (`select @@tokudb_version <= "7.1.0"`) +if (`select @@tokudb_version <= "7.1.6"`) { - --skip Not fixed in TokuDB 7.1.0 or earlier + --skip Race condition in the test in TokuDB 7.1.6 or earlier } # populated with 1 lock_wait and all transactions are present in information_schema.tokudb_trx for 2 clients diff --git a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_timeout.test b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_timeout.test index f3ace4aa63f..ea7eb9a2c89 100644 --- a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_timeout.test +++ b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_timeout.test @@ -1,7 +1,3 @@ -if (`select @@tokudb_version <= "7.1.0"`) -{ - --skip Not fixed in TokuDB 7.1.0 or earlier -} # verify that tokudb_locks and tokudb_lock_waits contents for 2 conflicting transactions with a lock timeout source include/have_tokudb.inc; diff --git a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test index cc393367148..3a1cf2023da 100644 --- a/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test +++ b/storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test @@ -1,6 +1,6 @@ -if (`select @@tokudb_version <= "7.1.0"`) +if (`select @@tokudb_version <= "7.1.6"`) { - --skip Not fixed in TokuDB 7.1.0 or earlier + --skip Race condition in the test in TokuDB 7.1.6 or earlier } # verify that information_schema.tokudb_locks gets populated with locks for 2 clients |