mirror of
https://github.com/MariaDB/server.git
synced 2026-04-20 15:25:33 +02:00
backport of patch for blckhole plugin (47748) to trunk-bugfixing.
This commit is contained in:
parent
42c74ad8c3
commit
bef66c5c9f
5 changed files with 62 additions and 4 deletions
5
mysql-test/include/have_blackhole_plugin.inc
Normal file
5
mysql-test/include/have_blackhole_plugin.inc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
if (`select plugin_library IS NULL from information_schema.plugins where plugin_name LIKE '%blackhole%'`)
|
||||
{
|
||||
--skip blackhole plugin not available;
|
||||
}
|
||||
|
||||
15
mysql-test/r/blackhole_plugin.result
Normal file
15
mysql-test/r/blackhole_plugin.result
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'BLACKHOLE'
|
||||
Warning 1266 Using storage engine MyISAM for table 't1'
|
||||
DROP TABLE t1;
|
||||
INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
|
||||
INSTALL PLUGIN BLACKHOLE SONAME 'ha_blackhole.so';
|
||||
ERROR HY000: Function 'BLACKHOLE' already exists
|
||||
UNINSTALL PLUGIN blackhole;
|
||||
INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
|
||||
CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
|
||||
DROP TABLE t1;
|
||||
UNINSTALL PLUGIN blackhole;
|
||||
UNINSTALL PLUGIN blackhole;
|
||||
ERROR 42000: PLUGIN blackhole does not exist
|
||||
1
mysql-test/t/blackhole_plugin-master.opt
Normal file
1
mysql-test/t/blackhole_plugin-master.opt
Normal file
|
|
@ -0,0 +1 @@
|
|||
--plugin_dir=../storage/blackhole/.libs
|
||||
22
mysql-test/t/blackhole_plugin.test
Normal file
22
mysql-test/t/blackhole_plugin.test
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
--source include/not_windows.inc
|
||||
--source include/have_blackhole_plugin.inc
|
||||
|
||||
CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
|
||||
DROP TABLE t1;
|
||||
|
||||
eval INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
|
||||
--error 1125
|
||||
eval INSTALL PLUGIN BLACKHOLE SONAME 'ha_blackhole.so';
|
||||
|
||||
UNINSTALL PLUGIN blackhole;
|
||||
|
||||
eval INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
|
||||
|
||||
CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
UNINSTALL PLUGIN blackhole;
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
UNINSTALL PLUGIN blackhole;
|
||||
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
# Copyright (C) 2006 MySQL AB
|
||||
#
|
||||
# Copyright (C) 2005-2006 MySQL AB, 2009 Sun Microsystems, Inc.
|
||||
# All rights reserved.
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
|
|
@ -50,11 +50,22 @@ libblackhole_a_SOURCES= ha_blackhole.cc
|
|||
EXTRA_DIST = CMakeLists.txt plug.in
|
||||
|
||||
if HAVE_DTRACE_DASH_G
|
||||
# The object for static and dynamic linking of blackhole differ
|
||||
# For static linkage of blackhole to mysqld
|
||||
|
||||
libblackhole_a_LIBADD = probes_mysql.o
|
||||
libblackhole_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
|
||||
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
|
||||
DTRACEFILES = libblackhole_a-ha_blackhole.o
|
||||
# For blackhole as shared library
|
||||
ha_blackhole_la_LIBADD = probes_sh_mysql.o
|
||||
# Hack: We "depend" on ".libs/" but have no rule for it,
|
||||
# but it is created as a byproduct of the ".lo"
|
||||
DTRACESHAREDDEPS = ha_blackhole_la-ha_blackhole.lo
|
||||
DTRACESHAREDFILES = ha_blackhole_la-ha_blackhole.o
|
||||
DTRACEPROVIDER = probes_mysql.d
|
||||
ha_blackhole_la_DEPENDENCIES = probes_sh_mysql.o $(DTRACESHAREDDEPS) dtrace_providers
|
||||
|
||||
CLEANFILES = $(DTRACEPROVIDERS) dtrace_files dtrace_providers $(DTRACESHAREDDEPS)
|
||||
DTRACEFILES = libblackhole_a-ha_blackhole.o
|
||||
|
||||
dtrace_files:
|
||||
echo $(DTRACEFILES) > $@
|
||||
|
|
@ -65,8 +76,12 @@ probes_mysql.d:
|
|||
$(CP) $(top_srcdir)/include/probes_mysql.d.base probes_mysql.d
|
||||
echo timestamp > dtrace_sources
|
||||
|
||||
probes_sh_mysql.o: $(DTRACEPROVIDER) $(DTRACESHAREDDEPS)
|
||||
$(DTRACE) $(DTRACEFLAGS) -G -s $(DTRACEPROVIDER) $(DTRACESHAREDFILES) -o $@
|
||||
$(CP) $(DTRACESHAREDFILES) .libs
|
||||
probes_mysql.o: $(DTRACEPROVIDER) $(DTRACEFILES)
|
||||
$(DTRACE) $(DTRACEFLAGS) -G -s $(DTRACEPROVIDER) $(DTRACEFILES) -o $@
|
||||
|
||||
endif
|
||||
|
||||
# Don't update the files from bitkeeper
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue