Skip to content

Commit 93993e6

Browse files
authored
Merge branch 'master' into travis-xenial
2 parents ca87e78 + 4c4aa07 commit 93993e6

File tree

240 files changed

+7242
-1624
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+7242
-1624
lines changed

.config/dotnet-tools.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"csharpasyncgenerator.tool": {
6+
"version": "0.19.1",
7+
"commands": [
8+
"async-generator"
9+
]
10+
}
11+
}
12+
}

.github/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: nuget
4+
directory: "/"
5+
schedule:
6+
interval: daily
7+
open-pull-requests-limit: 10
8+
ignore:
9+
- dependency-name: Microsoft.AspNetCore
10+
versions:
11+
- "> 2.0.0"
12+
- dependency-name: Microsoft.AspNetCore.Mvc
13+
versions:
14+
- "> 2.0.0"
15+
- dependency-name: Microsoft.AspNetCore.Mvc.Razor.ViewCompilation
16+
versions:
17+
- "> 2.0.0"
18+
- dependency-name: Microsoft.AspNetCore.StaticFiles
19+
versions:
20+
- "> 2.0.0"

.travis.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ env:
1313
- DB=Firebird
1414
- DB=MySQL CONNECTION_STRING="Server=127.0.0.1;Uid=root;Database=nhibernate;Old Guids=True;"
1515
- DB=SQLite
16-
matrix:
17-
allow_failures:
18-
- env: DB=MySQL CONNECTION_STRING="Server=127.0.0.1;Uid=root;Database=nhibernate;Old Guids=True;"
1916
before_install:
2017
- sudo apt-get update -qq
2118
- sudo apt-get install -y powershell

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ of NHibernate (in no particular order):
103103
[Apache Software Foundation]: http://www.apache.org
104104
[JetBrains]: http://www.jetbrains.com
105105
[ReSharper]: http://www.jetbrains.com/resharper
106-
[LinFu]: http://code.google.com/p/linfu
106+
[LinFu]: https://github.com/philiplaureano/LinFu
107107
[article]: http://www.codeproject.com/KB/recipes/sets.aspx
108-
[Relinq]: http://relinq.codeplex.com/
108+
[Relinq]: https://github.com/re-motion/Relinq
109109
[AsyncGenerator]: http://github.com/maca88/AsyncGenerator

ShowBuildMenu.sh

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -178,36 +178,15 @@ testRun(){
178178
}
179179

180180
generateAsync(){
181-
dotnet restore ./src/NHibernate.sln
182-
183-
getAsyncGeneratorPath
184181
cd src
185-
dotnet ../"$async_generator_path"
182+
dotnet tool restore
183+
dotnet restore ./NHibernate.sln
184+
dotnet async-generator
186185
cd ..
187186

188187
mainMenu
189188
}
190189

