| 31 | |
| 32 | |
| 33 | class SQLCompleter(Completer): |
| 34 | favorite_keywords = [ |
| 35 | 'SELECT', |
| 36 | 'FROM', |
| 37 | 'WHERE', |
| 38 | 'UPDATE', |
| 39 | 'DELETE FROM', |
| 40 | 'GROUP BY', |
| 41 | 'ORDER BY', |
| 42 | 'JOIN', |
| 43 | 'LEFT JOIN', |
| 44 | 'INSERT INTO', |
| 45 | 'LIKE', |
| 46 | 'LIMIT', |
| 47 | 'WITH', |
| 48 | 'EXPLAIN', |
| 49 | ] |
| 50 | keywords_raw = [ |
| 51 | x.upper() |
| 52 | for x in favorite_keywords |
| 53 | + list(MYSQL_DATATYPES) |
| 54 | + list(MYSQL_KEYWORDS) |
| 55 | + ['ALTER TABLE', 'CHANGE MASTER TO', 'CHARACTER SET', 'FOREIGN KEY'] |
| 56 | ] |
| 57 | keywords_d = dict.fromkeys(keywords_raw) |
| 58 | for x in SPECIAL_COMMANDS: |
| 59 | if x.upper() in keywords_d: |
| 60 | del keywords_d[x.upper()] |
| 61 | keywords = list(keywords_d) |
| 62 | |
| 63 | tidb_keywords = [ |
| 64 | "SELECT", |
| 65 | "FROM", |
| 66 | "WHERE", |
| 67 | "DELETE FROM", |
| 68 | "UPDATE", |
| 69 | "GROUP BY", |
| 70 | "JOIN", |
| 71 | "INSERT INTO", |
| 72 | "LIKE", |
| 73 | "LIMIT", |
| 74 | "ACCOUNT", |
| 75 | "ACTION", |
| 76 | "ADD", |
| 77 | "ADDDATE", |
| 78 | "ADMIN", |
| 79 | "ADVISE", |
| 80 | "AFTER", |
| 81 | "AGAINST", |
| 82 | "AGO", |
| 83 | "ALGORITHM", |
| 84 | "ALL", |
| 85 | "ALTER", |
| 86 | "ALWAYS", |
| 87 | "ANALYZE", |
| 88 | "AND", |
| 89 | "ANY", |
| 90 | "APPROX_COUNT_DISTINCT", |
no outgoing calls