--- orig/mysql-5.0.24a/client/mysql.cc Fri Aug 25 22:11:58 2006 +++ new/mysql-5.0.24a/client/mysql.cc Mon Nov 27 15:42:05 2006 @@ -276,24 +276,451 @@ { "nowarning", 'w', com_nowarnings, 0, "Don't show warnings after every statement." }, /* Get bash-like expansion for some commands */ - { "create table", 0, 0, 0, ""}, - { "create database", 0, 0, 0, ""}, + { "ADD", 0, 0, 0, ""}, + { "ALL", 0, 0, 0, ""}, + { "ALTER", 0, 0, 0, ""}, + { "ANALYZE", 0, 0, 0, ""}, + { "AND", 0, 0, 0, ""}, + { "AS", 0, 0, 0, ""}, + { "ASC", 0, 0, 0, ""}, + { "ASENSITIVE", 0, 0, 0, ""}, + { "BEFORE", 0, 0, 0, ""}, + { "BETWEEN", 0, 0, 0, ""}, + { "BIGINT", 0, 0, 0, ""}, + { "BINARY", 0, 0, 0, ""}, + { "BLOB", 0, 0, 0, ""}, + { "BOTH", 0, 0, 0, ""}, + { "BY", 0, 0, 0, ""}, + { "CALL", 0, 0, 0, ""}, + { "CASCADE", 0, 0, 0, ""}, + { "CASE", 0, 0, 0, ""}, + { "CHANGE", 0, 0, 0, ""}, + { "CHAR", 0, 0, 0, ""}, + { "CHARACTER", 0, 0, 0, ""}, + { "CHECK", 0, 0, 0, ""}, + { "COLLATE", 0, 0, 0, ""}, + { "COLUMN", 0, 0, 0, ""}, + { "CONDITION", 0, 0, 0, ""}, + { "CONNECTION", 0, 0, 0, ""}, + { "CONSTRAINT", 0, 0, 0, ""}, + { "CONTINUE", 0, 0, 0, ""}, + { "CONVERT", 0, 0, 0, ""}, + { "CREATE", 0, 0, 0, ""}, + { "CROSS", 0, 0, 0, ""}, + { "CURRENT_DATE", 0, 0, 0, ""}, + { "CURRENT_TIME", 0, 0, 0, ""}, + { "CURRENT_TIMESTAMP", 0, 0, 0, ""}, + { "CURRENT_USER", 0, 0, 0, ""}, + { "CURSOR", 0, 0, 0, ""}, + { "DATABASE", 0, 0, 0, ""}, + { "DATABASES", 0, 0, 0, ""}, + { "DAY_HOUR", 0, 0, 0, ""}, + { "DAY_MICROSECOND", 0, 0, 0, ""}, + { "DAY_MINUTE", 0, 0, 0, ""}, + { "DAY_SECOND", 0, 0, 0, ""}, + { "DEC", 0, 0, 0, ""}, + { "DECIMAL", 0, 0, 0, ""}, + { "DECLARE", 0, 0, 0, ""}, + { "DEFAULT", 0, 0, 0, ""}, + { "DELAYED", 0, 0, 0, ""}, + { "DELETE", 0, 0, 0, ""}, + { "DESC", 0, 0, 0, ""}, + { "DESCRIBE", 0, 0, 0, ""}, + { "DETERMINISTIC", 0, 0, 0, ""}, + { "DISTINCT", 0, 0, 0, ""}, + { "DISTINCTROW", 0, 0, 0, ""}, + { "DIV", 0, 0, 0, ""}, + { "DOUBLE", 0, 0, 0, ""}, + { "DROP", 0, 0, 0, ""}, + { "DUAL", 0, 0, 0, ""}, + { "EACH", 0, 0, 0, ""}, + { "ELSE", 0, 0, 0, ""}, + { "ELSEIF", 0, 0, 0, ""}, + { "ENCLOSED", 0, 0, 0, ""}, + { "ESCAPED", 0, 0, 0, ""}, + { "EXISTS", 0, 0, 0, ""}, + { "EXIT", 0, 0, 0, ""}, + { "EXPLAIN", 0, 0, 0, ""}, + { "FALSE", 0, 0, 0, ""}, + { "FETCH", 0, 0, 0, ""}, + { "FLOAT", 0, 0, 0, ""}, + { "FLOAT4", 0, 0, 0, ""}, + { "FLOAT8", 0, 0, 0, ""}, + { "FOR", 0, 0, 0, ""}, + { "FORCE", 0, 0, 0, ""}, + { "FOREIGN", 0, 0, 0, ""}, + { "FROM", 0, 0, 0, ""}, + { "FULLTEXT", 0, 0, 0, ""}, + { "GRANT", 0, 0, 0, ""}, + { "GROUP", 0, 0, 0, ""}, + { "HAVING", 0, 0, 0, ""}, + { "HIGH_PRIORITY", 0, 0, 0, ""}, + { "HOUR_MICROSECOND", 0, 0, 0, ""}, + { "HOUR_MINUTE", 0, 0, 0, ""}, + { "HOUR_SECOND", 0, 0, 0, ""}, + { "IF", 0, 0, 0, ""}, + { "IGNORE", 0, 0, 0, ""}, + { "IN", 0, 0, 0, ""}, + { "INDEX", 0, 0, 0, ""}, + { "INFILE", 0, 0, 0, ""}, + { "INNER", 0, 0, 0, ""}, + { "INOUT", 0, 0, 0, ""}, + { "INSENSITIVE", 0, 0, 0, ""}, + { "INSERT", 0, 0, 0, ""}, + { "INT", 0, 0, 0, ""}, + { "INT1", 0, 0, 0, ""}, + { "INT2", 0, 0, 0, ""}, + { "INT3", 0, 0, 0, ""}, + { "INT4", 0, 0, 0, ""}, + { "INT8", 0, 0, 0, ""}, + { "INTEGER", 0, 0, 0, ""}, + { "INTERVAL", 0, 0, 0, ""}, + { "INTO", 0, 0, 0, ""}, + { "IS", 0, 0, 0, ""}, + { "ITERATE", 0, 0, 0, ""}, + { "JOIN", 0, 0, 0, ""}, + { "KEY", 0, 0, 0, ""}, + { "KEYS", 0, 0, 0, ""}, + { "KILL", 0, 0, 0, ""}, + { "LEADING", 0, 0, 0, ""}, + { "LEAVE", 0, 0, 0, ""}, + { "LEFT", 0, 0, 0, ""}, + { "LIKE", 0, 0, 0, ""}, + { "LIMIT", 0, 0, 0, ""}, + { "LINES", 0, 0, 0, ""}, + { "LOAD", 0, 0, 0, ""}, + { "LOCALTIME", 0, 0, 0, ""}, + { "LOCALTIMESTAMP", 0, 0, 0, ""}, + { "LOCK", 0, 0, 0, ""}, + { "LONG", 0, 0, 0, ""}, + { "LONGBLOB", 0, 0, 0, ""}, + { "LONGTEXT", 0, 0, 0, ""}, + { "LOOP", 0, 0, 0, ""}, + { "LOW_PRIORITY", 0, 0, 0, ""}, + { "MATCH", 0, 0, 0, ""}, + { "MEDIUMBLOB", 0, 0, 0, ""}, + { "MEDIUMINT", 0, 0, 0, ""}, + { "MEDIUMTEXT", 0, 0, 0, ""}, + { "MIDDLEINT", 0, 0, 0, ""}, + { "MINUTE_MICROSECOND", 0, 0, 0, ""}, + { "MINUTE_SECOND", 0, 0, 0, ""}, + { "MOD", 0, 0, 0, ""}, + { "MODIFIES", 0, 0, 0, ""}, + { "NATURAL", 0, 0, 0, ""}, + { "NOT", 0, 0, 0, ""}, + { "NO_WRITE_TO_BINLOG", 0, 0, 0, ""}, + { "NULL", 0, 0, 0, ""}, + { "NUMERIC", 0, 0, 0, ""}, + { "ON", 0, 0, 0, ""}, + { "OPTIMIZE", 0, 0, 0, ""}, + { "OPTION", 0, 0, 0, ""}, + { "OPTIONALLY", 0, 0, 0, ""}, + { "OR", 0, 0, 0, ""}, + { "ORDER", 0, 0, 0, ""}, + { "OUT", 0, 0, 0, ""}, + { "OUTER", 0, 0, 0, ""}, + { "OUTFILE", 0, 0, 0, ""}, + { "PRECISION", 0, 0, 0, ""}, + { "PRIMARY", 0, 0, 0, ""}, + { "PROCEDURE", 0, 0, 0, ""}, + { "PURGE", 0, 0, 0, ""}, + { "RAID0", 0, 0, 0, ""}, + { "READ", 0, 0, 0, ""}, + { "READS", 0, 0, 0, ""}, + { "REAL", 0, 0, 0, ""}, + { "REFERENCES", 0, 0, 0, ""}, + { "REGEXP", 0, 0, 0, ""}, + { "RELEASE", 0, 0, 0, ""}, + { "RENAME", 0, 0, 0, ""}, + { "REPEAT", 0, 0, 0, ""}, + { "REPLACE", 0, 0, 0, ""}, + { "REQUIRE", 0, 0, 0, ""}, + { "RESTRICT", 0, 0, 0, ""}, + { "RETURN", 0, 0, 0, ""}, + { "REVOKE", 0, 0, 0, ""}, + { "RIGHT", 0, 0, 0, ""}, + { "RLIKE", 0, 0, 0, ""}, + { "SCHEMA", 0, 0, 0, ""}, + { "SCHEMAS", 0, 0, 0, ""}, + { "SECOND_MICROSECOND", 0, 0, 0, ""}, + { "SELECT", 0, 0, 0, ""}, + { "SENSITIVE", 0, 0, 0, ""}, + { "SEPARATOR", 0, 0, 0, ""}, + { "SET", 0, 0, 0, ""}, + { "SHOW", 0, 0, 0, ""}, + { "SMALLINT", 0, 0, 0, ""}, + { "SONAME", 0, 0, 0, ""}, + { "SPATIAL", 0, 0, 0, ""}, + { "SPECIFIC", 0, 0, 0, ""}, + { "SQL", 0, 0, 0, ""}, + { "SQLEXCEPTION", 0, 0, 0, ""}, + { "SQLSTATE", 0, 0, 0, ""}, + { "SQLWARNING", 0, 0, 0, ""}, + { "SQL_BIG_RESULT", 0, 0, 0, ""}, + { "SQL_CALC_FOUND_ROWS", 0, 0, 0, ""}, + { "SQL_SMALL_RESULT", 0, 0, 0, ""}, + { "SSL", 0, 0, 0, ""}, + { "STARTING", 0, 0, 0, ""}, + { "STRAIGHT_JOIN", 0, 0, 0, ""}, + { "TABLE", 0, 0, 0, ""}, + { "TERMINATED", 0, 0, 0, ""}, + { "THEN", 0, 0, 0, ""}, + { "TINYBLOB", 0, 0, 0, ""}, + { "TINYINT", 0, 0, 0, ""}, + { "TINYTEXT", 0, 0, 0, ""}, + { "TO", 0, 0, 0, ""}, + { "TRAILING", 0, 0, 0, ""}, + { "TRIGGER", 0, 0, 0, ""}, + { "TRUE", 0, 0, 0, ""}, + { "UNDO", 0, 0, 0, ""}, + { "UNION", 0, 0, 0, ""}, + { "UNIQUE", 0, 0, 0, ""}, + { "UNLOCK", 0, 0, 0, ""}, + { "UNSIGNED", 0, 0, 0, ""}, + { "UPDATE", 0, 0, 0, ""}, + { "USAGE", 0, 0, 0, ""}, + { "USE", 0, 0, 0, ""}, + { "USING", 0, 0, 0, ""}, + { "UTC_DATE", 0, 0, 0, ""}, + { "UTC_TIME", 0, 0, 0, ""}, + { "UTC_TIMESTAMP", 0, 0, 0, ""}, + { "VALUES", 0, 0, 0, ""}, + { "VARBINARY", 0, 0, 0, ""}, + { "VARCHAR", 0, 0, 0, ""}, + { "VARCHARACTER", 0, 0, 0, ""}, + { "VARYING", 0, 0, 0, ""}, + { "WHEN", 0, 0, 0, ""}, + { "WHERE", 0, 0, 0, ""}, + { "WHILE", 0, 0, 0, ""}, + { "WITH", 0, 0, 0, ""}, + { "WRITE", 0, 0, 0, ""}, + { "X509", 0, 0, 0, ""}, + { "XOR", 0, 0, 0, ""}, + { "YEAR_MONTH", 0, 0, 0, ""}, + { "ZEROFILL", 0, 0, 0, ""}, + /* Lower case versions of keywords */ + { "add", 0, 0, 0, ""}, + { "all", 0, 0, 0, ""}, + { "alter", 0, 0, 0, ""}, + { "analyze", 0, 0, 0, ""}, + { "and", 0, 0, 0, ""}, + { "as", 0, 0, 0, ""}, + { "asc", 0, 0, 0, ""}, + { "asensitive", 0, 0, 0, ""}, + { "before", 0, 0, 0, ""}, + { "between", 0, 0, 0, ""}, + { "bigint", 0, 0, 0, ""}, + { "binary", 0, 0, 0, ""}, + { "blob", 0, 0, 0, ""}, + { "both", 0, 0, 0, ""}, + { "by", 0, 0, 0, ""}, + { "call", 0, 0, 0, ""}, + { "cascade", 0, 0, 0, ""}, + { "case", 0, 0, 0, ""}, + { "change", 0, 0, 0, ""}, + { "char", 0, 0, 0, ""}, + { "character", 0, 0, 0, ""}, + { "check", 0, 0, 0, ""}, + { "collate", 0, 0, 0, ""}, + { "column", 0, 0, 0, ""}, + { "condition", 0, 0, 0, ""}, + { "connection", 0, 0, 0, ""}, + { "constraint", 0, 0, 0, ""}, + { "continue", 0, 0, 0, ""}, + { "convert", 0, 0, 0, ""}, + { "create", 0, 0, 0, ""}, + { "cross", 0, 0, 0, ""}, + { "current_date", 0, 0, 0, ""}, + { "current_time", 0, 0, 0, ""}, + { "current_timestamp", 0, 0, 0, ""}, + { "current_user", 0, 0, 0, ""}, + { "cursor", 0, 0, 0, ""}, + { "database", 0, 0, 0, ""}, + { "databases", 0, 0, 0, ""}, + { "day_hour", 0, 0, 0, ""}, + { "day_microsecond", 0, 0, 0, ""}, + { "day_minute", 0, 0, 0, ""}, + { "day_second", 0, 0, 0, ""}, + { "dec", 0, 0, 0, ""}, + { "decimal", 0, 0, 0, ""}, + { "declare", 0, 0, 0, ""}, + { "default", 0, 0, 0, ""}, + { "delayed", 0, 0, 0, ""}, + { "delete", 0, 0, 0, ""}, + { "desc", 0, 0, 0, ""}, + { "describe", 0, 0, 0, ""}, + { "deterministic", 0, 0, 0, ""}, + { "distinct", 0, 0, 0, ""}, + { "distinctrow", 0, 0, 0, ""}, + { "div", 0, 0, 0, ""}, + { "double", 0, 0, 0, ""}, { "drop", 0, 0, 0, ""}, - { "select", 0, 0, 0, ""}, + { "dual", 0, 0, 0, ""}, + { "each", 0, 0, 0, ""}, + { "else", 0, 0, 0, ""}, + { "elseif", 0, 0, 0, ""}, + { "enclosed", 0, 0, 0, ""}, + { "escaped", 0, 0, 0, ""}, + { "exists", 0, 0, 0, ""}, + { "exit", 0, 0, 0, ""}, + { "explain", 0, 0, 0, ""}, + { "false", 0, 0, 0, ""}, + { "fetch", 0, 0, 0, ""}, + { "float", 0, 0, 0, ""}, + { "float4", 0, 0, 0, ""}, + { "float8", 0, 0, 0, ""}, + { "for", 0, 0, 0, ""}, + { "force", 0, 0, 0, ""}, + { "foreign", 0, 0, 0, ""}, + { "from", 0, 0, 0, ""}, + { "fulltext", 0, 0, 0, ""}, + { "grant", 0, 0, 0, ""}, + { "group", 0, 0, 0, ""}, + { "having", 0, 0, 0, ""}, + { "high_priority", 0, 0, 0, ""}, + { "hour_microsecond", 0, 0, 0, ""}, + { "hour_minute", 0, 0, 0, ""}, + { "hour_second", 0, 0, 0, ""}, + { "if", 0, 0, 0, ""}, + { "ignore", 0, 0, 0, ""}, + { "in", 0, 0, 0, ""}, + { "index", 0, 0, 0, ""}, + { "infile", 0, 0, 0, ""}, + { "inner", 0, 0, 0, ""}, + { "inout", 0, 0, 0, ""}, + { "insensitive", 0, 0, 0, ""}, { "insert", 0, 0, 0, ""}, + { "int", 0, 0, 0, ""}, + { "int1", 0, 0, 0, ""}, + { "int2", 0, 0, 0, ""}, + { "int3", 0, 0, 0, ""}, + { "int4", 0, 0, 0, ""}, + { "int8", 0, 0, 0, ""}, + { "integer", 0, 0, 0, ""}, + { "interval", 0, 0, 0, ""}, + { "into", 0, 0, 0, ""}, + { "is", 0, 0, 0, ""}, + { "iterate", 0, 0, 0, ""}, + { "join", 0, 0, 0, ""}, + { "key", 0, 0, 0, ""}, + { "keys", 0, 0, 0, ""}, + { "kill", 0, 0, 0, ""}, + { "leading", 0, 0, 0, ""}, + { "leave", 0, 0, 0, ""}, + { "left", 0, 0, 0, ""}, + { "like", 0, 0, 0, ""}, + { "limit", 0, 0, 0, ""}, + { "lines", 0, 0, 0, ""}, + { "load", 0, 0, 0, ""}, + { "localtime", 0, 0, 0, ""}, + { "localtimestamp", 0, 0, 0, ""}, + { "lock", 0, 0, 0, ""}, + { "long", 0, 0, 0, ""}, + { "longblob", 0, 0, 0, ""}, + { "longtext", 0, 0, 0, ""}, + { "loop", 0, 0, 0, ""}, + { "low_priority", 0, 0, 0, ""}, + { "match", 0, 0, 0, ""}, + { "mediumblob", 0, 0, 0, ""}, + { "mediumint", 0, 0, 0, ""}, + { "mediumtext", 0, 0, 0, ""}, + { "middleint", 0, 0, 0, ""}, + { "minute_microsecond", 0, 0, 0, ""}, + { "minute_second", 0, 0, 0, ""}, + { "mod", 0, 0, 0, ""}, + { "modifies", 0, 0, 0, ""}, + { "natural", 0, 0, 0, ""}, + { "not", 0, 0, 0, ""}, + { "no_write_to_binlog", 0, 0, 0, ""}, + { "null", 0, 0, 0, ""}, + { "numeric", 0, 0, 0, ""}, + { "on", 0, 0, 0, ""}, + { "optimize", 0, 0, 0, ""}, + { "option", 0, 0, 0, ""}, + { "optionally", 0, 0, 0, ""}, + { "or", 0, 0, 0, ""}, + { "order", 0, 0, 0, ""}, + { "out", 0, 0, 0, ""}, + { "outer", 0, 0, 0, ""}, + { "outfile", 0, 0, 0, ""}, + { "precision", 0, 0, 0, ""}, + { "primary", 0, 0, 0, ""}, + { "procedure", 0, 0, 0, ""}, + { "purge", 0, 0, 0, ""}, + { "raid0", 0, 0, 0, ""}, + { "read", 0, 0, 0, ""}, + { "reads", 0, 0, 0, ""}, + { "real", 0, 0, 0, ""}, + { "references", 0, 0, 0, ""}, + { "regexp", 0, 0, 0, ""}, + { "release", 0, 0, 0, ""}, + { "rename", 0, 0, 0, ""}, + { "repeat", 0, 0, 0, ""}, { "replace", 0, 0, 0, ""}, + { "require", 0, 0, 0, ""}, + { "restrict", 0, 0, 0, ""}, + { "return", 0, 0, 0, ""}, + { "revoke", 0, 0, 0, ""}, + { "right", 0, 0, 0, ""}, + { "rlike", 0, 0, 0, ""}, + { "schema", 0, 0, 0, ""}, + { "schemas", 0, 0, 0, ""}, + { "second_microsecond", 0, 0, 0, ""}, + { "select", 0, 0, 0, ""}, + { "sensitive", 0, 0, 0, ""}, + { "separator", 0, 0, 0, ""}, + { "set", 0, 0, 0, ""}, + { "show", 0, 0, 0, ""}, + { "smallint", 0, 0, 0, ""}, + { "soname", 0, 0, 0, ""}, + { "spatial", 0, 0, 0, ""}, + { "specific", 0, 0, 0, ""}, + { "sql", 0, 0, 0, ""}, + { "sqlexception", 0, 0, 0, ""}, + { "sqlstate", 0, 0, 0, ""}, + { "sqlwarning", 0, 0, 0, ""}, + { "sql_big_result", 0, 0, 0, ""}, + { "sql_calc_found_rows", 0, 0, 0, ""}, + { "sql_small_result", 0, 0, 0, ""}, + { "ssl", 0, 0, 0, ""}, + { "starting", 0, 0, 0, ""}, + { "straight_join", 0, 0, 0, ""}, + { "table", 0, 0, 0, ""}, + { "terminated", 0, 0, 0, ""}, + { "then", 0, 0, 0, ""}, + { "tinyblob", 0, 0, 0, ""}, + { "tinyint", 0, 0, 0, ""}, + { "tinytext", 0, 0, 0, ""}, + { "to", 0, 0, 0, ""}, + { "trailing", 0, 0, 0, ""}, + { "trigger", 0, 0, 0, ""}, + { "true", 0, 0, 0, ""}, + { "undo", 0, 0, 0, ""}, + { "union", 0, 0, 0, ""}, + { "unique", 0, 0, 0, ""}, + { "unlock", 0, 0, 0, ""}, + { "unsigned", 0, 0, 0, ""}, { "update", 0, 0, 0, ""}, - { "delete", 0, 0, 0, ""}, - { "explain", 0, 0, 0, ""}, - { "show databases", 0, 0, 0, ""}, - { "show fields from", 0, 0, 0, ""}, - { "show keys from", 0, 0, 0, ""}, - { "show tables", 0, 0, 0, ""}, - { "load data from", 0, 0, 0, ""}, - { "alter table", 0, 0, 0, ""}, - { "set option", 0, 0, 0, ""}, - { "lock tables", 0, 0, 0, ""}, - { "unlock tables", 0, 0, 0, ""}, + { "usage", 0, 0, 0, ""}, + { "use", 0, 0, 0, ""}, + { "using", 0, 0, 0, ""}, + { "utc_date", 0, 0, 0, ""}, + { "utc_time", 0, 0, 0, ""}, + { "utc_timestamp", 0, 0, 0, ""}, + { "values", 0, 0, 0, ""}, + { "varbinary", 0, 0, 0, ""}, + { "varchar", 0, 0, 0, ""}, + { "varcharacter", 0, 0, 0, ""}, + { "varying", 0, 0, 0, ""}, + { "when", 0, 0, 0, ""}, + { "where", 0, 0, 0, ""}, + { "while", 0, 0, 0, ""}, + { "with", 0, 0, 0, ""}, + { "write", 0, 0, 0, ""}, + { "x509", 0, 0, 0, ""}, + { "xor", 0, 0, 0, ""}, + { "year_month", 0, 0, 0, ""}, + { "zerofill", 0, 0, 0, ""}, { (char *)NULL, 0, 0, 0, ""} }; @@ -1576,11 +2003,6 @@ if (status.batch || quick || !current_db) DBUG_VOID_RETURN; // We don't need completion in batches - /* hash SQL commands */ - while (cmd->name) { - add_word(&ht,(char*) cmd->name); - cmd++; - } if (!rehash) DBUG_VOID_RETURN; @@ -1589,6 +2011,12 @@ field_names=0; completion_hash_clean(&ht); free_root(&hash_mem_root,MYF(0)); + + /* hash SQL commands */ + while (cmd->name) { + add_word(&ht,(char*) cmd->name); + cmd++; + } /* hash MySQL functions (to be implemented) */