Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
218 changes: 218 additions & 0 deletions QueryBaseline.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3796,3 +3796,221 @@



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (o.""OrderDate"" + MAKE_INTERVAL(secs => 1)) AS ""OrderDate""
FROM ""Orders"" AS o
WHERE o.""OrderDate"" IS NOT NULL");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (o.""OrderDate"" + MAKE_INTERVAL(years => 1)) AS ""OrderDate""
FROM ""Orders"" AS o
WHERE o.""OrderDate"" IS NOT NULL");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (o.""OrderDate"" + MAKE_INTERVAL(mins => 1)) AS ""OrderDate""
FROM ""Orders"" AS o
WHERE o.""OrderDate"" IS NOT NULL");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"@__years_0='2'

SELECT (o.""OrderDate"" + MAKE_INTERVAL(years => @__years_0)) AS ""OrderDate""
FROM ""Orders"" AS o
WHERE o.""OrderDate"" IS NOT NULL");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (o.""OrderDate"" + MAKE_INTERVAL(months => 1)) AS ""OrderDate""
FROM ""Orders"" AS o
WHERE o.""OrderDate"" IS NOT NULL");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (o.""OrderDate"" + MAKE_INTERVAL(hours => 1)) AS ""OrderDate""
FROM ""Orders"" AS o
WHERE o.""OrderDate"" IS NOT NULL");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('a & b') && to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('a & b') || to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsvector('a') @@ 'b')
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsvector('a') @@ to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('b') <@ to_tsquery('a & b'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('a & b') @> to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsvector('b') || to_tsvector('c'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('a & b') && to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('a & b') || to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsvector('a') @@ 'b')
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsvector('a') @@ to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('b') <@ to_tsquery('a & b'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsquery('a & b') @> to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");



System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) :
AssertSql(
@"SELECT (to_tsvector('b') || to_tsvector('c'))
FROM ""Customers"" AS c
LIMIT 1");



Npgsql.EntityFrameworkCore.PostgreSQL.Query.FullTextSearchDbFunctionsNpgsqlTest.TsQueryAnd() :
AssertSql(
@"SELECT (to_tsquery('a & b') && to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");



Npgsql.EntityFrameworkCore.PostgreSQL.Query.FullTextSearchDbFunctionsNpgsqlTest.TsQueryOr() :
AssertSql(
@"SELECT (to_tsquery('a & b') || to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");



Npgsql.EntityFrameworkCore.PostgreSQL.Query.FullTextSearchDbFunctionsNpgsqlTest.Matches_With_String() :
AssertSql(
@"SELECT (to_tsvector('a') @@ 'b')
FROM ""Customers"" AS c
LIMIT 1");



Npgsql.EntityFrameworkCore.PostgreSQL.Query.FullTextSearchDbFunctionsNpgsqlTest.Matches_With_Tsquery() :
AssertSql(
@"SELECT (to_tsvector('a') @@ to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");



Npgsql.EntityFrameworkCore.PostgreSQL.Query.FullTextSearchDbFunctionsNpgsqlTest.TsQueryIsContainedIn() :
AssertSql(
@"SELECT (to_tsquery('b') <@ to_tsquery('a & b'))
FROM ""Customers"" AS c
LIMIT 1");



Npgsql.EntityFrameworkCore.PostgreSQL.Query.FullTextSearchDbFunctionsNpgsqlTest.TsQueryContains() :
AssertSql(
@"SELECT (to_tsquery('a & b') @> to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");



Npgsql.EntityFrameworkCore.PostgreSQL.Query.FullTextSearchDbFunctionsNpgsqlTest.TsVectorConcat() :
AssertSql(
@"SELECT (to_tsvector('b') || to_tsvector('c'))
FROM ""Customers"" AS c
LIMIT 1");



6 changes: 4 additions & 2 deletions src/EFCore.PG/Query/Sql/Internal/NpgsqlQuerySqlGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -322,11 +322,13 @@ public virtual Expression VisitCustomBinary(CustomBinaryExpression expression)
{
Check.NotNull(expression, nameof(expression));

Sql.Append('(');
Visit(expression.Left);
Sql.Append(" ");
Sql.Append(' ');
Sql.Append(expression.Operator);
Sql.Append(" ");
Sql.Append(' ');
Visit(expression.Right);
Sql.Append(')');

return expression;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ public void TsQueryAnd()
}

AssertSql(
@"SELECT to_tsquery('a & b') && to_tsquery('c & d')
@"SELECT (to_tsquery('a & b') && to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");
}
Expand All @@ -225,7 +225,7 @@ public void TsQueryOr()
}

AssertSql(
@"SELECT to_tsquery('a & b') || to_tsquery('c & d')
@"SELECT (to_tsquery('a & b') || to_tsquery('c & d'))
FROM ""Customers"" AS c
LIMIT 1");
}
Expand Down Expand Up @@ -259,7 +259,7 @@ public void TsQueryContains()
}

AssertSql(
@"SELECT to_tsquery('a & b') @> to_tsquery('b')
@"SELECT (to_tsquery('a & b') @> to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");
}
Expand All @@ -276,7 +276,7 @@ public void TsQueryIsContainedIn()
}

AssertSql(
@"SELECT to_tsquery('b') <@ to_tsquery('a & b')
@"SELECT (to_tsquery('b') <@ to_tsquery('a & b'))
FROM ""Customers"" AS c
LIMIT 1");
}
Expand Down Expand Up @@ -436,7 +436,7 @@ public void Matches_With_String()
}

AssertSql(
@"SELECT to_tsvector('a') @@ 'b'
@"SELECT (to_tsvector('a') @@ 'b')
FROM ""Customers"" AS c
LIMIT 1");
}
Expand All @@ -453,7 +453,7 @@ public void Matches_With_Tsquery()
}

AssertSql(
@"SELECT to_tsvector('a') @@ to_tsquery('b')
@"SELECT (to_tsvector('a') @@ to_tsquery('b'))
FROM ""Customers"" AS c
LIMIT 1");
}
Expand All @@ -470,7 +470,7 @@ public void TsVectorConcat()
}

AssertSql(
@"SELECT to_tsvector('b') || to_tsvector('c')
@"SELECT (to_tsvector('b') || to_tsvector('c'))
FROM ""Customers"" AS c
LIMIT 1");
}
Expand Down
Loading