From 33b430c9ff0724349715d6f0b02a9f5b971dbe34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Sun, 19 Nov 2023 22:18:02 +0100 Subject: [PATCH 1/8] Migrate appveyor build to MySql 8 --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index cf5da450722..9c9962cb8af 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -63,10 +63,10 @@ before_test: Pop-Location } 'MySQL' { - Start-Service 'MySQL57' + Start-Service 'MySQL80' # Create nhibernate database (not handled by NHibernate.TestDatabaseSetup.dll) $env:MYSQL_PWD = 'Password12!' - & 'C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql' -e 'CREATE DATABASE nhibernate CHARACTER SET utf8 COLLATE utf8_general_ci;' --user=root + & 'C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql' -e 'CREATE DATABASE nhibernate CHARACTER SET utf8 COLLATE utf8_general_ci;' --user=root } 'Odbc' { Start-Service 'MSSQL$SQL2017' } 'PostgreSQL' { From 57a346bc1674a855df2cf7a177f7bb22b11a76a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Mon, 20 Nov 2023 22:16:26 +0100 Subject: [PATCH 2/8] Upgrade MySql.Data --- src/NHibernate.Test/NHibernate.Test.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/NHibernate.Test.csproj b/src/NHibernate.Test/NHibernate.Test.csproj index 32ceeff6e74..07cc32a9be9 100644 --- a/src/NHibernate.Test/NHibernate.Test.csproj +++ b/src/NHibernate.Test/NHibernate.Test.csproj @@ -73,7 +73,7 @@ - + From 3889f6483ae837124a35c8aa75e6e1eb59de51e8 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Wed, 22 Nov 2023 07:56:03 +1000 Subject: [PATCH 3/8] Upgrade to 8.0.30 --- src/NHibernate.Test/NHibernate.Test.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/NHibernate.Test.csproj b/src/NHibernate.Test/NHibernate.Test.csproj index 07cc32a9be9..eba67c4aadd 100644 --- a/src/NHibernate.Test/NHibernate.Test.csproj +++ b/src/NHibernate.Test/NHibernate.Test.csproj @@ -73,7 +73,7 @@ - + From 7cfe3f91a1c469c200bc1dc9a38693d9067c8b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Wed, 22 Nov 2023 23:56:27 +0100 Subject: [PATCH 4/8] Add missing kewords Most are form 8.0, some older. --- src/NHibernate/Dialect/MySQLDialect.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/NHibernate/Dialect/MySQLDialect.cs b/src/NHibernate/Dialect/MySQLDialect.cs index d7b4be07d63..9a9116cd13a 100644 --- a/src/NHibernate/Dialect/MySQLDialect.cs +++ b/src/NHibernate/Dialect/MySQLDialect.cs @@ -124,6 +124,7 @@ public MySQLDialect() private static readonly string[] DialectKeywords = { + "_filename", "accessible", "analyze", "asc", @@ -134,6 +135,7 @@ public MySQLDialect() "connection", "contributors", "convert", + "cume_dist", "database", "databases", "datetime", @@ -147,15 +149,19 @@ public MySQLDialect() "div", "dual", "elseif", + "empty", "enclosed", "enum", "escaped", "explain", + "first_value", "float4", "float8", "force", "fulltext", + "generated", "goto", + "groups", "high_priority", "hour_microsecond", "hour_minute", @@ -168,10 +174,16 @@ public MySQLDialect() "int3", "int4", "int8", + "io_after_gtids", + "io_before_gtids", + "join_table", "key", "keys", "kill", "label", + "lag", + "last_value", + "lead", "limit", "linear", "lines", @@ -181,7 +193,9 @@ public MySQLDialect() "longblob", "longtext", "low_priority", + "master_bind", "master_ssl_verify_server_cert", + "maxvalue", "mediumblob", "mediumint", "mediumtext", @@ -190,11 +204,15 @@ public MySQLDialect() "minute_second", "mod", "no_write_to_binlog", + "nth_value", + "ntile", "nvarchar", "optimize", + "optimize_costs", "option", "optionally", "outfile", + "percent_rank", "purge", "read", "read_only", @@ -205,6 +223,7 @@ public MySQLDialect() "require", "restrict", "rlike", + "row_number", "schema", "schemas", "second_microsecond", @@ -235,6 +254,7 @@ public MySQLDialect() "utc_timestamp", "varbinary", "varcharacter", + "virtual", "write", "x509", "xor", From 8562647e84a571aafa93f42a71b96fb9c07c09e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Sat, 25 Nov 2023 21:55:51 +0100 Subject: [PATCH 5/8] Revert "Add missing kewords" This reverts commit 7cfe3f91a1c469c200bc1dc9a38693d9067c8b80. --- src/NHibernate/Dialect/MySQLDialect.cs | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/NHibernate/Dialect/MySQLDialect.cs b/src/NHibernate/Dialect/MySQLDialect.cs index 9a9116cd13a..d7b4be07d63 100644 --- a/src/NHibernate/Dialect/MySQLDialect.cs +++ b/src/NHibernate/Dialect/MySQLDialect.cs @@ -124,7 +124,6 @@ public MySQLDialect() private static readonly string[] DialectKeywords = { - "_filename", "accessible", "analyze", "asc", @@ -135,7 +134,6 @@ public MySQLDialect() "connection", "contributors", "convert", - "cume_dist", "database", "databases", "datetime", @@ -149,19 +147,15 @@ public MySQLDialect() "div", "dual", "elseif", - "empty", "enclosed", "enum", "escaped", "explain", - "first_value", "float4", "float8", "force", "fulltext", - "generated", "goto", - "groups", "high_priority", "hour_microsecond", "hour_minute", @@ -174,16 +168,10 @@ public MySQLDialect() "int3", "int4", "int8", - "io_after_gtids", - "io_before_gtids", - "join_table", "key", "keys", "kill", "label", - "lag", - "last_value", - "lead", "limit", "linear", "lines", @@ -193,9 +181,7 @@ public MySQLDialect() "longblob", "longtext", "low_priority", - "master_bind", "master_ssl_verify_server_cert", - "maxvalue", "mediumblob", "mediumint", "mediumtext", @@ -204,15 +190,11 @@ public MySQLDialect() "minute_second", "mod", "no_write_to_binlog", - "nth_value", - "ntile", "nvarchar", "optimize", - "optimize_costs", "option", "optionally", "outfile", - "percent_rank", "purge", "read", "read_only", @@ -223,7 +205,6 @@ public MySQLDialect() "require", "restrict", "rlike", - "row_number", "schema", "schemas", "second_microsecond", @@ -254,7 +235,6 @@ public MySQLDialect() "utc_timestamp", "varbinary", "varcharacter", - "virtual", "write", "x509", "xor", From 542d44349467aeaf0de7137fdad477948df2b25b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delaporte?= <12201973+fredericdelaporte@users.noreply.github.com> Date: Sat, 25 Nov 2023 22:00:05 +0100 Subject: [PATCH 6/8] Quote groups --- src/NHibernate.Test/Extralazy/UserGroup.hbm.xml | 2 +- src/NHibernate.Test/NHSpecificTest/NH2113/Mappings.hbm.xml | 2 +- src/NHibernate.Test/NHSpecificTest/NH2907/Mappings.hbm.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/NHibernate.Test/Extralazy/UserGroup.hbm.xml b/src/NHibernate.Test/Extralazy/UserGroup.hbm.xml index 2dd3fb6433d..0bd06b06d9e 100644 --- a/src/NHibernate.Test/Extralazy/UserGroup.hbm.xml +++ b/src/NHibernate.Test/Extralazy/UserGroup.hbm.xml @@ -4,7 +4,7 @@ assembly="NHibernate.Test" namespace="NHibernate.Test.Extralazy"> - + diff --git a/src/NHibernate.Test/NHSpecificTest/NH2113/Mappings.hbm.xml b/src/NHibernate.Test/NHSpecificTest/NH2113/Mappings.hbm.xml index 64151c2d8bc..d5e799d7c91 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH2113/Mappings.hbm.xml +++ b/src/NHibernate.Test/NHSpecificTest/NH2113/Mappings.hbm.xml @@ -15,7 +15,7 @@ - + diff --git a/src/NHibernate.Test/NHSpecificTest/NH2907/Mappings.hbm.xml b/src/NHibernate.Test/NHSpecificTest/NH2907/Mappings.hbm.xml index bb35dc0ba6a..95c5fdeec3d 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH2907/Mappings.hbm.xml +++ b/src/NHibernate.Test/NHSpecificTest/NH2907/Mappings.hbm.xml @@ -12,11 +12,11 @@ - + - \ No newline at end of file + From 635b23d627e50ce63b645d0731601f82339e0e53 Mon Sep 17 00:00:00 2001 From: Roman Artiukhin Date: Sun, 26 Nov 2023 08:37:37 +0200 Subject: [PATCH 7/8] Update MethodCallTests.cs Add OrderBy to ambiguous queries --- src/NHibernate.Test/Linq/MethodCallTests.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/NHibernate.Test/Linq/MethodCallTests.cs b/src/NHibernate.Test/Linq/MethodCallTests.cs index c330b0944da..05abb79c0af 100644 --- a/src/NHibernate.Test/Linq/MethodCallTests.cs +++ b/src/NHibernate.Test/Linq/MethodCallTests.cs @@ -47,6 +47,7 @@ public void CanExecuteCountWithOrderByArguments() public void CanSelectPropertiesIntoObjectArray() { var result = db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Id, u.Name, u.InvalidLoginAttempts}) .First(); @@ -59,6 +60,7 @@ public void CanSelectPropertiesIntoObjectArray() public void CanSelectComponentsIntoObjectArray() { var result = db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Component, u.Component.OtherComponent}) .First(); @@ -94,6 +96,7 @@ public void CanSelectConstantsIntoObjectArray() const string name = "Julian"; var result = db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Id, pi, name, DateTime.MinValue}) .First(); @@ -107,6 +110,7 @@ public void CanSelectConstantsIntoObjectArray() public void CanSelectPropertiesFromAssociationsIntoObjectArray() { var result = db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Id, u.Role.Name, u.Role.Entity.Output}) .First(); @@ -119,6 +123,7 @@ public void CanSelectPropertiesFromAssociationsIntoObjectArray() public void CanSelectPropertiesIntoObjectArrayInProperty() { var result = db.Users + .OrderBy(u => u.Id) .Select(u => new { Cells = new object[] { u.Id, u.Name, new object[u.Id] } }) .First(); @@ -132,6 +137,7 @@ public void CanSelectPropertiesIntoObjectArrayInProperty() public void CanSelectPropertiesIntoPropertyListInProperty() { var result = db.Users + .OrderBy(u => u.Id) .Select(u => new { Cells = new List { u.Id, u.Name, new object[u.Id] } }) .First(); @@ -144,7 +150,7 @@ public void CanSelectPropertiesIntoPropertyListInProperty() [Test, Description("NH-2744")] public void CanSelectPropertiesIntoNestedObjectArrays() { - var query = db.Users.Select(u => new object[] {"Root", new object[] {"Sub1", u.Name, new object[] {"Sub2", u.Name}}}); + var query = db.Users.OrderBy(u => u.Id).Select(u => new object[] {"Root", new object[] {"Sub1", u.Name, new object[] {"Sub2", u.Name}}}); var result = query.First(); Assert.That(result.Length, Is.EqualTo(2)); From 8f9a6030e35a3b924d1d8eca8d54af92b88671d1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 26 Nov 2023 06:39:47 +0000 Subject: [PATCH 8/8] Generate async files --- src/NHibernate.Test/Async/Linq/MethodCallTests.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/NHibernate.Test/Async/Linq/MethodCallTests.cs b/src/NHibernate.Test/Async/Linq/MethodCallTests.cs index b3ba92bef4f..621aed6d57c 100644 --- a/src/NHibernate.Test/Async/Linq/MethodCallTests.cs +++ b/src/NHibernate.Test/Async/Linq/MethodCallTests.cs @@ -59,6 +59,7 @@ public async Task CanExecuteCountWithOrderByArgumentsAsync() public async Task CanSelectPropertiesIntoObjectArrayAsync() { var result = await (db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Id, u.Name, u.InvalidLoginAttempts}) .FirstAsync()); @@ -71,6 +72,7 @@ public async Task CanSelectPropertiesIntoObjectArrayAsync() public async Task CanSelectComponentsIntoObjectArrayAsync() { var result = await (db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Component, u.Component.OtherComponent}) .FirstAsync()); @@ -106,6 +108,7 @@ public async Task CanSelectConstantsIntoObjectArrayAsync() const string name = "Julian"; var result = await (db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Id, pi, name, DateTime.MinValue}) .FirstAsync()); @@ -119,6 +122,7 @@ public async Task CanSelectConstantsIntoObjectArrayAsync() public async Task CanSelectPropertiesFromAssociationsIntoObjectArrayAsync() { var result = await (db.Users + .OrderBy(u => u.Id) .Select(u => new object[] {u.Id, u.Role.Name, u.Role.Entity.Output}) .FirstAsync()); @@ -131,6 +135,7 @@ public async Task CanSelectPropertiesFromAssociationsIntoObjectArrayAsync() public async Task CanSelectPropertiesIntoObjectArrayInPropertyAsync() { var result = await (db.Users + .OrderBy(u => u.Id) .Select(u => new { Cells = new object[] { u.Id, u.Name, new object[u.Id] } }) .FirstAsync()); @@ -144,6 +149,7 @@ public async Task CanSelectPropertiesIntoObjectArrayInPropertyAsync() public async Task CanSelectPropertiesIntoPropertyListInPropertyAsync() { var result = await (db.Users + .OrderBy(u => u.Id) .Select(u => new { Cells = new List { u.Id, u.Name, new object[u.Id] } }) .FirstAsync()); @@ -156,7 +162,7 @@ public async Task CanSelectPropertiesIntoPropertyListInPropertyAsync() [Test, Description("NH-2744")] public async Task CanSelectPropertiesIntoNestedObjectArraysAsync() { - var query = db.Users.Select(u => new object[] {"Root", new object[] {"Sub1", u.Name, new object[] {"Sub2", u.Name}}}); + var query = db.Users.OrderBy(u => u.Id).Select(u => new object[] {"Root", new object[] {"Sub1", u.Name, new object[] {"Sub2", u.Name}}}); var result = await (query.FirstAsync()); Assert.That(result.Length, Is.EqualTo(2));