Skip to content

Commit 06978a0

Browse files
committed
Fix tests wit multi-table delete
1 parent 764245c commit 06978a0

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/NHibernate.Test/Async/NHSpecificTest/GH1921/Fixture.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ protected override void OnTearDown()
4949
using (var session = OpenSession())
5050
using (var transaction = session.BeginTransaction())
5151
{
52-
session.CreateQuery("delete from System.Object").ExecuteUpdate();
52+
session.CreateQuery("delete from Entity").ExecuteUpdate();
53+
// Some dialects don't support multi-table deletes, so delete via in memory loading
54+
session.Delete("from MultiTableEntity");
5355

5456
transaction.Commit();
5557
}
@@ -142,6 +144,9 @@ public async Task MultiTableDmlInsertAsync(string filter)
142144
[TestCase("OtherNameFilter")]
143145
public async Task MultiTableDmlUpdateAsync(string filter)
144146
{
147+
if (!Dialect.SupportsTemporaryTables)
148+
Assert.Ignore("Dialect does not support multi-table update");
149+
145150
var isFiltered = !string.IsNullOrEmpty(filter);
146151

147152
using (var session = OpenSession())
@@ -180,6 +185,9 @@ public async Task MultiTableDmlUpdateAsync(string filter)
180185
[TestCase("OtherNameFilter")]
181186
public async Task MultiTableDmlDeleteAsync(string filter)
182187
{
188+
if (!Dialect.SupportsTemporaryTables)
189+
Assert.Ignore("Dialect does not support multi-table delete");
190+
183191
var isFiltered = !string.IsNullOrEmpty(filter);
184192

185193
using (var session = OpenSession())

src/NHibernate.Test/NHSpecificTest/GH1921/Fixture.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ protected override void OnTearDown()
3737
using (var session = OpenSession())
3838
using (var transaction = session.BeginTransaction())
3939
{
40-
session.CreateQuery("delete from System.Object").ExecuteUpdate();
40+
session.CreateQuery("delete from Entity").ExecuteUpdate();
41+
// Some dialects don't support multi-table deletes, so delete via in memory loading
42+
session.Delete("from MultiTableEntity");
4143

4244
transaction.Commit();
4345
}
@@ -130,6 +132,9 @@ public void MultiTableDmlInsert(string filter)
130132
[TestCase("OtherNameFilter")]
131133
public void MultiTableDmlUpdate(string filter)
132134
{
135+
if (!Dialect.SupportsTemporaryTables)
136+
Assert.Ignore("Dialect does not support multi-table update");
137+
133138
var isFiltered = !string.IsNullOrEmpty(filter);
134139

135140
using (var session = OpenSession())
@@ -168,6 +173,9 @@ public void MultiTableDmlUpdate(string filter)
168173
[TestCase("OtherNameFilter")]
169174
public void MultiTableDmlDelete(string filter)
170175
{
176+
if (!Dialect.SupportsTemporaryTables)
177+
Assert.Ignore("Dialect does not support multi-table delete");
178+
171179
var isFiltered = !string.IsNullOrEmpty(filter);
172180

173181
using (var session = OpenSession())

0 commit comments

Comments
 (0)