1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-05 12:42:17 +03:00
Commit Graph

136 Commits

Author SHA1 Message Date
e879caf845 WL#7076: Backporting wl6715 to support both formats in 5.5, 5.6, 5.7
Backporting wl6715 to mysql-5.5
2013-07-02 11:58:39 +05:30
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
8afe262ae5 Fix for Bug 16395495 - OLD FSF ADDRESS IN GPL HEADER 2013-03-19 15:53:48 +01:00
8f73221035 Updated/added copyright headers 2013-02-26 06:35:17 +01:00
8cd6099371 Bug#15960005 VALGRIND WARNINGS IN PROCESS_ARGS
Both <width> and <precision> can be specified as numbers or '*'.
  If an asterisk is used, an argument of type int is consumed.
2012-12-10 09:55:08 +01:00
5345586680 BUG#14458232 - CRASH IN THD_IS_TRANSACTION_ACTIVE DURING
THREAD POOLING STRESS TEST
PROBLEM:
Connection stress tests which consists of concurrent
kill connections interleaved with mysql ping queries
cause the mysqld server which uses thread pool scheduler
to crash.
FIX:
Killing a connection involves shutdown and close of client
socket and this can cause EPOLLHUP(or EPOLLERR) events to be
to be queued and handled after disarming and cleanup of 
of the connection object (THD) is being done.We disarm the 
the connection by modifying the epoll mask to zero which
ensure no events come and release the ownership of waiting 
thread that collect events and then do the cleanup of THD.
object.As per the linux kernel epoll source code (               
http://lxr.linux.no/linux+*/fs/eventpoll.c#L1771), EPOLLHUP
(or EPOLLERR) can't be masked even if we set EPOLL mask
to zero. So we disarm the connection and thus prevent 
execution of any query processing handler/queueing to 
client ctx. queue by removing the client fd from the epoll        
set via EPOLL_CTL_DEL. Also there is a race condition which
involve the following threads:
1) Thread X executing KILL CONNECTION Y and is in THD::awake
and using mysys_var (holding LOCK_thd_data).
2) Thread Y in tp_process_event executing and is being killed.
3) Thread Z receives KILL flag internally and possible call
the tp_thd_cleanup function which set thread session variable
and changing mysys_var.
The fix for the above race is to set thread session variable
under LOCK_thd_data.
We also do not call THD::awake if we found the thread in the
thread list that is to be killed but it's KILL_CONNECTION flag
set thus avoiding any possible concurrent cleanup. This patch
is approved by Mikael Ronstrom via email review.
2012-11-09 14:54:35 +05:30
a619bfad30 Bug#14549809 LINKING PROBLEM IN 5.5.28 BUILDS WITH THREADPOOL PLUGIN
The use of Thread_iterator did not work on windows (linking problems).
Solution: Change the interface between the thread_pool and the server
to only use simple free functions.

This patch is for 5.5 only (mimicks similar solution in 5.6)
2012-08-28 16:13:03 +02:00
fa0d2df5ff Bug#13699303 - THREAD POOL PLUGIN IGNORES TIMEOUT.
PROBLEM: 
mysql provides a feature where in a session which is 
idle for a period specified by the wait_timeout variable
(whose value is in seconds), the session is closed
This feature is not present when we use thread pool.
FIX:
This patch implements the interface functions which is 
required to implement the wait_timeout functionality
in the thread pool plugin.
2012-07-25 16:24:18 +05:30
7a35cb9150 Updated/added copyright headers 2012-02-16 10:48:16 +01:00
cf5e5f837a Merging into mysql-5.5.16-release. 2011-08-15 20:12:11 +02:00
7d605ec45f Merge from mysql-5.5.14-release 2011-07-06 01:13:50 +02:00
68f00a5686 Updated/added copyright headers 2011-06-30 17:37:13 +02:00
ca57b15b42 Bug #12633140 : AUDIT PLUGIN SOURCE FILES HAVE OUT OF DATE
COPYRIGHT NOTICE

