Skip to content

Commit 73bc158

Browse files
Apply suggestions from code review
Co-authored-by: Frédéric Delaporte <[email protected]>
1 parent 03d0972 commit 73bc158

File tree

2 files changed

+70
-78
lines changed

2 files changed

+70
-78
lines changed

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

Lines changed: 68 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -8,95 +8,87 @@ public class Fixture : BugTestCase
88
public void TestOk()
99
{
1010
using var s = OpenSession();
11-
{
12-
var queryThatWorks = s.CreateQuery(
13-
@"
14-
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
15-
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
16-
, ROOT.Folder AS ROOT_Folder
17-
WHERE ROOT_Folder.Shelf = inv AND inv.Id = 1
18-
) )
19-
AND ROOT.Name = 'SomeName'");
20-
queryThatWorks.List();
21-
}
22-
{
23-
var queryThatWorks = s.CreateQuery(
24-
@"
25-
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
26-
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
27-
, ROOT.Folders AS ROOT_Folder
28-
WHERE ROOT_Folder = sheet.Folder AND sheet.Name = 'SomeName'
29-
) )
30-
AND ROOT.Id = 1");
31-
queryThatWorks.List();
32-
}
11+
var queryThatWorks = s.CreateQuery(
12+
@"
13+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
14+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
15+
, ROOT.Folder AS ROOT_Folder
16+
WHERE ROOT_Folder.Shelf = inv AND inv.Id = 1
17+
))
18+
AND ROOT.Name = 'SomeName'");
19+
queryThatWorks.List();
20+
21+
queryThatWorks = s.CreateQuery(
22+
@"
23+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
24+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
25+
, ROOT.Folders AS ROOT_Folder
26+
WHERE ROOT_Folder = sheet.Folder AND sheet.Name = 'SomeName'
27+
))
28+
AND ROOT.Id = 1");
29+
queryThatWorks.List();
3330
}
3431

3532
[Test]
36-
public void TestWrongSql()
33+
public void TestThetaAnsiOnAssociationInSubQuery()
3734
{
3835
if (!TestDialect.SupportsCorrelatedColumnsInSubselectJoin)
3936
Assert.Ignore("Dialect doesn't support this test case");
4037

4138
using var s = OpenSession();
42-
{
43-
var queryThatCreatesWrongSQL = s.CreateQuery(
44-
@"
45-
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
46-
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
47-
JOIN ROOT.Folder AS ROOT_Folder
48-
WHERE ROOT_Folder.Shelf = inv AND inv.Id = 1
49-
) )
50-
AND ROOT.Name = 'SomeName'");
51-
queryThatCreatesWrongSQL.List();
52-
}
53-
{
54-
// The only assertion here is that the generated SQL is valid and can be executed.
55-
// Right now, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
56-
var queryThatCreatesWrongSQL = s.CreateQuery(
57-
@"
58-
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
59-
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
60-
JOIN ROOT.Folders AS ROOT_Folder
61-
WHERE ROOT_Folder = sheet.Folder AND sheet.Name = 'SomeName'
62-
) )
63-
AND ROOT.Id = 1");
64-
queryThatCreatesWrongSQL.List();
65-
// The only assertion here is that the generated SQL is valid and can be executed.
66-
// Right now, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
67-
}
39+
var queryThatCreatesWrongSQL = s.CreateQuery(
40+
@"
41+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
42+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
43+
JOIN ROOT.Folder AS ROOT_Folder
44+
WHERE ROOT_Folder.Shelf = inv AND inv.Id = 1
45+
))
46+
AND ROOT.Name = 'SomeName'");
47+
queryThatCreatesWrongSQL.List();
48+
49+
// The only assertion here is that the generated SQL is valid and can be executed.
50+
// With the bug, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
51+
queryThatCreatesWrongSQL = s.CreateQuery(
52+
@"
53+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
54+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
55+
JOIN ROOT.Folders AS ROOT_Folder
56+
WHERE ROOT_Folder = sheet.Folder AND sheet.Name = 'SomeName'
57+
))
58+
AND ROOT.Id = 1");
59+
queryThatCreatesWrongSQL.List();
60+
// The only assertion here is that the generated SQL is valid and can be executed.
61+
// With the bug, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
6862
}
6963

7064
[Test]
71-
public void Test3()
65+
public void TestOtherAnsiJoinOnAssociationInSubQuery()
7266
{
7367
using var s = OpenSession();
74-
{
75-
// The only assertion here is that the generated SQL is valid and can be executed.
76-
// Right now, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
77-
var queryThatCreatesWrongSQL = s.CreateQuery(
78-
@"
79-
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
80-
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
81-
JOIN sheet.Folder AS folder
82-
WHERE folder.Shelf = ROOT AND sheet.Name = 'SomeName'
83-
) )
84-
AND ROOT.Id = 1");
85-
queryThatCreatesWrongSQL.List();
86-
// The only assertion here is that the generated SQL is valid and can be executed.
87-
// Right now, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
88-
}
89-
{
90-
var queryThatCreatesWrongSQL = s.CreateQuery(
91-
@"
92-
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
93-
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
94-
JOIN inv.Folders AS folder
95-
WHERE folder = ROOT.Folder AND inv.Id = 1
96-
) )
97-
AND ROOT.Name = 'SomeName'");
98-
queryThatCreatesWrongSQL.List();
99-
}
68+
69+
// The only assertion here is that the generated SQL is valid and can be executed.
70+
// With the bug, the generated SQL is missing the JOIN inside the subselect (EXISTS) to Folder.
71+
var queryThatCreatesWrongSQL = s.CreateQuery(
72+
@"
73+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS ROOT
74+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS sheet
75+
JOIN sheet.Folder AS folder
76+
WHERE folder.Shelf = ROOT AND sheet.Name = 'SomeName'
77+
))
78+
AND ROOT.Id = 1");
79+
queryThatCreatesWrongSQL.List();
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+
queryThatCreatesWrongSQL = s.CreateQuery(
84+
@"
85+
SELECT ROOT FROM NHibernate.Test.NHSpecificTest.GH1228.Sheet AS ROOT
86+
WHERE (EXISTS (FROM NHibernate.Test.NHSpecificTest.GH1228.Shelf AS inv
87+
JOIN inv.Folders AS folder
88+
WHERE folder = ROOT.Folder AND inv.Id = 1
89+
))
90+
AND ROOT.Name = 'SomeName'");
91+
queryThatCreatesWrongSQL.List();
10092
}
10193
}
10294
}

src/NHibernate.Test/NHSpecificTest/GH3334/Entity.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ public class Entity
66
{
77
public virtual int Id { get; set; }
88
public virtual string Name { get; set; }
9-
public virtual ISet<ChildEntity> Children { get; set; } = new HashSet<ChildEntity>();
10-
public virtual OtherEntity OtherEntity { get; set; }
9+
public virtual ISet<ChildEntity> Children { get; set; } = new HashSet<ChildEntity>();
10+
public virtual OtherEntity OtherEntity { get; set; }
1111
}
1212

1313
public class ChildEntity

0 commit comments

Comments
 (0)