summaryrefslogtreecommitdiff
path: root/plugin
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Backporting WL#4398 WL#1720He Zhenxing2009-09-2611-0/+2562
| | | | Backporting BUG#44058 BUG#42244 BUG#45672 BUG#45673 Backporting BUG#45819 BUG#45973 BUG#39012
* Add the IBM DB2 for i storage engine.Timothy Smith2009-02-151-1/+1
| | | | | | | | | | | | Modify plugins.m4 configuration framework so that plugins which are not built still get added to the source distribution during make dist. This came up now because we can only build ibmdb2i on i5/OS, and we can't bootstrap our source dist on that platform. The solution is to specify DIST_SUBDIRS containing all plugins, separate from SUBDIRS which contains the plugins which are actually built. This ibmdb2i code is from the ibmdb2i-ga3-src.zip file, with a patch to plug.in to disable the plugin if the PASE environment isn't available.
* Use pkglibdir to simplify pkgplugindir, and fix the path in ajperkin/jonathan@chorlton.adsl.perkin.org.uk2008-01-022-2/+2
| | | | couple of Makefiles. Continuation of the fix for bug#31736.
* Add new pkgplugindir handling to seperate plugins from libraries,jperkin/jonathan@chorlton.adsl.perkin.org.uk2007-12-192-5/+6
| | | | | | and allow override for binary distributions. Extend mysql_config to print compiled-in plugin location for third-party plugins to use. Resolves bug#31736.
* Makefile.am:kent@mysql.com/kent-amd64.(none)2007-09-261-0/+1
| | | | | | | | | | | | | | | | Always include all sub directories in "make dist" Removed incorrect comment configure.in: Unconditionally list make files in AC_CONFIG_FILES Removed 'thread_dirs', it is not used Minor cleanup compile-dist: Simplified the configure line needed for "make dist" to get it all zlib.m4, ssl.m4: Unconditionally list make files in AC_CONFIG_FILES Makefile.am: Removed DIST_SUBDIRS not needed Don't copy soft links as files into source package
* Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.1joerg@debian.(none)2007-06-012-0/+6
|\ | | | | | | into debian.(none):/M51/merge-5.1
| * Makefile.am:kent@mysql.com/kent-amd64.(none)2007-05-282-0/+6
| | | | | | | | | | Consistent use of '%::SCCS/s.%' to prevent some 'make' implementations from trying to update files in SCCS directory
* | Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1jani@a88-113-38-195.elisa-laajakaista.fi2007-05-241-3/+3
|\ \ | |/ |/| | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
| * WL#3817: Simplify string / memory area types and make things more consistent ↵monty@mysql.com/narttu.mysql.fi2007-05-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (first part) The following type conversions was done: - Changed byte to uchar - Changed gptr to uchar* - Change my_string to char * - Change my_size_t to size_t - Change size_s to size_t Removed declaration of byte, gptr, my_string, my_size_t and size_s. Following function parameter changes was done: - All string functions in mysys/strings was changed to use size_t instead of uint for string lengths. - All read()/write() functions changed to use size_t (including vio). - All protocoll functions changed to use size_t instead of uint - Functions that used a pointer to a string length was changed to use size_t* - Changed malloc(), free() and related functions from using gptr to use void * as this requires fewer casts in the code and is more in line with how the standard functions work. - Added extra length argument to dirname_part() to return the length of the created string. - Changed (at least) following functions to take uchar* as argument: - db_dump() - my_net_write() - net_write_command() - net_store_data() - DBUG_DUMP() - decimal2bin() & bin2decimal() - Changed my_compress() and my_uncompress() to use size_t. Changed one argument to my_uncompress() from a pointer to a value as we only return one value (makes function easier to use). - Changed type of 'pack_data' argument to packfrm() to avoid casts. - Changed in readfrm() and writefrom(), ha_discover and handler::discover() the type for argument 'frmdata' to uchar** to avoid casts. - Changed most Field functions to use uchar* instead of char* (reduced a lot of casts). - Changed field->val_xxx(xxx, new_ptr) to take const pointers. Other changes: - Removed a lot of not needed casts - Added a few new cast required by other changes - Added some cast to my_multi_malloc() arguments for safety (as string lengths needs to be uint, not size_t). - Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done explicitely as this conflict was often hided by casting the function to hash_get_key). - Changed some buffers to memory regions to uchar* to avoid casts. - Changed some string lengths from uint to size_t. - Changed field->ptr to be uchar* instead of char*. This allowed us to get rid of a lot of casts. - Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar - Include zlib.h in some files as we needed declaration of crc32() - Changed MY_FILE_ERROR to be (size_t) -1. - Changed many variables to hold the result of my_read() / my_write() to be size_t. This was needed to properly detect errors (which are returned as (size_t) -1). - Removed some very old VMS code - Changed packfrm()/unpackfrm() to not be depending on uint size (portability fix) - Removed windows specific code to restore cursor position as this causes slowdown on windows and we should not mix read() and pread() calls anyway as this is not thread safe. Updated function comment to reflect this. Changed function that depended on original behavior of my_pwrite() to itself restore the cursor position (one such case). - Added some missing checking of return value of malloc(). - Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow. - Changed type of table_def::m_size from my_size_t to ulong to reflect that m_size is the number of elements in the array, not a string/memory length. - Moved THD::max_row_length() to table.cc (as it's not depending on THD). Inlined max_row_length_blob() into this function. - More function comments - Fixed some compiler warnings when compiled without partitions. - Removed setting of LEX_STRING() arguments in declaration (portability fix). - Some trivial indentation/variable name changes. - Some trivial code simplifications: - Replaced some calls to alloc_root + memcpy to use strmake_root()/strdup_root(). - Changed some calls from memdup() to strmake() (Safety fix) - Simpler loops in client-simple.c
* | fixed: memleak in --help, sigsegv on shutdownserg@sergbook.mysql.com2007-04-261-2/+14
| | | | | | | | | | | | | | | | | | | | Ingo's patch: WL#2936 - Falcon & MySQL plugin interface: server variables Added initialization for plugin string variables with their default values. Added deallocation of string values before a plugin and its variables is deleted. Added examples to plugin_example
* | WL#2936 - Falcon & MySQL plugin interface: server variablesistruewing@chilla.local2007-04-241-2/+25
|/ | | | | | | Added initialization for the plugin structure created in plugin_add(). Made a correct argument vector in mysql_install_plugin(): handle_options() assumes that arg0 (program name) always exists.
* Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1jani@a88-113-38-195.elisa-laajakaista.fi2007-02-031-10/+16
|\ | | | | | | into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1
| * Fixed problems detected by pushbuildmonty@mysql.com/narttu.mysql.fi2007-01-301-3/+3
| |
| * after merge fixesmonty@mysql.com/narttu.mysql.fi2007-01-291-2/+2
| | | | | | | | Removed
* | Made the example actually do something :)brian@zim.(none)2007-01-253-92/+201
|/ | | | It now demonstrates creating its own thread and shows off how to clean up after itself (creates a really simple heartbeat file)
* Many files:kent@mysql.com/kent-amd64.(none)2006-12-315-13/+43
| | | | | | | | | | Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header Added GPL copyright text my_vle.h, rpl_utility.h, my_vle.c, base64-t.c, rpl_utility.cc: Changed copyright header formatting some plugin_example.c, daemon_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header
* Many files:kent@mysql.com/kent-amd64.(none)2006-12-271-2/+1
| | | | Changed header to GPL version 2 only
* Merge bk-internal.mysql.com:/data0/bk/mysql-5.1baker@bk-internal.mysql.com2006-11-281-2/+2
|\ | | | | | | into bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
| * Fixed a LOT of compiler warningsmonty@mysql.com/nosik.monty.fi2006-11-271-2/+2
| | | | | | | | | | | | | | Added missing DBUG_RETURN statements (in mysqldump.c) Added missing enums Fixed a lot of wrong DBUG_PRINT() statements, some of which could cause crashes Removed usage of %lld and %p in printf strings as these are not portable or produces different results on different systems.
* | Refactored a number of engines to have correct init/deinit. Added pass ↵brian@zim.(none)2006-11-191-2/+2
| | | | | | | | support for "data" from plugin to plugin generic init to use memory location.
* | This patch fixes the example engine, the example parser, and the example ↵brian@zim.(none)2006-11-1011-4/+142
|/ | | | daemon to compile. AKA You can now test that the interface is actually working :)
* Added license information display to output of plugins schema, and tagged ↵brian@zim.(none)2006-10-051-0/+1
| | | | all plugins with GPL flag.
* minor plugin api fixes:serg@janus.mylan2006-09-071-0/+4
| | | | | | remove #define __attribute__(A) from plugin.h increase API version because placeholders were added more robust definition of min_plugin_interface_version
* add 2 placeholder values for config and system variables.acurtis/antony@xiphis.org/ltantony.xiphis.org2006-08-301-1/+3
|
* Remove compiler warningsmonty@mysql.com2006-06-231-2/+4
| | | | Fixed wrong table flags type in ndbcluster that caused previous commit to fail
* Incompatible ftparser plugin API change.serg@serg.mylan2006-05-281-4/+1
| | | | | mysql_parse() and mysql_add_word() now take a MYSQL_FTPARSER_PARAM*, not a mysql_ftparam.