mirror of
https://github.com/MariaDB/server.git
synced 2025-11-02 02:53:04 +03:00
8356fb68c366b7f515f9060d964ee598653756a6
171 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
eac12b6587 |
WL#2936
"Server variables for plugins"
Post review fixes.
client/mysql.cc:
wl2936 "Plugin server variables" post review fixes
compile fix. app_type is now a void* and it isn't actually used here.
include/my_getopt.h:
wl2936 "Plugin server variables" post review fixes
make app_type into a void*. This also required changes to
client/mysql.cc and storage/ndb/src/mgmsrv/InitConfigFileParser.cpp
in order to compile.
include/my_global.h:
wl2936 "Plugin server variables" post-review fixes
declare compile_time_assert() macro.
(provided by serg)
include/mysql/plugin.h:
wl2936 "Plugin server variables" post review fixes
Add comments
mysys/array.c:
wl2936 "Plugin server variables" post review fixes
mysys/typelib.c:
wl2936 "Plugin server variables" post review fixes
find_typeset() should not alter string
sql/set_var.cc:
wl2936 "Plugin server variables" post review fixes
remove unnecessary code.
sql/sql_class.cc:
wl2936 "Plugin server variables" post review fixes
explicitly declare export style for functions.
sql/sql_lex.cc:
wl2936 "Plugin server variables" post review fixes
enforce that lex::plugins_static_buffer is declared immediately after
lex::plugins.
sql/sql_plugin.cc:
wl2936 "Plugin Server variables" post review fixes
sys_var_pluginvar does not need st_plugin_int at construction.
remove debug code which was accidentially committed.
add comments.
fix mutex lock order.
sql/sql_plugin.h:
wl2936 "Plugin server variables" post review fixes
add comment and macro to compare plugin_refs
sql/table.cc:
wl2936 "plugin server variables" post review fixes
remove unneccessary unlock and variable.
add checks for legacy type validity
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
wl2936 "plugin server variables" post review fixes
fix compile failure now that my_option::app_type is a void*
|
||
|
|
1fc7f2117b |
WL#2936
"Server Variables for Plugins"
Implement support for plugins to declare server variables.
Demonstrate functionality by removing InnoDB specific code from sql/*
New feature for HASH - HASH_UNIQUE flag
New feature for DYNAMIC_ARRAY - initializer accepts preallocated ptr.
Completed support for plugin reference counting.
include/hash.h:
New flag for HASH
HASH_UNIQUE
include/my_getopt.h:
New data types for options: ENUM and SET.
Use typelib to enumerate possible values.
New flag variable:
my_getopt_skip_unknown
include/my_sys.h:
change to DYNAMIC_ARRAY init functions to support pre-allocated buffers
include/mysql.h:
relocate inclusion of typelib due to longlong requirement
include/mysql/plugin.h:
wl2936
New declarations for plugin server variable support.
New functions for use by plugins
include/mysys_err.h:
new my_getopt return value: EXIT_ARGUMENT_INVALID
include/typelib.h:
new typelib function: find_typeset(), returns an int which is a SET of
the elements in the typelib
mysql-test/r/im_utils.result:
change to more specific command line settings
--skip-innodb => --skip-plugin-innodb
etc.
mysql-test/r/log_tables.result:
set default storage engine to MEMORY so that test will succeed even
when some of the other named storage engines are not present
mysql-test/r/ndb_dd_basic.result:
change in error message
mysql-test/r/partition_innodb.result:
change in results
mysql-test/r/ps_1general.result:
bdb doesn't exist, use myisam for a non-transactional engine
mysql-test/r/variables.result:
information schema doesn't sort row results for server variables.
mysql-test/t/log_tables.test:
set default storage engine to MEMORY so that test will succeed even
when some of the other named storage engines are not present
mysql-test/t/ndb_dd_basic.test:
ALTER LOGFILE GROUP no longer silently fail here
mysql-test/t/partition_innodb.test:
ALTER TABLE no longer silently fails for unknown storage engine
mysql-test/t/ps_1general.test:
remove unneccessary parts
use myisam as it is an always present non-transactional engine
mysql-test/t/variables.test:
information schema doesn't sort row results for server variables.
mysql-test/t/warnings_engine_disabled-master.opt:
use the new style command line option
mysys/array.c:
change to DYNAMIC_ARRAY init functions to support pre-allocated buffers
mysys/hash.c:
New flag for HASH
HASH_UNIQUE
Implement HASH_UNIQUE functionality by performing a hash_search
mysys/my_getopt.c:
New data types for options: ENUM and SET.
Use typelib to enumerate possible values.
New flag variable:
my_getopt_skip_unknown
mysys/typelib.c:
new typelib function: find_typeset(), returns an int which is a SET of
the elements in the typelib
sql/ha_ndbcluster.cc:
use ha_statistic_increment() method instead of
statistic_increment() function
ha_ndbcluster variable has gone away.
sql/ha_partition.cc:
fix for reference counting
sql/ha_partition.h:
fix for reference counting
sql/handler.cc:
fixes for reference counting
sql/handler.h:
fixes for reference counting
some new methods to aid storage engine writers
sql/item_func.cc:
find_sys_var() function now requires thd
sql/item_sum.cc:
fixes for ref counting
sql/mysql_priv.h:
remove unneccessary globals.
new lock: LOCK_system_variables_hash
sql/mysqld.cc:
Remove InnoBase specific code.
Support plugin command line processing.
sql/set_var.cc:
Remove InnoBase specific declarations
Remove redundant declarations
changes to permit new variables at run time
changes for ref counting
sql/set_var.h:
changes to permit new variables at run time
changes for ref counting
sql/sql_base.cc:
changes for ref counting
sql/sql_cache.cc:
mark code as needing work in the future
sql/sql_class.cc:
new functions to aid plugin authors
initialize variables for dynamic plugin variables
sql/sql_class.h:
remove InnoBase specific declarations
New declarations for plugin variables.
sql/sql_connect.cc:
initialization and cleanup of plugin variables
sql/sql_delete.cc:
change for ref counting
sql/sql_insert.cc:
change for ref counting
sql/sql_lex.cc:
changes for ref counting and plugin variables
sql/sql_lex.h:
add properties for plugin ref counting,
add to distructor to clean up
sql/sql_partition.cc:
changes for ref counting
sql/sql_plugin.cc:
WL2936
Plugin Variables
New methods and code to support server variables for plugins.
New code to complete plugin reference counting
Debug code adds further indirection so that malloc debugging can be
used to aid finding plugin ref count leaks
sql/sql_plugin.h:
WL2936
Plugin Variables
New methods and code to support server variables for plugins.
New code to complete plugin reference counting
Debug code adds further indirection so that malloc debugging can be
used to aid finding plugin ref count leaks
sql/sql_repl.cc:
replication system variables moved here from set_var.cc
sql/sql_repl.h:
new function to initialise replication server variables
sql/sql_select.cc:
changes for ref counting
sql/sql_show.cc:
changes for ref counting
sql/sql_table.cc:
changes for ref counting
sql/sql_tablespace.cc:
use supplied functions instead of digging into data structures manually
sql/sql_yacc.yy:
changes for ref counting
find_sys_var() now requires thd parameter
changes on reporting errors to keep user-visible behaviour the same.
sql/structs.h:
changes for ref counting
sql/table.cc:
changes for ref counting
sql/table.h:
changes for ref counting
storage/federated/ha_federated.cc:
use ha_statistic_increment() method instead of statistic_increment()
function
storage/heap/ha_heap.cc:
use ha_statistic_increment() method instead of statistic_increment()
function
storage/innobase/handler/ha_innodb.cc:
use ha_statistic_increment() method instead of statistic_increment()
function
WL2936
Move InnoBase specific code out of mysqld.cc and into here
Declare all required server variables for InnoBase
storage/innobase/include/trx0trx.h:
store a bit more state so that InnoBase does not have to dig into
mysqld internal data structures.
storage/myisam/ha_myisam.cc:
use ha_statistic_increment() method instead of statistic_increment()
function
storage/myisammrg/ha_myisammrg.cc:
use ha_statistic_increment() method instead of statistic_increment()
function
|
||
|
|
5b8985cfb9 |
Two things:
1) Two small windows cleanups for Archive. 2) Patch from Calvin for Falcon to be able to have its own I_S loaded. One example added for this, does hello world. include/mysql/plugin.h: Added new I_S type. mysql-test/r/archive.result: Fixed not dropped table. mysql-test/t/archive.test: Added additional drop table sql/sql_plugin.cc: Adding support in for the I_S. sql/sql_show.cc: Added schema type for plugin I_S. Additional loops were added to pop these on to the end of requests. storage/archive/ha_archive.cc: Windwos typo |
||
|
|
3099886cda |
Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/home/kent/bk/main/mysql-5.1 include/mysql/plugin.h: Auto merged sql/sql_plugin.cc: Auto merged |
||
|
|
92e68d49d7 |
Many files:
Changed header to GPL version 2 only client/mysqlslap.c: Changed header to GPL version 2 only include/atomic/nolock.h: Changed header to GPL version 2 only include/atomic/rwlock.h: Changed header to GPL version 2 only include/atomic/x86-gcc.h: Changed header to GPL version 2 only include/atomic/x86-msvc.h: Changed header to GPL version 2 only include/my_atomic.h: Changed header to GPL version 2 only include/my_trie.h: Changed header to GPL version 2 only include/my_vle.h: Changed header to GPL version 2 only include/mysql/plugin.h: Changed header to GPL version 2 only mysys/my_atomic.c: Changed header to GPL version 2 only mysys/my_getncpus.c: Changed header to GPL version 2 only mysys/my_memmem.c: Changed header to GPL version 2 only mysys/my_vle.c: Changed header to GPL version 2 only mysys/trie.c: Changed header to GPL version 2 only plugin/Makefile.am: Changed header to GPL version 2 only server-tools/instance-manager/IMService.h: Changed header to GPL version 2 only server-tools/instance-manager/WindowsService.h: Changed header to GPL version 2 only server-tools/instance-manager/exit_codes.h: Changed header to GPL version 2 only server-tools/instance-manager/user_management_commands.h: Changed header to GPL version 2 only sql/authors.h: Changed header to GPL version 2 only sql/contributors.h: Changed header to GPL version 2 only sql/event_data_objects.cc: Changed header to GPL version 2 only sql/event_data_objects.h: Changed header to GPL version 2 only sql/event_db_repository.cc: Changed header to GPL version 2 only sql/event_db_repository.h: Changed header to GPL version 2 only sql/event_queue.cc: Changed header to GPL version 2 only sql/event_queue.h: Changed header to GPL version 2 only sql/event_scheduler.cc: Changed header to GPL version 2 only sql/event_scheduler.h: Changed header to GPL version 2 only sql/events.cc: Changed header to GPL version 2 only sql/events.h: Changed header to GPL version 2 only sql/ha_ndbcluster_binlog.cc: Changed header to GPL version 2 only sql/ha_ndbcluster_binlog.h: Changed header to GPL version 2 only sql/ha_ndbcluster_tables.h: Changed header to GPL version 2 only sql/ha_partition.cc: Changed header to GPL version 2 only sql/ha_partition.h: Changed header to GPL version 2 only sql/item_xmlfunc.cc: Changed header to GPL version 2 only sql/item_xmlfunc.h: Changed header to GPL version 2 only sql/log.h: Changed header to GPL version 2 only sql/partition_element.h: Changed header to GPL version 2 only sql/partition_info.cc: Changed header to GPL version 2 only sql/partition_info.h: Changed header to GPL version 2 only sql/rpl_filter.cc: Changed header to GPL version 2 only sql/rpl_filter.h: Changed header to GPL version 2 only sql/rpl_injector.cc: Changed header to GPL version 2 only sql/rpl_injector.h: Changed header to GPL version 2 only sql/rpl_mi.cc: Changed header to GPL version 2 only sql/rpl_mi.h: Changed header to GPL version 2 only sql/rpl_rli.cc: Changed header to GPL version 2 only sql/rpl_rli.h: Changed header to GPL version 2 only sql/rpl_tblmap.cc: Changed header to GPL version 2 only sql/rpl_tblmap.h: Changed header to GPL version 2 only sql/rpl_utility.cc: Changed header to GPL version 2 only sql/rpl_utility.h: Changed header to GPL version 2 only sql/sql_binlog.cc: Changed header to GPL version 2 only sql/sql_partition.cc: Changed header to GPL version 2 only sql/sql_partition.h: Changed header to GPL version 2 only sql/sql_plugin.cc: Changed header to GPL version 2 only sql/sql_plugin.h: Changed header to GPL version 2 only sql/sql_servers.cc: Changed header to GPL version 2 only sql/sql_servers.h: Changed header to GPL version 2 only sql/sql_tablespace.cc: Changed header to GPL version 2 only sql/sql_yacc.yy.bak: Changed header to GPL version 2 only storage/Makefile.am: Changed header to GPL version 2 only storage/archive/Makefile.am: Changed header to GPL version 2 only storage/blackhole/Makefile.am: Changed header to GPL version 2 only storage/csv/Makefile.am: Changed header to GPL version 2 only storage/example/Makefile.am: Changed header to GPL version 2 only storage/federated/Makefile.am: Changed header to GPL version 2 only storage/innobase/handler/Makefile.am: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/AllocNodeId.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/CreateFilegroup.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/CreateObj.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DictObjOp.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DihFragCount.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DropFilegroup.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DropFilegroupImpl.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/DropObj.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/Extent.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/LgmanContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/PgmanContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/RestoreContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/RestoreImpl.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/RouteOrd.hpp: Changed header to GPL version 2 only storage/ndb/include/kernel/signaldata/TsmanContinueB.hpp: Changed header to GPL version 2 only storage/ndb/include/ndbapi/NdbIndexStat.hpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/mgmapi_logevent/mgmapi_logevent.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/mgmapi_logevent_dual/mgmapi_logevent_dual.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_simple_dual/ndbapi_simple_dual.cpp: Changed header to GPL version 2 only storage/ndb/ndbapi-examples/ndbapi_simple_index/ndbapi_simple_index.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbdih/printSysfile.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/diskpage.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/lgman.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/lgman.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/pgman.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/pgman.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/print_file.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/record_types.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/restore.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/restore.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/tsman.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/blocks/tsman.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DLCFifoList.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DLCHashTable.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DynArr256.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/DynArr256.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/KeyTable2Ref.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/LinearPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/NdbdSuperPool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/NdbdSuperPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/Pool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/Pool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/RWPool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/RWPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/Rope.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/SLFifoList.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/WOPool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/WOPool.hpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/bench_pool.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp: Changed header to GPL version 2 only storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp: Changed header to GPL version 2 only storage/ndb/src/mgmsrv/ParamInfo.cpp: Changed header to GPL version 2 only storage/ndb/src/ndbapi/NdbIndexStat.cpp: Changed header to GPL version 2 only storage/ndb/test/ndbapi/testIndexStat.cpp: Changed header to GPL version 2 only storage/ndb/test/tools/listen.cpp: Changed header to GPL version 2 only storage/ndb/tools/restore/ndb_nodegroup_map.h: Changed header to GPL version 2 only strings/my_strchr.c: Changed header to GPL version 2 only unittest/mysys/base64-t.c: Changed header to GPL version 2 only unittest/mysys/bitmap-t.c: Changed header to GPL version 2 only unittest/mysys/my_atomic-t.c: Changed header to GPL version 2 only unittest/mytap/tap.c: Changed header to GPL version 2 only unittest/mytap/tap.h: Changed header to GPL version 2 only win/Makefile.am: Changed header to GPL version 2 only |
||
|
|
8b31d3dd25 |
BUG#23255 - Missing version parameter in plugin declaration example
Plugin interface version was not raised properly after incompatible changes to plugin structure were introduced. Fixed plugin interface version according to worklog 2761. include/mysql/plugin.h: Fixed plugin interface version according to worklog 2761. |
||
|
|
81d3eb5440 |
This patch fixes the example engine, the example parser, and the example daemon to compile. AKA You can now test that the interface is actually working :)
configure.in: Removed unneeded call to old plugin syntax. include/mysql/plugin.h: Updates for daemon type (and fixed warning on declare end). plugin/fulltext/Makefile.am: Updated names so that we can install and test it. plugin/fulltext/plugin_example.c: Fixed wrong call. sql/mysqld.cc: Removed old have_example (we don't need it any longer). sql/set_var.cc: Removed old have_example sql/sql_plugin.cc: Added support for DAEMON type (just an internal raw plugin) storage/example/plug.in: Removed example static build so that we can test dynamic engines plugin/daemon_example/AUTHORS: New BitKeeper file ``plugin/daemon_example/AUTHORS'' plugin/daemon_example/ChangeLog: New BitKeeper file ``plugin/daemon_example/ChangeLog'' plugin/daemon_example/Makefile.am: New BitKeeper file ``plugin/daemon_example/Makefile.am'' plugin/daemon_example/NEWS: New BitKeeper file ``plugin/daemon_example/NEWS'' plugin/daemon_example/README: New BitKeeper file ``plugin/daemon_example/README'' plugin/daemon_example/configure.in: New BitKeeper file ``plugin/daemon_example/configure.in'' plugin/daemon_example/daemon_example.c: New BitKeeper file ``plugin/daemon_example/daemon_example.c'' plugin/daemon_example/plug.in: New BitKeeper file ``plugin/daemon_example/plug.in'' plugin/fulltext/plug.in: Added plug.in file so that we compile fulltext example! |
||
|
|
76cdfbbdfe |
Added license information display to output of plugins schema, and tagged all plugins with GPL flag.
include/mysql/plugin.h: Adding license information. plugin/fulltext/plugin_example.c: License sql/ha_ndbcluster.cc: License sql/ha_partition.cc: License sql/handler.h: License sql/log.cc: License sql/sql_show.cc: Additional PLUIN display information storage/archive/ha_archive.cc: License information added storage/blackhole/ha_blackhole.cc: License information added storage/csv/ha_tina.cc: License Information storage/example/ha_example.cc: License information storage/federated/ha_federated.cc: License Information storage/heap/ha_heap.cc: License Information storage/innobase/handler/ha_innodb.cc: License Information storage/myisam/ha_myisam.cc: License Information storage/myisammrg/ha_myisammrg.cc: License Information |
||
|
|
057f98b326 |
Removed Field (this came in as an idea from a previous patch by Serg)
include/mysql/plugin.h: Field Removed sql/ha_ndbcluster.cc: Field Removed sql/ha_partition.cc: Field Removed sql/log.cc: Removed Field storage/archive/ha_archive.cc: Removed Field storage/blackhole/ha_blackhole.cc: Removed Field storage/csv/ha_tina.cc: Removed Field storage/example/ha_example.cc: Removed Field storage/federated/ha_federated.cc: Removed Field storage/heap/ha_heap.cc: Removed Field storage/innobase/handler/ha_innodb.cc: Removed Field storage/myisam/ha_myisam.cc: Removed Field storage/myisammrg/ha_myisammrg.cc: Removed Field |
||
|
|
d79485a9be |
This changes the order of the universe, black is now the new white.
In practice this means that handlerton is now created by the server and is passed to the engine. Plugin startups can now also control how plugins are inited (and can optionally pass values). Bit more flexibility to those who want to write plugin interfaces to the database. include/mysql/plugin.h: Optional to pass parameter now to init and deinit functions sql/ha_ndbcluster.cc: Cleanup, handlerton is now a pointer. sql/ha_ndbcluster_binlog.cc: Cleanup (handlerton is now a pointer) sql/ha_ndbcluster_binlog.h: Cleanup (handlerton is now a pointer) sql/ha_partition.cc: Cleaned up handlerton change sql/handler.cc: Cheanup of handlerton change sql/item_sum.cc: Cleanedup of handlerton change sql/log.cc: Cleanup of handlerton change sql/mysql_priv.h: Reverted patch for variables (what would have happen previously if a have_ would have been called that was dynamically loaded? boom!) sql/mysqld.cc: Cleanup of handlerton changes and reverted have variable patch sql/partition_info.cc: Cleanup of handlerton (we need to clean this up a bit more). sql/set_var.cc: Cleanup related to handlerton changes sql/sql_cache.cc: Handlerton changes cleanup sql/sql_insert.cc: Handlerton changes cleanup. sql/sql_partition.cc: Handlerton cleanup changes sql/sql_plugin.cc: Handlerton changes. init() can now be controlled by a plugin specific startup. There was also an issue with how we deinited the status variables. It should have been occuring before we shut down the engines. sql/sql_select.cc: Handlerton cleanup changes sql/sql_show.cc: Handlerton cleanup changes sql/sql_table.cc: Handlerton cleanup changes sql/table.cc: Cleanup storage/archive/ha_archive.cc: Cleanup storage/archive/ha_archive.h: Cleanup storage/blackhole/ha_blackhole.cc: Cleanup storage/csv/ha_tina.cc: Cleanup storage/example/ha_example.cc: Cleanup storage/federated/ha_federated.cc: Cleanup storage/heap/ha_heap.cc: Cleanup storage/innobase/handler/ha_innodb.cc: Cleanup storage/myisam/ha_myisam.cc: Cleanup storage/myisammrg/ha_myisammrg.cc: Cleanup |
||
|
|
2ae54e3b9d |
minor plugin api fixes:
remove #define __attribute__(A) from plugin.h increase API version because placeholders were added more robust definition of min_plugin_interface_version include/mysql/plugin.h: move #define __attribute__(A) out of plugin.h (not part of the API) increase API version because placeholders were added plugin/fulltext/plugin_example.c: compilation failure on non-GCC compilers sql/sql_plugin.cc: more robust definition of min_plugin_interface_version it should work even when we forget to update it |
||
|
|
2dfaa6697c | add 2 placeholder values for config and system variables. | ||
|
|
52914641a4 |
Build fixes for Windows, Solaris, HPUX, AIX.
include/mysql/plugin.h: Fix compilation on non-GCC compilers. sql/CMakeLists.txt: Add missing file. |
||
|
|
5abb9f0cc9 |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1 include/mysql/plugin.h: Auto merged sql/log_event.h: Auto merged sql/sql_plugin.cc: Auto merged |
||
|
|
15a13203f1 |
Now ftparser does not need to bother about memory management -
it can tell MySQL to make a copy of everything (bug#17123) include/mysql/plugin.h: Now ftparser does not need to bother about memory management - it can tell MySQL to make a copy of everything (bug#17123) MYSQL_FTFLAGS_NEED_COPY flag storage/myisam/ft_boolean_search.c: param->flags storage/myisam/ft_nlq_search.c: param->flags. ft_parse takes a mem_root as an argument storage/myisam/ft_parser.c: ftparser takes a memroot as an argument. words are copied there, if necessary. memroot is reset for every parsing and free'd at the end of the statement. storage/myisam/ft_update.c: ftparser takes a memroot as an argument. words are copied there, if necessary. memroot is reset for every parsing and free'd at the end of the statement. storage/myisam/ftdefs.h: ftparser takes a memroot as an argument. words are copied there, if necessary. memroot is reset for every parsing and free'd at the end of the statement. storage/myisam/mi_check.c: ftparser takes a memroot as an argument. words are copied there, if necessary storage/myisam/myisamdef.h: memroot for ftparser in MI_INFO and MI_SORT_PARAM storage/myisam/sort.c: free ftparser memroot |
||
|
|
f1bb09e777 |
Incompatible ftparser plugin API change.
mysql_parse() and mysql_add_word() now take a MYSQL_FTPARSER_PARAM*, not a mysql_ftparam. client/Makefile.am: don't fail when rm cannot delete from read-only dir sql/sql_plugin.cc: fix min_plugin_info_interface_version to be less error-prone |
||
|
|
e2e582d1fb |
handlerton cleanup:
duplicate fields removed, st_mysql_storage_engine added to support run-time handlerton initialization (no compiler warnings), handler API is now tied to MySQL version, handlerton->plugin mapping added (slot-based), dummy default_hton removed, plugin-type-specific initialization generalized, built-in plugins are now initialized too, --default-storage-engine no longer needs a list of storage engines in handle_options(). mysql-test-run.pl bugfixes include/mysql/plugin.h: added st_mysql_storage_engine made handlerton tied to MySQL version mysql-test/mysql-test-run.pl: bugfixes (umask, --no-defaults) mysql-test/r/ndb_dd_basic.result: update error message mysql-test/t/partition_mgm_err2.test: fix typo sql/ha_berkeley.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_berkeley.h: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_federated.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_heap.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_innodb.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_innodb.h: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_myisam.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_myisammrg.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_ndbcluster.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_ndbcluster.h: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/ha_ndbcluster_binlog.cc: no 'name' in the handlerton anymore sql/ha_partition.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/handler.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, handlerton->plugin mapping sql/handler.h: handlerton cleanup: remove duplicate fields sql/log.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings sql/mysql_priv.h: handler.h needs plugin.h sql/mysqld.cc: Convert --default-storage-engine to a handlerton* when all storage engines are initialized and not in getopt sql/set_var.cc: no name in the handlerton anymore sql/sql_parse.cc: no default_hton anymore sql/sql_partition.cc: no name in the handlerton anymore sql/sql_plugin.cc: generalize plugin type-specific initialization. initialize built-in plugins too sql/sql_plugin.h: generalize plugin type-specific initialization. sql/sql_show.cc: st_mysql_storage_engine structure no name in the handlerton anymore sql/sql_table.cc: no name in the handlerton anymore no default_hton anymore sql/sql_tablespace.cc: no name in the handlerton anymore no default_hton anymore sql/sql_yacc.yy: no default_hton anymore issue "unknown storage engine" warning where it is discovered storage/archive/ha_archive.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings storage/archive/ha_archive.h: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings storage/blackhole/ha_blackhole.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings storage/csv/ha_tina.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings storage/example/ha_example.cc: handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine, initialize handlerton run-time to avoid compiler warnings |
||
|
|
ad4c32c89a |
WL#3201 additional post-review fixes
config/ac-macros/plugins.m4: remove unneccessary `ifelse' add comment, add missing dnl configure.in: change description for heap engine include/mysql/plugin.h: change macro name sql/ha_berkeley.cc: store strings statically for use in handlerton and plugin structures sql/ha_federated.cc: store strings statically for use in handlerton and plugin structures sql/ha_heap.cc: store strings statically for use in handlerton and plugin structures sql/ha_innodb.cc: store strings statically for use in handlerton and plugin structures sql/ha_myisam.cc: store strings statically for use in handlerton and plugin structures sql/ha_myisammrg.cc: store strings statically for use in handlerton and plugin structures sql/ha_ndbcluster.cc: store strings statically for use in handlerton and plugin structures sql/ha_partition.cc: store strings statically for use in handlerton and plugin structures storage/archive/ha_archive.cc: store strings statically for use in handlerton and plugin structures storage/blackhole/ha_blackhole.cc: store strings statically for use in handlerton and plugin structures storage/csv/ha_tina.cc: store strings statically for use in handlerton and plugin structures storage/example/ha_example.cc: store strings statically for use in handlerton and plugin structures |
||
|
|
83583111ca |
WL#3201
" Configure support for server plugins "
storage/blackhole/ha_blackhole.h:
Rename: sql/ha_blackhole.h -> storage/blackhole/ha_blackhole.h
BitKeeper/deleted/.del-storage.m4~24bf2fffdaa328ad:
Delete: config/ac-macros/storage.m4
BitKeeper/deleted/.del-ha_archive.m4~a07fac7110b39294:
Delete: config/ac-macros/ha_archive.m4
BitKeeper/deleted/.del-ha_blackhole.m4~8ed06eb91f6420ed:
Delete: config/ac-macros/ha_blackhole.m4
BitKeeper/deleted/.del-ha_example.m4~1dfb268163297708:
Delete: config/ac-macros/ha_example.m4
BitKeeper/deleted/.del-ha_federated.m4~7acddd58286acfd6:
Delete: config/ac-macros/ha_federated.m4
BitKeeper/deleted/.del-ha_innodb.m4~6f141fb5b80c1f39:
Delete: config/ac-macros/ha_innodb.m4
BitKeeper/deleted/.del-ha_partition.m4~bc57067550be5f89:
Delete: config/ac-macros/ha_partition.m4
BitKeeper/deleted/.del-ha_tina.m4~f658506ebbc113ca:
Delete: config/ac-macros/ha_tina.m4
BitKeeper/deleted/.del-handlerton.cc.in~377156e7b06067cc:
Delete: sql/handlerton.cc.in
BitKeeper/deleted/.del-handlerton-win.cc~322a7e59507976df:
Delete: sql/handlerton-win.cc
BUILD/SETUP.sh:
WL#3201
Changes in configure arguments
Makefile.am:
WL#3201
changes in build subst names
config/ac-macros/ha_berkeley.m4:
WL#3201
remove unused variable
Makefile is always made
config/ac-macros/ha_ndbcluster.m4:
WL#3201
remove unused variables
Split big macro
configure.in:
WL#3201
out with storage.m4, in with plugins.m4
change how plugins are declared
include makefiles, remove handlerton.cc, add sql_builtin.cc
include/mysql/plugin.h:
WL#3201
support static and dynamic build - MYSQL_DYNAMIC_PLUGIN
libmysqld/Makefile.am:
WL#3201
Storage engine files still left in sql subdir are not conditionally
compiled. Should move them out soon,
plugin/Makefile.am:
WL#3201
update makefile
plugin/fulltext/Makefile.am:
WL#3201
update makefile
plugin/fulltext/plugin_example.c:
WL#3201
change to mysql_declare_plugin macro
sql/Makefile.am:
WL#3201
Storage engine files still left in sql subdir are not conditionally
compiled. Should move them out soon,
sql/ha_berkeley.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_federated.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_heap.cc:
WL#3201
make into a plugin
sql/ha_innodb.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_myisam.cc:
WL#3201
make into a plugin
sql/ha_myisammrg.cc:
WL#3201
make into a plugin
sql/ha_ndbcluster.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_ndbcluster_binlog.cc:
WL#3201
make into a plugin
conditionally compile content
sql/ha_partition.cc:
WL#3201
make into a plugin
conditionally compile content
sql/handler.cc:
WL#3201
Simplify how storage engines are found by db_type
(hopefully we can get rid of it soon)
Code cleanup
sql/handler.h:
WL#3201
new DB_TYPE_FIRST_DYNAMIC
new func ha_finalize_handlerton()
remove ha_register_builtin_plugins()
sql/log.cc:
WL#3201
make into a plugin
sql/mysqld.cc:
WL#3201
remove ha_register_builtin_plugins()
alter init order so that storage engines are initialized before first use
sql/partition_info.cc:
WL#3201
conditionally compile content
sql/sql_delete.cc:
WL#3201
conditionally include ha_innodb.h
sql/sql_plugin.cc:
WL#3201
All compiled in plugins are in mysqld_builtins[]
add funcs for plugin finalization
install builtin plugins on initialization
sql/sql_show.cc:
WL#3201
Fix to use plugin_foreach()
sql/sql_yacc.yy:
WL#3201
SHOW FULL PLUGIN
storage/archive/Makefile.am:
WL#3201
setup as plugin makefile
storage/archive/ha_archive.cc:
WL#3201
Convert into a plugin
storage/archive/ha_archive.h:
WL#3201
azlib.h now in local dir
storage/blackhole/ha_blackhole.cc:
WL#3201
convert into a plugin
storage/csv/Makefile.am:
WL#3201
setup as plugin makefile
storage/csv/ha_tina.cc:
WL#3201
remove conditional compilation on MYSQL_PLUGIN
mysql_declare_plugin macro change
storage/example/Makefile.am:
WL#3201
fix as new-style plugin makefile
storage/example/ha_example.cc:
WL#3201
remove conditional compilation on MYSQL_PLUGIN
mysql_declare_plugin macro change
storage/innobase/Makefile.am:
WL#3201
Lets make life easier and reduce innodb into a single library file
config/ac-macros/plugins.m4:
New BitKeeper file ``config/ac-macros/plugins.m4''
sql/sql_builtin.cc.in:
New BitKeeper file ``sql/sql_builtin.cc.in''
storage/blackhole/Makefile.am:
New BitKeeper file ``storage/blackhole/Makefile.am''
|
||
|
|
0ae5e4c1ef |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1 sql/sql_plugin.h: Auto merged include/mysql/plugin.h: Auto merged |
||
|
|
9236e3c24b |
BUG#17117: header fille "plugin.h" does not have a namespace prefix
plugin.h has been moved into include/mysql/plugin.h include/mysql/plugin.h: Rename: include/plugin.h -> include/mysql/plugin.h include/Makefile.am: plugin.h has been moved into include/mysql/plugin.h include/myisam.h: plugin.h has been moved into include/mysql/plugin.h plugin/fulltext/plugin_example.c: plugin.h has been moved into include/mysql/plugin.h sql/sql_plugin.h: plugin.h has been moved into include/mysql/plugin.h storage/csv/ha_tina.cc: plugin.h has been moved into include/mysql/plugin.h storage/example/ha_example.cc: plugin.h has been moved into include/mysql/plugin.h storage/myisam/ftdefs.h: plugin.h has been moved into include/mysql/plugin.h |