mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +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.
95 lines
3 KiB
Text
95 lines
3 KiB
Text
# Embedded server doesn't support external clients
|
|
--source include/not_embedded.inc
|
|
|
|
#
|
|
# This is the test for mysql_fix_privilege_tables
|
|
#
|
|
# Note: If this test fails, don't be confused about the errors reported
|
|
# by mysql-test-run; This shows warnings from generated by
|
|
# mysql_fix_system_tables which should be ignored.
|
|
# Instead, concentrate on the errors in r/system_mysql_db.reject
|
|
|
|
--disable_warnings
|
|
drop table if exists t1,t1aa,t2aa;
|
|
--enable_warnings
|
|
|
|
-- disable_result_log
|
|
-- disable_query_log
|
|
|
|
use test;
|
|
|
|
# create system tables as in mysql-3.20
|
|
|
|
--disable_warnings
|
|
CREATE TABLE db (
|
|
Host char(60) binary DEFAULT '' NOT NULL,
|
|
Db char(32) binary DEFAULT '' NOT NULL,
|
|
User char(16) binary DEFAULT '' NOT NULL,
|
|
Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
PRIMARY KEY Host (Host,Db,User),
|
|
KEY User (User)
|
|
)
|
|
type=ISAM;
|
|
--enable-warnings
|
|
|
|
INSERT INTO db VALUES ('%','test', '','Y','Y','Y','Y','Y','Y');
|
|
INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y');
|
|
|
|
--disable_warnings
|
|
CREATE TABLE host (
|
|
Host char(60) binary DEFAULT '' NOT NULL,
|
|
Db char(32) binary DEFAULT '' NOT NULL,
|
|
Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
PRIMARY KEY Host (Host,Db)
|
|
)
|
|
type=ISAM;
|
|
--enable-warnings
|
|
|
|
--disable_warnings
|
|
CREATE TABLE user (
|
|
Host char(60) binary DEFAULT '' NOT NULL,
|
|
User char(16) binary DEFAULT '' NOT NULL,
|
|
Password char(16),
|
|
Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
Process_priv enum('N','Y') DEFAULT 'N' NOT NULL,
|
|
PRIMARY KEY Host (Host,User)
|
|
)
|
|
type=ISAM;
|
|
--enable-warnings
|
|
|
|
INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y');
|
|
INSERT INTO user VALUES ('localhost','', '','N','N','N','N','N','N','N','N','N');
|
|
|
|
-- exec $MYSQL_FIX_SYSTEM_TABLES --database=test
|
|
-- enable_query_log
|
|
-- enable_result_log
|
|
|
|
-- source include/system_db_struct.inc
|
|
|
|
-- disable_query_log
|
|
|
|
DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv, procs_priv, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type;
|
|
|
|
-- enable_query_log
|
|
|
|
# check that we dropped all system tables
|
|
show tables;
|
|
|
|
# End of 4.1 tests
|