Skip to content

Commit 4eb653c

Browse files
author
oleksandr.volha
committed
Merge remote-tracking branch 'origin' into gis-8193
2 parents 3e345e3 + d9b83b2 commit 4eb653c

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed
Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
from app.translator.core.custom_types.values import ValueType
2+
13
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
66
TABLE_PATTERN = r"\s+FROM\s+[a-zA-Z.\-*]+"
77
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]+)"'

uncoder-core/app/translator/platforms/base/aql/tokenizer.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,13 @@
2929
from app.translator.core.models.query_tokens.keyword import Keyword
3030
from app.translator.core.str_value_manager import StrValue
3131
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+
)
3339
from app.translator.platforms.base.aql.functions.const import AQLFunctionGroupType
3440
from app.translator.platforms.base.aql.str_value_manager import aql_str_value_manager
3541
from app.translator.tools.utils import get_match_group
@@ -51,7 +57,7 @@ class AQLTokenizer(QueryTokenizer):
5157
multi_value_operators_map: ClassVar[dict[str, str]] = {"in": OperatorType.EQ}
5258

5359
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})\)"
5561
bool_value_pattern = rf"(?P<{ValueType.bool_value}>true|false)\s*"
5662
_value_pattern = rf"{NUM_VALUE_PATTERN}|{bool_value_pattern}|{SINGLE_QUOTES_VALUE_PATTERN}"
5763
multi_value_pattern = rf"""\((?P<{ValueType.multi_value}>[:a-zA-Z\"\*0-9=+%#\-_\/\\'\,.&^@!\(\s]*)\)"""

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy