Commit graph

1356 commits

Author SHA1 Message Date
Jonathan Perkin
89aedeb06d Revert back to new CMake names for audit_null/daemon_example plugins. 2010-05-12 16:32:31 +01:00
Jonathan Perkin
ce2aabb712 Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
2010-05-12 12:51:23 +01:00
Jonathan Perkin
5b85121ca6 Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
2010-05-12 12:51:23 +01:00
Jonathan Perkin
319f0bd6bc fix syntax error 2010-05-05 14:28:02 +02:00
Jonathan Perkin
9f28252385 fix syntax error 2010-05-05 14:28:02 +02:00
Jonathan Perkin
559c23fde2 Build all plugins.
Try to fix ia64/icc builds.
2010-05-05 13:49:03 +02:00
Jonathan Perkin
2c9803580f Build all plugins.
Try to fix ia64/icc builds.
2010-05-05 13:49:03 +02:00
Sergey Vojtovich
6b278654a1 Merge fixes for BUG46587 and BUG47059 to trunk-bugfixing. 2010-04-15 13:36:36 +04:00
Sergey Vojtovich
a2ed9137cc Merge fixes for BUG46587 and BUG47059 to trunk-bugfixing. 2010-04-15 13:36:36 +04:00
Sergey Vojtovich
8e7939167d BUG#47059 - In audit plugin I cannot see the event subclasses,
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.

include/mysql/plugin_audit.h:
  Expose event subclass to audit general plugins.
plugin/audit_null/audit_null.c:
  Added distinct counters for general event sub-classes.
  
  Removed printf() from deinit(). One can easily see number of
  calls via status variables.
  
  To make code nicer, modified class mask to use macro instead
  of hardcoded number.
  
  Incremented audit plugin minor version.
sql/sql_audit.cc:
  Expose event subclass to audit general plugins.
2010-04-15 13:05:17 +04:00
Sergey Vojtovich
1b12f4c233 BUG#47059 - In audit plugin I cannot see the event subclasses,
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.
2010-04-15 13:05:17 +04:00
Sergei Golubchik
c277c43a30 fix dialog plugin to work again
(fgets, unlike gets, does not strip \n)
2010-04-08 15:58:04 +02:00
Michael Widenius
8ee9c63668 Fixed compiler warnings
Changed version string to beta

client/mysql.cc:
  Fixed compiler warning
configure.in:
  Changed version string to beta
plugin/auth/dialog.c:
  Fixed compiler warning (gets() is a not recommended function)
2010-04-08 16:02:49 +03:00
unknown
20739646d7 Maria WL#61
Interface for maria extensions.
  Alternative plugin interface with additional info (maturity and string version).

CMakeLists.txt:
  Maria plugin interface used.
config/ac-macros/plugins.m4:
  Maria plugin interface used.
configure.in:
  Maria plugin interface used.
include/mysql/plugin.h:
  Maria plugin interface added.
include/mysql/plugin_auth.h.pp:
  Maria plugin interface added.
plugin/auth/auth_socket.c:
  Maria plugin interface added.
plugin/auth/dialog.c:
  Maria plugin interface added.
plugin/daemon_example/daemon_example.cc:
  Maria plugin interface added.
plugin/fulltext/plugin_example.c:
  Maria plugin interface added.
sql/ha_ndbcluster.cc:
  Maria plugin interface added.
sql/ha_partition.cc:
  Maria plugin interface added.
sql/log.cc:
  Maria plugin interface added.
sql/sql_acl.cc:
  Maria plugin interface added.
sql/sql_builtin.cc.in:
  Maria plugin interface used.
sql/sql_plugin.cc:
  Maria plugin interface added.
sql/sql_plugin.h:
  Maria plugin interface used.
sql/sql_show.cc:
  Maria plugin interface added.
storage/archive/ha_archive.cc:
  Maria plugin interface added.
storage/blackhole/ha_blackhole.cc:
  Maria plugin interface added.
