Skip to content

Commit 8de8767

Browse files
authored
Merge pull request #86 from LinqToDB4iSeries/V6.3.0
Upgraded to linq2db v6.3.0
2 parents b590016 + 36d0d4c commit 8de8767

122 files changed

Lines changed: 7289 additions & 477 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.

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
22
<PropertyGroup>
3-
<Version>6.2.1</Version>
3+
<Version>6.3.0</Version>
44

55
<Description>LINQ to DB is a data access technology that provides a run-time infrastructure for managing relational data as objects. This package is a provider for DB2 on the IBM iSeries.</Description>
66
<Authors>Roy Chase, Nikos Sarris</Authors>

Directory.Packages.props

Lines changed: 46 additions & 36 deletions
Large diffs are not rendered by default.

Source/ISeriesProvider/DB2iSeriesDataProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ public override void SetParameter(DataConnection dataConnection, DbParameter par
337337

338338
case DataType.DateTime2:
339339
case DataType.DateTime:
340+
case DataType.DateTimeOffset:
340341

341342
//Sanitize DataType based on provided DbType
342343
dataType = dataType.WithDataType(dataType.DbType?.ToUpper() switch

Source/ISeriesProvider/DB2iSeriesMultipleRowsHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ internal class DB2iSeriesMultipleRowsHelper<T> : MultipleRowsHelper<T>
1212
private readonly DB2iSeriesSqlProviderFlags db2ISeriesSqlProviderFlags;
1313

1414
public DB2iSeriesMultipleRowsHelper(ITable<T> table, DataOptions options, DB2iSeriesSqlProviderFlags db2ISeriesSqlProviderFlags)
15-
: base(table, options)
15+
: base(table, options, null)
1616
{
1717
this.db2ISeriesSqlProviderFlags = db2ISeriesSqlProviderFlags;
1818
}

Source/ISeriesProvider/DB2iSeriesSqlBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ internal partial class DB2iSeriesSqlBuilder : BasicSqlBuilder<DB2iSeriesOptions>
2121
public DB2iSeriesSqlProviderFlags DB2iSeriesSqlProviderFlags { get; }
2222

2323
public override bool CteFirst => false;
24+
protected override ConcatBuildStyle ConcatStyle => ConcatBuildStyle.Pipes;
2425

2526
public DB2iSeriesSqlBuilder(
2627
DB2iSeriesDataProvider provider,

Source/ISeriesProvider/DB2iSeriesSqlExpressionConvertVisitor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public DB2iSeriesSqlExpressionConvertVisitor(bool allowModify) : base(allowModif
1414
}
1515

1616
protected override bool SupportsNullInColumn => false;
17+
protected override bool ConcatRequiresExplicitStringCast => false;
1718

1819
public override string[] LikeCharactersToEscape => DB2LikeCharactersToEscape;
1920

@@ -37,7 +38,6 @@ public override IQueryElement ConvertSqlBinaryExpression(SqlBinaryExpression ele
3738
case "&": return new SqlFunction(element.Type, "BitAnd", element.Expr1, element.Expr2);
3839
case "|": return new SqlFunction(element.Type, "BitOr", element.Expr1, element.Expr2);
3940
case "^": return new SqlFunction(element.Type, "BitXor", element.Expr1, element.Expr2);
40-
case "+": return element.SystemType == typeof(string) ? new SqlBinaryExpression(element.SystemType, element.Expr1, "||", element.Expr2, element.Precedence) : element;
4141
}
4242

4343
return base.ConvertSqlBinaryExpression(element);

Tests/Base/Asserts/ShouldlyMissingExtensions.cs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,20 @@
22
using System.Collections.Generic;
33
using System.Runtime.CompilerServices;
44

5-
using NUnit.Framework;
6-
75
namespace Shouldly
86
{
97
public static class ShouldlyMissingExtensions
108
{
119
[MethodImpl(MethodImplOptions.NoInlining)]
1210
public static void ShouldContain(this string actual, string expected, ITimesConstraint times)
1311
{
14-
if (times.Type == TimesType.Exactly)
15-
{
16-
Assert.That(CountInString(actual, expected), Is.EqualTo(times.Times));
17-
}
18-
else if (times.Type == TimesType.AtLeast)
19-
{
20-
Assert.That(CountInString(actual, expected), Is.GreaterThanOrEqualTo(times.Times));
21-
}
22-
else
12+
var count = CountInString(actual, expected);
13+
14+
switch (times.Type)
2315
{
24-
Assert.Fail($"Unknown times constraint: {times.Type}");
16+
case TimesType.Exactly: count.ShouldBe(times.Times); break;
17+
case TimesType.AtLeast: count.ShouldBeGreaterThanOrEqualTo(times.Times); break;
18+
default: throw new ShouldAssertException($"Unknown times constraint: {times.Type}");
2519
}
2620

2721
static int CountInString(string str, string fragment)
@@ -41,7 +35,7 @@ static int CountInString(string str, string fragment)
4135
public static void ShouldNotContainAny(this string actual, params string[] notFound)
4236
{
4337
foreach (var str in notFound)
44-
Assert.That(actual, Does.Not.Contain(str));
38+
actual.ShouldNotContain(str);
4539
}
4640

4741
public static void ShouldAllSatisfy<T>(this IEnumerable<T> collection, Action<T> asserts)

Tests/Base/Attributes/FeatureSources/AllJoinsSourceAttribute.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public sealed class AllJoinsSourceAttribute : IncludeDataSourcesAttribute
1313
TestProvName.AllFirebird,
1414
TestProvName.AllPostgreSQL,
1515
TestProvName.AllClickHouse,
16+
TestProvName.AllDuckDB,
1617
}.SelectMany(_ => _.Split(',')).ToArray();
1718

1819
public AllJoinsSourceAttribute(params string[] excludedProviders)

Tests/Base/Attributes/FeatureSources/CteContextSourceAttribute.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public class CteContextSourceAttribute : IncludeDataSourcesAttribute
2121
TestProvName.AllMySqlWithCTE,
2222
TestProvName.AllInformix,
2323
TestProvName.AllSapHana,
24+
TestProvName.AllDuckDB,
2425
}.SelectMany(_ => _.Split(',')).ToArray();
2526

2627
public CteContextSourceAttribute() : this(true)

Tests/Base/Attributes/FeatureSources/IdentityInsertMergeDataContextSourceAttribute.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public sealed class IdentityInsertMergeDataContextSourceAttribute : IncludeDataS
1111
TestProvName.AllSybase,
1212
TestProvName.AllSqlServer2008Plus,
1313
TestProvName.AllPostgreSQL15Plus,
14+
TestProvName.AllDuckDB,
1415
}.SelectMany(_ => _.Split(',')).ToArray();
1516

1617
public IdentityInsertMergeDataContextSourceAttribute(params string[] except)

0 commit comments

Comments
 (0)