Commit a0878d33 authored by arjen@co3064164-a.bitbike.com's avatar arjen@co3064164-a.bitbike.com
Browse files

Fix to reserved words script.

Updated reserved words list in manual.
parent 2b17a22a
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
#!/usr/bin/perl

# Based on a Emacs macro by david@mysql.com
# Implemented in Perl by jeremy@mysql.com
# 2001-11-20 Fixups by arjen@mysql.com, 2 keywords and 15 synonyms were missing

print STDERR "Scanning lex.h for symbols..\n";
open LEX, "<../sql/lex.h";
while($line = <LEX>) {
  if($line =~ /\{\s+\"([A-Z_]+)\",\s+SYM\(([A-Z_]+)\)/) {
    $words{$2} = $1;
  if($line =~ /\{\s*\"([A-Z_]+)\"/) {
    $words{$1} = $1;
  } elsif($line =~ /sql_functions/) {
    last;
  };
@@ -15,7 +19,9 @@ print STDERR "Scanning sql_yacc.yy for non-reserved words...\n";
open YACC, "<../sql/sql_yacc.yy";
while(<YACC> !~ /^keyword:/) {};
while(($line = <YACC>) =~ /[\s|]+([A-Z_]+)/) {
  delete $words{$1};
  $keyword = $1;
  $keyword =~ s/_SYM//;
  delete $words{$keyword};
};
close YACC;

+79 −71
Original line number Diff line number Diff line
@@ -27120,26 +27120,30 @@ A few are reserved because MySQL needs them and is
@c START_OF_RESERVED_WORDS
@multitable @columnfractions .25 .25 .25 .25
@c Reserved word list updated Tue Nov  6 08:50:27 2001 by arjen.
@c Reserved word list updated Tue Nov 20 13:26:39 2001 by arjen.
@c To regenerate, use Support/update-reserved-words.pl.
@item @code{ADD}                     @tab @code{ALL}                     
 @tab @code{ALTER}                   @tab @code{ANALYZE}                 
@item @code{AND}                     @tab @code{AS}                      
 @tab @code{ASC}                     @tab @code{BETWEEN}                 
@item @code{BIGINT}                  @tab @code{BINARY}                  
 @tab @code{BLOB}                    @tab @code{BOTH}                    
@item @code{BY}                      @tab @code{CASCADE}                 
 @tab @code{CASE}                    @tab @code{CHANGE}                  
 @tab @code{ASC}                     @tab @code{AUTO_INCREMENT}          
@item @code{BDB}                     @tab @code{BERKELEYDB}              
 @tab @code{BETWEEN}                 @tab @code{BIGINT}                  
@item @code{BINARY}                  @tab @code{BLOB}                    
 @tab @code{BOTH}                    @tab @code{BY}                      
@item @code{CASCADE}                 @tab @code{CASE}                    
 @tab @code{CHANGE}                  @tab @code{CHAR}                    
@item @code{CHARACTER}               @tab @code{COLUMN}                  
 @tab @code{CONSTRAINT}              @tab @code{CREATE}                  
@item @code{CROSS}                   @tab @code{CURRENT_DATE}            
 @tab @code{CURRENT_TIME}            @tab @code{CURRENT_TIMESTAMP}       
@item @code{DATABASE}                @tab @code{DATABASES}               
 @tab @code{DAY_HOUR}                @tab @code{DAY_MINUTE}              
@item @code{DAY_SECOND}              @tab @code{DECIMAL}                 
 @tab @code{DEFAULT}                 @tab @code{DELAYED}                 
@item @code{DELETE}                  @tab @code{DESC}                    
 @tab @code{COLUMNS}                 @tab @code{CONSTRAINT}              
@item @code{CREATE}                  @tab @code{CROSS}                   
 @tab @code{CURRENT_DATE}            @tab @code{CURRENT_TIME}            
@item @code{CURRENT_TIMESTAMP}       @tab @code{DATABASE}                
 @tab @code{DATABASES}               @tab @code{DAY_HOUR}                
@item @code{DAY_MINUTE}              @tab @code{DAY_SECOND}              
 @tab @code{DEC}                     @tab @code{DECIMAL}                 
@item @code{DEFAULT}                 @tab @code{DELAYED}                 
 @tab @code{DELETE}                  @tab @code{DESC}                    
@item @code{DESCRIBE}                @tab @code{DISTINCT}                
 @tab @code{DISTINCTROW}             @tab @code{DOUBLE}                  
@item @code{DROP}                    @tab @code{ELSE}                    
 @tab @code{ENCLOSED}                @tab @code{ESCAPED}                 
@@ -27147,67 +27151,71 @@ A few are reserved because MySQL needs them and is
 @tab @code{FIELDS}                  @tab @code{FLOAT}                   
@item @code{FOR}                     @tab @code{FOREIGN}                 
 @tab @code{FROM}                    @tab @code{FULLTEXT}                
@item @code{GRANT}                   @tab @code{GROUP}                   
 @tab @code{HAVING}                  @tab @code{HIGH_PRIORITY}           
@item @code{HOUR_MINUTE}             @tab @code{HOUR_SECOND}             
 @tab @code{IF}                      @tab @code{IGNORE}                  
@item @code{IN}                      @tab @code{INDEX}                   
 @tab @code{INFILE}                  @tab @code{INNER}                   
@item @code{INSERT}                  @tab @code{INSERT_ID}               
 @tab @code{INTEGER}                 @tab @code{INTERVAL}                
@item @code{INTO}                    @tab @code{IS}                      
 @tab @code{JOIN}                    @tab @code{KEY}                     
@item @code{KEYS}                    @tab @code{KILL}                    
 @tab @code{LAST_INSERT_ID}          @tab @code{LEADING}                 
@item @code{LEFT}                    @tab @code{LIKE}                    
 @tab @code{LIMIT}                   @tab @code{LINES}                   
@item @code{LOAD}                    @tab @code{LOCK}                    
 @tab @code{LONG}                    @tab @code{LONGBLOB}                
@item @code{LONGTEXT}                @tab @code{LOW_PRIORITY}            
 @tab @code{MASTER_LOG_SEQ}          @tab @code{MASTER_SERVER_ID}        
@item @code{MATCH}                   @tab @code{MEDIUMBLOB}              
@item @code{FUNCTION}                @tab @code{GRANT}                   
 @tab @code{GROUP}                   @tab @code{HAVING}                  
@item @code{HIGH_PRIORITY}           @tab @code{HOUR_MINUTE}             
 @tab @code{HOUR_SECOND}             @tab @code{IF}                      
@item @code{IGNORE}                  @tab @code{IN}                      
 @tab @code{INDEX}                   @tab @code{INFILE}                  
@item @code{INNER}                   @tab @code{INNODB}                  
 @tab @code{INSERT}                  @tab @code{INSERT_ID}               
@item @code{INT}                     @tab @code{INTEGER}                 
 @tab @code{INTERVAL}                @tab @code{INTO}                    
@item @code{IS}                      @tab @code{JOIN}                    
 @tab @code{KEY}                     @tab @code{KEYS}                    
@item @code{KILL}                    @tab @code{LAST_INSERT_ID}          
 @tab @code{LEADING}                 @tab @code{LEFT}                    
@item @code{LIKE}                    @tab @code{LIMIT}                   
 @tab @code{LINES}                   @tab @code{LOAD}                    
@item @code{LOCK}                    @tab @code{LONG}                    
 @tab @code{LONGBLOB}                @tab @code{LONGTEXT}                
@item @code{LOW_PRIORITY}            @tab @code{MASTER_LOG_SEQ}          
 @tab @code{MASTER_SERVER_ID}        @tab @code{MATCH}                   
@item @code{MEDIUMBLOB}              @tab @code{MEDIUMINT}               
 @tab @code{MEDIUMTEXT}              @tab @code{MIDDLEINT}               
@item @code{MINUTE_SECOND}           @tab @code{NATURAL}                 
 @tab @code{NOT}                     @tab @code{NULL}                    
@item @code{NUMERIC}                 @tab @code{ON}                      
 @tab @code{OPTIMIZE}                @tab @code{OPTION}                  
@item @code{OPTIONALLY}              @tab @code{OR}                      
 @tab @code{ORDER}                   @tab @code{OUTER}                   
@item @code{OUTFILE}                 @tab @code{PARTIAL}                 
 @tab @code{PRECISION}               @tab @code{PRIMARY}                 
@item @code{PRIVILEGES}              @tab @code{PROCEDURE}               
 @tab @code{PURGE}                   @tab @code{READ}                    
@item @code{REAL}                    @tab @code{REFERENCES}              
 @tab @code{RENAME}                  @tab @code{REPLACE}                 
@item @code{REQUIRE}                 @tab @code{RESTRICT}                
 @tab @code{RETURNS}                 @tab @code{REVOKE}                  
@item @code{RIGHT}                   @tab @code{RLIKE}                   
 @tab @code{SELECT}                  @tab @code{SET}                     
@item @code{SHOW}                    @tab @code{SMALLINT}                
 @tab @code{SONAME}                  @tab @code{SQL_AUTO_IS_NULL}        
@item @code{SQL_BIG_RESULT}          @tab @code{SQL_BIG_SELECTS}         
 @tab @code{SQL_BIG_TABLES}          @tab @code{SQL_BUFFER_RESULT}       
@item @code{SQL_CALC_FOUND_ROWS}     @tab @code{SQL_LOG_BIN}             
 @tab @code{SQL_LOG_OFF}             @tab @code{SQL_LOG_UPDATE}          
@item @code{SQL_LOW_PRIORITY_UPDATES} @tab @code{SQL_SAFE_UPDATES}        
@item @code{MINUTE_SECOND}           @tab @code{MRG_MYISAM}              
 @tab @code{NATURAL}                 @tab @code{NOT}                     
@item @code{NULL}                    @tab @code{NUMERIC}                 
 @tab @code{ON}                      @tab @code{OPTIMIZE}                
@item @code{OPTION}                  @tab @code{OPTIONALLY}              
 @tab @code{OR}                      @tab @code{ORDER}                   
@item @code{OUTER}                   @tab @code{OUTFILE}                 
 @tab @code{PARTIAL}                 @tab @code{PRECISION}               
@item @code{PRIMARY}                 @tab @code{PRIVILEGES}              
 @tab @code{PROCEDURE}               @tab @code{PURGE}                   
@item @code{READ}                    @tab @code{REAL}                    
 @tab @code{REFERENCES}              @tab @code{REGEXP}                  
@item @code{RENAME}                  @tab @code{REPLACE}                 
 @tab @code{REQUIRE}                 @tab @code{RESTRICT}                
@item @code{RETURNS}                 @tab @code{REVOKE}                  
 @tab @code{RIGHT}                   @tab @code{RLIKE}                   
@item @code{SELECT}                  @tab @code{SET}                     
 @tab @code{SHOW}                    @tab @code{SMALLINT}                
@item @code{SONAME}                  @tab @code{SQL_AUTO_IS_NULL}        
 @tab @code{SQL_BIG_RESULT}          @tab @code{SQL_BIG_SELECTS}         
@item @code{SQL_BIG_TABLES}          @tab @code{SQL_BUFFER_RESULT}       
 @tab @code{SQL_CALC_FOUND_ROWS}     @tab @code{SQL_LOG_BIN}             
@item @code{SQL_LOG_OFF}             @tab @code{SQL_LOG_UPDATE}          
 @tab @code{SQL_LOW_PRIORITY_UPDATES} @tab @code{SQL_MAX_JOIN_SIZE}       
@item @code{SQL_QUOTE_SHOW_CREATE}   @tab @code{SQL_SAFE_UPDATES}        
 @tab @code{SQL_SELECT_LIMIT}        @tab @code{SQL_SLAVE_SKIP_COUNTER}  
@item @code{SQL_SMALL_RESULT}        @tab @code{SQL_WARNINGS}            
 @tab @code{SSL}                     @tab @code{STARTING}                
@item @code{STRAIGHT_JOIN}           @tab @code{TABLE}                   
 @tab @code{TABLES}                  @tab @code{TERMINATED}              
@item @code{THEN}                    @tab @code{TINYBLOB}                
 @tab @code{TINYINT}                 @tab @code{TINYTEXT}                
@item @code{TO}                      @tab @code{TRAILING}                
 @tab @code{UNION}                   @tab @code{UNIQUE}                  
@item @code{UNLOCK}                  @tab @code{UNSIGNED}                
 @tab @code{UPDATE}                  @tab @code{USAGE}                   
@item @code{USE}                     @tab @code{USING}                   
 @tab @code{VALUES}                  @tab @code{VARBINARY}               
@item @code{VARCHAR}                 @tab @code{VARYING}                 
 @tab @code{WHEN}                    @tab @code{WHERE}                   
@item @code{WITH}                    @tab @code{WRITE}                   
 @tab @code{YEAR_MONTH}              @tab @code{ZEROFILL}                
@item @code{STRAIGHT_JOIN}           @tab @code{STRIPED}                 
 @tab @code{TABLE}                   @tab @code{TABLES}                  
@item @code{TERMINATED}              @tab @code{THEN}                    
 @tab @code{TINYBLOB}                @tab @code{TINYINT}                 
@item @code{TINYTEXT}                @tab @code{TO}                      
 @tab @code{TRAILING}                @tab @code{UNION}                   
@item @code{UNIQUE}                  @tab @code{UNLOCK}                  
 @tab @code{UNSIGNED}                @tab @code{UPDATE}                  
@item @code{USAGE}                   @tab @code{USE}                     
 @tab @code{USING}                   @tab @code{VALUES}                  
@item @code{VARBINARY}               @tab @code{VARCHAR}                 
 @tab @code{VARYING}                 @tab @code{WHEN}                    
@item @code{WHERE}                   @tab @code{WITH}                    
 @tab @code{WRITE}                   @tab @code{YEAR_MONTH}              
@item @code{ZEROFILL}                
@end multitable
@c END_OF_RESERVED_WORDS