[Phpmyadmin-devel] MySQL reserved words

Michal Čihař nijel at users.sourceforge.net
Tue Apr 15 05:06:12 CEST 2003


On 15.04.2003 03:25, Robin H. Johnson wrote:
> On Tue, Apr 15, 2003 at 12:15:48PM +0200, Michal ?iha? wrote:
> > On 15.04.2003 12:11, Beck, Mike wrote:
> > > i agree to adding any reserved words that are on the mysql-website but not
> > > in the list, but i wouldn't delete those that are in the list and not on the
> > > web - that would mean that you can have a table named 'autocommit'?? even if
> > > mysql does allow it, this can only mean trouble. Robin would your parser
> > > mind that?
> > I don't see why we should have something different than MySQL does. With
> > current version it has some bad side effects:
> > On MySQL commandline: "create table autocommit (i int);" goes okay, in
> > phpMyAdmin it is converted to "CREATE TABLE AUTOCOMMIT (i int)" so it
> > creates uppercased table. This is IMHO something we don't want...
> > If we wouldn't change case of reserved words, it would be okay, but we
> > do change this so we should have same reserved words as MySQL does.
> 
> Previously I have  found that the website list is NOT up to date.
> Instead I have based the list on the actual parser inside the MySQL
> server (look in the yacc and flex files).

Okay, I looked into source, but I didn't see it in yacc files clearly,
so I used sql-bench/crash-me.sh, which tries which word is really
treated as reserved and which not (results are also in sources -
sql-bench/limits/mysql.cfg). As little surprise this list has only 166
entries :-). If somebody interested in diff to our list, it is attached.

The question is: Which should we use?

-- 
Regards
	Michal Cihar
	http://cihar.liten.cz
-------------- next part --------------
-ACTION
-AFTER
-AGAINST
-AGGREGATE
-ANALYSE
-AUTOCOMMIT
-AVG_ROW_LENGTH
-BACKUP
-BEGIN
+BIGINT
+BINARY
+BLOB
-CHANGED
+CHAR
+CHARACTER
-CHECKSUM
-CLIENT
-COMMENT
-COMMIT
-COMMITTED
-COMPRESSED
-CONCURRENT
-DATA
+CURRENT_DATE
+CURRENT_TIME
+CURRENT_TIMESTAMP
-DAY
+DEC
+DECIMAL
+DEFAULT
-DELAY_KEY_WRITE
-DO
+DOUBLE
-DUMPFILE
-DYNAMIC
-END
-ESCAPE
+END-EXEC
-EXECUTE
-EXTENDED
-FAST
-FILE
-FIRST
-FIXED
-FLUSH
+FLOAT
-FULL
-FUNCTION
-GEMINI
-GEMINI_SPIN_RETRIES
-GLOBAL
-GRANTS
-HEAP
-HOSTS
-HOUR
-IDENTIFIED
-INDEXES
-INSERT_ID
-INSERT_METHOD
+INT
+INTEGER
-ISOLATION
-LAST_INSERT_ID
-LEVEL
-LOCAL
+LOCALTIME
+LOCALTIMESTAMP
-LOCKS
-LOGS
+LONG
+LONGBLOB
+LONGTEXT
-MASTER
-MASTER_CONNECT_RETRY
-MASTER_HOST
-MASTER_LOG_FILE
-MASTER_LOG_POS
-MASTER_PASSWORD
-MASTER_PORT
-MASTER_USER
+MASTER_SERVER_ID
-MAX_CONNECTIONS_PER_HOUR
-MAX_QUERIES_PER_HOUR
-MAX_ROWS
-MAX_UPDATES_PER_HOUR
-MEDIUM
-MERGE
-MIN_ROWS
-MINUTE
+MEDIUMBLOB
+MEDIUMINT
+MEDIUMTEXT
+MIDDLEINT
-MODE
-MODIFY
-MONTH
-MRG_MYISAM
-MYISAM
-NO
-NO
+NUMERIC
-OPEN
-PACK_KEYS
-PASSWORD
+PRECISION
-PROCESS
-PROCESSLIST
-QUICK
-RAID0
-RAID_CHUNKS
-RAID_CHUNKSIZE
-RAID_TYPE
+REAL
-RELOAD
-REPAIR
-REPEATABLE
-REPLICATION
-RESET
-RESTORE
+REQUIRE
-ROLLBACK
-ROW
-ROW_FORMAT
-ROWS
-SECOND
-SERIALIZABLE
-SESSION
-SHARE
+SET
-SHUTDOWN
-SLAVE
+SMALLINT
-SQL_AUTO_IS_NULL
-SQL_BIG_SELECTS
-SQL_BIG_TABLES
-SQL_BUFFER_RESULT
-SQL_LOG_BIN
-SQL_LOG_OFF
-SQL_LOG_UPDATE
-SQL_LOW_PRIORITY_UPDATES
-SQL_MAX_JOIN_SIZE
-SQL_QUOTE_SHOW_CREATE
-SQL_SAFE_UPDATES
-SQL_SELECT_LIMIT
-SQL_SLAVE_SKIP_COUNTER
+SQL_CALC_FOUND_ROWS
-SQL_WARNINGS
-START
+SSL
-STATUS
-STOP
-STRING
-STRIPED
-SUPER
-TEMPORARY
+TINYBLOB
+TINYINT
+TINYTEXT
-TRUNCATE
-TYPE
-UNCOMMITTED
+UNSIGNED
-VARIABLES
+VARBINARY
+VARCHAR
+VARYING
-WORK
+ZEROFILL


More information about the Developers mailing list