mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	new file mysql_fix_privilege_tables.sql, mysql_create_system_tables.sh: Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding. Many files: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. Adding true BINARY/VARBINARY: new pad_char structure member. ctype-bin.c: Adding true BINARY/VARBINARY: new pad_char structure member. New strnxfrm, with two trailing length bytes. field.cc: Adding true BINARY/VARBINARY. sql/field.cc: Adding true BINARY/VARBINARY. strings/ctype-big5.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-bin.c: Adding true BINARY/VARBINARY: new pad_char structure member. New strnxfrm, with two trailing length bytes. strings/ctype-cp932.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-czech.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-euc_kr.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-eucjpms.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-extra.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-gb2312.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-gbk.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-latin1.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-simple.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-sjis.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-tis620.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-uca.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-ucs2.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-ujis.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-utf8.c: Adding true BINARY/VARBINARY: new pad_char structure member. strings/ctype-win1250ch.c: Adding true BINARY/VARBINARY: new pad_char structure member. include/m_ctype.h: Adding true BINARY/VARBINARY: new pad_char structure member. mysql-test/t/alter_table.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/binary.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/cast.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/ctype_cp1251.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/ctype_many.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/federated.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/func_in.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/ndb_condition_pushdown.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/ndb_types.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/sp.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/t/type_blob.test: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/alter_table.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/binary.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/cast.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/ctype_cp1251.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/ctype_many.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/federated.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/func_in.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/ndb_condition_pushdown.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/ndb_types.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/sp.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/system_mysql_db.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. mysql-test/r/type_blob.result: Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes. scripts/mysql_create_system_tables.sh: Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding. scripts/mysql_fix_privilege_tables.sql: Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding.
		
			
				
	
	
		
			185 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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
 | 
						|
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
 |