storage/csv/ha_tina.cc:
  Maria plugin interface added.
storage/example/ha_example.cc:
  Maria plugin interface added.
storage/federated/ha_federated.cc:
  Maria plugin interface added.
storage/federatedx/ha_federatedx.cc:
  Maria plugin interface added.
storage/heap/ha_heap.cc:
  Maria plugin interface added.
storage/ibmdb2i/ha_ibmdb2i.cc:
  Maria plugin interface added.
storage/innobase/handler/ha_innodb.cc:
  Maria plugin interface added.
storage/innodb_plugin/handler/i_s.cc:
  Maria plugin interface added.
storage/maria/ha_maria.cc:
  Maria plugin interface added.
storage/myisam/ha_myisam.cc:
  Maria plugin interface added.
storage/myisammrg/ha_myisammrg.cc:
  Maria plugin interface added.
storage/pbxt/src/ha_pbxt.cc:
  Maria plugin interface added.
storage/xtradb/handler/ha_innodb.cc:
  Maria plugin interface added.
storage/xtradb/handler/i_s.cc:
  Maria plugin interface added.
storage/xtradb/handler/i_s.h:
  Maria plugin interface added.
2010-04-01 17:34:51 +03:00
Michael Widenius
fee40e2773 Fixed some compiler warnings
include/m_ctype.h:
  MY_UNICASE_INFO already includes 'const'
plugin/auth/dialog.c:
  Fixed parameters to have correct signed/unsigned type
sql/sql_acl.cc:
  old_password_plugin is not used for EMBEDDED_LIBRARY
storage/pbxt/src/ha_pbxt.cc:
  Remove not used variable
2010-03-31 21:37:45 +03:00
Mats Kindahl
23d8586dbf WL#5030: Split and remove mysql_priv.h
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
2010-03-31 16:05:33 +02:00
Mats Kindahl
e409d6f69c WL#5030: Split and remove mysql_priv.h
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
2010-03-31 16:05:33 +02:00
Sergei Golubchik
291fd96983 pluggable auth with plugin examples
Makefile.am:
  add new API files to the check_abi rule,
  remove duplicates
client/CMakeLists.txt:
  now a client can use dlopen too
client/Makefile.am:
  be csh-friendly
include/my_global.h:
  add dummy plugs for dlopen and co.
  for the code that needs them to work in static builds
mysys/Makefile.am:
  be csh-friendly
plugin/auth/dialog.c:
  typo fixed
2010-03-29 17:13:53 +02:00
Joerg Bruehe
1d7f8578d3 Automerge the bug#49022 fix correction into next-mr-bugfixing. 2010-03-12 10:56:56 +01:00
Joerg Bruehe
283188c939 Automerge the bug#49022 fix correction into next-mr-bugfixing. 2010-03-12 10:56:56 +01:00
Joerg Bruehe
f59c7267f2 Fix for the bug#49022 patch, detected by further testing. 2010-03-11 16:37:51 +01:00
Joerg Bruehe
1f9235f04b Fix for the bug#49022 patch, detected by further testing. 2010-03-11 16:37:51 +01:00
He Zhenxing
9c2961ab63 Auto merge 2010-03-11 10:58:20 +08:00
He Zhenxing
99d1b2bd9a Auto merge 2010-03-11 10:58:20 +08:00
He Zhenxing
71e8549eb1 Auto merge from 5.1-rep-semisync 2010-03-11 10:22:18 +08:00
He Zhenxing
3760845b72 Auto merge from 5.1-rep-semisync 2010-03-11 10:22:18 +08:00
He Zhenxing
bd6cce8a7c Post fix for Bug#49557 2010-03-10 18:32:21 +08:00
He Zhenxing
b2e3fb8a6f Post fix for Bug#49557 2010-03-10 18:32:21 +08:00
Joerg Bruehe
fcd119066c Part of the fixes for bug#49022
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.


