mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
66002e452d
WL#2763 - MySQL plugin interface: step 1 Manual merge from CNET tree. include/ft_global.h: Default parser added. include/my_global.h: dlopen related code moved from sql_udf.cc into my_global.h include/myisam.h: Added fulltext parser to MI_KEYDEF libmysqld/Makefile.am: Added LIBDIR macro. mysql-test/r/connect.result: Test result fixed: added plugin table mysql-test/r/information_schema.result: Test result fixed: added plugin table. mysql-test/r/mysqlcheck.result: Test result fixed: added plugin table. mysql-test/r/system_mysql_db.result: Test fixed: added plugin table mysql-test/t/system_mysql_db_fix.test: Test fixed: added plugin table scripts/mysql_create_system_tables.sh: Added mysql.plugin table. scripts/mysql_fix_privilege_tables.sql: Added mysql.plugin table. sql/Makefile.am: Added LIBDIR macro. sql/ha_myisam.cc: Pass fulltext parser from sql to myisam layer. sql/lex.h: Plugin related symbols. sql/mysqld.cc: Initialize/deinitialize plugins, pass opt_plugin_dir. plugin-dir renamed to plugin_dir. plugin_dir is relative to mysql_home now. sql/set_var.cc: plugin_dir added to SHOW VARIABLES. sql/share/errmsg.txt: Plugin related error messages. sql/sql_class.h: Added parser to Key class. Hold parser_name instead of plugin in Key class. sql/sql_lex.h: INSTALL/UNINSTALL PLUGIN commands. sql/sql_parse.cc: INSTALL/UNINSTALL PLUGIN commands. sql/sql_show.cc: SHOW CREATE TABLE: output parser name if index was created WITH PARSER. sql/sql_table.cc: Pass fulltext parser from yacc to sql layer. sql/sql_udf.cc: dlopen related code moved into my_global.h. Implemented better check for UDF path. UDF loads libraries that are under plugin_dir now. sql/sql_yacc.yy: INSTALL/UNINSTALL PLUGIN syntax. Added WITH PARSER syntax to CREATE/ALTER TABLE/INDEX. opt_fulltext_parser must allocate memory, since it will be used afterwards. sql/table.cc: Save/restore fulltext parser in extra data segment. Added DBUG_PRINTs. storage/myisam/ft_boolean_search.c: Split functions so they can be used by fulltext parser. Use fulltext parser if specified. storage/myisam/ft_nlq_search.c: Use fulltext parser. storage/myisam/ft_parser.c: Split functions so they can be used by fulltext parser. Use fulltext parser if specified. storage/myisam/ft_static.c: Default fulltext parser added. storage/myisam/ft_update.c: Use fulltext parser. storage/myisam/ftdefs.h: FTB_PARAM moved into plugin.h and renamed to MYSQL_FTPARSER_BOOLEAN_INFO. storage/myisam/mi_open.c: Set default parser.
185 lines
10 KiB
Text
185 lines
10 KiB
Text
drop table if exists t1,t1aa,t2aa;
|
|
show tables;
|
|
Tables_in_db
|
|
columns_priv
|
|
db
|
|
func
|
|
help_category
|
|
help_keyword
|
|
help_relation
|
|
help_topic
|
|
host
|
|
plugin
|
|
proc
|
|
procs_priv
|
|
tables_priv
|
|
time_zone
|
|
time_zone_leap_second
|
|
time_zone_name
|
|
time_zone_transition
|
|
time_zone_transition_type
|
|
user
|
|
show create table db;
|
|
Table Create Table
|
|
db CREATE TABLE `db` (
|
|
`Host` char(60) collate utf8_bin NOT NULL default '',
|
|
`Db` char(64) collate utf8_bin NOT NULL default '',
|
|
`User` char(16) collate utf8_bin NOT NULL default '',
|
|
`Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Delete_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Drop_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Grant_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`References_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Index_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Alter_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_tmp_table_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Lock_tables_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Show_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Alter_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Execute_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
PRIMARY KEY (`Host`,`Db`,`User`),
|
|
KEY `User` (`User`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Database privileges'
|
|
show create table host;
|
|
Table Create Table
|
|
host CREATE TABLE `host` (
|
|
`Host` char(60) collate utf8_bin NOT NULL default '',
|
|
`Db` char(64) collate utf8_bin NOT NULL default '',
|
|
`Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Delete_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Drop_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Grant_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`References_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Index_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Alter_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_tmp_table_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Lock_tables_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Show_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Alter_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Execute_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
PRIMARY KEY (`Host`,`Db`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Host privileges; Merged with database privileges'
|
|
show create table user;
|
|
Table Create Table
|
|
user CREATE TABLE `user` (
|
|
`Host` char(60) collate utf8_bin NOT NULL default '',
|
|
`User` char(16) collate utf8_bin NOT NULL default '',
|
|
`Password` char(41) character set latin1 collate latin1_bin NOT NULL default '',
|
|
`Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Delete_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Drop_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Reload_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Shutdown_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Process_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`File_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Grant_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`References_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Index_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Alter_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Show_db_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Super_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_tmp_table_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Lock_tables_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Execute_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Repl_slave_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Repl_client_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Show_view_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Alter_routine_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`Create_user_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
|
`ssl_type` enum('','ANY','X509','SPECIFIED') character set utf8 NOT NULL default '',
|
|
`ssl_cipher` blob NOT NULL,
|
|
`x509_issuer` blob NOT NULL,
|
|
`x509_subject` blob NOT NULL,
|
|
`max_questions` int(11) unsigned NOT NULL default '0',
|
|
`max_updates` int(11) unsigned NOT NULL default '0',
|
|
`max_connections` int(11) unsigned NOT NULL default '0',
|
|
`max_user_connections` int(11) unsigned NOT NULL default '0',
|
|
PRIMARY KEY (`Host`,`User`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'
|
|
show create table func;
|
|
Table Create Table
|
|
func CREATE TABLE `func` (
|
|
`name` char(64) collate utf8_bin NOT NULL default '',
|
|
`ret` tinyint(1) NOT NULL default '0',
|
|
`dl` char(128) collate utf8_bin NOT NULL default '',
|
|
`type` enum('function','aggregate') character set utf8 NOT NULL,
|
|
PRIMARY KEY (`name`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User defined functions'
|
|
show create table tables_priv;
|
|
Table Create Table
|
|
tables_priv CREATE TABLE `tables_priv` (
|
|
`Host` char(60) collate utf8_bin NOT NULL default '',
|
|
`Db` char(64) collate utf8_bin NOT NULL default '',
|
|
`User` char(16) collate utf8_bin NOT NULL default '',
|
|
`Table_name` char(64) collate utf8_bin NOT NULL default '',
|
|
`Grantor` char(77) collate utf8_bin NOT NULL default '',
|
|
`Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
`Table_priv` set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter','Create View','Show view') character set utf8 NOT NULL default '',
|
|
`Column_priv` set('Select','Insert','Update','References') character set utf8 NOT NULL default '',
|
|
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`),
|
|
KEY `Grantor` (`Grantor`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Table privileges'
|
|
show create table columns_priv;
|
|
Table Create Table
|
|
columns_priv CREATE TABLE `columns_priv` (
|
|
`Host` char(60) collate utf8_bin NOT NULL default '',
|
|
`Db` char(64) collate utf8_bin NOT NULL default '',
|
|
`User` char(16) collate utf8_bin NOT NULL default '',
|
|
`Table_name` char(64) collate utf8_bin NOT NULL default '',
|
|
`Column_name` char(64) collate utf8_bin NOT NULL default '',
|
|
`Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
`Column_priv` set('Select','Insert','Update','References') character set utf8 NOT NULL default '',
|
|
PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges'
|
|
show create table procs_priv;
|
|
Table Create Table
|
|
procs_priv CREATE TABLE `procs_priv` (
|
|
`Host` char(60) collate utf8_bin NOT NULL default '',
|
|
`Db` char(64) collate utf8_bin NOT NULL default '',
|
|
`User` char(16) collate utf8_bin NOT NULL default '',
|
|
`Routine_name` char(64) collate utf8_bin NOT NULL default '',
|
|
`Routine_type` enum('FUNCTION','PROCEDURE') collate utf8_bin NOT NULL,
|
|
`Grantor` char(77) collate utf8_bin NOT NULL default '',
|
|
`Proc_priv` set('Execute','Alter Routine','Grant') character set utf8 NOT NULL default '',
|
|
`Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`,`Routine_type`),
|
|
KEY `Grantor` (`Grantor`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges'
|
|
show create table proc;
|
|
Table Create Table
|
|
proc CREATE TABLE `proc` (
|
|
`db` char(64) character set utf8 collate utf8_bin NOT NULL default '',
|
|
`name` char(64) NOT NULL default '',
|
|
`type` enum('FUNCTION','PROCEDURE') NOT NULL,
|
|
`specific_name` char(64) NOT NULL default '',
|
|
`language` enum('SQL') NOT NULL default 'SQL',
|
|
`sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL default 'CONTAINS_SQL',
|
|
`is_deterministic` enum('YES','NO') NOT NULL default 'NO',
|
|
`security_type` enum('INVOKER','DEFINER') NOT NULL default 'DEFINER',
|
|
`param_list` blob NOT NULL,
|
|
`returns` char(64) NOT NULL default '',
|
|
`body` longblob NOT NULL,
|
|
`definer` char(77) character set utf8 collate utf8_bin NOT NULL default '',
|
|
`created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
`modified` timestamp NOT NULL default '0000-00-00 00:00:00',
|
|
`sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL default '',
|
|
`comment` char(64) character set utf8 collate utf8_bin NOT NULL default '',
|
|
PRIMARY KEY (`db`,`name`,`type`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Stored Procedures'
|
|
show tables;
|
|
Tables_in_test
|