Skip to content

Commit 521ce97

Browse files
Re-enable OUTER JOIN tests as this is supported since FirebirdSQL#1238
1 parent 4bdd787 commit 521ce97

File tree

7 files changed

+38
-19
lines changed

7 files changed

+38
-19
lines changed

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/Associations/Navigations/NavigationsCollectionFbTest.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
using System.Threading.Tasks;
1919
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Helpers;
20+
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.TestUtilities;
2021
using Microsoft.EntityFrameworkCore;
2122
using Microsoft.EntityFrameworkCore.Query.Associations.Navigations;
2223
using Xunit;
@@ -33,11 +34,13 @@ public NavigationsCollectionFbTest(NavigationsFbFixture fixture, ITestOutputHelp
3334
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
3435
}
3536

36-
// Uses OUTER JOIN
37-
[NotSupportedByProviderTheory]
37+
[Theory]
3838
[MemberData(nameof(TrackingData))]
3939
public override Task Distinct_projected(QueryTrackingBehavior queryTrackingBehavior)
4040
{
41+
var fbTestStore = (FbTestStore)Fixture.TestStore;
42+
if (fbTestStore.ServerLessThan4())
43+
return Task.CompletedTask;
4144
return base.Distinct_projected(queryTrackingBehavior);
4245
}
4346
}

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/Associations/Navigations/NavigationsProjectionFbTest.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
using System.Threading.Tasks;
1919
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Helpers;
20+
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.TestUtilities;
2021
using Microsoft.EntityFrameworkCore;
2122
using Microsoft.EntityFrameworkCore.Query.Associations.Navigations;
2223
using Xunit;
@@ -31,20 +32,24 @@ public NavigationsProjectionFbTest(NavigationsFbFixture fixture, ITestOutputHelp
3132
Fixture.TestSqlLoggerFactory.Clear();
3233
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
3334
}
34-
35-
// Uses OUTER JOIN
36-
[NotSupportedByProviderTheory]
35+
36+
[Theory]
3737
[MemberData(nameof(TrackingData))]
3838
public override Task Select_subquery_optional_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior)
3939
{
40+
var fbTestStore = (FbTestStore)Fixture.TestStore;
41+
if (fbTestStore.ServerLessThan4())
42+
return Task.CompletedTask;
4043
return base.Select_subquery_optional_related_FirstOrDefault(queryTrackingBehavior);
4144
}
4245

43-
// Uses OUTER JOIN
44-
[NotSupportedByProviderTheory]
46+
[Theory]
4547
[MemberData(nameof(TrackingData))]
4648
public override Task Select_subquery_required_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior)
4749
{
50+
var fbTestStore = (FbTestStore)Fixture.TestStore;
51+
if (fbTestStore.ServerLessThan4())
52+
return Task.CompletedTask;
4853
return base.Select_subquery_required_related_FirstOrDefault(queryTrackingBehavior);
4954
}
5055
}

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsCollectionFbTest.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
using System.Threading.Tasks;
1919
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Helpers;
20+
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.TestUtilities;
2021
using Microsoft.EntityFrameworkCore;
2122
using Microsoft.EntityFrameworkCore.Query.Associations.OwnedNavigations;
2223
using Xunit;
@@ -32,11 +33,13 @@ public OwnedNavigationsCollectionFbTest(OwnedNavigationsFbFixture fixture, ITest
3233
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
3334
}
3435

35-
// Uses OUTER JOIN
36-
[NotSupportedByProviderTheory]
36+
[Theory]
3737
[MemberData(nameof(TrackingData))]
3838
public override Task Distinct_projected(QueryTrackingBehavior queryTrackingBehavior)
3939
{
40+
var fbTestStore = (FbTestStore)Fixture.TestStore;
41+
if (fbTestStore.ServerLessThan4())
42+
return Task.CompletedTask;
4043
return base.Distinct_projected(queryTrackingBehavior);
4144
}
4245
}

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsProjectionFbTest.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
using System.Threading.Tasks;
1919
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Helpers;
20+
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.TestUtilities;
2021
using Microsoft.EntityFrameworkCore;
2122
using Microsoft.EntityFrameworkCore.Query.Associations.OwnedNavigations;
2223
using Xunit;
@@ -32,19 +33,23 @@ public OwnedNavigationsProjectionFbTest(OwnedNavigationsFbFixture fixture, ITest
3233
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
3334
}
3435

