From 12563fa0d269f9d78522666fb7e1a6585cb33bfd Mon Sep 17 00:00:00 2001 From: Chris Patterson Date: Wed, 1 May 2024 08:18:12 -0500 Subject: [PATCH] Added xmin to PostgresLockStatementFormatter.cs queries to allow for EF-style optimistic concurrency checking. --- .../PostgresLockStatementFormatter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Persistence/MassTransit.EntityFrameworkCoreIntegration/EntityFrameworkCoreIntegration/PostgresLockStatementFormatter.cs b/src/Persistence/MassTransit.EntityFrameworkCoreIntegration/EntityFrameworkCoreIntegration/PostgresLockStatementFormatter.cs index 964f0126f93..b08a3c12c6c 100644 --- a/src/Persistence/MassTransit.EntityFrameworkCoreIntegration/EntityFrameworkCoreIntegration/PostgresLockStatementFormatter.cs +++ b/src/Persistence/MassTransit.EntityFrameworkCoreIntegration/EntityFrameworkCoreIntegration/PostgresLockStatementFormatter.cs @@ -8,7 +8,7 @@ public class PostgresLockStatementFormatter : { public void Create(StringBuilder sb, string schema, string table) { - sb.AppendFormat("SELECT * FROM {0} WHERE ", FormatTableName(schema, table)); + sb.AppendFormat("SELECT *, xmin FROM {0} WHERE ", FormatTableName(schema, table)); } public void AppendColumn(StringBuilder sb, int index, string columnName) @@ -26,7 +26,7 @@ public void Complete(StringBuilder sb) public void CreateOutboxStatement(StringBuilder sb, string schema, string table, string columnName) { - sb.AppendFormat(@"SELECT * FROM {0} ORDER BY ""{1}"" LIMIT 1 FOR UPDATE SKIP LOCKED", FormatTableName(schema, table), columnName); + sb.AppendFormat(@"SELECT *, xmin FROM {0} ORDER BY ""{1}"" LIMIT 1 FOR UPDATE SKIP LOCKED", FormatTableName(schema, table), columnName); } static string FormatTableName(string schema, string table)