mariadb/storage/innobase
unknown bd8b9746bf WL#3914: Additonal accessors required to compile InnoDB as a plugin storage engine
Add more accessors to MySQL internals in mysql/plugin.h, for storage
engine plugins.

Add some accessors specific to the InnoDB storage engine, to allow
InnoDB to be compiled as a plugin (without MYSQL_SERVER).  InnoDB
has additional requirements, due to its foreign key support, etc.


include/m_string.h:
  Add structure tag to LEX_STRING definition, so that it can be referred
  to by forward declarations.  Allow struct st_mysql_lex_string to be
  defined here, or in mysql/plugin.h.
include/my_global.h:
  Define INNODB_COMPATIBILITY_HOOKS unconditionally; it brackets
  some definitions needed for the InnoDB storage engine plugin
  which do not belong in our general plugin interface.
include/mysql/plugin.h:
  Additional accessors for MySQL internals:
   
  - Full definition of MYSQL_LEX_STRING (identical to LEX_STRING from
    m_string.h)
  - Full definition of MYSQL_XID (binary compatible with XID from
    handler.h)
  - mysql_tmpfile(), creates a temporary file in mysqld's tmpdir
  - thd_killed(), to check killed state of connection
  - thd_alloc() and similar allocation functions
  - thd_get_xid(), to get XID of connection's transaction
  - mysql_query_cache_invalidate4, to invalidate a table's query cache entries
sql/handler.h:
  Use MYSQL_XIDDATASIZE definition from mysql/plugin.h, to avoid redundant
  definitions
sql/log.cc:
  Add definitions for two InnoDB compatibility hooks:
  - mysql_bin_log_file(), to get log filename
  - mysql_bin_log_file_pos, to get position in file
    
  These are defined only if INNODB_COMPATIBILITY_HOOKS is defined;
  they are needed by the InnoDB plugin, but aren't part of the general
  plugin interface.  They are declared in ha_innodb.h for InnoDB's
  use.
sql/mysql_priv.h:
  Expose some server internals when INNODB_COMPATIBILITY_HOOKS is
  defined, so that InnoDB can be built as a plugin when MYSQL_SERVER
  is not defined.
    
  Move make_lex_string inside THD class.
sql/sql_cache.cc:
  Add definiton of mysql_query_cache_invalidate4(), a part of the
  plugin API (mysql/plugin.h).
sql/sql_class.cc:
  Add definitions for several accessor functions which form part
  of the plugin API (mysql/plugin.h):
  - mysql_tmpfile()
  - thd_alloc() and friends
  - thd_make_lex_string()
  - thd_get_xid()
   
  Add definitons for accessor functions which InnoDB requires,
  but which are not part of the plugin interface:
  - thd_charset()
  - thd_query()
  - thd_slave_thread()
  - thd_non_transactional_update()
  - thd_binlog_format()
   
  Move definition of make_lex_string() from sql_show.cc into THD class
sql/sql_class.h:
  Remove LEX_STRING_make(), and move make_lex_string() from sql_show.cc inside THD
  class.
sql/sql_parse.cc:
  Use thd->make_lex_string() instead of thd->LEX_STRING_make()
sql/sql_show.cc:
  Move make_lex_string() inside THD class
storage/innobase/handler/ha_innodb.cc:
  Call thd_make_lex_string() instead of make_lex_string().
2007-07-05 01:05:47 +02:00
..
btr Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
buf Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
data Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
dict Applied innodb-5.1-ss1381 snapshot 2007-03-28 22:46:28 -06:00
dyn Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
eval Fixed compiler warnings 2007-02-23 13:13:55 +02:00
fil Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
fsp Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
fut Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
ha Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
handler WL#3914: Additonal accessors required to compile InnoDB as a plugin storage engine 2007-07-05 01:05:47 +02:00
ibuf Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
include Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2007-04-16 10:37:50 +02:00
lock Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
log Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
mach Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
mem Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
mtr Fixed compiler warnings 2007-02-23 13:13:55 +02:00
os Applied innodb-5.1-ss1404 snapshot 2007-04-18 19:53:28 -06:00
page Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-31 01:32:21 +01:00
pars Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
que Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
read Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
rem Fixed compiler warnings 2007-02-23 13:13:55 +02:00
row Applied innodb-5.1-ss1381 snapshot 2007-03-28 22:46:28 -06:00
srv Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
sync Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
thr Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
trx Applied innodb-5.1-ss1381 snapshot 2007-03-28 22:46:28 -06:00
usr Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
ut Apply the following InnoDB snapshots: 2007-03-22 15:59:35 -06:00
CMakeLists.txt Embedded Server doesn't build on Windows. 2007-06-15 14:32:16 -04:00
Makefile.am Add missing \ causing CMakelists.txt etc not to be included in dist 2007-03-30 06:57:58 +02:00
plug.in Applied innodb-5.1-ss1404 snapshot 2007-04-18 19:53:28 -06:00