Skip to content

Commit 0d3114a

Browse files
committed
Merge branch '6.0-gt-actions-preparation' into 6.0
2 parents 190d546 + 26660e4 commit 0d3114a

97 files changed

Lines changed: 2524 additions & 1359 deletions

File tree

Some content is hidden

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

ChangeLog/6.0.15_dev.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[main] SelectMany with result selector is explicitly not supported when applied after grouping (like .GroupBy(groupingFunc).SelectMany(grouping, selector))
2+
[main] Addressed issue of inability to delete colums (including such on rename or change type via column recreation) because of undeleted foreign key
3+
[mysql] Fixed milliseconds extraction for DateTime expressions in queries
4+
[mysql] Proper support for milliseconds v5.6+, already created columns will remain the same and new ones will have datetime(6) native type
5+
[bulkoperations] Fixed certain cases of wrong update statements for Firebird provider

Extensions/Xtensive.Orm.BulkOperations.Tests/Issues/JoinedTableAsSourceForDelete.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
using System.Linq;
22
using NUnit.Framework;
33
using Xtensive.Orm.BulkOperations.Tests.Issues.WrongAliassesIssue;
4+
using Xtensive.Orm.Tests;
45

56
namespace Xtensive.Orm.BulkOperations.Tests.Issues
67
{
78
public class JoinedTableAsSourceForOperationsCauseWrongAliases : BulkOperationBaseTest
89
{
10+
protected override void CheckRequirements() => Require.ProviderIsNot(StorageProvider.MySql);
11+
912
[Test]
1013
public void CustomerCase()
1114
{

Extensions/Xtensive.Orm.BulkOperations/Internals/SetOperation.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ private void AddComputedStaticExpression(AddValueContext addContext)
9898
QueryTranslationResult request = parent.GetRequest(parent.QueryProvider.CreateQuery<T>(selectExpression));
9999
var sqlSelect = ((SqlSelect)request.Query);
100100
SqlExpression ex = sqlSelect.OrderBy[0].Expression;
101+
if (ex is SqlCast sqlCast) {
102+
ex = sqlCast.Operand;
103+
}
101104
var placeholder = ex as SqlPlaceholder;
102105
if (placeholder == null)
103106
{

Extensions/Xtensive.Orm.Localization.Tests/AccessToLocalizationOnUpgrade.cs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
using Xtensive.Orm.Upgrade;
66
using Xtensive.Orm.Localization.Tests.Model.Upgrader;
77
using Xtensive.Orm.Tests;
8+
using English = Xtensive.Orm.Localization.Tests.WellKnownCultures.English;
9+
using Spanish = Xtensive.Orm.Localization.Tests.WellKnownCultures.Spanish;
810

911
namespace Xtensive.Orm.Localization.Tests.Model.Upgrader
1012
{
@@ -27,30 +29,23 @@ namespace Xtensive.Orm.Localization.Tests
2729
[TestFixture]
2830
public class AccessToLocalizationOnUpgrade
2931
{
30-
public static CultureInfo EnglishCulture = new CultureInfo("en-US");
31-
public static string EnglishTitle = "Welcome!";
32-
public static string EnglishContent = "My dear guests, welcome to my birthday party!";
33-
34-
public static CultureInfo SpanishCulture = new CultureInfo("es-ES");
35-
public static string SpanishTitle = "Bienvenido!";
36-
public static string SpanishContent = "Mis amigos mejores! Bienvenido a mi cumpleanos!";
37-
3832
[OneTimeSetUp]
3933
public void TestFixtureSetup()
4034
{
4135
var configuration = DomainConfigurationFactory.Create();
4236
configuration.Types.Register(typeof(ILocalizable<>).Assembly);
43-
configuration.Types.Register(typeof(LocalizationBaseTest).Assembly, typeof(LocalizationBaseTest).Namespace);
37+
configuration.Types.Register(typeof(Page).Assembly, typeof(Page).Namespace);
38+
configuration.UpgradeMode = DomainUpgradeMode.Recreate;
4439

4540
using (var domain = Domain.Build(configuration))
4641
using (var session = domain.OpenSession())
4742
using (var transaction = session.OpenTransaction()) {
4843
// populating database
4944
var welcomePage = new Page(session);
50-
welcomePage.Localizations[EnglishCulture].Title = EnglishTitle;
51-
welcomePage.Localizations[EnglishCulture].Content = EnglishContent;
52-
welcomePage.Localizations[SpanishCulture].Title = SpanishTitle;
53-
welcomePage.Localizations[SpanishCulture].Content = SpanishContent;
45+
welcomePage.Localizations[English.Culture].Title = English.Title;
46+
welcomePage.Localizations[English.Culture].Content = English.Content;
47+
welcomePage.Localizations[Spanish.Culture].Title = Spanish.Title;
48+
welcomePage.Localizations[Spanish.Culture].Content = Spanish.Content;
5449

5550
transaction.Complete();
5651
}
@@ -61,14 +56,14 @@ public void MainTest()
6156
{
6257
var configuration = DomainConfigurationFactory.Create();
6358
configuration.Types.Register(typeof (ILocalizable<>).Assembly);
64-
configuration.Types.Register(typeof (LocalizationBaseTest).Assembly, typeof (LocalizationBaseTest).Namespace);
59+
configuration.Types.Register(typeof (Page).Assembly, typeof (Page).Namespace);
6560
configuration.Types.Register(typeof (CustomUpgradeHandler));
6661
configuration.UpgradeMode = DomainUpgradeMode.PerformSafely;
6762

6863
using (var domain = Domain.Build(configuration))
6964
using (var session = domain.OpenSession())
7065
using (var transaction = session.OpenTransaction()) {
71-
_ = session.Query.All<Page>().FirstOrDefault(x => x.Title==EnglishTitle);
66+
_ = session.Query.All<Page>().FirstOrDefault(x => x.Title==English.Title);
7267
}
7368
}
7469
}

Extensions/Xtensive.Orm.Localization.Tests/CurrentThreadTest.cs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
using System.Threading;
33
using NUnit.Framework;
44
using Xtensive.Orm.Localization.Tests.Model;
5+
using English = Xtensive.Orm.Localization.Tests.WellKnownCultures.English;
6+
using Spanish = Xtensive.Orm.Localization.Tests.WellKnownCultures.Spanish;
57

68
namespace Xtensive.Orm.Localization.Tests
79
{
@@ -16,14 +18,14 @@ public void MainTest()
1618
var welcomePage = new Page(session);
1719

1820
// Editing localizable properties through CurrentThread.CurrentCulture
19-
Thread.CurrentThread.CurrentCulture = EnglishCulture;
20-
welcomePage.Title = EnglishTitle;
21-
welcomePage.Content = EnglishContent;
21+
Thread.CurrentThread.CurrentCulture = English.Culture;
22+
welcomePage.Title = English.Title;
23+
welcomePage.Content = English.Content;
2224

2325
// The same entity, the same properties, but another culture
24-
Thread.CurrentThread.CurrentCulture = SpanishCulture;
25-
welcomePage.Title = SpanishTitle;
26-
welcomePage.Content = SpanishContent;
26+
Thread.CurrentThread.CurrentCulture = Spanish.Culture;
27+
welcomePage.Title = Spanish.Title;
28+
welcomePage.Content = Spanish.Content;
2729

2830
ts.Complete();
2931
}
@@ -37,13 +39,13 @@ public void MainTest()
3739
Assert.AreEqual(2, session.Query.All<PageLocalization>().Count());
3840

3941
var page = session.Query.All<Page>().First();
40-
Thread.CurrentThread.CurrentCulture = EnglishCulture;
41-
Assert.AreEqual(EnglishTitle, page.Title);
42-
Assert.AreEqual(EnglishContent, page.Content);
42+
Thread.CurrentThread.CurrentCulture = English.Culture;
43+
Assert.AreEqual(English.Title, page.Title);
44+
Assert.AreEqual(English.Content, page.Content);
4345

44-
Thread.CurrentThread.CurrentCulture = SpanishCulture;
45-
Assert.AreEqual(SpanishTitle, page.Title);
46-
Assert.AreEqual(SpanishContent, page.Content);
46+
Thread.CurrentThread.CurrentCulture = Spanish.Culture;
47+
Assert.AreEqual(Spanish.Title, page.Title);
48+
Assert.AreEqual(Spanish.Content, page.Content);
4749

4850
ts.Complete();
4951
}

Extensions/Xtensive.Orm.Localization.Tests/DirectEditTest.cs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System.Linq;
22
using NUnit.Framework;
33
using Xtensive.Orm.Localization.Tests.Model;
4+
using English = Xtensive.Orm.Localization.Tests.WellKnownCultures.English;
5+
using Spanish = Xtensive.Orm.Localization.Tests.WellKnownCultures.Spanish;
46

57
namespace Xtensive.Orm.Localization.Tests
68
{
@@ -15,10 +17,10 @@ public void MainTest()
1517
var welcomePage = new Page(session);
1618

1719
// Editing localizations directly
18-
welcomePage.Localizations[EnglishCulture].Title = EnglishTitle;
19-
welcomePage.Localizations[EnglishCulture].Content = EnglishContent;
20-
welcomePage.Localizations[SpanishCulture].Title = SpanishTitle;
21-
welcomePage.Localizations[SpanishCulture].Content = SpanishContent;
20+
welcomePage.Localizations[English.Culture].Title = English.Title;
21+
welcomePage.Localizations[English.Culture].Content = English.Content;
22+
welcomePage.Localizations[Spanish.Culture].Title = Spanish.Title;
23+
welcomePage.Localizations[Spanish.Culture].Content = Spanish.Content;
2224

2325
ts.Complete();
2426
}
@@ -31,11 +33,11 @@ public void MainTest()
3133
Assert.AreEqual(2, session.Query.All<PageLocalization>().Count());
3234

3335
var page = session.Query.All<Page>().First();
34-
Assert.AreEqual(EnglishTitle, page.Localizations[EnglishCulture].Title);
35-
Assert.AreEqual(EnglishContent, page.Localizations[EnglishCulture].Content);
36+
Assert.AreEqual(English.Title, page.Localizations[English.Culture].Title);
37+
Assert.AreEqual(English.Content, page.Localizations[English.Culture].Content);
3638

37-
Assert.AreEqual(SpanishTitle, page.Localizations[SpanishCulture].Title);
38-
Assert.AreEqual(SpanishContent, page.Localizations[SpanishCulture].Content);
39+
Assert.AreEqual(Spanish.Title, page.Localizations[Spanish.Culture].Title);
40+
Assert.AreEqual(Spanish.Content, page.Localizations[Spanish.Culture].Content);
3941

4042
ts.Complete();
4143
}

Extensions/Xtensive.Orm.Localization.Tests/LocalizationBaseTest.cs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,18 @@
22
using NUnit.Framework;
33
using Xtensive.Orm.Configuration;
44
using Xtensive.Orm.Tests;
5+
using Xtensive.Orm.Localization.Tests.Model;
56

67
namespace Xtensive.Orm.Localization.Tests
78
{
89
[TestFixture]
910
public abstract class LocalizationBaseTest : AutoBuildTest
1011
{
11-
public static CultureInfo EnglishCulture = new CultureInfo("en-US");
12-
public static string EnglishTitle = "Welcome!";
13-
public static string EnglishContent = "My dear guests, welcome to my birthday party!";
14-
15-
public static CultureInfo SpanishCulture = new CultureInfo("es-ES");
16-
public static string SpanishTitle = "Bienvenido!";
17-
public static string SpanishContent = "Mis amigos mejores! Bienvenido a mi cumpleanos!";
18-
1912
protected override DomainConfiguration BuildConfiguration()
2013
{
2114
var configuration = base.BuildConfiguration();
2215
configuration.Types.Register(typeof(ILocalizable<>).Assembly);
23-
configuration.Types.Register(typeof(LocalizationBaseTest).Assembly, typeof(LocalizationBaseTest).Namespace);
16+
configuration.Types.Register(typeof(Page).Assembly, typeof(Page).Namespace);
2417
return configuration;
2518
}
2619
}

Extensions/Xtensive.Orm.Localization.Tests/LocalizationScopeTest.cs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System.Linq;
22
using NUnit.Framework;
33
using Xtensive.Orm.Localization.Tests.Model;
4+
using English = Xtensive.Orm.Localization.Tests.WellKnownCultures.English;
5+
using Spanish = Xtensive.Orm.Localization.Tests.WellKnownCultures.Spanish;
46

57
namespace Xtensive.Orm.Localization.Tests
68
{
@@ -15,15 +17,15 @@ public void MainTest()
1517
var welcomePage = new Page(session);
1618

1719
// Editing localizable properties through localization scope
18-
using (new LocalizationScope(EnglishCulture)) {
19-
welcomePage.Title = EnglishTitle;
20-
welcomePage.Content = EnglishContent;
20+
using (new LocalizationScope(English.Culture)) {
21+
welcomePage.Title = English.Title;
22+
welcomePage.Content = English.Content;
2123
}
2224

2325
// The same entity, the same properties, but another culture
24-
using (new LocalizationScope(SpanishCulture)) {
25-
welcomePage.Title = SpanishTitle;
26-
welcomePage.Content = SpanishContent;
26+
using (new LocalizationScope(Spanish.Culture)) {
27+
welcomePage.Title = Spanish.Title;
28+
welcomePage.Content = Spanish.Content;
2729
}
2830

2931
ts.Complete();
@@ -37,14 +39,14 @@ public void MainTest()
3739
Assert.AreEqual(2, session.Query.All<PageLocalization>().Count());
3840

3941
var page = session.Query.All<Page>().First();
40-
using (new LocalizationScope(EnglishCulture)) {
41-
Assert.AreEqual(EnglishTitle, page.Title);
42-
Assert.AreEqual(EnglishContent, page.Content);
42+
using (new LocalizationScope(English.Culture)) {
43+
Assert.AreEqual(English.Title, page.Title);
44+
Assert.AreEqual(English.Content, page.Content);
4345
}
4446

45-
using (new LocalizationScope(SpanishCulture)) {
46-
Assert.AreEqual(SpanishTitle, page.Title);
47-
Assert.AreEqual(SpanishContent, page.Content);
47+
using (new LocalizationScope(Spanish.Culture)) {
48+
Assert.AreEqual(Spanish.Title, page.Title);
49+
Assert.AreEqual(Spanish.Content, page.Content);
4850
}
4951

5052
ts.Complete();

0 commit comments

Comments
 (0)