plugin/Makefile.am:
  The "install" rule must not assume that "debug" files are
  present, this depends on the preceding steps in the build.
  
  If they are present, we cannot copy them by simply using
  "libtool install" (as we could do during an ordinary build)
  because they are already kept in "plugin/debug/".
  
  When doing the copy to the destination hierarchy, we must
  ensure that symlinks are not expanded but rather copied
  as symlinks.
  "cp -d" is specific to GNU, the portable way would use
  "cp -P", but that is not fully specified with recursion.
  So we fall back on "tar c | tar x", which is known to
  keep symlinks unchanged (and un-expanded).
  
  Using "$(TAR)" is just a precaution in case of weird path
  settings or other portability issues.
2010-03-10 10:48:43 +01:00
Joerg Bruehe
c2676e2b5d Part of the fixes for bug#49022
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.
2010-03-10 10:48:43 +01:00
Jonathan Perkin
33ecac14f7 Fix truncated GPL text. 2010-02-26 15:04:07 +00:00
Jonathan Perkin
c55c87024e Fix truncated GPL text. 2010-02-26 15:04:07 +00:00
He Zhenxing
84a6de3f1c Bug#49557 "semisync" plugin test fails on Windows
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.


plugin/semisync/semisync_master.cc:
  removing the gettimeofday function for Windows, using set_timespec
  function to get current time for all platforms.
2010-02-23 17:26:56 +08:00
He Zhenxing
522311e0c9 Bug#49557 "semisync" plugin test fails on Windows
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.
2010-02-23 17:26:56 +08:00
Sergei Golubchik
2ceaffc467 mwl:98 - libservices 2010-03-03 15:44:14 +01:00
Vladislav Vaintroub
e3a4741d05 merge 2010-02-13 17:01:32 +01:00
Vladislav Vaintroub
8ba512559c merge 2010-02-13 17:01:32 +01:00
Vladislav Vaintroub
da91b8d73e Cleanup casing in MYSQL_ADD_PLUGIN, patch provided by Kent 2010-02-01 23:46:02 +01:00
Vladislav Vaintroub
9a1746a04c Cleanup casing in MYSQL_ADD_PLUGIN, patch provided by Kent 2010-02-01 23:46:02 +01:00
unknown
973b528a32 Manual Merge for bug#50157 2010-01-31 21:37:41 +08:00
52bc6179d9 Manual Merge for bug#50157 2010-01-31 21:37:41 +08:00
unknown
a1bfae20cb BUG#50157 Assertion !active_tranxs_->is_tranx_end_pos(..) in 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.


sql/rpl_handler.cc:
  params are not initialized.
2010-01-31 02:26:51 +08:00
85589577e7 BUG#50157 Assertion !active_tranxs_->is_tranx_end_pos(..) in 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.
2010-01-31 02:26:51 +08:00
Vladislav Vaintroub
28a5ee8f05 add CMakeLists.txt to EXTRA_DIST for audit_null 2010-01-26 07:54:03 +01:00
Vladislav Vaintroub
add502a268 add CMakeLists.txt to EXTRA_DIST for audit_null 2010-01-26 07:54:03 +01:00
Vladislav Vaintroub
9129685e51 merge, add plugin/audit_null/CMakeLists.txt 2010-01-26 05:39:48 +01:00
Vladislav Vaintroub
ebf2e76289 merge, add plugin/audit_null/CMakeLists.txt 2010-01-26 05:39:48 +01:00
Sergey Vojtovich
667b5944a7 Merge backport of WL#3771 with mysql-next-mr. 2010-01-19 17:30:55 +04:00
Sergey Vojtovich
92985af1ff Merge backport of WL#3771 with mysql-next-mr. 2010-01-19 17:30:55 +04:00
Alexander Nozdrin
a5cdaab3eb Auto-merge from mysql-next-mr. 2009-12-19 11:35:19 +03:00