From 113e3d2b1f5747d5f67535978df91f868496f67c Mon Sep 17 00:00:00 2001 From: Yaraslau Tamashevich Date: Fri, 26 Jun 2026 16:57:21 +0200 Subject: [PATCH] [SqlQuery] Remove unused WhereColumn() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WhereColumn(left, op, right) emitted a column-to-column comparison from two unqualified column names. Per issue #494 it is unused and unneeded — the same column-vs-column comparison is expressible via the existing Where(col, op, col) overload (e.g. with SqlQualifiedTableColumnName operands). - Remove the declaration and out-of-line definition from SqlWhereClauseBuilder in SqlQuery/Core.hpp. - Remove the obsolete "SqlQueryBuilder.WhereColumn" test case. Closes #494 Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Lightweight/SqlQuery/Core.hpp | 22 ---------------------- src/tests/QueryBuilderTests.cpp | 10 ---------- 2 files changed, 32 deletions(-) diff --git a/src/Lightweight/SqlQuery/Core.hpp b/src/Lightweight/SqlQuery/Core.hpp index e56259342..325f89798 100644 --- a/src/Lightweight/SqlQuery/Core.hpp +++ b/src/Lightweight/SqlQuery/Core.hpp @@ -306,10 +306,6 @@ class [[nodiscard]] SqlWhereClauseBuilder template [[nodiscard]] Derived& WhereFalse(ColumnName const& columnName); - /// Construts or extends a WHERE clause to test for a binary operation between two columns. - template - [[nodiscard]] Derived& WhereColumn(LeftColumn const& left, std::string_view binaryOp, RightColumn const& right); - /// Constructs an INNER JOIN clause. /// /// @param joinTable The table's name to join with. This can be a string, a string_view, or an AliasedTableName. @@ -758,24 +754,6 @@ inline LIGHTWEIGHT_FORCE_INLINE Derived& SqlWhereClauseBuilder::WhereFa return Where(columnName, "=", false); } -/// Constructs or extends a WHERE clause to compare two columns. -template -template -inline LIGHTWEIGHT_FORCE_INLINE Derived& SqlWhereClauseBuilder::WhereColumn(LeftColumn const& left, - std::string_view binaryOp, - RightColumn const& right) -{ - AppendWhereJunctor(); - - AppendColumnName(left); - SearchCondition().condition += ' '; - SearchCondition().condition += binaryOp; - SearchCondition().condition += ' '; - AppendColumnName(right); - - return static_cast(*this); -} - template struct WhereConditionLiteralType { diff --git a/src/tests/QueryBuilderTests.cpp b/src/tests/QueryBuilderTests.cpp index b8fcc3705..7e6eeaa1b 100644 --- a/src/tests/QueryBuilderTests.cpp +++ b/src/tests/QueryBuilderTests.cpp @@ -933,16 +933,6 @@ TEST_CASE_METHOD(SqlTestFixture, "SqlQueryBuilder.Where.Lambda", "[SqlQueryBuild WHERE "a" = 1 OR ("b" = 2 AND "c" = 3))")); } -TEST_CASE_METHOD(SqlTestFixture, "SqlQueryBuilder.WhereColumn", "[SqlQueryBuilder]") -{ - CheckSqlQueryBuilder( - [](SqlQueryBuilder& q) { - return q.FromTable("That").Select().Field("foo").WhereColumn("left", "=", "right").All(); - }, - QueryExpectations::All(R"(SELECT "foo" FROM "That" - WHERE "left" = "right")")); -} - TEST_CASE_METHOD(SqlTestFixture, "Where: SqlQualifiedTableColumnName OP SqlQualifiedTableColumnName", "[SqlQueryBuilder]")