blob: 89aa935e3dee53a2048c574ab54e583184f50f82 (
plain)
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
|
from enum import auto
from sqlglot.helper import AutoName
class ErrorLevel(AutoName):
IGNORE = auto() # Ignore any parser errors
WARN = auto() # Log any parser errors with ERROR level
RAISE = auto() # Collect all parser errors and raise a single exception
IMMEDIATE = auto() # Immediately raise an exception on the first parser error
class SqlglotError(Exception):
pass
class UnsupportedError(SqlglotError):
pass
class ParseError(SqlglotError):
pass
class TokenError(SqlglotError):
pass
class OptimizeError(SqlglotError):
pass
def concat_errors(errors, maximum):
msg = [str(e) for e in errors[:maximum]]
remaining = len(errors) - maximum
if remaining > 0:
msg.append(f"... and {remaining} more")
return "\n\n".join(msg)
|