Skip to content

Commit 64e9bc3

Browse files
author
Anton Mantulo
committed
fix: line wrapping
1 parent df96ea2 commit 64e9bc3

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

awswrangler/sqlserver.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -545,14 +545,19 @@ def to_sql(
545545
for placeholders, parameters in placeholder_parameter_pair_generator:
546546
sql: str = f"INSERT INTO {table_identifier} {insertion_columns} VALUES {placeholders}"
547547
if mode == "upsert":
548+
upsert_conflict_columns = [identifier(col, sql_mode="mssql") for col in upsert_conflict_columns]
548549
sql: str = (
549550
f"MERGE INTO {table_identifier}\nUSING (VALUES {placeholders}) AS source ({quoted_columns})\n"
550551
)
551-
sql += f"ON {"\n AND ".join(f"{table_identifier}.{identifier(col, sql_mode="mssql")}=source.{identifier(col, sql_mode="mssql")}" for col in upsert_conflict_columns)}\n"
552+
sql += f"ON {"\n AND ".join(f"{table_identifier}.{col}=source.{col}" for col in upsert_conflict_columns)}\n"
552553
sql += (
553-
f"WHEN MATCHED THEN\n UPDATE SET {", ".join(f"{col}=source.{col}" for col in column_names)}\n"
554+
f"WHEN MATCHED THEN\n UPDATE ",
555+
f"SET {", ".join(f"{col}=source.{col}" for col in column_names)}\n",
556+
)
557+
sql += (
558+
f"WHEN NOT MATCHED THEN\n INSERT ",
559+
f"({quoted_columns}) VALUES ({", ".join([f"source.{col}" for col in column_names])});",
554560
)
555-
sql += f"WHEN NOT MATCHED THEN\n INSERT ({quoted_columns}) VALUES ({", ".join([f"source.{col}" for col in column_names])});"
556561
_logger.debug("sql: %s", sql)
557562
cursor.executemany(sql, (parameters,))
558563
con.commit()

0 commit comments

Comments
 (0)