191-
getAsyncGeneratorPath(){
192-
if [ "$async_generator_path" ]
193-
then
194-
return
195-
fi
196-
197-
cd Tools
198-
199-
async_generator_version="$(cat packages.csproj | grep Include=\"CSharpAsyncGenerator.CommandLine | cut -d\" -f4)"
200-
async_generator_path="csharpasyncgenerator.commandline/$async_generator_version/tools"
201-
202-
if [ ! -d $async_generator_path ]
203-
then
204-
dotnet restore "./packages.csproj" --packages .
205-
fi
206-
207-
async_generator_path="Tools/$async_generator_path/netcoreapp2.1/AsyncGenerator.CommandLine.dll"
208-
cd ..
209-
}
210-
211190
mainMenu() {
212191
echo "========================= NHIBERNATE BUILD MENU =========================="
213192
echo "--- TESTING ---"

Tools/packages.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="CSharpAsyncGenerator.CommandLine" Version="0.18.2" />
1514
<PackageReference Include="vswhere" Version="2.1.4" />
1615
<PackageReference Include="NUnit.Console" Version="3.10.0" />
1716
<PackageReference Include="GitReleaseManager" Version="0.11.0" />

appveyor.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ environment:
1313
init:
1414
# Required for having windows endlines in sources zip
1515
- git config --global core.autocrlf true
16-
matrix:
17-
allow_failures:
18-
- DB: MySQL
1916
build: off
2017
before_test:
2118
- ps: |-

build-common/NHibernate.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
<Import Condition="Exists('NHibernate.dev.props')" Project="NHibernate.dev.props"/>
33

44
<PropertyGroup>
5-
<NhVersion Condition="'$(NhVersion)' == ''" >5.3</NhVersion>
6-
<VersionPatch Condition="'$(VersionPatch)' == ''">8</VersionPatch>
5+
<NhVersion Condition="'$(NhVersion)' == ''" >5.4</NhVersion>
6+
<VersionPatch Condition="'$(VersionPatch)' == ''">0</VersionPatch>
77
<!-- Clear VersionSuffix for making release and set it to dev for making development builds -->
8-
<VersionSuffix Condition="'$(VersionSuffix)' == ''"></VersionSuffix>
8+
<VersionSuffix Condition="'$(VersionSuffix)' == ''">dev</VersionSuffix>
99

1010
<VersionPrefix Condition="'$(VersionPrefix)' == ''">$(NhVersion).$(VersionPatch)</VersionPrefix>
1111
<VersionSuffix Condition="'$(VersionSuffix)' != '' AND '$(BuildNumber)' != ''">$(VersionSuffix).$(BuildNumber)</VersionSuffix>
@@ -42,6 +42,6 @@
4242
<DisableImplicitPackageTargetFallback>True</DisableImplicitPackageTargetFallback>
4343
</PropertyGroup>
4444
<ItemGroup>
45-
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="all" />
45+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2" PrivateAssets="all" />
4646
</ItemGroup>
4747
</Project>

build-common/common.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@
4848
</target>
4949

5050
<target name="common.tools-restore" depends="common.init">
51+
<exec workingdir="${root.dir}" program="dotnet" verbose="true">
52+
<arg line="tool restore" />
53+
</exec>
5154
<exec workingdir="${root.dir}/Tools" program="dotnet" verbose="true">
5255
<arg line="restore ./packages.csproj --packages ." />
5356
</exec>

default.build

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,9 @@
6464
<property name="tool.path" value="${tools.dir}/${tool.id}/${tool.version}/" />
6565
</target>
6666

67-
<target name="find-async-generator-console">
68-
<property name="tool.id" value="CSharpAsyncGenerator.CommandLine" />
69-
<call target="get-tool-info" />
70-
<property name="async-generator-console" value="${tool.path}tools/netcoreapp2.1/AsyncGenerator.CommandLine.dll" />
71-
</target>
72-
73-
<target name="generate-async" depends="solution-restore find-async-generator-console">
67+
<target name="generate-async" depends="solution-restore">
7468
<exec workingdir="${root.dir}/src" program="dotnet" verbose="true">
75-
<arg line=".${async-generator-console}" />
69+
<arg line="async-generator" />
7670
</exec>
7771
</target>
7872

src/AsyncGenerator.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,12 @@
6060
name: BestGuessEntityName
6161
containingTypeName: ISessionImplementor
6262
- conversion: Ignore
63-
name: Contains
63+
name: CloseSessionFromSystemTransaction
6464
containingTypeName: ISessionImplementor
65+
# TODO 6.0: Remove ignore rule for IStatelessSession.Close
66+
- conversion: Ignore
67+
name: Close
68+
containingTypeName: IStatelessSession
6569
- conversion: Ignore
6670
name: GetUnsavedVersionValue
6771
containingTypeName: UnsavedValueFactory
@@ -287,6 +291,7 @@ methodRules:
287291
- containingType: NHibernate.Linq.DmlExtensionMethods
288292
- containingType: NHibernate.Linq.InsertBuilder<TSource, TTarget>
289293
- containingType: NHibernate.Linq.UpdateBuilder<TSource>
294+
- containingType: NHibernate.Multi.IQueryBatch
290295
name: PubliclyExposedType
291296
- filters:
292297
- hasAttributeName: ObsoleteAttribute

src/NHibernate.Config.Templates/MySql.cfg.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ for your own use before compile tests in VisualStudio.
99
<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>
1010
<property name="connection.connection_string">
1111
Database=nhibernate;Data Source=localhost;User Id=nhibernate;Password=;
12-
Protocol=memory;Old Guids=True;
12+
Old Guids=True;
1313
</property>
1414
<property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
1515
</session-factory>

src/NHibernate.Test.VisualBasic/NHibernate.Test.VisualBasic.vbproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@
3232
<None Include="..\NHibernate.Test\App.config" Link="App.config" />
3333
</ItemGroup>
3434
<ItemGroup>
35-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.1.1" />
36-
<PackageReference Include="Microsoft.VisualBasic" Version="10.2.0" />
37-
<PackageReference Include="NUnit" Version="3.12.0" />
38-
<PackageReference Include="NUnit3TestAdapter" Version="3.13.0" />
35+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
36+
<PackageReference Include="Microsoft.VisualBasic" Version="10.3.0" />
37+
<PackageReference Include="NUnit" Version="3.13.2" />
38+
<PackageReference Include="NUnit3TestAdapter" Version="3.15.1" />
3939
</ItemGroup>
4040
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.0'">
41-
<PackageReference Include="NUnitLite" Version="3.12.0" />
41+
<PackageReference Include="NUnitLite" Version="3.13.2" />
4242
</ItemGroup>
4343
<ItemGroup>
4444
<ProjectReference Include="..\NHibernate\NHibernate.csproj" />

src/NHibernate.Test/Async/CacheTest/BatchableCacheFixture.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,7 +1112,7 @@ public async Task QueryCacheTestAsync()
11121112

11131113
using (var t = s.BeginTransaction())
11141114
{
1115-
await (queries.ExecuteAsync(CancellationToken.None));
1115+
await (queries.ExecuteAsync());
11161116
await (t.CommitAsync());
11171117
}
11181118

@@ -1127,24 +1127,24 @@ public async Task QueryCacheTestAsync()
11271127
// Run a second time, to test the query cache
11281128
using (var t = s.BeginTransaction())
11291129
{
1130-
await (queries.ExecuteAsync(CancellationToken.None));
1130+
await (queries.ExecuteAsync());
11311131
await (t.CommitAsync());
11321132
}
11331133

11341134
Assert.That(
1135-
await (queries.GetResultAsync<ReadOnly>(0, CancellationToken.None)),
1135+
await (queries.GetResultAsync<ReadOnly>(0)),
11361136
Has.Count.EqualTo(1).And.One.Property(nameof(ReadOnly.Name)).EqualTo(name1), "q1");
11371137
Assert.That(
1138-
await (queries.GetResultAsync<ReadOnly>(1, CancellationToken.None)),
1138+
await (queries.GetResultAsync<ReadOnly>(1)),
11391139
Has.Count.EqualTo(1).And.One.Property(nameof(ReadOnly.Name)).EqualTo(name2), "q2");
11401140
Assert.That(
1141-
await (queries.GetResultAsync<ReadWrite>(2, CancellationToken.None)),
1141+
await (queries.GetResultAsync<ReadWrite>(2)),
11421142
Has.Count.EqualTo(1).And.One.Property(nameof(ReadWrite.Name)).EqualTo(name3), "q3");
11431143
Assert.That(
1144-
await (queries.GetResultAsync<ReadWrite>(3, CancellationToken.None)),
1144+
await (queries.GetResultAsync<ReadWrite>(3)),
11451145
Has.Count.EqualTo(1).And.One.Property(nameof(ReadWrite.Name)).EqualTo(name4), "q4");
11461146
Assert.That(
1147-
await (queries.GetResultAsync<ReadOnly>(4, CancellationToken.None)),
1147+
await (queries.GetResultAsync<ReadOnly>(4)),
11481148
Has.Count.EqualTo(1).And.One.Property(nameof(ReadOnly.Name)).EqualTo(name5), "q5");
11491149

11501150
Assert.That(cache.GetMultipleCalls, Has.Count.EqualTo(2), "cache GetMany secondExecution");
@@ -1174,24 +1174,24 @@ public async Task QueryCacheTestAsync()
11741174
// Run a third time, to re-test the query cache
11751175
using (var t = s.BeginTransaction())
11761176
{
1177-
await (queries.ExecuteAsync(CancellationToken.None));
1177+
await (queries.ExecuteAsync());
11781178
await (t.CommitAsync());
11791179
}
11801180

11811181
Assert.That(
1182-
await (queries.GetResultAsync<ReadOnly>(0, CancellationToken.None)),
1182+
await (queries.GetResultAsync<ReadOnly>(0)),
11831183
Has.Count.EqualTo(1).And.One.Property(nameof(ReadOnly.Name)).EqualTo(name1), "q1 after update");
11841184
Assert.That(
1185-
await (queries.GetResultAsync<ReadOnly>(1, CancellationToken.None)),
1185+
await (queries.GetResultAsync<ReadOnly>(1)),
11861186
Has.Count.EqualTo(1).And.One.Property(nameof(ReadOnly.Name)).EqualTo(name2), "q2 after update");
11871187
Assert.That(
1188-
await (queries.GetResultAsync<ReadWrite>(2, CancellationToken.None)),
1188+
await (queries.GetResultAsync<ReadWrite>(2)),
11891189
Has.Count.EqualTo(0), "q3 after update");
11901190
Assert.That(
1191-
await (queries.GetResultAsync<ReadWrite>(3, CancellationToken.None)),
1191+
await (queries.GetResultAsync<ReadWrite>(3)),
11921192
Has.Count.EqualTo(1).And.One.Property(nameof(ReadWrite.Name)).EqualTo(name4), "q4 after update");
11931193
Assert.That(
1194-
await (queries.GetResultAsync<ReadOnly>(4, CancellationToken.None)),
1194+
await (queries.GetResultAsync<ReadOnly>(4)),
11951195
Has.Count.EqualTo(1).And.One.Property(nameof(ReadOnly.Name)).EqualTo(name5), "q5 after update");
11961196

11971197
Assert.That(cache.GetMultipleCalls, Has.Count.EqualTo(3), "cache GetMany thirdExecution");

src/NHibernate.Test/Async/Criteria/CriteriaQueryTest.cs

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using System;
1212
using System.Collections;
1313
using System.Collections.Generic;
14+
using System.Linq;
1415
using NHibernate.Dialect;
1516
using NHibernate.Criterion;
1617
using NHibernate.Linq;
@@ -2085,6 +2086,64 @@ public async Task RestrictionOnSubclassCollectionAsync()
20852086
s.Close();
20862087
}
20872088