Fixed copyright headers of updated files.
2011-06-13 15:08:28 +03:00
95963dd20a BUG#12611785 - AUDIT INTERFACE STRICT-ALIASING WARNINGS
The types mysql_event_general/mysql_event_connection are
being cast to the incompatible type mysql_event. The way
mysql_event and the other types are designed are prone to
strict aliasing violations and can break things depending
on how compilers optimizes this code.

This patch fixes audit interface, so it confirms to strict-
aliasing rules. It introduces incompatible changes to audit
interface:
- mysql_event type has been removed;
- event_class has been removed from mysql_event_generic and
  mysql_event_connection types;
- st_mysql_audit::event_notify() second argument is event_class;
- st_mysql_audit::event_notify() third argument is event of type
  (const void *).

"Writing Audit Plugins" section of manual should be updated:
http://dev.mysql.com/doc/refman/5.5/en/writing-audit-plugins.html

include/mysql/plugin_audit.h:
  event_class has been moved out of mysql_event types.
include/mysql/plugin_audit.h.pp:
  event_class has been moved out of mysql_event types.
plugin/audit_null/audit_null.c:
  event_class has been moved out of mysql_event types.
sql/sql_audit.cc:
  event_class has been moved out of mysql_event types.
2011-06-03 11:27:11 +04:00
f125f2994f BUG#12578441, reintroduced thd->cleanup() in unlink_thd, removed by mistake, added private interface to this function 2011-05-25 12:17:27 +02:00
89ec54264d Split up unlink_thd in several functions 2011-05-18 09:38:05 +02:00
02e07e3b51 Updated/added copyright headers 2011-06-30 17:46:53 +02:00
3855512715 merge 2011-05-04 11:08:07 +02:00
822e09fb64 Fixed the ABI check files after the push of bug # 12325444. 2011-04-28 13:08:05 +03:00
55557e223f Changed name to better reflect function logic in accordance with WL#5788 2011-04-15 13:02:29 +02:00
af6c8b59ea Bug #12325444 : 60746: CLIENT_PLUGIN.H IS BROKEN
Removed the STDCALL macro and the function from the .def file,
since it's not used by the connectors atm.
2011-04-06 17:31:26 +03:00
b14adc3921 More review fixes 2011-03-04 13:12:31 +01:00
23296fdc18 more docs of the thread pool interface 2011-02-17 10:57:57 +01:00
78bd357d31 added interface to scheduler.h 2011-02-17 10:50:51 +01:00
9ddd01def6 Further work on thread pool interface 2011-02-17 10:48:44 +01:00
715d404eea More work on interfaces 2011-02-16 20:38:35 +01:00
e5b98b918d Defined private interface to THD variables, first step to plugin API 2011-02-16 19:30:02 +01:00
b173e14937 Removed scheduler struct for now 2011-02-10 19:29:27 +01:00
8d319b1f29 Simplifications of server interface to scheduler 2011-02-10 19:24:31 +01:00
6d45d27cbc Simplify interface to connect methods in server 2011-02-10 18:41:02 +01:00
70136c0aa2 Updated thread_pool_priv.h with additional includes for thread pool plugins 2011-02-10 16:19:38 +01:00
d947cd8eab Temporary fix 2011-01-24 15:04:35 +01:00
416b7144d5 BUG#59549, Fix compiler errors on Windows, step 5 2011-01-24 14:57:07 +01:00
2071e6e3b2 Added thread pool interface to server 2011-01-14 09:40:18 +01:00
773267552f merge 2011-01-12 14:43:03 +01:00
7dae4282d4 BUG#59392, removed thread local storage use in MySQL Threads by storing ibuf_inside indicator in MTR object instead 2011-01-12 14:31:17 +01:00
6e7752d557 merge 2011-01-04 18:46:01 +01:00
57c910ff6c Merge mysql-5.5-bugteam -> mysql-5.5-innodb 2010-12-27 19:24:05 +02:00
029a5df870 Bug #58699 cannot build with gcc dbg on solaris
cmake/os/SunOS.cmake:
  Remove TARGET_OS_SOLARIS
