Skip to content

Commit 2a1f31d

Browse files
Generate async files
1 parent 2cf2dc3 commit 2a1f31d

File tree

1 file changed

+106
-0
lines changed
  • src/NHibernate.Test/Async/NHSpecificTest/GH1228

1 file changed

+106
-0
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
//------------------------------------------------------------------------------
2+
// <auto-generated>
3+
// This code was generated by AsyncGenerator.
4+
//
5+
// Changes to this file may cause incorrect behavior and will be lost if
6+
// the code is regenerated.
7+
// </auto-generated>
8+
//------------------------------------------------------------------------------
9+
10+
11+
using NUnit.Framework;
12+
13+
namespace NHibernate.Test.NHSpecificTest.GH1228
14+
{
15+
using System.Threading.Tasks;
16+
[TestFixture]
17+
public class FixtureAsync : BugTestCase
18+
{
19+
[Test]
20+
public async Task TestThetaJoinOnAssociationInSubQueryAsync()
21+
{
22+
using var s = OpenSession();
23+
var queryThatWorks = s.CreateQuery(
24+
@"
25+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
26+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
27+
, ROOT.Folder AS ROOT_Folder
28+
WHERE ROOT_Folder.Shelf = inv AND inv.Id = 1
29+
))
30+
AND ROOT.Name = 'SomeName'");
31+
await (queryThatWorks.ListAsync());
32+
33+
queryThatWorks = s.CreateQuery(
34+
@"
35+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
36+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
37+
, ROOT.Folders AS ROOT_Folder
38+
WHERE ROOT_Folder = sheet.Folder AND sheet.Name = 'SomeName'
39+
))
40+
AND ROOT.Id = 1");
41+
await (queryThatWorks.ListAsync());
42+
}
43+
44+
[Test]
45+
public async Task TestThetaAnsiOnAssociationInSubQueryAsync()
46+
{
47+
if (!TestDialect.SupportsCorrelatedColumnsInSubselectJoin)
48+
Assert.Ignore("Dialect doesn't support this test case");
49+
50+
using var s = OpenSession();
51+
var queryThatCreatesWrongSQL = s.CreateQuery(
52+
@"
53+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
54+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
55+
JOIN ROOT.Folder AS ROOT_Folder
56+
WHERE ROOT_Folder.Shelf = inv AND inv.Id = 1
57+
))
58+
AND ROOT.Name = 'SomeName'");
59+
await (queryThatCreatesWrongSQL.ListAsync());
60+
61+
// The only assertion here is that the generated SQL is valid and can be executed.
62+
// With the bug, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
63+
queryThatCreatesWrongSQL = s.CreateQuery(
64+
@"
65+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
66+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
67+
JOIN ROOT.Folders AS ROOT_Folder
68+
WHERE ROOT_Folder = sheet.Folder AND sheet.Name = 'SomeName'
69+
))
70+
AND ROOT.Id = 1");
71+
await (queryThatCreatesWrongSQL.ListAsync());
72+
// The only assertion here is that the generated SQL is valid and can be executed.
73+
// With the bug, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
74+
}
75+
76+
[Test]
77+
public async Task TestOtherAnsiJoinOnAssociationInSubQueryAsync()
78+
{
79+
using var s = OpenSession();
80+
81+
// The only assertion here is that the generated SQL is valid and can be executed.
82+
// With the bug, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
83+
var queryThatCreatesWrongSQL = s.CreateQuery(
84+
@"
85+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
86+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
87+
JOIN sheet.Folder AS folder
88+
WHERE folder.Shelf = ROOT AND sheet.Name = 'SomeName'
89+
))
90+
AND ROOT.Id = 1");
91+
await (queryThatCreatesWrongSQL.ListAsync());
92+
93+
// The only assertion here is that the generated SQL is valid and can be executed.
94+
// With the bug, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
95+
queryThatCreatesWrongSQL = s.CreateQuery(
96+
@"
97+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
98+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
99+
JOIN inv.Folders AS folder
100+
WHERE folder = ROOT.Folder AND inv.Id = 1
101+
))
102+
AND ROOT.Name = 'SomeName'");
103+
await (queryThatCreatesWrongSQL.ListAsync());
104+
}
105+
}
106+
}

0 commit comments

Comments
 (0)