summaryrefslogtreecommitdiff
path: root/plugin
Commit message (Collapse)AuthorAgeFilesLines
* Merge fixes for BUG46587 and BUG47059 to trunk-bugfixing.Sergey Vojtovich2010-04-151-10/+38
|\
| * BUG#47059 - In audit plugin I cannot see the event subclasses,Sergey Vojtovich2010-04-151-10/+38
| | | | | | | | | | | | | | | | | | | | | | | | e.g.MYSQL_AUDIT_GENERAL_ERROR General audit API (MYSQL_AUDIT_GENERAL_CLASS) didn't expose event subclass to plugins. This patch exposes event subclass to plugins via struct mysql_event_general::event_subclass. This change is not compatible with existing general audit plugins. Audit interface major version has been incremented.
* | WL#5030: Split and remove mysql_priv.hMats Kindahl2010-03-314-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch: - Moves all definitions from the mysql_priv.h file into header files for the component where the variable is defined - Creates header files if the component lacks one - Eliminates all include directives from mysql_priv.h - Eliminates all circular include cycles - Rename time.cc to sql_time.cc - Rename mysql_priv.h to sql_priv.h
* | Automerge the bug#49022 fix correction into next-mr-bugfixing.Joerg Bruehe2010-03-121-1/+1
|\ \
| * | Fix for the bug#49022 patch, detected by further testing.Joerg Bruehe2010-03-111-1/+1
| | |
* | | Auto mergeHe Zhenxing2010-03-111-1/+6
|\ \ \ | |/ /
| * | Part of the fixes for bug#49022Joerg Bruehe2010-03-101-1/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Plugins included into bin release cannot be installed on debug version of server IF the build process was split into separate "debug" and "optimized" builds AND the plugin files of the debug build got copied into "plugin/debug/" (both is done for MySQL release builds starting from 5.5.3), THEN these debug plugin files are to be included in the final binary package. This change deals with the inclusion only, the other parts are done in different changesets.
* | Auto merge from 5.1-rep-semisyncHe Zhenxing2010-03-111-126/+84
|\ \ | |/ |/|
| * Post fix for Bug#49557He Zhenxing2010-03-101-1/+2
| |
| * Bug#49557 "semisync" plugin test fails on WindowsHe Zhenxing2010-02-231-126/+83
| | | | | | | | | | | | | | | | | | The problem was because the gettimeofday function was incorrect implemented for Windows, and so the semisync master did not wait for slave reply properly on Windows. Fixed by removing the gettimeofday function for Windows, and using set_timespec function to get current time for all platforms.
* | Fix truncated GPL text.Jonathan Perkin2010-02-261-1/+1
| |
* | mergeVladislav Vaintroub2010-02-132-36/+272
|\ \
| * \ Manual Merge for bug#501572010-01-312-36/+272
| |\ \ | | |/
| | * BUG#50157 Assertion !active_tranxs_->is_tranx_end_pos(..) in ↵2010-01-312-36/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ReplSemiSyncMaster::commitTrx The root cause of the crash is that a TranxNode is freed before it is used. A TranxNode is allocated and inserted into the active list each time a log event is written and flushed into the binlog file. The memory for TranxNode is allocated with thd_alloc and will be freed at the end of the statement. The after_commit/after_rollback callback was supposed to be called before the end of each statement and remove the node from the active list. However this assumption is not correct in all cases(e.g. call 'CREATE TEMPORARY TABLE myisam_t SELECT * FROM innodb_t' in a transaction and delete all temporary tables automatically when a session closed), and can cause the memory allocated for TranxNode be freed before it was removed from the active list. So The TranxNode pointer in the active list would become a wild pointer and cause the crash. After this patch, We have a class called a TranxNodeAllocate which manages the memory for allocating and freeing TranxNode. It uses my_malloc to allocate memory.
* | | Cleanup casing in MYSQL_ADD_PLUGIN, patch provided by KentVladislav Vaintroub2010-02-012-2/+2
| | |
* | | add CMakeLists.txt to EXTRA_DIST for audit_nullVladislav Vaintroub2010-01-261-1/+1
| | |
* | | merge, add plugin/audit_null/CMakeLists.txtVladislav Vaintroub2010-01-264-0/+182
|\ \ \ | |/ /
| * | Merge backport of WL#3771 with mysql-next-mr.Sergey Vojtovich2010-01-193-0/+166
| |\ \
| | * | Backport from 6.0-codebase.Sergey Vojtovich2009-12-153-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | WL#3771 "Audit Plugin Interface" Implement new plug-in type - AUDIT New plug-in: audit_null simply increments counter for how many times it was called.
| * | | Auto-merge from mysql-next-mr.Alexander Nozdrin2009-12-193-16/+58
| |\ \ \
| * \ \ \ mergeVladislav Vaintroub2009-12-181-3/+0
| |\ \ \ \ | | |_|/ / | |/| | |
| | * | | Bug #49811: inconsistent usage of SAFEMALLOC in debug compilation on windowsVladislav Vaintroub2009-12-181-3/+0
| | | | | | | | | | | | | | | | | | | | Remove per-project SAFEMALLOCs definitions, as they result in malloc/free mismatches.
| | * | | Backporing patch for Bug#48351 (Inconsistent library names for semisync plugin)Alexander Nozdrin2009-12-152-10/+10
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from mysql-next-mr-bugfixing to mysql-trunk-bugfixing. Original revision: ------------------------------------------------------------ revision-id: zhenxing.he@sun.com-20091127084945-wng7gakygduv3q8k committer: He Zhenxing <zhenxing.he@sun.com> branch nick: 5.1-rep-semisync timestamp: Fri 2009-11-27 16:49:45 +0800 message: Bug#48351 Inconsistent library names for semisync plugin The semisync plugin library names on Unix like systems were prefixed with 'lib', which did not follow the conventions. Fix the problem by removing the 'lib' prefix on Unix systems. ------------------------------------------------------------
* | | \ \ \ mergeVladislav Vaintroub2009-12-193-16/+58
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Merge mysql-next-mr (revno 2936) --> mysql-next-mr-marcMarc Alff2009-12-115-92/+40
| |\ \ \ \ \ | | |/ / / /
| * | | | | WL#2360 Performance schemaMarc Alff2009-12-093-16/+58
| | | | | | | | | | | | | | | | | | | | | | | | Part III: mysys instrumentation
* | | | | | mergeVladislav Vaintroub2009-12-114-91/+39
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge from trunk-bugfixingHe Zhenxing2009-12-052-3/+3
| |\ \ \ \ \ | | | |/ / / | | |/| | |
| | * | | | Postfix after merge patch for Bug#49020He Zhenxing2009-12-042-3/+3
| | | | | |
| | * | | | Auto merge fixes for Bug#49020He Zhenxing2009-12-042-81/+29
| | |\ \ \ \ | | | |/ / / | | |/| | |
| * | | | | Auto merge from 5.1-rep-semisyncHe Zhenxing2009-12-052-81/+29
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| | * | | | Auto merge postfix of Bug#49020He Zhenxing2009-12-041-2/+3
| | |\ \ \ \ | | | | |/ / | | | |/| |
| | | * | | Post fix for previous patch of Bug#49020He Zhenxing2009-12-041-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added back n_frees, use 'clear' instead of 'free' since memory is not freed here.
| | * | | | Auto merge fix for Bug#49020He Zhenxing2009-12-042-80/+27
| | |\ \ \ \ | | | |/ / / | | | | | / | | | |_|/ | | |/| |
| | | * | Bug#49020 Semi-sync master crashed with free_pool == NULL, assertion ↵He Zhenxing2009-12-042-80/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `free_pool_' Before this patch, semisync assumed transactions running in parallel can not be larger than max_connections, but this is not true when the event scheduler is executing events, and cause semisync run out of preallocated transaction nodes. Fix the problem by allocating transaction nodes dynamically. This patch also fixed a possible deadlock when running UNINSTALL PLUGIN rpl_semi_sync_master and updating in parallel. Fixed by releasing the internal Delegate lock before unlock the plugins.
| * | | | Merge fix of bug#48351 from 5.1-rep-semisyncHe Zhenxing2009-11-292-10/+10
| |\ \ \ \ | | |/ / / | | | | / | | |_|/ | |/| |
| | * | Bug#48351 Inconsistent library names for semisync pluginHe Zhenxing2009-11-272-10/+10
| | |/ | | | | | | | | | | | | | | | | | | The semisync plugin library names on Unix like systems were prefixed with 'lib', which did not follow the conventions. Fix the problem by removing the 'lib' prefix on Unix systems.
* | | fix build errorsVladislav Vaintroub2009-12-011-4/+8
| | |
* | | - Introduce MYSQL_ADD_PLUGIN that replaces MYSQL_STORAGE_ENGINEVladislav Vaintroub2009-12-013-17/+7
| | | | | | | | | | | | - Fix semisync library prefix (remove lib on Unixes) - restrict exported symbols from zlib and yassl (fvisibility=hidden)
* | | WL#5161 : Cross-platform build with CMakeVladislav Vaintroub2009-11-095-18/+53
|/ /
* | WL#4903 Plugin Service API part ISergei Golubchik2009-11-021-1/+2
|/ | | | (mysql-next-mr backport)
* Postfix of previews commit, add missing fileHe Zhenxing2009-10-231-0/+35
|
* Add semi-sync support for WindowsHe Zhenxing2009-10-232-0/+20
|
* Postfix of bug#45674He Zhenxing2009-10-181-2/+3
| | | | | | | | | rpl_semi_sync_master_wait_sessions was reset by FLUSH STATUS, which could cause the master fail to wake up waiting sessions and result in master timeout waiting for slave reply. rpl_semi_sync_master_wait_session should not be reset, this problem is fixed by this patch.
* Backport post fix for semisyncHe Zhenxing2009-10-122-15/+0
| | | | Remove functions that no longer needed Fix warning suppressions
* Backport BUG#47298 Semisync: always wait until timeout if no semi-sync slave ↵He Zhenxing2009-10-124-11/+37
| | | | | | | | | | | | available Add an option to control whether the master should keep waiting until timeout when it detected that there is no semi-sync slave available. The bool option 'rpl_semi_sync_master_wait_no_slave' is 1 by defalt, and will keep waiting until timeout. When set to 0, the master will switch to asynchronous replication immediately when no semi-sync slave is available.
* BUG#45674 FLUSH STATUS does not reset semisynchronous countersHe Zhenxing2009-10-123-108/+90
| | | | | | | | | | | | | | | | | | | | Semi-sync status were not reset by FLUSH STATUS, this was because all semi-sync status variables are defined as SHOW_FUNC and FLUSH STATUS could only reset SHOW_LONG type variables. This problem is fixed by change all status variables that should be reset by FLUSH STATUS from SHOW_FUNC to SHOW_LONG. After the fix, the following status variables will be reset by FLUSH STATUS: Rpl_semi_sync_master_yes_tx Rpl_semi_sync_master_no_tx Note: normally, FLUSH STATUS itself will be written into binlog and be replicated, so after FLUSH STATS, one of Rpl_semi_sync_master_yes_tx Rpl_semi_sync_master_no_tx can be 1 dependent on the semi-sync status. So it's recommended to use FLUSH NO_WRITE_TO_BINLOG STATUS to avoid this.
* Backport Bug#45852 Semisynch: Last_IO_Error: Fatal error: Failed to run ↵He Zhenxing2009-10-121-1/+8
| | | | | | | | | | 'after_queue_event' hook Errors when send reply to master should never cause the IO thread to stop, because master can fall back to async replication if it does not get reply from slave. The problem is fixed by deliberately ignoring the return value of slaveReply.
* Backport BUG#45848 Semisynchronous replication internals are visible in SHOW ↵He Zhenxing2009-10-128-108/+234
| | | | | | | | | | | | | | | | | | | | PROCESSLIST and logs Semi-sync uses an extra connection from slave to master to send replies, this is a normal client connection, and used a normal SET query to set the reply information on master, which is visible to user and may cause some confusion and complaining. This problem is fixed by using the method of sending reply by using the same connection that is used by master dump thread to send binlog to slave. Since now the semi-sync plugins are integrated with the server code, it is not a problem to use the internal net interfaces to do this. The master dump thread will mark the event requires a reply and wait for the reply when the event just sent is the last event of a transaction and semi-sync status is ON; And the slave will send a reply to master when it received such an event that requires a reply.
* Fix semisync master/slave status always showed as OFF on sparcHe Zhenxing2009-10-034-4/+4
| | | | | On sparc, semisync master/slave status is always showed as OFF, this is fixed by change rpl_semisync_master/slave_status variables from long to char.