Commit graph

406 commits

Author SHA1 Message Date
Sergey Vojtovich
653bf17716 Coding style fixes: remove trailing spaces. 2014-07-09 12:35:31 +04:00
Sergei Golubchik
d3e2e1243b 5.5 merge 2014-05-09 12:35:11 +02:00
Sergei Golubchik
32b3c9f35d Make THDVAR_INT variables to be signed in SELECT in SHOW 2014-04-09 14:28:07 +02:00
Sergei Golubchik
0dc23679c8 10.0-base merge 2014-02-26 15:28:07 +01:00
Sergei Golubchik
0b9a0a3517 5.5 merge 2014-02-25 16:04:35 +01:00
Sergei Golubchik
7131282464 At --log-warnings=9 or more, log at what address a dynamic plugin was loaded.
It helps to interpret valgrind/safemalloc memory-related warnings that are
printed when a plugin is unloaded (and thus cannot resolve addresses automatically)
2014-02-17 11:10:22 +01:00
Sergei Golubchik
84651126c0 MySQL-5.5.36 merge
(without few incorrect bugfixes and with 1250 files where only a copyright year was changed)
2014-02-17 11:00:51 +01:00
Sergey Vojtovich
bde11c1ab5 MDEV-5089 - possible deadlocks between rwlocks and mutexes
Pre-MDL versions had direct relationship between LOCK_open and
LOCK_global_system_variables, e.g.:
  intern_sys_var_ptr // locks LOCK_global_system_variable
  mysql_sys_var_char
  create_options_are_valid
  ha_innobase::create
  handler::ha_create
  ha_create_table
  rea_create_table
  mysql_create_table_no_lock // locks LOCK_open
  mysql_create_table

With MDL this relationship was removed, but mutex order was still
recorded. In fact there is indirect relationship between LOCK_open
and LOCK_global_system_variables via rwlocks in reverse order.

Removed LOCK_open and LOCK_global_system_variables order recording,
instead assert that LOCK_open is never held in intern_sys_var_ptr().

This solves only one of many problems detected with MDEV-5089.
2014-02-13 11:40:49 +04:00
Sergei Golubchik
72c20282db 10.0-base merge 2014-02-03 15:22:39 +01:00
Sergei Golubchik
59d9d08e2b 5.5 merge 2014-02-01 00:54:03 +01:00
Sergey Vojtovich
e1e5ce0da2 MDEV-5345 - Deadlock between mysql_change_user(), SHOW VARIABLES and
INSTALL PLUGIN

There was mixed lock order between LOCK_plugin, LOCK_global_system_variables
and LOCK_system_variables_hash. This patch ensures that write-lock on
LOCK_system_variables_hash doesn't intersect with LOCK_plugin.