2089+
//NH-2239 (GH-1075) - Wrong OrderBy in generated SQL
2090+
[Test]
2091+
public async Task OrderByAndOrderedCollectionAsync()
2092+
{
2093+
var reptile1 = new Reptile { SerialNumber = "9" };
2094+
var reptile2 = new Reptile { SerialNumber = "8" };
2095+
var reptile3 = new Reptile { SerialNumber = "7" };
2096+
var reptile4 = new Reptile { SerialNumber = "6" };
2097+
var reptile5 = new Reptile { SerialNumber = "5" };
2098+
2099+
using (var s = OpenSession())
2100+
using (var t = s.BeginTransaction())
2101+
{
2102+
await (s.SaveAsync(reptile5));
2103+
await (s.SaveAsync(reptile1));
2104+
await (s.SaveAsync(reptile2));
2105+
await (s.SaveAsync(reptile3));
2106+
await (s.SaveAsync(reptile4));
2107+
2108+
reptile1.AddOffspring(reptile4);
2109+
reptile1.AddOffspring(reptile2);
2110+
reptile4.Father = reptile3;
2111+
reptile2.Father = reptile4;
2112+
reptile1.Father = reptile5;
2113+
reptile3.AddOffspring(reptile1);
2114+
2115+
await (t.CommitAsync());
2116+
}
2117+
2118+
using(var s = OpenSession())
2119+
{
2120+
var list = await (s.CreateCriteria(typeof(Reptile))
2121+
.Fetch(SelectMode.Fetch, "offspring")
2122+
.AddOrder(Order.Asc("serialNumber"))
2123+
.SetResultTransformer(Transformers.DistinctRootEntity)
2124+
.ListAsync<Reptile>());
2125+
2126+
var expectedList = list.OrderBy(x => x.SerialNumber).ToList();
2127+
2128+
Assert.That(list.Count, Is.EqualTo(5));
2129+
CollectionAssert.AreEqual(expectedList, list);
2130+
2131+
var mother = expectedList.Last();
2132+
Assert.That(NHibernateUtil.IsInitialized(mother.Offspring), Is.True);
2133+
2134+
var expectedAssociationList = mother.Offspring.OrderBy(r => r.Father.Id).ToList();
2135+
Assert.That(expectedAssociationList.Count, Is.EqualTo(2));
2136+
CollectionAssert.AreEqual(expectedAssociationList, mother.Offspring);
2137+
}
2138+
2139+
using (var s = OpenSession())
2140+
using (var t = s.BeginTransaction())
2141+
{
2142+
await (s.DeleteAsync("from Reptile"));
2143+
await (t.CommitAsync());
2144+
}
2145+
}
2146+
20882147
[Test]
20892148
public async Task ClassPropertyAsync()
20902149
{
@@ -2441,6 +2500,22 @@ public async Task SubcriteriaJoinTypesAsync()
24412500
session.Close();
24422501
}
24432502

2503+
public class NotMappedEntity
2504+
{
2505+
public virtual int Id { get; set; }
2506+
public virtual string Name { get; set; }
2507+
}
2508+
2509+
[Test]
2510+
public void CriteriaOnNotMappedEntityAsync()
2511+
{
2512+
using (ISession session = OpenSession())
2513+
{
2514+
Assert.ThrowsAsync<QueryException>(
2515+
() => session.CreateCriteria(typeof(NotMappedEntity)).ListAsync());
2516+
}
2517+
}
2518+
24442519
[Test]
24452520
public void TypeMismatchAsync()
24462521
{

0 commit comments

Comments
 (0)