summaryrefslogtreecommitdiffstats
path: root/sqlglot/tokens.py
diff options
context:
space:
mode:
Diffstat (limited to 'sqlglot/tokens.py')
-rw-r--r--sqlglot/tokens.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/sqlglot/tokens.py b/sqlglot/tokens.py
index 3ba8195..ce255c3 100644
--- a/sqlglot/tokens.py
+++ b/sqlglot/tokens.py
@@ -108,6 +108,8 @@ class TokenType(AutoName):
LONGTEXT = auto()
MEDIUMBLOB = auto()
LONGBLOB = auto()
+ TINYBLOB = auto()
+ TINYTEXT = auto()
BINARY = auto()
VARBINARY = auto()
JSON = auto()
@@ -675,6 +677,7 @@ class Tokenizer(metaclass=_Tokenizer):
"BOOL": TokenType.BOOLEAN,
"BOOLEAN": TokenType.BOOLEAN,
"BYTE": TokenType.TINYINT,
+ "MEDIUMINT": TokenType.MEDIUMINT,
"TINYINT": TokenType.TINYINT,
"SHORT": TokenType.SMALLINT,
"SMALLINT": TokenType.SMALLINT,
@@ -712,10 +715,16 @@ class Tokenizer(metaclass=_Tokenizer):
"STR": TokenType.TEXT,
"STRING": TokenType.TEXT,
"TEXT": TokenType.TEXT,
+ "LONGTEXT": TokenType.LONGTEXT,
+ "MEDIUMTEXT": TokenType.MEDIUMTEXT,
+ "TINYTEXT": TokenType.TINYTEXT,
"CLOB": TokenType.TEXT,
"LONGVARCHAR": TokenType.TEXT,
"BINARY": TokenType.BINARY,
"BLOB": TokenType.VARBINARY,
+ "LONGBLOB": TokenType.LONGBLOB,
+ "MEDIUMBLOB": TokenType.MEDIUMBLOB,
+ "TINYBLOB": TokenType.TINYBLOB,
"BYTEA": TokenType.VARBINARY,
"VARBINARY": TokenType.VARBINARY,
"TIME": TokenType.TIME,
@@ -1159,7 +1168,11 @@ class Tokenizer(metaclass=_Tokenizer):
escapes = self._STRING_ESCAPES if escapes is None else escapes
while True:
- if self._char in escapes and (self._peek == delimiter or self._peek in escapes):
+ if (
+ self._char in escapes
+ and (self._peek == delimiter or self._peek in escapes)
+ and (self._char not in self._QUOTES or self._char == self._peek)
+ ):
if self._peek == delimiter:
text += self._peek
else: