Commit graph

78543 commits

Author SHA1 Message Date
unknown
df66ee7fe9 MDEV-4692: mysql.gtid_slave_pos accumulates values for a domain
When we load the slave state from the mysql.gtid_slave_pos at server start, we
need to load all the rows into the in-memory hash, not just the most recent
one in each replication domain. Otherwise we accumulate cruft in the form of
old rows each time the server restarts.
2013-06-21 21:23:24 +02:00
unknown
1f08a51858 Case when we close temporary table which was not opened in its engine (ALTER TABLE) fixed. 2013-06-21 15:17:48 +03:00
unknown
6e7d7f9bcd MDEV-4688: empty @@gtid_slave_pos during slave commit.
In record_gtid(), too many rows were deleted from the slave position
hash - we need to always keep on to the most recent committed row,
so we have a valid slave position at all times.
2013-06-21 11:53:46 +02:00
Michael Widenius
c46ce32cfb Fixed memory leaks. alias.test now runs clean with valgrind 2013-06-20 14:49:25 +03:00
unknown
03fb90f3a7 MDEV-4686: Temporary variable for sub_id is 32-bit, should be 64-bit
Fix wrong type for sub_id, which would cause overflow grief on
long-running server. Also some related renames for consistency.
2013-06-20 09:04:44 +02:00
Michael Widenius
f62f4bd563 Fixed some memory leaks
Disabled some asserts that we can't yet have enabled
2013-06-19 22:57:46 +03:00
unknown
dfcc502ab5 Finished merging wl5986 started by Igor. 2013-06-19 14:32:14 +03:00
Alexander Barkov
7cc7710679 Merging MDEV-4635 from 5.3.
Also, fixing a bug in STR_TO_DATE(). It erroneously returned
error in strict mode for dates like '0000-01-01'
(zero year, but non-zero month and day).

According to the manual:
- NO_ZERO_DATE disallows 0000-00-00 (all date parts are zeros)
- NO_ZERO_IN_DATE disallows zero month (YYYY-00-DD) or day (YYYY-MM-00).

0000-01-01 is a valid date, even in strict mode.


modified:
  mysql-test/r/func_time.result
  mysql-test/r/strict.result
  mysql-test/t/func_time.test
  mysql-test/t/strict.test
  sql/item_timefunc.cc
  sql/sql_time.h