config.h.cmake:
  Remove TARGET_OS_SOLARIS
  Add PTHREAD_ONCE_INITIALIZER
configure.cmake:
  Add function for testing whether we need { PTHREAD_ONCE_INIT } rather than PTHREAD_ONCE_INIT
include/my_pthread.h:
  Use PTHREAD_ONCE_INITIALIZER if set by cmake.
include/mysql/psi/mysql_file.h:
  Include my_global.h first, to get correct platform definitions.
mysys/ptr_cmp.c:
  Hide the unused static functions in #ifdef's on solaris.
  Use __sun (defined by both gcc and SunPro cc) rather than TARGET_OS_SOLARIS
sql/my_decimal.cc:
  Include my_global.h first, to get correct platform definitions.
sql/mysqld.cc:
  Fix signed/unsigned comparison warning.
sql/sql_audit.h:
  Include my_global.h first, to get correct platform definitions.
sql/sql_plugin.h:
  Include my_global.h first, to get correct platform definitions.
sql/sql_show.cc:
  Fix: warning: cast from pointer to integer of different size
sql/sys_vars.h:
  Use reinterpret_cast rather than c-style cast.
storage/perfschema/pfs_instr.cc:
  Include my_global.h first, to get correct platform definitions.
2010-12-21 13:00:26 +01:00
9a3e46c520 WL#5571 - Audit interface: MYSQL_AUDIT_GENERAL_STATUS event
include/mysql/plugin_audit.h:
  Connection auditing class.
include/mysql/plugin_audit.h.pp:
  Connection auditing class.
sql/mysqld.cc:
  Notify disconnect to auditing.
sql/sql_audit.cc:
  Connection class event dispatcher.
sql/sql_audit.h:
  mysql_audit_notify() is not available in embedded.
sql/sql_connect.cc:
  Notify connect to auditing.
sql/sql_parse.cc:
  Notify user change to auditing.
2010-12-14 17:34:23 +03:00
d5787a3c59 Fix Bug#57739 Scary messages in error log
Silence a warning about old table name when InnoDB tests whether the
format has changed using a nonexistent table name.

Reviewed by:	bar@mysql.com, marko.makela@oracle.com
2010-11-22 16:08:51 +02:00
7fa9b1e6c0 removed misleading and over-promissing comments. 2010-11-10 17:55:57 +02:00
c0854c3e17 Added reporting of fsync to THD wait interface 2010-10-28 18:27:25 +02:00
dea3152c92 Added more comments to THD wait service 2010-10-27 20:35:01 +02:00
4dff0296f4 Added more wait states for THD wait service 2010-10-27 20:29:09 +02:00
c3f923857a Bug #57774: Typos/ambiguities in the WL1054 comments
Fixed few typos and added better wording as suggested.
2010-10-27 18:12:17 +03:00
215e967ace Use a guard macro to prevent the inclusion of system headers
when checking the ABI with the C Preprocessor. Also, add the
new hearders to the cmake based ABI check.

cmake/abi_check.cmake:
  Add headers which were added to the autotools ABI check.
  Remove trailing spaces.
include/mysql/client_plugin.h:
  Guard the inclusion of system headers.
2010-10-13 12:11:29 -03:00
1744b54082 fixed failing test cases 2010-10-05 15:26:49 +03:00
c050a4524f Bug #56767: Make sure client plugins in 1054 are compatible with
connectors plugins
      
Implemented changes needed to keep the client plugin API compatible with 
the existing plugins :
      
1. Provided an options() client plugin API to let the application pass
options to the plugin after loading it
2. Added "License" (const char *) to specify the client plugin's license
3. Added "mysql_api" as a placeholder that the client library can use
to pass function pointers to the plugin so that the plugin can call the 
C lib back.
4. Updated the existing client plugins to comply with the API change.
5. Added more detailed error message generation for Windows.
2010-10-04 15:54:41 +03:00
8789c79723 merge 2010-10-04 15:42:16 +03:00