File tree Expand file tree Collapse file tree 2 files changed +15
-6
lines changed
uncoder-core/app/translator/platforms/base/aql Expand file tree Collapse file tree 2 files changed +15
-6
lines changed Original file line number Diff line number Diff line change
1
+ from app .translator .core .custom_types .values import ValueType
2
+
1
3
UTF8_PAYLOAD_PATTERN = r"UTF8\(payload\)"
2
- NUM_VALUE_PATTERN = r"(?P<num_value>\d+(?:\.\d+)*)"
3
- SINGLE_QUOTES_VALUE_PATTERN = (
4
- r"""'(?P<s_q_value>(?:[:a-zA-Zа-яА-Я\*0-9=+%#\-\/\\|,;_<>`~".$&^@!?\(\)\{\}\[\]\s]|'')*)'""" # noqa: RUF001
5
- )
4
+ NUM_VALUE_PATTERN = rf"(?P<{ ValueType .number_value } >\d+(?:\.\d+)*)"
5
+ SINGLE_QUOTES_VALUE_PATTERN = rf"""'(?P<{ ValueType .single_quotes_value } >(?:[:a-zA-Zа-яА-Я\*0-9=+%#\-\/\\|,;_<>`~".$&^@!?\(\)\{{\}}\[\]\s]|'')*)'""" # noqa: E501,RUF001
6
6
TABLE_PATTERN = r"\s+FROM\s+[a-zA-Z.\-*]+"
7
7
TABLE_GROUP_PATTERN = r"\s+FROM\s+(?P<table>[a-zA-Z.\-*]+)"
8
+
9
+ FIELD_NAME_PATTERN = rf"(?P<{ ValueType .no_quotes_value } >[a-zA-Z0-9\._\-]+)"
10
+ DOUBLE_QUOTES_FIELD_NAME_PATTERN = rf'"(?P<{ ValueType .double_quotes_value } >[a-zA-Z0-9\._\-\s]+)"'
Original file line number Diff line number Diff line change 29
29
from app .translator .core .models .query_tokens .keyword import Keyword
30
30
from app .translator .core .str_value_manager import StrValue
31
31
from app .translator .core .tokenizer import QueryTokenizer
32
- from app .translator .platforms .base .aql .const import NUM_VALUE_PATTERN , SINGLE_QUOTES_VALUE_PATTERN , UTF8_PAYLOAD_PATTERN
32
+ from app .translator .platforms .base .aql .const import (
33
+ DOUBLE_QUOTES_FIELD_NAME_PATTERN ,
34
+ FIELD_NAME_PATTERN ,
35
+ NUM_VALUE_PATTERN ,
36
+ SINGLE_QUOTES_VALUE_PATTERN ,
37
+ UTF8_PAYLOAD_PATTERN ,
38
+ )
33
39
from app .translator .platforms .base .aql .functions .const import AQLFunctionGroupType
34
40
from app .translator .platforms .base .aql .str_value_manager import aql_str_value_manager
35
41
from app .translator .tools .utils import get_match_group
@@ -51,7 +57,7 @@ class AQLTokenizer(QueryTokenizer):
51
57
multi_value_operators_map : ClassVar [dict [str , str ]] = {"in" : OperatorType .EQ }
52
58
53
59
field_pattern = r'(?P<field_name>"[a-zA-Z\._\-\s]+"|[a-zA-Z\._\-]+)'
54
- function_pattern = r' (?P<func_name>[a-zA-Z_]+)\((?:(?:[a-zA-Z\._\-\s]+)|(?:"[a-zA-Z\._\-]+"))\)'
60
+ function_pattern = rf" (?P<func_name>[a-zA-Z_]+)\((?:{ FIELD_NAME_PATTERN } | { DOUBLE_QUOTES_FIELD_NAME_PATTERN } )\)"
55
61
bool_value_pattern = rf"(?P<{ ValueType .bool_value } >true|false)\s*"
56
62
_value_pattern = rf"{ NUM_VALUE_PATTERN } |{ bool_value_pattern } |{ SINGLE_QUOTES_VALUE_PATTERN } "
57
63
multi_value_pattern = rf"""\((?P<{ ValueType .multi_value } >[:a-zA-Z\"\*0-9=+%#\-_\/\\'\,.&^@!\(\s]*)\)"""
You can’t perform that action at this time.
0 commit comments