Commit graph

78590 commits

Author SHA1 Message Date
Sergey Vojtovich
b7f9c89423 MDEV-4702 - Reduce usage of LOCK_open
Following variables do not require LOCK_open protection anymore:
- table_def_cache (renamed to tdc_hash) is protected by rw-lock
  LOCK_tdc_hash;
- table_def_shutdown_in_progress doesn't need LOCK_open protection;
- last_table_id use atomics;
- TABLE_SHARE::ref_count (renamed to TABLE_SHARE::tdc.ref_count)
  is protected by TABLE_SHARE::tdc.LOCK_table_share;
- TABLE_SHARE::next, ::prev (renamed to tdc.next and tdc.prev),
  oldest_unused_share, end_of_unused_share are protected by
  LOCK_unused_shares;
- TABLE_SHARE::m_flush_tickets (renamed to tdc.m_flush_tickets)
  is protected by TABLE_SHARE::tdc.LOCK_table_share;
- refresh_version (renamed to tdc_version) use atomics.
2013-08-14 12:48:50 +04:00
Sergei Golubchik
b882a3e83e MDEV-4492 InnoDB generates non-existing link to manual based on the server version 2013-08-13 16:02:10 +02:00
Sergei Golubchik
fcf87600a2 MDEV-4865 Change related to --log option/variable was merged partially
Complete the merge of magne.mahre@oracle.com-20101102115354-vxcaxminmzglzalk
(WL#5185 Remove deprecated 5.1 features)
2013-08-13 13:35:36 +02:00
Sergei Golubchik
a6617eb341 MDEV-4786 merge 10.0-monty -> 10.0
remove unused HA_READ_OUT_OF_SYNC
2013-08-12 22:08:25 +02:00
Sergei Golubchik
a91a23858d cleanup
* use sql_mode_for_dates() where appropriate.
* always specify an argument for sql_mode_for_dates()
  (future-proof. easier to notice and fix if the caller
   will start using thd from a local variable or an argument)
2013-08-12 22:05:23 +02:00
Sergei Golubchik
847e0f152b MDEV-4786 merge 10.0-monty -> 10.0
remove unused HA_CAN_EXPORT
(with the merge of "FLUSH TABLE <table_list> FOR EXPORT",
this functionality should be added back, but differently -
no table flag, handler::extra() returns an error instead)
2013-08-12 21:27:43 +02:00
Sergei Golubchik
8f0ccf7827 MDEV-4786 merge 10.0-monty -> 10.0
remove unused HA_BLOCK_CONST_TABLE
2013-08-12 21:07:10 +02:00
Sergei Golubchik
62b658a405 MDEV-4786 merge 10.0-monty -> 10.0
remove half-applied "Bug#14521864: MYSQL 5.1 TO 5.5 BUGS PARTITIONING"
2013-08-12 20:56:35 +02:00
Sergei Golubchik
23b4ccde8b MDEV-4786 merge 10.0-monty -> 10.0
fix simple_rename_or_index_change() to reuse alter_table_manage_keys()
2013-08-12 18:32:53 +02:00
Sergei Golubchik
5dd28db253 don't error out in Sys_var::global_value_ptr(),
it's not nice when unconfigured gtid prevents SHOW VARIABLES from working
2013-08-12 16:02:20 +02:00
Sergei Golubchik
9747fbb411 MDEV-4786 merge 10.0-monty -> 10.0
remove TDC_RT_REMOVE_NOT_OWN_AND_MARK_NOT_USABLE
2013-08-12 15:46:35 +02:00
Sergei Golubchik
eafb11c821 MDEV-4786 merge 10.0-monty -> 10.0
use get_table_def_key() instead of create_table_def_key() where appropriate
2013-08-12 14:17:51 +02:00
unknown
055e9cb49c Fix bug MDEV-4885: When performance schema is disabled, autosized parameters show 18446744073709551615 instead of -1
(patch by Serg)
2013-08-12 17:21:52 +03:00
Sergey Vojtovich
31007e3422 Merge fixes for:
MDEV-4797 - Spider crash on show create table spider table and replication
            multi source to one of the partitions
MDEV-4747 - Spider: add missing install_spider.sql
2013-08-08 12:05:02 +04:00
Sergey Vojtovich
e397934177 Do not require libssl1.0.0 (not available on all buildbot platforms). 2013-08-08 12:03:30 +04:00
Igor Babaev
5d20f7b346 Added missing tests for innodb persistent statistics (from mysql-5.6.10)
Made sure that innodb tables for persistent statistics would not
considered by the server as system tables.
2013-08-07 17:08:51 -07:00
Igor Babaev
1b6e66fa20 Added missing tests for GET DIAGNOSTICS. 2013-08-07 13:18:26 -07:00
Sergey Petrunya
a3d79f2e58 Merge 10.0-serg -> 10.0 2013-08-07 17:21:37 +04:00
Sergey Vojtovich
a765e035a0 Null merge. 2013-08-07 19:40:25 +04:00
Sergey Petrunya
8e36dde7e1 Better comments 2013-08-07 17:20:22 +04:00
Sergey Vojtovich
45f8bcb282 Attempt to fix sproadic failures of rpl.rpl_err_ignoredtable.
mysql-test/suite/rpl/t/rpl_err_ignoredtable.test:
  Wait until thread is killed.
2013-08-07 15:55:17 +04:00
Alexander Barkov
1a9f6b1d89 MDEV-4819 Upgrade from MySQL 5.6 does not work 2013-08-07 10:57:45 +04:00
Sergey Vojtovich
5997156b9b MDEV-4801 - Server crashes in my_strdup on setting
innodb_ft_user_stopword_table to DEFAULT

Setting plugin string variable with PLUGIN_VAR_MEMALLOC flag
to NULL causes server crash.

mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result:
  Reset innodb_ft_user_stopword_table. Also tests MDEV-4801.
mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test:
  Reset innodb_ft_user_stopword_table. Also tests MDEV-4801.
sql/sql_plugin.cc:
  When we got NULL value, do not strdup(NULL).
2013-08-06 14:02:07 +04:00
Igor Babaev
9d1f31fb4b Fixed a valgrind warning:
reverted the change done for WL 4443.
2013-08-05 13:52:53 -07:00
Igor Babaev
19b8f1ee88 Merge. 2013-08-05 07:16:07 -07:00
Alexey Botchkov
8067ced929 valgrind errors in gis.test and funcs_1.storedproc fixed.
Field_geom::store() should check if the source is it's value.
2013-08-04 23:21:11 +05:00
Sergey Petrunya
cb5de276a3 Automatic merge 2013-08-02 18:14:35 +04:00
Sergey Vojtovich
d845bcc3dc MDEV-4786 - merge 10.0-monty - 10.0
Fixed perfschema.relaylog failure.

mysql-test/suite/perfschema/r/relaylog.result:
  Failed file opens are not shown in P_S. Relevant revision:
  marc.alff@oracle.com-20120807154151-cwuazxu341rvrnmg
2013-08-02 19:52:26 +04:00
Sergey Petrunya
5c49041b17 MDEV-4816: rpl.rpl_trunc_temp fails in 10.0-serg
Temorary fix for a number of replication tests (rpl.rpl_temp_table_mix_row 
rpl.rpl_trunc_temp rpl.rpl_current_user rpl.rpl_gtid_master_promote):

- THD::decide_logging_format() should not assume that mysql.gtid_slave_pos is 
  a non-replicated table. This used to cause unintended behavior for COMMIT 
  statement: replication would switch to row-based, etc.

The question of what should be done when a user issues a statement that
explicitly modifies mysql.gtid_slave_pos table remains open.
2013-08-02 18:12:09 +04:00
Alexander Barkov
4d15abf25a MDEV-4786 merge 10.0-monty > 10.0
Workaround for a possible GCC bug happening in my_fill_ucs2:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58039

Commenting out the optimized loop.
Using the original MySQL version.

modified:
  strings/ctype-ucs2.c
2013-08-02 13:36:25 +04:00
Sergey Vojtovich
3a1e8226e7 MDEV-4786 - merge 10.0-monty - 10.0
Fixed parts.partition_mgm_lc2_innodb, parts.partition_mgm_lc2_archive,
parts.partition_mgm_lc2_memory, parts.partition_mgm_lc2_myisam failures.

Applied lost changes from revision
mattias.jonsson@oracle.com-20101214151357-cn1eeicah9q2oz1t

mysql-test/suite/parts/r/partition_mgm_lc2_archive.result:
  Applied lost changes from revision
  mattias.jonsson@oracle.com-20101214151357-cn1eeicah9q2oz1t
mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result:
  Applied lost changes from revision
  mattias.jonsson@oracle.com-20101214151357-cn1eeicah9q2oz1t
mysql-test/suite/parts/r/partition_mgm_lc2_memory.result:
  Applied lost changes from revision
  mattias.jonsson@oracle.com-20101214151357-cn1eeicah9q2oz1t
mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result:
  Applied lost changes from revision
  mattias.jonsson@oracle.com-20101214151357-cn1eeicah9q2oz1t
2013-08-01 22:13:06 +04:00
Sergey Vojtovich
bd68d38cc7 MDEV-4786 - merge 10.0-monty - 10.0
Fixed main.plugin, main-test_sql_discovery.plugin failures.

storage/example/ha_example.cc:
  Issue a warning independently of DBUG status (needed for testing).
2013-08-01 17:12:58 +04:00
Alexander Barkov
2404456608 Merging my_convert() from 10.0-serg
modified:
  include/m_ctype.h
  mysys/ma_dyncol.c
  mysys/string.c
  sql/sql_string.cc
  sql/sql_string.h
  strings/ctype.c
2013-08-01 17:03:15 +04:00
Sergey Vojtovich
be995467f0 MDEV-4786 - merge 10.0-monty - 10.0
Fixed main.partition_open_files_limit, innodb.innodb_bug12400341 failures.

These testcases use --max-connections=N command line option, which
was declared PARSE_EARLY during the merge. Embedded didn't handle
early options and failed to start due to unknown command line
option.

libmysqld/lib_sql.cc:
  Let embedded handle early options.
sql/mysqld.cc:
  Moved handling of early options to a separate function.
sql/mysqld.h:
  Moved handling of early options to a separate function.
2013-08-01 16:09:26 +04:00
Sergey Vojtovich
d89b19d432 MDEV-4786 - merge 10.0-monty - 10.0
Fixed funcs_1.is_statistics_mysql_embedded, funcs_1.is_columns_mysql_embedded,
funcs_1.is_table_constraints_mysql_embedded, funcs_1.is_tables_mysql_embedded
failures.

mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result:
  Applied same changes as to non-embedded counterpart.
mysql-test/suite/funcs_1/r/is_statistics_mysql_embedded.result:
  Applied same changes as to non-embedded counterpart.
mysql-test/suite/funcs_1/r/is_table_constraints_mysql_embedded.result:
  Applied same changes as to non-embedded counterpart.
mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result:
  Applied same changes as to non-embedded counterpart.
2013-08-01 16:04:13 +04:00
Sergey Vojtovich
6664e73733 MDEV-4786 - merge 10.0-monty - 10.0
Fixed main.partition_cache, main.partition_cache_innodb,
main.partition_cache_myisam, main.query_cache failures.

libmysqld/emb_qcache.cc:
  Restore proper method to retrieve warnings number.
2013-08-01 16:00:50 +04:00
Igor Babaev
507410379a Fixed a wrong merge in prune_partitions()
Added forgotten partition_explicit_prune from mysql-5.6.

Backported the fix for
Bug#13559657: PARTITION SELECTION DOES NOT WORK WITH VIEWS
from mysql-5.6
2013-07-31 06:45:44 -07:00
unknown
94dfa010bc Virtual column support for new innodb. 2013-07-31 16:41:29 +03:00
Vladislav Vaintroub
a06a844d9a MDEV-4712 : Fix "shutdown" test.
There is a race condition during shutdown, that happens when "show status" runs during shutdown. 
Functions show_slave_running(), show_slave_received_heartbeats(), show_heartbeat_period() would dereference NULL pointer master_info_index, after this variable is  set to NULL in slave_end() during shutdown.
Fix introduces check for master_info_index == NULL in the affected functions.
2013-07-31 15:04:14 +02:00
Sergey Vojtovich
159866b6d3 Merged fix for uninitialized variables. 2013-07-31 15:02:11 +04:00
Sergey Vojtovich
e9f6c47f26 MDEV-4786 - merge 10.0-monty - 10.0
Fixed "check of testcases" failure.

Value of INFORMATION_SCHEMA.PLUGINS.PLUGIN_TYPE_VERSION was
pointing to incorrect address and could change after server
restart.

storage/innobase/handler/i_s.cc:
  Use proper plugin info pointer (struct st_mysql_information_schema
  instead of ST_FIELD_INFO[]).
2013-07-31 14:55:54 +04:00
Sergey Vojtovich
9dd68da1b0 MDEV-4786 - merge 10.0-monty - 10.0
Fixed archive.archive non-debug failure.

Applied revision:
sergey.vojtovich@oracle.com-20111008171828-vje5pumzvl04rdbb

Archive didn't read blobs from original table while
performing REPAIR TABLE with non-debug builds.

storage/archive/ha_archive.cc:
  Mark all columns for read independently of DBUG state.
  It instructs ::get_row_version2() to read all blobs.
2013-07-31 14:51:25 +04:00
Sergey Vojtovich
b183cda347 MDEV-4786 - merge 10.0-monty - 10.0
Fixed sys_vars.log_error_func, sys_vars.log_error_func2,
maria.small_blocksize, sys_vars.autocommit_func3, sys_vars.autocommit_func2,
sys_vars.autocommit_func4, sys_vars.autocommit_func5,
sys_vars.tx_isolation_func, main.pool_of_threads, innodb.innodb,
archive.archive-big, parts.part_supported_sql_func_innodb,
parts.partition_decimal_myisam, parts.partition_decimal_innodb,
main.sum_distinct-big, percona.innodb_sys_index,
percona.percona_flush_contiguous_neighbors failures.

libmysqld/lib_sql.cc:
  Restore proper method to retrieve warnings number.
2013-07-30 23:42:16 +04:00
Kentoku SHIBA
ed2eb25799 fix for MDEV-4797 2013-07-31 03:14:57 +09:00
Sergey Vojtovich
bdb7af8dd9 MDEV-4786 - merge 10.0-monty - 10.0
Fixed parts.partition_alter1_1_2_innodb, parts.partition_alter1_2_innodb,
parts.partition_alter2_1_1_innodb, parts.partition_alter2_1_2_innodb,
parts.partition_alter2_2_1_innodb, parts.partition_alter2_2_2_innodb,
parts.partition_alter4_innodb failures.

mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result:
  Reverted some changes to test case as InnoDB doesn't support
  REPAIR TABLE and we didn't merge the following revision, which
  implements REPAIR TABLE for partitioning:
  mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter1_2_innodb.result:
  Reverted some changes to test case as InnoDB doesn't support
  REPAIR TABLE and we didn't merge the following revision, which
  implements REPAIR TABLE for partitioning:
  mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result:
  Reverted some changes to test case as InnoDB doesn't support
  REPAIR TABLE and we didn't merge the following revision, which
  implements REPAIR TABLE for partitioning:
  mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result:
  Reverted some changes to test case as InnoDB doesn't support
  REPAIR TABLE and we didn't merge the following revision, which
  implements REPAIR TABLE for partitioning:
  mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result:
  Reverted some changes to test case as InnoDB doesn't support
  REPAIR TABLE and we didn't merge the following revision, which
  implements REPAIR TABLE for partitioning:
  mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result:
  Reverted some changes to test case as InnoDB doesn't support
  REPAIR TABLE and we didn't merge the following revision, which
  implements REPAIR TABLE for partitioning:
  mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
mysql-test/suite/parts/r/partition_alter4_innodb.result:
  Reverted some changes to test case as InnoDB doesn't support
  REPAIR TABLE and we didn't merge the following revision, which
  implements REPAIR TABLE for partitioning:
  mattias.jonsson@oracle.com-20130130165152-o4tivhs5ty6n6nqa
2013-07-30 17:54:40 +04:00
Sergey Vojtovich
bdbdbb82f4 MDEV-4786 - merge 10.0-monty - 10.0
Fixed parts.partition_alter1_1_innodb failure.

mysql-test/suite/parts/t/partition_alter1_1_innodb.test:
  Applied hunk from 5.6 test: test takes long time, so only run it with
  the --big-test mtr-flag.
2013-07-30 17:50:48 +04:00
Sergey Vojtovich
9fff3f5b5c MDEV-4786 - merge 10.0-monty - 10.0
Fixed innodb.innodb_mysql failure.

mysql-test/include/mix1.inc:
  Applied hunk from 5.6 test: error text has changed during merge.
2013-07-30 17:47:53 +04:00
Sergey Vojtovich
0f985c6407 MDEV-4786 - merge 10.0-monty - 10.0
Fixed archive.archive failure.

Applied remnants of two revisions, which were partially merged.

Rev. 3225.1.1 (5.0 compatibility):

  BUG#11756687 - 48633: ARCHIVE TABLES ARE NOT UPGRADEABLE

  Archive table created by 5.0 were not accessible.

  This patch adds various fixes so that 5.0 archive tables
  are readable and writable. Though it is strongly recommended
  to avoid binary upgrade of archive tables whenever it is
  possible.

Rev. 3710 (due to valgrind warnings):

  Bug#13907676: HA_ARCHIVE::INFO
  In WL#4305 the refactoring of the archive writer,
  it could flush the writer when it was not yet open.

  This was due to if bulk insert was used but no
  rows was actually inserted (write_row was never called),
  the writer was marked dirty even if it was not open.

  Fix was to only mark it as dirty if it was opened.

mysql-test/std_data/bug48633.ARM:
  A test case for BUG#11756687: archive table created by 5.0.95.
mysql-test/std_data/bug48633.ARZ:
  A test case for BUG#11756687: archive table created by 5.0.95.
mysql-test/std_data/bug48633.frm:
  A test case for BUG#11756687: archive table created by 5.0.95.
mysql-test/suite/archive/archive.result:
  Modified a test case for BUG#47012 according to fix for
  BUG#11756687.
  Added a test case for BUG#11756687.
mysql-test/suite/archive/archive.test:
  Modified a test case for BUG#47012 according to fix for
  BUG#11756687.
  Added a test case for BUG#11756687.
  
  No need to remove .ARM files anymore: DROP TABLE will take
  care of them.
storage/archive/azio.c:
  Do not write AZIO (v.3) header to GZIO file (v.1).
  
  Added initialization of various azio_stream members
  to read_header() so it can proceed with v.1 format.
  
  Update data start position only when reading first
  GZIO header. That is only on azopen(), but never on
  azread().
storage/archive/ha_archive.cc:
  Removed guardians that were rejecting to open v.1 archive
  tables.
  
  Reload .frm when repairing v.1 tables - they didn't have
  storage for .frm.
  
  Do not flush write stream when it is not open.
  
  Let DROP TABLE remove 5.0 .ARM files.
2013-07-29 18:08:49 +04:00
Sergey Vojtovich
5f8effe1db MDEV-4786 - merge 10.0-monty - 10.0
Fixed debian/ubuntu build failure.

cmake/ssl.cmake:
  Do not prefer static SSL libraries for WITH_SSL=system|yes as there is
  no guarantee that they will link well with MariaDB shared objects.
  Specifically on debian/ubuntu static SSL libraries are built without
  -fPIC.
  
  Restore 5.6 behavior. 10.0.3 never prefer static SSL libraries.
2013-07-27 17:04:57 +04:00
Igor Babaev
b07d0e2a4c MDEV-4786 - merge 10.0-monty - 10.0
Fixed failure of one of the test case from innodb_ext_key.test.
The fact is that the innodb code may return statistical data
on record per key values that is far off the real numbers. 
This is exactly what happened in mariadb-5.5 with this test case.

Added an ANALYZE command in this test case to avoid this problem.
The same change will be done in mariadb-5.5
2013-07-26 18:48:06 -07:00