mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 15:24:16 +01:00
41536fcefe
tree to get rid of multiple typos in CS comments and unify the patch. configure.in: CSV is compiled in by default now include/my_base.h: add new ha_extra flag for the log tables mysql-test/include/im_check_os.inc: we should only run im tests if csv is on for now: im relies on mysqld options available only in csv build. mysql-test/include/system_db_struct.inc: check log tables structure mysql-test/lib/init_db.sql: create log tables when running tests. mysql-test/mysql-test-run.pl: Add old logs flag to IM tests. As IM could only deal with old logs (this feature is not needed with log tables) mysql-test/r/connect.result: update result mysql-test/r/csv.result: update result mysql-test/r/im_utils.result: update result mysql-test/r/information_schema.result: update result mysql-test/r/mysqlcheck.result: update result mysql-test/r/show_check.result: update result mysql-test/r/system_mysql_db.result: update result mysql-test/t/connect.test: disable test if CSV engine is not in: result depends on the presence of CSV-based log tables mysql-test/t/csv.test: add tests for concurrent insert (the functionality is added to CSV in this patch) mysql-test/t/information_schema.test: disable test if CSV engine is not in: result depends on the presence of CSV-based log tables mysql-test/t/mysqlcheck.test: disable test if CSV engine is not in: result depends on the presence of CSV-based log tables mysql-test/t/show_check.test: disable test if CSV engine is not in: result depends on the presence of CSV-based log tables mysql-test/t/system_mysql_db.test: disable test if CSV engine is not in: result depends on the presence of CSV-based log tables mysql-test/t/system_mysql_db_fix.test: disable test if CSV engine is not in: result depends on the presence of CSV-based log tables scripts/mysql_create_system_tables.sh: new system tables: slow_log and general_log scripts/mysql_fix_privilege_tables.sql: add new log tables: use an SP to create them for non-csv build to work fine. sql/ha_myisam.cc: move locking-related checks to the hanlder sql/ha_myisam.h: new function declared sql/handler.h: new virtual function is added: we should check for handler-related locking issues in the handler sql/lock.cc: from now on we check for handler-related locking issues in the handler itself rather then in lock.cc sql/log.cc: Add log tables support, refactoring: there are log event handlers with common interface. They are used by the LOGGER class, which is responsible for their initialization, cleanup and managment. Logging to the tables provided by one of the log event handler types. sql/log.h: declare new log classes sql/log_event.cc: convert old logging routines calls to use new API sql/mysql_priv.h: define common log routines and objects sql/mysqld.cc: Add support for the log tables. Their initalization, cleanup and specific options. sql/share/errmsg.txt: add new error messages for the log tables sql/slave.cc: convert old logging routines calls to use new API sql/sql_base.cc: TABLE objects used by the logger should be skipped during refreshes (as log tables are always opened and locked). fix table_is_used to skip them. This is needed for FLUSH LOGS to work sql/sql_db.cc: convert old logging routines calls to use new API sql/sql_delete.cc: fix TRUNCATE to work with log tables sql/sql_parse.cc: command_name is now an array of LEX_STRINGs sql/sql_prepare.cc: convert old logging routines calls to use new API sql/sql_show.cc: convert old logging routines calls to use new API sql/sql_table.cc: don't reoped the log tables for admin purposes sql/table.cc: mark log tables as such during the open sql/table.h: add log-related info storage/csv/ha_tina.cc: add support for concurrent insert (see bk commit - 5.1 tree (petr:1.1910) for standalone patch), add log tables-specific csv table handling. storage/csv/ha_tina.h: enable concurrent insert for CSV, add log table flag mysql-test/r/log_tables.result: New BitKeeper file ``mysql-test/r/log_tables.result'' mysql-test/t/log_tables.test: New BitKeeper file ``mysql-test/t/log_tables.test''
235 lines
13 KiB
Text
235 lines
13 KiB
Text
drop table if exists t1,t1aa,t2aa;
|
|
show tables;
|
|
Tables_in_db
|
|
columns_priv
|
|
db
|
|
event
|
|
func
|
|
general_log
|
|
help_category
|
|
help_keyword
|
|
help_relation
|
|
help_topic
|
|
host
|
|
plugin
|
|
proc
|
|
procs_priv
|
|
slow_log
|
|
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',
|
|
`Event_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',
|
|
`Event_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 create table general_log;
|
|
Table Create Table
|
|
general_log CREATE TABLE `general_log` (
|
|
`event_time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
`user_host` mediumtext,
|
|
`thread_id` int(11) default NULL,
|
|
`server_id` int(11) default NULL,
|
|
`command_type` varchar(64) default NULL,
|
|
`argument` mediumtext
|
|
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
|
|
show create table slow_log;
|
|
Table Create Table
|
|
slow_log CREATE TABLE `slow_log` (
|
|
`start_time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
`user_host` mediumtext NOT NULL,
|
|
`query_time` time NOT NULL,
|
|
`lock_time` time NOT NULL,
|
|
`rows_sent` int(11) NOT NULL,
|
|
`rows_examined` int(11) NOT NULL,
|
|
`db` varchar(512) default NULL,
|
|
`last_insert_id` int(11) default NULL,
|
|
`insert_id` int(11) default NULL,
|
|
`server_id` int(11) default NULL,
|
|
`sql_text` mediumtext NOT NULL
|
|
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
|
|
show create table event;
|
|
Table Create Table
|
|
event CREATE TABLE `event` (
|
|
`db` char(64) character set utf8 collate utf8_bin NOT NULL default '',
|
|
`name` char(64) character set utf8 collate utf8_bin NOT NULL default '',
|
|
`body` longblob NOT NULL,
|
|
`definer` char(77) character set utf8 collate utf8_bin NOT NULL default '',
|
|
`execute_at` datetime default NULL,
|
|
`interval_value` int(11) default NULL,
|
|
`interval_field` enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL,
|
|
`created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
|
`modified` timestamp NOT NULL default '0000-00-00 00:00:00',
|
|
`last_executed` datetime default NULL,
|
|
`starts` datetime default NULL,
|
|
`ends` datetime default NULL,
|
|
`status` enum('ENABLED','DISABLED') NOT NULL default 'ENABLED',
|
|
`on_completion` enum('DROP','PRESERVE') NOT NULL default 'DROP',
|
|
`comment` varchar(64) character set utf8 collate utf8_bin NOT NULL default '',
|
|
PRIMARY KEY (`db`,`name`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events'
|
|
show tables;
|
|
Tables_in_test
|