Skip to content

Commit deeaff6

Browse files
Re-enable DB2 for iSeries support (#120)
Co-authored-by: Marcus Hellsten <[email protected]>
1 parent fddb071 commit deeaff6

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

Directory.Packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<PackageVersion Include="FirebirdSql.Data.FirebirdClient" Version="10.3.1" />
3838
<PackageVersion Include="Npgsql" Version="8.0.3" />
3939
<PackageVersion Include="Octonica.ClickHouseClient" Version="3.1.3" />
40-
<!--<PackageVersion Include="linq2db4iSeries" Version="5.1.0" />-->
40+
<PackageVersion Include="linq2db4iSeries" Version="5.4.0" />
4141

4242
<PackageVersion Include="Microsoft.SqlServer.Types" Version="160.1000.6" />
4343
</ItemGroup>

Source/DatabaseProviders/DB2Provider.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using LinqToDB.Data;
22
using System.Data.Common;
3+
using LinqToDB.DataProvider.DB2iSeries;
4+
35
#if NETFRAMEWORK
46
using IBM.Data.DB2;
57
#else
@@ -15,13 +17,13 @@ internal sealed class DB2Provider : DatabaseProviderBase
1517
new (ProviderName.DB2LUW , "DB2 for Linux, UNIX and Windows (LUW)"),
1618
// zOS provider not tested at all as we don't have access to database instance
1719
new (ProviderName.DB2zOS , "DB2 for z/OS" ),
18-
//new (DB2iSeriesProviderName.DB2, "DB2 for i (iSeries)" ),
20+
new (DB2iSeriesProviderName.DB2, "DB2 for i (iSeries)" ),
1921
];
2022

2123
public DB2Provider()
22-
//: base(ProviderName.DB2, "IBM DB2 (LUW, z/OS or iSeries)", _providers)
23-
: base(ProviderName.DB2, "IBM DB2 (LUW or z/OS)", _providers)
24+
: base(ProviderName.DB2, "IBM DB2 (LUW, z/OS or iSeries)", _providers)
2425
{
26+
DataConnection.AddProviderDetector(DB2iSeriesTools.ProviderDetector);
2527
}
2628

2729
public override void ClearAllPools(string providerName)
@@ -35,7 +37,7 @@ public override void ClearAllPools(string providerName)
3537
{
3638
ProviderName.DB2LUW => "SELECT MAX(TIME) FROM (SELECT MAX(ALTER_TIME) AS TIME FROM SYSCAT.ROUTINES UNION SELECT MAX(ALTER_TIME) AS TIME FROM SYSCAT.TABLES)",
3739
ProviderName.DB2zOS => "SELECT MAX(TIME) FROM (SELECT MAX(ALTEREDTS) AS TIME FROM SYSIBM.SYSROUTINES UNION SELECT MAX(ALTEREDTS) AS TIME FROM SYSIBM.SYSTABLES)",
38-
//DB2iSeriesProviderName.DB2 => "SELECT MAX(TIME) FROM (SELECT MAX(LAST_ALTERED) AS TIME FROM QSYS2.SYSROUTINES UNION SELECT MAX(ROUTINE_CREATED) AS TIME FROM QSYS2.SYSROUTINES UNION SELECT MAX(LAST_ALTERED_TIMESTAMP) AS TIME FROM QSYS2.SYSTABLES)",
40+
DB2iSeriesProviderName.DB2 => "SELECT MAX(TIME) FROM (SELECT MAX(LAST_ALTERED) AS TIME FROM QSYS2.SYSROUTINES UNION SELECT MAX(ROUTINE_CREATED) AS TIME FROM QSYS2.SYSROUTINES UNION SELECT MAX(LAST_ALTERED_TIMESTAMP) AS TIME FROM QSYS2.SYSTABLES)",
3941
_ => throw new LinqToDBLinqPadException($"Unknown DB2 provider '{settings.Connection.Provider}'")
4042
};
4143

Source/linq2db.LINQPad.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
<PackageReference Include="Microsoft.Data.SqlClient" />
6262
<PackageReference Include="Npgsql" />
6363
<PackageReference Include="ClickHouse.Client" />
64-
<!--<PackageReference Include="linq2db4iSeries" />-->
64+
<PackageReference Include="linq2db4iSeries" />
6565
<PackageReference Include="Microsoft.SqlServer.Types" />
6666

6767
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" />

0 commit comments

Comments
 (0)