Commit graph

77046 commits

Author SHA1 Message Date
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
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
Sergei Golubchik
f722b15dc2 MDEV-4636 use mysql_cleartext_plugin from auth_pam
add a new command-line option --pam-use-cleartext-plugin
2013-06-11 12:53:35 +02:00
Sergei Golubchik
43a6831fe0 MDEV-4574 Missing connection option MYSQL_ENABLE_CLEARTEXT_PLUGIN
recognize the constant, to be compatible with MySQL clients.
2013-06-11 11:11:05 +02:00
Sergei Golubchik
2db4392bf4 MDEV-4297 mysql --binary-mode
backport mysql --binary-mode (bug#11747577, bug#33048)
2013-06-10 21:45:30 +02:00
Elena Stepanova
16807b5856 MDEV-4629 MTR tests main.variables and some of sys_vars.* fail on 32-bit builds
Additional fix for remaining issues with sys_vars.* tests
2013-06-12 05:09:28 +04:00
Michael Widenius
894cfcf780 Fixed tests that failed on 32 bit because of my earlier fixes of 32 bit limits. 2013-06-11 13:49:43 +03:00
Sergei Golubchik
d0ce9cb832 MDEV-4468 Assertion `error != 0' fails or timeout occurs on select from a FEDERATED table which points at a non-existent table
Federated uses SHOW TABLE STATUS LIKE for ::info().
For nonexisting remote table it doesn't fail, but returns an empty result set.
We need to fake the error in the handler.
2013-06-07 15:35:13 +02:00
Sergei Golubchik
742899e59d MDEV-4480 Assertion `inited == NONE' fails on closing a connection with open handler on temporary table 2013-06-07 15:34:59 +02:00
Sergei Golubchik
6625fad8ca MDEV-4564 ALTER on a temporary table generates an audit event 2013-06-07 10:02:50 +02:00
Michael Widenius
3bc814beda - Added -Wno-uninitialized to avoid warnings in release builds
(uninitalized variables are detected by DBUG builds)
- Fixed wrong declaration which cased compile failure on 32 bit

cmake/build_configurations/mysql_release.cmake:
  Added -Wno-uninitialized to avoid warnings in release builds
  (uninitalized variables are detected by DBUG builds)
include/maria.h:
  Fixed wrong declaration which cased compile failure on 32 bit
include/myisam.h:
  Fixed wrong declaration which cased compile failure on 32 bit
2013-06-09 13:26:10 +03:00
Michael Widenius
5730786041 Fixed some cache variables that could be set to higher value than what the code supported (size_t)
Fixed some cases that didn't work with > 4G buffers.
Fixed compiler warnings


include/mysql_com.h:
  Avoid compiler warning with strncmp()
sql-common/client.c:
  Fixed long comment; Added ()
sql/filesort.cc:
  Fix code to get filesort to work with big buffers
sql/sys_vars.cc:
  Fixed some cache variables that could be set to higher value than the size_t
  Limit query cache to ULONG_MAX as the query cache buffer variables are ulong
storage/federatedx/ha_federatedx.cc:
  Remove not used variable
storage/maria/ha_maria.cc:
  Fix that bulk_insert() works with big buffers
storage/maria/ma_write.c:
  Fix that bulk_insert() works with big buffers
storage/myisam/ha_myisam.cc:
  Fix that bulk_insert() works with big buffers
storage/myisam/mi_write.c:
  Fix that bulk_insert() works with big buffers
storage/sphinx/snippets_udf.cc:
  Fixed compiler warnings
2013-06-06 15:14:23 +03:00
Michael Widenius
bef95a4bbe -Run test suite with smaller aria keybuffer size (to make it possible to run more tests in parallel)
-Added test and extra code to ensure we don't leave keyread on for a handler table.
-Create on disk temporary files always with long data pointers if SQL_SMALL_RESULT is not used. This ensures that we can handle temporary files bigger than 4G.

mysql-test/include/default_mysqld.cnf:
  Run test suite with smaller aria keybuffer size
mysql-test/suite/maria/maria3.result:
  Run test suite with smaller aria keybuffer size
mysql-test/suite/sys_vars/r/aria_pagecache_buffer_size_basic.result:
  Run test suite with smaller aria keybuffer size
sql/handler.cc:
  Disable key read (extra safety if something went wrong)
sql/multi_range_read.cc:
  Ensure we have don't leave keyread on for secondary_file
sql/opt_range.cc:
  Simplify code with mark_columns_used_by_index_no_reset()
  Ensure that read_keys_and_merge() disableds keyread if it enables it
sql/opt_subselect.cc:
  Remove not anymore used argument for create_internal_tmp_table()
sql/sql_derived.cc:
  Remove not anymore used argument for create_internal_tmp_table()
sql/sql_select.cc:
  Use 'enable_keyread()' instead of calling HA_EXTRA_RESET. (Makes debugging easier)
  Create on disk temporary files always with long data pointers if SQL_SMALL_RESULT is not used. This ensures that we can handle temporary files bigger than 4G.
  Remove not anymore used argument for create_internal_tmp_table()
  More DBUG
sql/sql_select.h:
  Remove not anymore used argument for create_internal_tmp_table()
2013-06-05 23:53:35 +03:00
Vladislav Vaintroub
33ef993773 Fix a compile warning on NetBSD 2013-06-01 21:33:26 +02:00
Vladislav Vaintroub
689c1b44a9 MDEV-4607 : libreadline-related compilation problems on NetBSD.
Problem : 
libreadline.so was already present on the machine, however the cmake check NEW_READLINE_INTERFACE was unsuccessfull indicating, thus bundled library had to be used instead of  system library.
The problem was that the value for HAVE_HIST_ENTRY cmake variable  was cached with incorrect  value (1 on NetBSD).

The fix is to change HAVE_HIST_ENTRY to 0 with  CACHE FORCE, after switching to bundled readline.
2013-06-01 21:30:33 +02:00
unknown
22b60fa95c MDEV-4520: Assertion `0' fails in Query_cache::end_of_result on concurrent drop event and event executio
Fix for embedded library, where thd->net.vio is not set which efficently switched off QC in emmbedded server for previous patch.
2013-05-30 08:23:49 +03:00
Sergei Golubchik
1db0c42e53 followup for revision 3751 "centos5 gcc 4.1 asm bug"
remove the workaround from cmake/os/FreeBSD.cmake
2013-05-28 21:25:59 +02:00
unknown
b9ce8572d9 MDEV-4520: Assertion `0' fails in Query_cache::end_of_result on concurrent drop event and event execution
If there is no net.vio then query cache cant't get data via net_real_write() so it is better just do not try to cache such query.
2013-05-23 17:05:31 +03:00
Vladislav Vaintroub
7ba2ff93ac MDEV-4548 - compile sphinx.so/dll and include into packages
replaced snippets_udf.cc with the latest version (2.0.8 from sphinxsource.com), fixed trivial errors on Windows.
It will be compiled and installed into plugins directory now.
2013-05-22 16:44:44 +02:00
Vladislav Vaintroub
ef1e767ae3 MDEV-4553 - Fixes for compilation under NetBSD. 2013-05-27 16:35:42 +02:00
Sergei Golubchik
9bc4c4183d MDEV-4516 SELECT from I_S.QUERY_CACHE_INFO produces ER_UNKNOWN_ERROR when query cache size is 0
if qc->try_lock() fails, it's not an error
2013-05-24 14:33:04 +02:00
Sergei Golubchik
cb246b20d6 fix for compiled-in FederatedX 2013-05-21 18:56:35 +02:00
Sergei Golubchik
d6315e29c8 MDEV-388 Creating a federated table with a non-existing server returns a random error code
(part 2)
2013-05-21 13:03:37 +02:00
Sergei Golubchik
ec043aced0 5.3 merge 2013-05-21 09:43:34 +02:00
Sergei Golubchik
fce7fc43ba fixes for buildbot 2013-05-21 09:42:10 +02:00
Sergei Golubchik
62ab6982a4 MDEV-388 Creating a federated table with a non-existing server returns a random error code 2013-05-20 23:58:44 +02:00
Sergei Golubchik
7e4150d7cd increase MAX_HA (number of simultaneously installed storage engines) to 64 2013-05-20 13:41:03 +02:00
Sergei Golubchik
d7a6c801ac 5.3 merge.
change maria.distinct to use a function that doesn't require ssl-enabled  builds
2013-05-20 12:36:30 +02:00
Sergei Golubchik
639a766096 5.2 merge 2013-05-20 11:13:07 +02:00
Sergei Golubchik
4ee5ae3e7f 5.1 merge 2013-05-20 10:53:04 +02:00
Vladislav Vaintroub
db7085dfae remove start menu shortcut to upgrade wizard 2013-05-19 17:42:30 +02:00
Vladislav Vaintroub
b67ec975dc MDEV-4544 : Update MSI installer to use latest HeidiSQL 8.0 2013-05-19 17:41:22 +02:00
Vladislav Vaintroub
dc56d56ce5 MDEV-4544 - update MSI to include HeidiSQL 8.0 2013-05-19 16:38:56 +02:00
Vladislav Vaintroub
cbd300e7b0 Fix cpack error - safe_process.pl does not exist anymore. 2013-05-19 16:22:33 +02:00
Alexander Barkov
3ef880cb59 Bug#MDEV-4518 Server crashes in is_white_space when it's run
with query cache, charset ucs2 and collation ucs2_unicode_ci

  @ mysql-test/r/ctype_ucs2_query_cache.result
  @ mysql-test/t/ctype_ucs2_query_cache-master.opt
  @ mysql-test/t/ctype_ucs2_query_cache.test
    Adding tests

  @ sql/sql_cache.cc
    Fixing not to use default_character_set->state_map,
    which can point to a non-ASCII character set (utc2, utf16, utf32)
   and thus have state_map undefined.
2013-05-17 10:16:56 +04:00
Michael Widenius
0fa7729954 - Solaris fixes:
- Fixed that wait_timeout_func and wait_timeout tests works on solaris
  - We have to compile without NO_ALARM on Solaris as Solaris doesn't support timeouts on sockets with setsockopt(.. SO_RCVTIMEO).
  - Fixed that compile-solaris-amd64-debug works (before that we got a wrong ELF class: ELFCLASS64 on linkage)
- Fixed some compiler warnings
- Fixed some failing tests

BUILD/compile-solaris-amd64-debug:
  Fixed that compile-solaris-amd64-debug works (before that we got a wrong ELF class: ELFCLASS64 on linkage)
configure.cmake:
  We have to compile without NO_ALARM on Solaris as Solaris doesn't support timeouts on sockets with setsockopt(.. SO_RCVTIMEO)
mysql-test/suite/parts/t/partition_basic_innodb.test:
  Mark test as big test (as otherwise we get timeout on our opensolaris machine in buildbot)
mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test:
  Remove warning
2013-05-15 16:28:12 +03:00
Alexey Botchkov
19cb1c4748 MDEV-4266 Server upgrade via apt-get install does not work.
Now empty 'highlevel' packages strictly depend on the same versions of files.
        These are mariadb-server, mariadb-client, mariadb-test

per-file comments:
  debian/dist/Debian/control
MDEV-4266 Server upgrade via apt-get install does not work.
        dependencies on the current version added.
  debian/dist/Ubuntu/control
MDEV-4266 Server upgrade via apt-get install does not work.
        dependencies on the current version added.
2013-05-15 02:36:37 +05:00
Alexey Botchkov
c2ee0218ba MDEV-4521 MBRContains, MBRWithin no longer work with geometries of different type.
get_mm_leaf function can store all sorts of spatial features in
        one type of field it receives from an Item_field.
        So we just allow that by setting the type of this field to GEOMETRY.

per-file comments:
  mysql-test/r/gis-rtree.result
        result updated
  mysql-test/t/gis-rtree.test
        test case added.
  sql/opt_range.cc
        set geom_type=GEOMETRY if we got Field_geom.
2013-05-15 02:33:29 +05:00
Michael Widenius
d0265a632f When one does 'REPAIR TABLE', update uuid() to the current system
mysql-test/suite/maria/maria-autozerofill.result:
  Updated result
mysql-test/suite/maria/maria-autozerofill.test:
  Added test that zerofilled table should not give any warnings when table is used
mysql-test/suite/maria/maria-recovery2.result:
  More tests to make it easier to find bugs
mysql-test/suite/maria/maria-recovery2.test:
  More tests to make it easier to find bugs
storage/maria/ha_maria.cc:
  Set create_trid after repair (needed if table was moved from another system)
  Set uuid after repair (needed if table was moved from another system)
storage/maria/maria_chk.c:
  Reset share->state.create_trid if we reset share->state.create_rename_lsn.
  Make the table moveable
2013-05-14 18:32:16 +03:00
unknown
97463576ad Fix test failure in plugins.unix_socket when running tests as user root.
(The problem is that if $USER is root, then the authentication will log
in with the mysqld user root. And then CURRENT_USER() returns a valid
user, giving .result file difference).
2013-05-14 14:49:52 +02:00
Sergei Golubchik
66cc619609 MDEV-4514 After increasing user name length mysql.db is reported broken and event scheduler does not start 2013-05-13 16:11:39 +02:00
Sergei Golubchik
3aa50f64bb MDEV-4505 Buffer overrun when processing --log-bin parameter without file name
because --log-bin sets opt_bin_logname to ""
(same for any OPT_ARG GET_STR (or GET_STR_ALLOC) option)
2013-05-13 15:49:48 +02:00
Sergei Golubchik
7642154725 MDEV-4199 Installing postfix on CentOS 5.9 requires MariaDB-server
to match distribution packages better:
  remove "mysql" from server.rpm Provides, add it to the shared.rpm Provides.
  fake provides that "mysql" and "mysql-libs" packages would've had.

cleanup:
  remove auto-generated provides from the manual provides list.
2013-05-13 15:49:27 +02:00
Sergei Golubchik
17b230783f fix test cases 2013-05-13 15:46:58 +02:00
Michael Widenius
668306640e Fixed MDEV-4291: Assertion `trid >= info->s->state.create_trid' failure or data corruption (key points to record
outside datafile) on INSERT into an Aria table.

The isssue was that the check if a table was moved between systems didn't take into account that create_trid could be bigger than the current max trid on the new system.
This could only happen if one tried to move a table that one had just done a 'REPAIR TABLE' on.
Tables that one had run 'aria_chk --zerofill' on worked.

Fixed this by assuming that if create_trid is too big then the table has been moved from one system to another and we have to do an automatic zerofill.

Other fixed:

- Added a check to detect a wrong create_trid in 'check table'.
- aria_chk -dvv will now write out also the create_trid (to make future error finding easier)
- aria_chk --zerofill doesn't anymore require a aria_control_file
- Removed some warnings from safemalloc when using aria_chk, ma_test1 and ma_test2.


include/myisamchk.h:
  Removed wrong 'QQ' flags (the flags are used by myisamchk and aria_chk)
storage/maria/ha_maria.cc:
  maria_chk_status() can now also return an error.
storage/maria/ma_check.c:
  In maria_chk_status() check if create_trid value is too big.
storage/maria/ma_open.c:
  Changed check if table is moved so that we can detect wrong create_trid values.
  Don't set STATE_NOT_MOVABLE flag if we are doing repair/check. This was done so that aria_chk can print out the movable flag.
storage/maria/ma_test1.c:
  Added code to suppress memory leaks from safemalloc
storage/maria/ma_test2.c:
  Added code to suppress memory leaks from safemalloc
storage/maria/maria_chk.c:
  Added code to suppress memory leaks from safemalloc.
  Make help text a bit better for --HELP and --zerofill.
  Incresed version number.
  Don't require a control file if we are only doing --zerofill
  Print out 'create_trid' when doing --describe --verbose
storage/maria/unittest/ma_test_recovery.expected:
  Updated result file
2013-05-13 00:43:46 +03:00
Michael Widenius
3bd6e4b8ee MDEV-3999: Valgrind errors 'invalid write' or assorted server crashes on concurrent flow with partitioned Aria tables
MDEV-3989: Server crashes on import from MariaDB mysqldump export with partitioned Aria table.

Problem was that bulk insert in aria was not properly protected against concurrent selects.


storage/maria/ha_maria.cc:
  Move settings of file->state to _ma_block_start_trans() to ensure that lock_key_trees is not changed by a concurrent bulk_insert.
storage/maria/ma_check.c:
  Added DBUG_ASSERT()
storage/maria/ma_open.c:
  Set start_trans to ma_start_trans for default behaviour.
storage/maria/ma_pagecrc.c:
  Removed test for 'non_transactional' as a now_transactinal could be reset while a flush was happening.
storage/maria/ma_state.c:
  Moved setting of info->state from external_lock to start_trans to protect against concurrent running bulk inserts.
  This works as the other threads will wait in thr_lock() until bulk_insert is done and keys are re-generated.
storage/maria/ma_state.h:
  Added _ma_start_trans()
2013-05-12 11:29:16 +03:00
Michael Widenius
0737932b90 Fixed that SHOW PROCESSLIST and information_schema.processlist uses the right length for user names.
Fixed some failing tests


mysql-test/mysql-test-run.pl:
  Removed warning from mysql-test-run
mysql-test/r/create.result:
  Updated result
mysql-test/r/log_slow.result:
  Fixed failing test
mysql-test/suite/funcs_1/r/is_columns_is.result:
  Updated result
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
  Updated result
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
  Updated result
mysql-test/t/log_slow.test:
  Ensure variables are properly reset at end of test
sql/sql_show.cc:
  Fixed max length for user names
2013-05-11 20:31:50 +03:00
Michael Widenius
3b3f870994 Fixed compiler failure on solaris 2013-05-11 20:23:57 +03:00