/
keys.go
93 lines (89 loc) · 2.73 KB
/
keys.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package mysql
import "strings"
var mysqlKeyWords = []string{
"ADD", "ALL", "ALTER",
"ANALYZE", "AND", "AS",
"ASC", "ASENSITIVE", "BEFORE",
"BETWEEN", "BIGINT", "BINARY",
"BLOB", "BOTH", "BY",
"CALL", "CASCADE", "CASE",
"CHANGE", "CHAR", "CHARACTER",
"CHECK", "COLLATE", "COLUMN",
"CONDITION", "CONNECTION", "CONSTRAINT",
"CONTINUE", "CONVERT", "CREATE",
"CROSS", "CURRENT_DATE", "CURRENT_TIME",
"CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR",
"DATABASE", "DATABASES", "DAY_HOUR",
"DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND",
"DEC", "DECIMAL", "DECLARE",
"DEFAULT", "DELAYED", "DELETE",
"DESC", "DESCRIBE", "DETERMINISTIC",
"DISTINCT", "DISTINCTROW", "DIV",
"DOUBLE", "DROP", "DUAL",
"EACH", "ELSE", "ELSEIF",
"ENCLOSED", "ESCAPED", "EXISTS",
"EXIT", "EXPLAIN", "FALSE",
"FETCH", "FLOAT", "FLOAT4",
"FLOAT8", "FOR", "FORCE",
"FOREIGN", "FROM", "FULLTEXT",
"GOTO", "GRANT", "GROUP",
"HAVING", "HIGH_PRIORITY", "HOUR_MICROSECOND",
"HOUR_MINUTE", "HOUR_SECOND", "IF",
"IGNORE", "IN", "INDEX",
"INFILE", "INNER", "INOUT",
"INSENSITIVE", "INSERT", "INT",
"INT1", "INT2", "INT3",
"INT4", "INT8", "INTEGER",
"INTERVAL", "INTO", "IS",
"ITERATE", "JOIN", "KEY",
"KEYS", "KILL", "LABEL",
"LEADING", "LEAVE", "LEFT",
"LIKE", "LIMIT", "LINEAR",
"LINES", "LOAD", "LOCALTIME",
"LOCALTIMESTAMP", "LOCK", "LONG",
"LONGBLOB", "LONGTEXT", "LOOP",
"LOW_PRIORITY", "MATCH", "MEDIUMBLOB",
"MEDIUMINT", "MEDIUMTEXT", "MIDDLEINT",
"MINUTE_MICROSECOND", "MINUTE_SECOND", "MOD",
"MODIFIES", "NATURAL", "NOT",
"NO_WRITE_TO_BINLOG", "NULL", "NUMERIC",
"ON", "OPTIMIZE", "OPTION",
"OPTIONALLY", "OR", "ORDER",
"OUT", "OUTER", "OUTFILE",
"PRECISION", "PRIMARY", "PROCEDURE",
"PURGE", "RAID0", "RANGE",
"READ", "READS", "REAL",
"REFERENCES", "REGEXP", "RELEASE",
"RENAME", "REPEAT", "REPLACE",
"REQUIRE", "RESTRICT", "RETURN",
"REVOKE", "RIGHT", "RLIKE",
"SCHEMA", "SCHEMAS", "SECOND_MICROSECOND",
"SELECT", "SENSITIVE", "SEPARATOR",
"SET", "SHOW", "SMALLINT",
"SPATIAL", "SPECIFIC", "SQL",
"SQLEXCEPTION", "SQLSTATE", "SQLWARNING",
"SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT",
"SSL", "STARTING", "STRAIGHT_JOIN",
"TABLE", "TERMINATED", "THEN",
"TINYBLOB", "TINYINT", "TINYTEXT",
"TO", "TRAILING", "TRIGGER",
"TRUE", "UNDO", "UNION",
"UNIQUE", "UNLOCK", "UNSIGNED",
"UPDATE", "USAGE", "USE",
"USING", "UTC_DATE", "UTC_TIME",
"UTC_TIMESTAMP", "VALUES", "VARBINARY",
"VARCHAR", "VARCHARACTER", "VARYING",
"WHEN", "WHERE", "WHILE",
"WITH", "WRITE", "X509",
"XOR", "YEAR_MONTH", "ZEROFILL",
"ACTION", "BIT", "DATE", "ENUM", "NO", "TEXT", "TIME", "TIMESTAMP",
}
// IsKeyWord check if a keyword
func IsKeyWord(str string) bool {
for _, val := range mysqlKeyWords {
if strings.ToUpper(str) == val {
return true
}
}
return false
}