From 1393ff53aa721d6b4b5b3c6305dd538c741cf168 Mon Sep 17 00:00:00 2001 From: Roman Artiukhin Date: Thu, 29 Jun 2023 12:18:38 +0300 Subject: [PATCH 1/2] Test case --- src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs b/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs index 361b2b1525e..3275ed54041 100644 --- a/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs +++ b/src/NHibernate.Test/SqlCommandTest/SqlStringFixture.cs @@ -263,8 +263,8 @@ public void TrimAllParam() Parameter p2 = Parameter.Placeholder; SqlString sql = new SqlString(new object[] { p1, p2 }); - sql = sql.Trim(); + Assert.That(ReferenceEquals(sql, sql.Trim()), Is.True); Assert.AreEqual("??", sql.ToString()); } From 6b725d89f1b73120d539ee4c09f168b6db7d5c9d Mon Sep 17 00:00:00 2001 From: Roman Artiukhin Date: Thu, 29 Jun 2023 12:20:18 +0300 Subject: [PATCH 2/2] Fix --- src/NHibernate/SqlCommand/SqlString.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/NHibernate/SqlCommand/SqlString.cs b/src/NHibernate/SqlCommand/SqlString.cs index 311f8a06ef0..b9576d0aa76 100644 --- a/src/NHibernate/SqlCommand/SqlString.cs +++ b/src/NHibernate/SqlCommand/SqlString.cs @@ -702,6 +702,10 @@ public SqlString Trim() if (_firstPartIndex < 0) return this; GetTrimmedIndexes(out var sqlStartIndex, out var length); + + if (_sqlStartIndex == sqlStartIndex && _length == length) + return this; + return length > 0 ? new SqlString(this, sqlStartIndex, length) : Empty;