35-
// Uses OUTER JOIN
36-
[NotSupportedOnFirebirdTheory]
36+
[Theory]
3737
[MemberData(nameof(TrackingData))]
3838
public override Task Select_subquery_optional_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior)
3939
{
40+
var fbTestStore = (FbTestStore)Fixture.TestStore;
41+
if (fbTestStore.ServerLessThan4())
42+
return Task.CompletedTask;
4043
return base.Select_subquery_optional_related_FirstOrDefault(queryTrackingBehavior);
4144
}
4245

43-
// Uses OUTER JOIN
44-
[NotSupportedByProviderTheory]
46+
[Theory]
4547
[MemberData(nameof(TrackingData))]
4648
public override Task Select_subquery_required_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior)
4749
{
50+
var fbTestStore = (FbTestStore)Fixture.TestStore;
51+
if (fbTestStore.ServerLessThan4())
52+
return Task.CompletedTask;
4853
return base.Select_subquery_required_related_FirstOrDefault(queryTrackingBehavior);
4954
}
5055
}

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/Associations/OwnedNavigations/OwnedNavigationsSetOperationsFbTest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public OwnedNavigationsSetOperationsFbTest(OwnedNavigationsFbFixture fixture, IT
3232
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
3333
}
3434

35-
// Uses OUTER JOIN
3635
[NotSupportedByProviderTheory]
3736
[MemberData(nameof(TrackingData))]
3837
public override Task Over_associate_collection_projected(QueryTrackingBehavior queryTrackingBehavior)

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/Associations/OwnedTableSplitting/OwnedTableSplittingProjectionFbTest.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
using System.Threading.Tasks;
1919
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.Helpers;
20+
using FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests.TestUtilities;
2021
using Microsoft.EntityFrameworkCore;
2122
using Microsoft.EntityFrameworkCore.Query.Associations.OwnedTableSplitting;
2223
using Xunit;
@@ -32,19 +33,23 @@ public OwnedTableSplittingProjectionFbTest(OwnedTableSplittingFbFixture fixture,
3233
Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
3334
}
3435

35-
// Uses OUTER JOIN
36-
[NotSupportedByProviderTheory]
36+
[Theory]
3737
[MemberData(nameof(TrackingData))]
3838
public override Task Select_subquery_optional_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior)
3939
{
40+
var fbTestStore = (FbTestStore)Fixture.TestStore;
41+
if (fbTestStore.ServerLessThan4())
42+
return Task.CompletedTask;
4043
return base.Select_subquery_optional_related_FirstOrDefault(queryTrackingBehavior);
4144
}
4245

43-
// Uses OUTER JOIN
44-
[NotSupportedByProviderTheory]
46+
[Theory]
4547
[MemberData(nameof(TrackingData))]
4648
public override Task Select_subquery_required_related_FirstOrDefault(QueryTrackingBehavior queryTrackingBehavior)
4749
{
50+
var fbTestStore = (FbTestStore)Fixture.TestStore;
51+
if (fbTestStore.ServerLessThan4())
52+
return Task.CompletedTask;
4853
return base.Select_subquery_required_related_FirstOrDefault(queryTrackingBehavior);
4954
}
5055
}

src/FirebirdSql.EntityFrameworkCore.Firebird.FunctionalTests/Query/PrimitiveCollectionsQueryFbTest.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,6 @@ public override Task Project_empty_collection_of_nullables_and_collection_only_c
476476
return base.Project_empty_collection_of_nullables_and_collection_only_containing_nulls();
477477
}
478478

479-
// Uses OUTER JOIN
480479
[NotSupportedByProviderFact]
481480
public override Task Project_inline_collection_with_Union()
482481
{

0 commit comments

Comments
 (0)