Skip to content

Commit db5ce93

Browse files
author
kabulov kozim
committed
use backtick instead of underscore
1 parent b16bbb6 commit db5ce93

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

ydb_sqlalchemy/sqlalchemy/__init__.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ def do_commit(self, dbapi_connection: dbapi.Connection) -> None:
680680
dbapi_connection.commit()
681681

682682
def _handle_column_name(self, variable):
683-
return variable.replace("/", "__")
683+
return "`" + variable + "`"
684684

685685
def _format_variables(
686686
self,
@@ -698,12 +698,10 @@ def _format_variables(
698698
formatted_parameters = []
699699
for i in range(len(parameters_sequence)):
700700
variable_names.update(set(parameters_sequence[i].keys()))
701-
formatted_parameters.append(
702-
{f"${self._handle_column_name(k)}": v for k, v in parameters_sequence[i].items()}
703-
)
701+
formatted_parameters.append({f"${k}": v for k, v in parameters_sequence[i].items()})
704702
else:
705703
variable_names = set(parameters.keys())
706-
formatted_parameters = {f"${self._handle_column_name(k)}": v for k, v in parameters.items()}
704+
formatted_parameters = {f"${k}": v for k, v in parameters.items()}
707705

708706
formatted_variable_names = {
709707
variable_name: f"${self._handle_column_name(variable_name)}" for variable_name in variable_names
@@ -715,7 +713,10 @@ def _format_variables(
715713

716714
def _add_declare_for_yql_stmt_vars_impl(self, statement, parameters_types):
717715
declarations = "\n".join(
718-
[f"DECLARE {param_name} as {str(param_type)};" for param_name, param_type in parameters_types.items()]
716+
[
717+
f"DECLARE $`{param_name[1:]}` as {str(param_type)};"
718+
for param_name, param_type in parameters_types.items()
719+
]
719720
)
720721
return f"{declarations}\n{statement}"
721722

@@ -730,7 +731,7 @@ def _make_ydb_operation(
730731

731732
if not is_ddl and parameters:
732733
parameters_types = context.compiled.get_bind_types(parameters)
733-
parameters_types = {f"${self._handle_column_name(k)}": v for k, v in parameters_types.items()}
734+
parameters_types = {f"${k}": v for k, v in parameters_types.items()}
734735
statement, parameters = self._format_variables(statement, parameters, execute_many)
735736
if self._add_declare_for_yql_stmt_vars:
736737
statement = self._add_declare_for_yql_stmt_vars_impl(statement, parameters_types)

0 commit comments

Comments
 (0)