keywords are now generated via macro to avoid misspellings, dialects should lookup to these list of keywords to avoid mispellings

This commit is contained in:
Jovansonlee Cesar 2018-10-01 00:58:20 +08:00
parent d66e4848bd
commit 24153aee53
5 changed files with 822 additions and 464 deletions

View file

@ -1,91 +1,89 @@
use dialect::Dialect;
use dialect::keywords::*;
pub struct PostgreSqlDialect {}
impl Dialect for PostgreSqlDialect {
fn keywords(&self) -> Vec<&'static str> {
return vec![
"ALTER",
"ONLY",
"SELECT",
"FROM",
"WHERE",
"LIMIT",
"ORDER",
"GROUP",
"BY",
"HAVING",
"UNION",
"ALL",
"INSERT",
"INTO",
"UPDATE",
"DELETE",
"IN",
"IS",
"NULL",
"SET",
"CREATE",
"EXTERNAL",
"TABLE",
"ASC",
"DESC",
"AND",
"OR",
"NOT",
"AS",
"STORED",
"CSV",
"PARQUET",
"LOCATION",
"WITH",
"WITHOUT",
"HEADER",
"ROW",
ALTER,
ONLY,
SELECT,
FROM,
WHERE,
LIMIT,
ORDER,
GROUP,
BY,
HAVING,
UNION,
ALL,
INSERT,
INTO,
UPDATE,
DELETE,
IN,
IS,
NULL,
SET,
CREATE,
EXTERNAL,
TABLE,
ASC,
DESC,
AND,
OR,
NOT,
AS,
STORED,
CSV,
WITH,
WITHOUT,
ROW,
// SQL types
"CHAR",
"CHARACTER",
"VARYING",
"LARGE",
"OBJECT",
"VARCHAR",
"CLOB",
"BINARY",
"VARBINARY",
"BLOB",
"FLOAT",
"REAL",
"DOUBLE",
"PRECISION",
"INT",
"INTEGER",
"SMALLINT",
"BIGINT",
"NUMERIC",
"DECIMAL",
"DEC",
"BOOLEAN",
"DATE",
"TIME",
"TIMESTAMP",
"VALUES",
"DEFAULT",
"ZONE",
"REGCLASS",
"TEXT",
"BYTEA",
"TRUE",
"FALSE",
"COPY",
"STDIN",
"PRIMARY",
"KEY",
"UNIQUE",
"UUID",
"ADD",
"CONSTRAINT",
"FOREIGN",
"REFERENCES",
CHAR,
CHARACTER,
VARYING,
LARGE,
VARCHAR,
CLOB,
BINARY,
VARBINARY,
BLOB,
FLOAT,
REAL,
DOUBLE,
PRECISION,
INT,
INTEGER,
SMALLINT,
BIGINT,
NUMERIC,
DECIMAL,
DEC,
BOOLEAN,
DATE,
TIME,
TIMESTAMP,
VALUES,
DEFAULT,
ZONE,
REGCLASS,
TEXT,
BYTEA,
TRUE,
FALSE,
COPY,
STDIN,
PRIMARY,
KEY,
UNIQUE,
UUID,
ADD,
CONSTRAINT,
FOREIGN,
REFERENCES,
];
}