Commit 4605a107 authored by unknown's avatar unknown
Browse files

Add all SQL_MODE settings to proc table. (Bug #8902)


sql/mysql_priv.h:
  Add note about updated scripts with new SQL_MODE settings
scripts/mysql_create_system_tables.sh:
  Add new SQL_MODE settings
mysql-test/include/system_db_struct.inc:
  Add proc table to system_mysql_db tests.
mysql-test/r/system_mysql_db.result:
  Include proc table output
scripts/mysql_fix_privilege_tables.sql:
  Make sure full list of SQL_MODE settings is in proc table
parent 50914ba7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -11,3 +11,4 @@ show create table func;
show create table tables_priv;
show create table columns_priv;
show create table procs_priv;
show create table proc;
+21 −0
Original line number Diff line number Diff line
@@ -154,5 +154,26 @@ procs_priv CREATE TABLE `procs_priv` (
  PRIMARY KEY  (`Host`,`Db`,`User`,`Routine_name`),
  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 latin1 collate latin1_bin NOT NULL default '',
  `name` char(64) NOT NULL default '',
  `type` enum('FUNCTION','PROCEDURE') NOT NULL default 'FUNCTION',
  `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` blob NOT NULL,
  `definer` char(77) character set latin1 collate latin1_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 latin1 collate latin1_bin NOT NULL default '',
  PRIMARY KEY  (`db`,`name`,`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Stored Procedures'
show tables;
Tables_in_test
+11 −1
Original line number Diff line number Diff line
@@ -702,7 +702,17 @@ then
  c_p="$c_p                         'MYSQL323',"
  c_p="$c_p                         'MYSQL40',"
  c_p="$c_p                         'ANSI',"
  c_p="$c_p                         'NO_AUTO_VALUE_ON_ZERO'"
  c_p="$c_p                         'NO_AUTO_VALUE_ON_ZERO',"
  c_p="$c_p                         'NO_BACKSLASH_ESCAPES',"
  c_p="$c_p                         'STRICT_TRANS_TABLES',"
  c_p="$c_p                         'STRICT_ALL_TABLES',"
  c_p="$c_p                         'NO_ZERO_IN_DATE',"
  c_p="$c_p                         'NO_ZERO_DATE',"
  c_p="$c_p                         'INVALID_DATES',"
  c_p="$c_p                         'ERROR_FOR_DIVISION_BY_ZERO',"
  c_p="$c_p                         'TRADITIONAL',"
  c_p="$c_p                         'NO_AUTO_CREATE_USER',"
  c_p="$c_p                         'HIGH_NOT_PRECEDENCE'"
  c_p="$c_p                     ) DEFAULT 0 NOT NULL,"
  c_p="$c_p   comment           char(64) binary DEFAULT '' NOT NULL,"
  c_p="$c_p   PRIMARY KEY (db,name,type)"
+44 −2
Original line number Diff line number Diff line
@@ -422,7 +422,17 @@ CREATE TABLE IF NOT EXISTS proc (
                        'MYSQL323',
                        'MYSQL40',
                        'ANSI',
                        'NO_AUTO_VALUE_ON_ZERO'
                        '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'
                    ) DEFAULT 0 NOT NULL,
  comment           char(64) binary DEFAULT '' NOT NULL,
  PRIMARY KEY (db,name,type)
@@ -436,4 +446,36 @@ ALTER TABLE proc MODIFY name char(64) DEFAULT '' NOT NULL,
			     'NO_SQL',
			     'READS_SQL_DATA',
			     'MODIFIES_SQL_DATA'
			    ) DEFAULT 'CONTAINS_SQL' NOT NULL;
			    ) DEFAULT 'CONTAINS_SQL' NOT NULL,
                 MODIFY 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'
                            ) DEFAULT 0 NOT NULL;
+4 −0
Original line number Diff line number Diff line
@@ -299,6 +299,10 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
  use strictly more than 64 bits by adding one more define above, you should
  contact the replication team because the replication code should then be
  updated (to store more bytes on disk).

  NOTE: When adding new SQL_MODE types, make sure to also add them to
  ../scripts/mysql_create_system_tables.sh and
  ../scripts/mysql_fix_privilege_tables.sql
*/

#define RAID_BLOCK_SIZE 1024