Skip to content

Commit 1b95b11

Browse files
committed
SupportsSubSelectsInOrderBy false
1 parent 6806974 commit 1b95b11

File tree

8 files changed

+28
-22
lines changed

8 files changed

+28
-22
lines changed

src/NHibernate.Test/Async/Criteria/Lambda/SubQueryIntegrationFixture.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ public async Task SubQueryAsync()
171171
[Test]
172172
public async Task ThreeLevelSubqueryAsync()
173173
{
174-
if (!Dialect.SupportsScalarSubSelects)
175-
Assert.Ignore("Dialect does not support scalar sub-select");
174+
if (!TestDialect.SupportsSubSelectsInOrderBy)
175+
Assert.Ignore("Dialect does not support order by sub-select");
176176

177177
Person p = null;
178178
var detachedCriteria2 = DetachedCriteria.For<Person>("vf_inner_2")

src/NHibernate.Test/Async/Linq/WhereSubqueryTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -524,10 +524,10 @@ public async Task OrdersWithSubquery9SumAsync()
524524
[Test(Description = "GH2479")]
525525
public async Task OrdersWithSubquery11Async()
526526
{
527-
if (Dialect is MySQLDialect)
528-
Assert.Ignore("MySQL does not support LIMIT in subqueries.");
529-
if (Dialect is MsSqlCeDialect)
530-
Assert.Ignore("MS SQL CE does not support sorting on a subquery.");
527+
if (!TestDialect.SupportsSubSelectsInOrderBy)
528+
Assert.Ignore("Dialect does not support order by sub-select");
529+
if (!TestDialect.SupportsOrderByAndLimitInSubQueries)
530+
Assert.Ignore("Dialect does not support sub-selects with order by or limit/top");
531531

532532
var ordersQuery = db.Orders
533533
.OrderByDescending(x => x.OrderLines.Count).ThenBy(x => x.OrderId)

src/NHibernate.Test/Async/ProjectionFixtures/Fixture.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ public async Task AggregatingHirearchyWithCountAsync()
148148
[Test]
149149
public async Task LimitingResultSetOnQueryThatIsOrderedByProjectionAsync()
150150
{
151-
if (!Dialect.SupportsScalarSubSelects)
152-
Assert.Ignore("Dialect does not support scalar sub-select");
151+
if (!TestDialect.SupportsSubSelectsInOrderBy)
152+
Assert.Ignore("Dialect does not support order by sub-select");
153153

154154
using(var s = OpenSession())
155155
{
@@ -172,8 +172,8 @@ public async Task LimitingResultSetOnQueryThatIsOrderedByProjectionAsync()
172172
[Test]
173173
public async Task QueryingWithParemetersAndParaemtersInOrderByAsync()
174174
{
175-
if (!Dialect.SupportsScalarSubSelects)
176-
Assert.Ignore("Dialect does not support scalar sub-select");
175+
if (!TestDialect.SupportsSubSelectsInOrderBy)
176+
Assert.Ignore("Dialect does not support order by sub-select");
177177

178178
using (var s = OpenSession())
179179
{

src/NHibernate.Test/Criteria/Lambda/SubQueryIntegrationFixture.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ public void SubQuery()
160160
[Test]
161161
public void ThreeLevelSubquery()
162162
{
163-
if (!Dialect.SupportsScalarSubSelects)
164-
Assert.Ignore("Dialect does not support scalar sub-select");
163+
if (!TestDialect.SupportsSubSelectsInOrderBy)
164+
Assert.Ignore("Dialect does not support order by sub-select");
165165

166166
Person p = null;
167167
var detachedCriteria2 = DetachedCriteria.For<Person>("vf_inner_2")

src/NHibernate.Test/Linq/WhereSubqueryTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -655,10 +655,10 @@ public void OrdersWithSubquery10A()
655655
[Test(Description = "GH2479")]
656656
public void OrdersWithSubquery11()
657657
{
658-
if (Dialect is MySQLDialect)
659-
Assert.Ignore("MySQL does not support LIMIT in subqueries.");
660-
if (Dialect is MsSqlCeDialect)
661-
Assert.Ignore("MS SQL CE does not support sorting on a subquery.");
658+
if (!TestDialect.SupportsSubSelectsInOrderBy)
659+
Assert.Ignore("Dialect does not support order by sub-select");
660+
if (!TestDialect.SupportsOrderByAndLimitInSubQueries)
661+
Assert.Ignore("Dialect does not support sub-selects with order by or limit/top");
662662

663663
var ordersQuery = db.Orders
664664
.OrderByDescending(x => x.OrderLines.Count).ThenBy(x => x.OrderId)

src/NHibernate.Test/ProjectionFixtures/Fixture.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ public void AggregatingHirearchyWithCount()
137137
[Test]
138138
public void LimitingResultSetOnQueryThatIsOrderedByProjection()
139139
{
140-
if (!Dialect.SupportsScalarSubSelects)
141-
Assert.Ignore("Dialect does not support scalar sub-select");
140+
if (!TestDialect.SupportsSubSelectsInOrderBy)
141+
Assert.Ignore("Dialect does not support order by sub-select");
142142

143143
using(var s = OpenSession())
144144
{
@@ -161,8 +161,8 @@ public void LimitingResultSetOnQueryThatIsOrderedByProjection()
161161
[Test]
162162
public void QueryingWithParemetersAndParaemtersInOrderBy()
163163
{
164-
if (!Dialect.SupportsScalarSubSelects)
165-
Assert.Ignore("Dialect does not support scalar sub-select");
164+
if (!TestDialect.SupportsSubSelectsInOrderBy)
165+
Assert.Ignore("Dialect does not support order by sub-select");
166166

167167
using (var s = OpenSession())
168168
{

src/NHibernate.Test/TestDialect.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,15 @@ public bool SupportsSqlType(SqlType sqlType)
120120
/// </summary>
121121
public virtual bool SupportsModuloOnDecimal => true;
122122

123+
/// <summary>
124+
/// Supports sub-selects in order by clause
125+
/// </summary>
126+
public virtual bool SupportsSubSelectsInOrderBy => _dialect.SupportsScalarSubSelects;
127+
123128
/// <summary>
124129
/// Supports aggregating sub-selects in order by clause
125130
/// </summary>
126-
public virtual bool SupportsAggregatingScalarSubSelectsInOrderBy => _dialect.SupportsScalarSubSelects;
131+
public virtual bool SupportsAggregatingScalarSubSelectsInOrderBy => SupportsSubSelectsInOrderBy;
127132

128133
/// <summary>
129134
/// Supports order by and limits/top in correlated sub-queries

src/NHibernate.Test/TestDialects/DB2TestDialect.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ public DB2TestDialect(Dialect.Dialect dialect) : base(dialect)
66
{
77
}
88

9-
public override bool SupportsNonDataBoundCondition => false;
109
public override bool SupportsComplexExpressionInGroupBy => false;
10+
public override bool SupportsNonDataBoundCondition => false;
11+
public override bool SupportsSubSelectsInOrderBy => false;
1112
}
1213
}

0 commit comments

Comments
 (0)