pending merges:
  Alexander Barkov 2013-06-17 MDEV-4635 Crash in UNIX_TIMESTAMP(STR_TO_DAT...
2013-06-18 13:14:46 +04:00
Sergey Vojtovich
35360ec452 Merge. 2013-06-18 11:18:38 +04:00
Michael Widenius
2534521f9a Fixed some merge issues:
- temporary tables now works
- mysql-system_tables updated to not use temporary tables
- PASSWORD() function fixed
- Support for STATS_AUTO_RECALC, STATS_PERSISTENT and STATS_SAMPLE_PAGES table options
2013-06-18 02:01:34 +03:00
Vladislav Vaintroub
be06b886a2 MDEV-4503 : Installation fails if TEMP directory contains "~" subdirectory.
Remove special handling for ~ in the middle of the path  in cleanup_dir_name() - according to Monty, this was ancient code that tried to emulate Emacs behavior
2013-06-17 19:18:14 +02:00
Vladislav Vaintroub
00a77add6a unit test case for MDEV-4576 2013-06-17 17:58:53 +02:00
Alexander Barkov
4085836acf MDEV-4635 Crash in UNIX_TIMESTAMP(STR_TO_DATE('2020','%Y'))
modified:
  mysql-test/r/func_time.result
  mysql-test/t/func_time.test
  sql/item_timefunc.cc
  sql/mysql_priv.h
2013-06-17 19:25:55 +04:00
Alexander Barkov
fee78df313 MDEV-4651 Crash in my_decimal2decimal in a ORDER BY query
modified:
  mysql-test/r/ps_2myisam.result
  mysql-test/r/ps_3innodb.result
  mysql-test/r/ps_4heap.result
  mysql-test/r/ps_5merge.result
  mysql-test/r/type_datetime_hires.result
  mysql-test/suite/maria/r/ps_maria.result
  mysql-test/t/type_datetime_hires.test
  sql/item_timefunc.h
2013-06-17 17:04:51 +04:00
unknown
0b7f8ed973 Debugging output fixed to make finding executing commands easy.
Error processing in mysql_create_table() fixed.
2013-06-17 13:34:54 +03:00
unknown
47da65eed3 Cassandra SE build fix for merge. 2013-06-17 09:14:58 +03:00
Vladislav Vaintroub
c61c1d7ce1 MDEV-4576 : Aria storage engine's temporary files might not be deleted (Errcode : 13)
See also MySQL Bug #39750  and similar ones.

Fix my_delete() on Windows, to safely remvoe files on Windows, including files  that are opened by another threads in the same process, antiviruses and  backup applications. If file to be deleted is  also  opened by another thread, the file is renamed to unique name prior to deletion - this makes it possible to create file with the same name right after deletion.
With this patch my_delete_allow_opened() becomes obsolete and is replaced with my_delete().

This patch is rework of the patch  http://lists.mysql.com/commits/59327  for MySQL bug#39750.
2013-06-16 22:13:26 +02:00
Sergei Golubchik
d7e0c3cc73 MDEV-4456 Reverse discovery of ARCHIVE table on SELECT after disappearance of ARZ file
Implement discovery of table non-existence, and related changes:

1. Split GTS_FORCE_DISCOVERY (that was meaning two different things in
two different functions) into GTS_FORCE_DISCOVERY and GTS_USE_DISCOVERY.
2. Move GTS_FORCE_DISCOVERY implementation into open_table_def().
3. In recover_from_failed_open() clear old errors *before* discovery,
not after successful discovery. The final error should come
from the discovery.
4. On forced discovery delete table .frm first. Discovery will write
a new one, if desired.
5. If the frm file exists, but not the table in the engine, force
rediscovery if the engine supports it.
2013-06-16 22:01:07 +02:00
Michael Widenius
8075b05b7d More merge fixes:
- mdl.cc and mdl.h merged completely
- mysql_system_tables*.sql merged completely
- Fixed wrong merge of lock_tables
- Added some missing functions:
 - bool THD::notify_shared_lock()
 - Dynamic_array::pop, Dynamic_array::del
- Added MDL_context_owner to THD
- Added metadata_locks_hash_instances
2013-06-16 21:26:40 +03:00
Olivier Bertrand
b5130b5bd2 - Implemented: The use of Federated servers.
modified:
  storage/connect/global.h
  storage/connect/ha_connect.cc
  storage/connect/plugutil.c
  storage/connect/tabmysql.cpp
  storage/connect/tabmysql.h
  storage/connect/tabtbl.cpp
2013-06-16 19:07:27 +02:00
Sergei Golubchik
bae5b92ae6 remove extraneous statement from the test 2013-06-16 17:26:27 +02:00
Sergei Golubchik
e53b603f7c MDEV-4451 Attempt to write-lock a SEQUENCE table with log-bin enabled causes ER_BINLOG_ROW_ENGINE
mark the SEQUENCE engine as both SBR and RBR capable :)
2013-06-16 17:19:53 +02:00
Sergei Golubchik
08a1ac9d35 MDEV-4449 SEQUENCE depends on TEST_SQL_DISCOVERY for discovering tables upon DDL
implement a non-dummy discover_table_existence() method
2013-06-16 17:07:15 +02:00
Sergei Golubchik
a2d795c185 MDEV-4450 misleading error messages from init_from_sql_statement_string() 2013-06-15 23:53:41 +02:00
Michael Widenius
7c1abe151c Fixed patch that was part of last push that didn't apply correctly. 2013-06-15 23:01:01 +03:00
Sergei Golubchik
0973b7a8d2 partitioning frm bugs:
1. default db type for partitions was stored as 1-byte DB_TYPE code,
   which doesn't work for dynamically generated codes.
2. storage engine plugin for default db type wasn't locked at all,
   which could trivially crash for dynamic plugins.

Now the storage engine name is stored in the extra2 section,
and the plugin is correctly locked.
2013-06-15 19:10:00 +02:00
Sergei Golubchik
54b3472ef1 remove unsusd DB_TYPE value 2013-06-15 19:09:55 +02:00
Sergei Golubchik
8bc6aed491 plugin_hton helper 2013-06-15 19:09:47 +02:00
Sergei Golubchik
935817e985 Fix to compile without partitioning.
Remove few ifdef's
2013-06-15 19:09:40 +02:00
Sergei Golubchik
68a6705ed1 MDEV-4441 DROP DATABASE with a newly created ARCHIVE table does not work
1. DROP DATABASE should use ha_discover_table_names(), not look at .frm files.
2. filename_to_tablename() also encodes temp file names #sql- -> #mysql50##sql
3. no special treatment for #sql- files, no TABLE_LIST::internal_tmp_table
4. discover also table file names, that start from #
2013-06-15 19:09:31 +02:00
Michael Widenius
5f1f2fc0e4 Applied all changes from Igor and Sanja 2013-06-15 18:32:08 +03:00
Vladislav Vaintroub
4b058643cd MDEV-4601 : Allow MariaDB to be build without non-blocking client.
Non-blocking client currently can be build on Windows, GCC on i386 and x64, or any OS wth ucontext.h header. Prior to this patch, build failed if neither of these conditions is true.
Fix to avoid compiler errors in these case - non-blocking API would not be useful on , but otherwise everything will work as before.
2013-06-15 14:22:03 +02:00
unknown
b54a4b7621 5.3 -> 5.5 Merge 2013-06-17 20:33:36 +03:00
Sergei Golubchik
10be9160c1 MDEV-4466 Partitioned Aria table created by a previous version is recognized as TEST_SQL_DISCOVERY
Partitioning didn't store the name of default storage engine for partitions
in the frm file - it only store the typecode. Typecodes aren't stable, and
might vary depending on the order in which storage engines are loaded (can
be changed even from my.cnf without recompilation).

