Skip to content

Commit 4a7e78c

Browse files
committed
Work around Postgres-only error
1 parent bc0e1a3 commit 4a7e78c

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

synapse/storage/databases/main/delayed_events.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -800,9 +800,7 @@ async def finalise_processed_delayed_event(
800800
event_id = None
801801
send_error = result_or_error
802802

803-
await self.db_pool.execute(
804-
"finalise_processed_delayed_event",
805-
"""
803+
sql = """
806804
WITH matching_delayed_events AS (
807805
SELECT * FROM delayed_events
808806
WHERE delay_id = ? AND user_localpart = ?
@@ -826,10 +824,16 @@ async def finalise_processed_delayed_event(
826824
?,
827825
?
828826
FROM matching_delayed_events
829-
""",
827+
"""
828+
# TODO: Find why this is needed. An error gets thrown othersie
829+
if isinstance(self.database_engine, PostgresEngine):
830+
sql += "RETURNING *"
831+
await self.db_pool.execute(
832+
"finalise_processed_delayed_event",
833+
sql,
830834
delay_id,
831835
user_localpart,
832-
json_encoder.encode(send_error) if send_error else None,
836+
json_encoder.encode(send_error) if send_error is not None else None,
833837
event_id,
834838
finalised_ts,
835839
)

0 commit comments

Comments
 (0)