Repository navigation
Expand file tree
/
Copy pathdrill.py
More file actions
63 lines (54 loc) · 1.41 KB
/
Copy pathdrill.py
File metadata and controls
63 lines (54 loc) · 1.41 KB
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
from __future__ import annotations
from sqlglot import tokens
from sqlglot.dialects.dialect import Dialect
from sqlglot.generators.drill import DrillGenerator
from sqlglot.parsers.drill import DrillParser
class Drill(Dialect):
NORMALIZE_FUNCTIONS: bool | str = False
ORIGINAL_NAME_META_KEY = "drill_name"
NULL_ORDERING = "nulls_are_last"
DATE_FORMAT = "'yyyy-MM-dd'"
DATEINT_FORMAT = "'yyyyMMdd'"
TIME_FORMAT = "'yyyy-MM-dd HH:mm:ss'"
SUPPORTS_USER_DEFINED_TYPES = False
TYPED_DIVISION = True
CONCAT_COALESCE = True
CONCAT_WS_COALESCE = True
TIME_MAPPING = {
"y": "%Y",
"Y": "%Y",
"YYYY": "%Y",
"yyyy": "%Y",
"YY": "%y",
"yy": "%y",
"MMMM": "%B",
"MMM": "%b",
"MM": "%m",
"M": "%-m",
"dd": "%d",
"d": "%-d",
"HH": "%H",
"H": "%-H",
"hh": "%I",
"h": "%-I",
"mm": "%M",
"m": "%-M",
"ss": "%S",
"s": "%-S",
"SSSSSS": "%f",
"a": "%p",
"DD": "%j",
"D": "%-j",
"E": "%a",
"EE": "%a",
"EEE": "%a",
"EEEE": "%A",
"''T''": "T",
}
class Tokenizer(tokens.Tokenizer):
IDENTIFIERS = ["`"]
STRING_ESCAPES = ["'"]
KEYWORDS = tokens.Tokenizer.KEYWORDS.copy()
KEYWORDS.pop("/*+")
Parser = DrillParser
Generator = DrillGenerator