Skip to content

Commit 26159a3

Browse files
committed
PR feedback
1 parent d026949 commit 26159a3

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

sqlglot/parser.py

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from collections import defaultdict
88

99
from sqlglot import exp
10-
from sqlglot.errors import ErrorLevel, ParseError, concat_messages, merge_errors
10+
from sqlglot.errors import ErrorLevel, ParseError, TokenError, concat_messages, merge_errors
1111
from sqlglot.helper import apply_index_offset, ensure_list, seq_get
1212
from sqlglot.time import format_time
1313
from sqlglot.tokens import Token, Tokenizer, TokenType
@@ -5298,35 +5298,29 @@ def _parse_types(
52985298
this: t.Optional[exp.Expression] = None
52995299
prefix = self._match_text_seq("SYSUDTLIB", ".")
53005300

5301-
if not self._match_set(self.TYPE_TOKENS):
5301+
if self._match_set(self.TYPE_TOKENS):
5302+
type_token = self._prev.token_type
5303+
else:
5304+
type_token = None
53025305
identifier = allow_identifiers and self._parse_id_var(
53035306
any_token=False, tokens=(TokenType.VAR,)
53045307
)
53055308
if isinstance(identifier, exp.Identifier):
5306-
tokens = self.dialect.tokenize(identifier.name)
5309+
try:
5310+
tokens = self.dialect.tokenize(identifier.name)
5311+
except TokenError:
5312+
tokens = None
53075313

5308-
if len(tokens) != 1:
5309-
self.raise_error("Unexpected identifier", self._prev)
5310-
5311-
if tokens[0].token_type in self.TYPE_TOKENS:
5314+
if tokens and len(tokens) == 1 and tokens[0].token_type in self.TYPE_TOKENS:
53125315
type_token = tokens[0].token_type
53135316
else:
5314-
# retain quotes
5315-
tokens = self.dialect.tokenize(identifier.sql(dialect=self.dialect))
5316-
5317-
if len(tokens) != 1:
5318-
self.raise_error("Unexpected identifier", self._prev)
5319-
53205317
if self.dialect.SUPPORTS_USER_DEFINED_TYPES:
5321-
type_token = None
53225318
this = self._parse_user_defined_type(identifier)
53235319
else:
53245320
self._retreat(self._index - 1)
53255321
return None
53265322
else:
53275323
return None
5328-
else:
5329-
type_token = self._prev.token_type
53305324

53315325
if type_token == TokenType.PSEUDO_TYPE:
53325326
return self.expression(exp.PseudoType, this=self._prev.text.upper())

0 commit comments

Comments
 (0)