As a temporary workaround for 5.5, we hard-code Aria's typecode, to make sure it
never changes.
2013-06-15 16:02:43 +02:00
Olivier Bertrand
b0c378b450 - Add a test case for multiple tables
added:
  storage/connect/mysql-test/connect/r/mul.result
  storage/connect/mysql-test/connect/t/mul.test
2013-06-14 21:00:12 +02:00
Olivier Bertrand
d861b6170a - Fix regression error for multiple 2 tables.
modified:
  storage/connect/tabmul.cpp

- Fix regression error on field types. Cannot eliminate BINARY_FLAG that
  is on for DATE columns. Update result from dbf.test case.

modified:
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/dbf.result
2013-06-14 20:52:46 +02:00
Sergei Golubchik
04aeaaa04f MDEV-4006 mysql_plugin.1 is removed from source which is not necessary
Add mysql_plugin.1 from mysql-5.5.30.tar.gz
2013-06-14 14:04:58 +02:00
Sergey Vojtovich
b4142fdae3 MDEV-4568 - Port Percona response time distribution as audit plugin
Minor modification to trigger buildbot.
2013-06-14 12:10:59 +04:00
Sergei Golubchik
85a8de31b1 MDEV-4578 information_schema.processlist reports incorrect value for Time (2147483647)
SHOW PROCESSLIST might see a thread that started executing a query *after*
processlist has started. Don't show a negative or huge wrapped-around query execution time.
2013-06-13 20:19:32 +02:00
Sergei Golubchik
1fb33e4a67 MDEV-4529 Assertion `tmp->state == 4' fails on mix of INSTALL SONAME / UNINSTALL PLUGIN
fix incorrect assert
2013-06-13 20:19:11 +02:00
Sergei Golubchik
36c7535198 MDEV-4519 SHOW EVENTS and SHOW PROCEDURE STATUS truncate long user names
fix I_S table definitions in sql_show.cc
2013-06-13 20:18:40 +02:00
Sergei Golubchik
2533313895 MDEV-4515 Long user names are truncated to 48 symbols in error messages 2013-06-13 15:33:02 +02:00
Sergei Golubchik
3ddfab5e3c MDEV-4444 Server crashes with "safe_mutex: Trying to destroy a mutex share->mutex that was locked" on attempt to recover an archive table 2013-06-13 15:13:13 +02:00
Sergei Golubchik
5dee28b1c8 MDEV-703 LP:870310 - killall -9 in init-script 2013-06-13 14:32:57 +02:00
Sergei Golubchik
acad1cc03c MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins
change WARN_PLUGIN_DELETE_BUILTIN to ER_PLUGIN_DELETE_BUILTIN
2013-06-13 14:14:47 +02:00
Sergei Golubchik
458927163a MDEV-4614 Man pages fixes
Patches provided by Jan Stanek and Honza Horak
2013-06-13 00:13:23 +02:00
Sergei Golubchik
1098184c47 MDEV-4604 Wrong server status when sending out parameters
reset SERVER_MORE_RESULTS_EXISTS *after* sending the OUT packet to the client.
the next packet will be the last one.

patch by Georg Richter.
2013-06-12 22:12:09 +02:00
Olivier Bertrand
a8428e3ac8 - To avoid crashing in debug mode, the error message concerning the
making of the index is changed to a warning.

modified:
  storage/connect/ha_connect.cc
  storage/connect/tabmul.cpp*
2013-06-12 20:48:55 +02:00
Sergei Golubchik
c40b7694d0 MDEV-4509 mysql init script should accept arguments
fix the init script for .deb packages
(rpm's were fine already)
2013-06-12 20:38:22 +02:00
Sergei Golubchik
dacb3809a2 MDEV-4422 SHOW PROCESSLIST reference to THD::db not protected against simultaneous updates
protect THD::db with THD::LOCK_thd_data
2013-06-12 20:29:19 +02:00