Fixed by moving initialization/deinitialization of plugin options from
plugin_add()/plugin_del() to plugin_initialize()/plugin_deinitalize().
So that plugin options are handled without protection of LOCK_plugin.
2014-01-28 11:12:43 +04:00
Murthy Narkedimilli
c92223e198 Updated/added copyright headers 2014-01-06 10:52:35 +05:30
Sergei Golubchik
c47dd98f90 backport from 10.0: "bugfix: MYSQL_THDVAR_STR plugins with PLUGIN_VAR_MEMALLOC didn't work
(PLUGIN_VAR_MEMALLOC is 0x8000 and cannot be saved in a char as such)"
2013-12-12 18:14:08 +01:00
Sergei Golubchik
1f9d4819ad add a forgotten my_afree() to make valgrind happy 2013-12-12 20:30:56 +01:00
Sergei Golubchik
f6fcb348ad remove sys_var specific restore_pluginvar_names() function,
use generic restore_ptr_backup() approach
2013-12-09 12:39:19 +01:00
Sergei Golubchik
47ee721923 MDEV-4403 Attempting to use cassandra storage engine causes "service 'my_snprintf_service' interface version mismatch"
When a DSO is loaded we rewrite service pointers to point to the actual service structures.
But when a DSO is unloaded, we have to restore their original values, in case this DSO
wasn't removed from memory on dlclose() and is later loaded again.
2013-12-09 12:39:13 +01:00
Sergei Golubchik
4157185f24 10.0-base merge 2013-11-13 23:03:48 +01:00
Sergei Golubchik
bdd883ed9a 5.5. merge 2013-11-13 14:07:58 +01:00
Sergei Golubchik
e10d42d93b MDEV-5022 Strange message or wrong errno on mismatching versions of plugin and server
1. use an appropriate errno code
2. put a comma between the errno and the error message text
2013-11-11 09:31:09 +01:00
Sergei Golubchik
9af177042e 10.0-base merge.
Partitioning/InnoDB changes are *not* merged (they'll come from 5.6)
TokuDB does not compile (not updated to 10.0 SE API)
2013-09-21 10:14:42 +02:00
Sergei Golubchik
4ec2e9d7ed 5.5 merge and fixes for compiler/test errors 2013-09-18 13:07:31 +02:00
Sergei Golubchik
62643f81e6 merge with 5.5-tokudb tree. In particular:
* add TokuDB, together with the ft-index library
* cmake support, auto-detecting whether tokudb can be built
* fix packaging - tokudb-engine.rpm, deb
* remove PBXT
* add jemalloc
* the server is built with jemalloc by default even if TokuDB is not built
* documentation files in RPM are installed in the correct location
* support for optional deb packages (tokudb has specific build requirements)
* move plugins from mariadb-server deb to appropriate debs (server/test/libmariadbclient)
* correct mariadb-test.deb to be not architecture-independent
* fix out-of-tree builds to never modify in-tree files
* new handler::prepare_index_scan() method
2013-09-10 23:02:25 +02:00
Alexey Botchkov
92265da9d7 MDEV-4472 Audit-plugin. Server-related part of the task.
file_logger became the service.
     Data like query_id now are sent to the audit plugin.
     Fix for MDEV-4770 ported from 10.0.
     Fix added for the read_maria_plugin_info().
     Log rotation can be disabled with 'set rotations=0'.
2013-09-09 16:56:35 +05:00
Sergei Golubchik
b838d081ad mysql-5.5.33 merge 2013-09-06 22:31:30 +02:00
Sergei Golubchik
6755944d08 remove PBXT 2013-08-30 11:25:49 +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
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
Sergei Golubchik
b7b5f6f1ab 10.0-monty merge
includes:
* remove some remnants of "Bug#14521864: MYSQL 5.1 TO 5.5 BUGS PARTITIONING"
* introduce LOCK_share, now LOCK_ha_data is strictly for engines
* rea_create_table() always creates .par file (even in "frm-only" mode)
* fix a 5.6 bug, temp file leak on dummy ALTER TABLE
2013-07-21 16:39:19 +02:00
Sergei Golubchik
5f6380adde 10.0-base merge 2013-07-18 16:46:57 +02:00
Sergei Golubchik
97e640b9ae 5.5 merge 2013-07-17 21:24:29 +02:00
Michael Widenius
5f1f2fc0e4 Applied all changes from Igor and Sanja 2013-06-15 18:32:08 +03: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
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
Alexander Barkov
1fe92fb87d Fixing the problem with my_bool_t defined two times.
(it worked fine with the modern gcc, but failed on some other compilers).


modified:
  include/my_global.h
  include/mysql/plugin.h
  include/mysql/plugin_audit.h.pp
  include/mysql/plugin_auth.h.pp
  include/mysql/plugin_ftparser.h.pp
  include/mysql/service_thd_timezone.h
  sql/item_func.cc
  sql/mysqld.cc
  sql/set_var.cc
  sql/sql_plugin.cc
  sql/sql_plugin.h
  sql/sql_show.cc
  sql/sys_vars.cc
  storage/perfschema/ha_perfschema.cc
2013-06-03 11:57:34 +04:00
Ashish Agarwal
0c4f4ff015 Bug#16194302: SUPPORT FOR FLOATING-POINT SYSTEM VARIABLES
USING THE PLUGIN INTERFACE.

ISSUE: No support for floating-point plugin
       system variables.

SOLUTION: Allowing plugins to define and expose floating-point
          system variables of type double. MYSQL_SYSVAR_DOUBLE
          and MYSQL_THDVAR_DOUBLE are added.

ISSUE: Fractional part of the def, min, max values of system
       variables are ignored.

SOLUTION: Adding functions that are used to store the raw
          representation of a double in the raw bits of unsigned
          longlong in a way that the binary representation
          remains the same.
2013-05-19 23:38:06 +05:30
Sergei Golubchik
a9035be5b7 10.0-base merge 2013-04-15 15:09:22 +02:00
Sergei Golubchik
775e82638b put status variables in the proper pluginname_ scope
(but support the scopeless mysql style too).
always output status/system variables in the correct lettercase
2013-04-09 23:27:33 +02:00
Sergei Golubchik
c7eead7a96 MDEV-3807 show plugins soname 'xxx'
and INFORMATION_SCHEMA.ALL_PLUGINS table
with condition pushdown for I_S.ALL_PLUGINS
and a  new status variable to cound successful dlopen's
2013-04-09 23:27:29 +02:00
Sergei Golubchik
5f293dd694 MDEV-4022 table attributes with sysvar as a default value 2013-04-09 23:27:24 +02:00
Sergei Golubchik
eda4c51241 cleanup 2013-04-09 23:27:14 +02:00
Sergei Golubchik
3ad01d00f2 error messages: name the storage engine explicitly,
instead of "used storage engine" and similar changes.
2013-04-09 23:27:07 +02:00
Sergei Golubchik
a489ae89b9 fix mysql_rm_table_no_locks() not to use dd_frm_type, because the frm file
may not exist (the table exists only in the engine).
2013-04-09 15:47:25 +02:00
Sergei Golubchik
0d405ed02f remove long time obsolete xyz_ci() copies of xyz() macros 2013-04-07 15:40:59 +02:00
Sergei Golubchik
73f79ac83f simpler fix for mysql bug #56085, no need to write an error interceptor,
when the function has a dedicated flag for this very use case.
2013-04-07 15:37:47 +02:00
Sergei Golubchik
8b4d967798 bugfix: MYSQL_THDVAR_STR plugins with PLUGIN_VAR_MEMALLOC didn't work
(PLUGIN_VAR_MEMALLOC ix 0x8000 and cannot be saved in a char as such)
2013-04-07 15:26:58 +02:00
Sergei Golubchik
48bb551328 remove the service for installing the closed-source mysql thread pool plugin 2013-04-07 14:50:01 +02:00
Sergei Golubchik
daac5b511c cleanup 2013-04-07 14:41:05 +02:00
Sergei Golubchik
993ea79f2d 5.5 merge 2013-03-27 23:41:02 +01:00
Sergei Golubchik
102a7a2a76 MDEV-4307 Support at least 48 utf8 characters in username in server and PAM
Extend plugin auth api to support up to 512 bytes in the user names.
Use the API versioning to support old auth plugins too!
2013-03-26 19:17:26 +01:00
Michael Widenius
068c61978e Temporary commit of 10.0-merge 2013-03-26 00:03:13 +02:00