Commit 7282d0f8 authored by tfr@sarvik.tfr.cafe.ee's avatar tfr@sarvik.tfr.cafe.ee
Browse files

Merge tfr@work.mysql.com:/home/bk/mysql-4.0

into sarvik.tfr.cafe.ee:/usr/home/tfr/BK/mysql-4.0
parents 660bf865 0db1aee4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -28,3 +28,4 @@ tim@work.mysql.com
tonu@hundin.mysql.fi
tonu@x153.internalnet
tonu@x3.internalnet
tonu@volk.internalnet
+2 −0
Original line number Diff line number Diff line
@@ -65,6 +65,8 @@ aclocal; autoheader; aclocal; automake; autoconf
 --enable-thread-safe-client \
 --with-berkeley-db \
 --with-innodb \
 --with-openssl \
 --with-vio \
 --without-pstack \
 --with-extra-tools \
 --with-embedded-server
+4 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ static SYMBOL symbols[] = {
  { "CHANGED",		SYM(CHANGED),0,0},
  { "CHECK",		SYM(CHECK_SYM),0,0},
  { "CHECKSUM",		SYM(CHECKSUM_SYM),0,0},
  { "CIPHER",		SYM(CIPHER_SYM),0,0},
  { "CLOSE",		SYM(CLOSE_SYM),0,0},
  { "COLUMN",		SYM(COLUMN_SYM),0,0},
  { "COLUMNS",		SYM(COLUMNS),0,0},
@@ -190,6 +191,7 @@ static SYMBOL symbols[] = {
  { "IS",		SYM(IS),0,0},
  { "ISOLATION",	SYM(ISOLATION),0,0},
  { "ISAM",		SYM(ISAM_SYM),0,0},
  { "ISSUER",		SYM(ISSUER_SYM),0,0},
  { "JOIN",		SYM(JOIN_SYM),0,0},
  { "KEY",		SYM(KEY_SYM),0,0},
  { "KEYS",		SYM(KEYS),0,0},
@@ -277,6 +279,7 @@ static SYMBOL symbols[] = {
  { "REPAIR",		SYM(REPAIR),0,0},
  { "REPLACE",		SYM(REPLACE),0,0},
  { "REPEATABLE",	SYM(REPEATABLE_SYM),0,0},
  { "REQUIRE",	        SYM(REQUIRE_SYM),0,0},
  { "RESET",		SYM(RESET_SYM),0,0},
  { "RESTORE",		SYM(RESTORE_SYM),0,0},
  { "RESTRICT",		SYM(RESTRICT),0,0},
@@ -322,6 +325,7 @@ static SYMBOL symbols[] = {
  { "STRING",		SYM(STRING_SYM),0,0},
  { "STOP",		SYM(STOP_SYM),0,0},
  { "STRIPED",		SYM(RAID_STRIPED_SYM),0,0},
  { "SUBJECT",		SYM(SUBJECT_SYM),0,0},
  { "TABLE",		SYM(TABLE_SYM),0,0},
  { "TABLES",		SYM(TABLES),0,0},
  { "TEMPORARY",	SYM(TEMPORARY),0,0},
+1 −0
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@ typedef struct st_lex {
  char *length,*dec,*change,*name;
  char *backup_dir;				/* For RESTORE/BACKUP */
  char* to_log;                                 /* For PURGE MASTER LOGS TO */
  char* ssl_subject,*ssl_issuer,*ssl_chipher;
  String *wild;
  sql_exchange *exchange;

+31 −4
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token	MIN_SYM
%token	SUM_SYM
%token	STD_SYM

%token  ABORT_SYM
%token	ADD
%token	ALTER
%token	AFTER_SYM
@@ -134,7 +134,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token  BINLOG_SYM
%token  EVENTS_SYM

%token	ABORT_SYM
%token	ACTION
%token	AGGREGATE_SYM
%token	ALL
@@ -450,6 +449,10 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token  SQL_QUOTE_SHOW_CREATE
%token  SQL_SLAVE_SKIP_COUNTER

%token  ISSUER_SYM
%token  SUBJECT_SYM
%token  CIPHER_SYM

%left   SET_VAR
%left	OR_OR_CONCAT OR
%left	AND
@@ -2819,6 +2822,7 @@ keyword:
	| CHANGED		{}
	| CHECKSUM_SYM		{}
	| CHECK_SYM		{}
	| CIPHER_SYM		{}
	| CLOSE_SYM		{}
	| COMMENT_SYM		{}
	| COMMIT_SYM		{}
@@ -2856,6 +2860,7 @@ keyword:
	| INDEXES		{}
	| ISOLATION		{}
	| ISAM_SYM		{}
	| ISSUER_SYM		{}
	| INNOBASE_SYM		{}
	| LAST_SYM		{}
	| LEVEL_SYM		{}
@@ -2909,10 +2914,10 @@ keyword:
	| SESSION_SYM		{}
	| SHARE_SYM		{}
	| SHUTDOWN		{}
	| START_SYM		{}
	| STATUS_SYM		{}
	| STOP_SYM		{}
	| STRING_SYM		{}
	| SUBJECT_SYM		{}
	| TEMPORARY		{}
	| TEXT_SYM		{}
	| TRANSACTION_SYM	{}
@@ -3251,9 +3256,10 @@ grant:
	  lex->columns.empty();
	  lex->grant= lex->grant_tot_col=0;
	  lex->select->db=0;
	  lex->ssl_chipher=lex->ssl_subject=lex->ssl_issuer=0;
	}
	grant_privileges ON opt_table TO_SYM user_list
	grant_option
	grant_option require_clause

grant_privileges:
	grant_privilege_list {}
@@ -3287,6 +3293,27 @@ grant_privilege:
	| FILE_SYM	{ Lex->grant |= FILE_ACL;}
	| GRANT OPTION  { Lex->grant |= GRANT_ACL;}

require_clause: /* empty */
 | REQUIRE_SYM require_list


require_list: require_list_element AND require_list
| require_list_element 


require_list_element: SUBJECT_SYM TEXT_STRING
 {
   Lex->ssl_subject=$2.str;
 }
 | ISSUER_SYM TEXT_STRING
 {
   Lex->ssl_issuer=$2.str;
 }
 | CIPHER_SYM TEXT_STRING
 {
   Lex->ssl_chipher=$2.str;
 }
 
opt_table:
	'*'
	  {