File tree Expand file tree Collapse file tree 9 files changed +30
-11
lines changed
Tools/hbm2ddl/SchemaMetadataUpdaterTest
Tools/hbm2ddl/SchemaMetadataUpdaterTest Expand file tree Collapse file tree 9 files changed +30
-11
lines changed Original file line number Diff line number Diff line change 1616 CONNECTION_STRING : " DataSource=localhost;Database=nhibernate;User=SYSDBA;Password=nhibernate;charset=utf8;"
1717 - DB : MySQL
1818 CONNECTION_STRING : " Server=localhost;Uid=root;Password=nhibernate;Database=nhibernate;Old Guids=True;"
19+ - DB : Oracle
20+ CONNECTION_STRING : " User ID=nhibernate;Password=nhibernate;Metadata Pooling=false;Self Tuning=false;Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XEPDB1)))"
1921 - DB : SQLite
2022 runs-on : ubuntu-latest
2123 continue-on-error : ${{matrix.ALLOW_FAILURE == true}}
4547 run : |
4648 docker run --name firebird -e EnableWireCrypt=true -e FIREBIRD_USER=nhibernate -e FIREBIRD_PASSWORD=nhibernate -e ISC_PASSWORD=nhibernate -e FIREBIRD_DATABASE=nhibernate -p 3050:3050 -d jacobalberty/firebird:v3.0
4749
50+ - name : Set up Oracle
51+ if : matrix.DB == 'Oracle'
52+ run : |
53+ docker run -d -p 1521:1521 -e APP_USER=nhibernate -e APP_USER_PASSWORD=nhibernate -e ORACLE_PASSWORD=nhibernate gvenzl/oracle-xe:18-slim
54+
4855 - uses : actions/checkout@v2
4956 - name : Setup .NET
5057 uses : actions/setup-dotnet@v1.8.0
Original file line number Diff line number Diff line change @@ -62,6 +62,11 @@ Task Set-Configuration {
6262 ' SqlServer2012' = @ {
6363 ' connection.connection_string' = ' Server=(local)\SQL2017;User ID=sa;Password=Password12!;initial catalog=nhibernate;' ;
6464 ' dialect' = ' NHibernate.Dialect.MsSql2012Dialect'
65+ };
66+ ' Oracle' = @ {
67+ ' connection.connection_string' = ' User ID=nhibernate;Password=nhibernate;Metadata Pooling=false;Self Tuning=false;Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XEPDB1)))' ;
68+ ' connection.driver_class' = ' NHibernate.Driver.OracleManagedDataClientDriver' ;
69+ ' dialect' = ' NHibernate.Dialect.Oracle10gDialect'
6570 }
6671 }
6772 # Settings for current build
Original file line number Diff line number Diff line change @@ -20,8 +20,11 @@ public class FixtureAsync : BugTestCase
2020 {
2121 protected override bool AppliesTo ( Dialect . Dialect dialect )
2222 {
23- // Firebird has issues with comments containing apostrophes
24- return ! ( dialect is FirebirdDialect ) ;
23+ return
24+ // Firebird has issues with comments containing apostrophes
25+ ! ( dialect is FirebirdDialect )
26+ // GH-2853: Oracle client bug: throws Oracle.ManagedDataAccess.Client.OracleException : ORA-01008: not all variables bound
27+ && ! ( dialect is Oracle8iDialect ) ;
2528 }
2629
2730 protected override void Configure ( NHibernate . Cfg . Configuration configuration )
Original file line number Diff line number Diff line change @@ -49,7 +49,7 @@ public async Task without_filterAsync()
4949 using ( var tx = session . BeginTransaction ( ) )
5050 {
5151 var q1 =
52- "from Invoice i where i.Mode='a' and i.Category=:cat and not exists (from Invoice i2 where i2.Mode='a' and i2.Category=:cat and i2.Num=i.Num+1)" ;
52+ "from Invoice i where i.Mode='a' and i.Category=:cat and not exists (from Invoice i2 where i2.Mode='a' and i2.Category=:cat and i2.Num=i.Num+1) order by i.Num " ;
5353 var list = await ( session . CreateQuery ( q1 )
5454 . SetParameter ( "cat" , 10 )
5555 . ListAsync < Invoice > ( ) ) ;
@@ -70,7 +70,7 @@ public async Task with_filterAsync()
7070 session . EnableFilter ( "modeFilter" ) . SetParameter ( "currentMode" , "a" ) ;
7171
7272 var q1 =
73- "from Invoice i where i.Category=:cat and not exists (from Invoice i2 where i2.Category=:cat and i2.Num=i.Num+1)" ;
73+ "from Invoice i where i.Category=:cat and not exists (from Invoice i2 where i2.Category=:cat and i2.Num=i.Num+1) order by i.Num " ;
7474 var list = await ( session . CreateQuery ( q1 )
7575 . SetParameter ( "cat" , 10 )
7676 . ListAsync < Invoice > ( ) ) ;
Original file line number Diff line number Diff line change @@ -254,7 +254,7 @@ public async Task WhenConfiguredOnlyExplicitAutoQuoteAsync()
254254 // Test uses the default dialect driver, which will not accept Odbc or OleDb connection strings.
255255 if ( typeof ( OdbcDriver ) . IsAssignableFrom ( driverClass ) || typeof ( OleDbDriver ) . IsAssignableFrom ( driverClass ) )
256256 Assert . Ignore ( "Test is not compatible with OleDb or ODBC driver connection strings" ) ;
257- var configuredDialect = Dialect . Dialect . GetDialect ( ) ;
257+ var configuredDialect = Dialect . Dialect . GetDialect ( configuration . Properties ) ;
258258 if ( ! configuredDialect . DefaultProperties . ContainsKey ( Environment . ConnectionDriver ) )
259259 {
260260 Assert . Ignore ( GetType ( ) + " does not apply to " + configuredDialect ) ;
Original file line number Diff line number Diff line change @@ -9,8 +9,11 @@ public class Fixture : BugTestCase
99 {
1010 protected override bool AppliesTo ( Dialect . Dialect dialect )
1111 {
12- // Firebird has issues with comments containing apostrophes
13- return ! ( dialect is FirebirdDialect ) ;
12+ return
13+ // Firebird has issues with comments containing apostrophes
14+ ! ( dialect is FirebirdDialect )
15+ // GH-2853: Oracle client bug: throws Oracle.ManagedDataAccess.Client.OracleException : ORA-01008: not all variables bound
16+ && ! ( dialect is Oracle8iDialect ) ;
1417 }
1518
1619 protected override void Configure ( NHibernate . Cfg . Configuration configuration )
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ public void without_filter()
3838 using ( var tx = session . BeginTransaction ( ) )
3939 {
4040 var q1 =
41- "from Invoice i where i.Mode='a' and i.Category=:cat and not exists (from Invoice i2 where i2.Mode='a' and i2.Category=:cat and i2.Num=i.Num+1)" ;
41+ "from Invoice i where i.Mode='a' and i.Category=:cat and not exists (from Invoice i2 where i2.Mode='a' and i2.Category=:cat and i2.Num=i.Num+1) order by i.Num " ;
4242 var list = session . CreateQuery ( q1 )
4343 . SetParameter ( "cat" , 10 )
4444 . List < Invoice > ( ) ;
@@ -59,7 +59,7 @@ public void with_filter()
5959 session . EnableFilter ( "modeFilter" ) . SetParameter ( "currentMode" , "a" ) ;
6060
6161 var q1 =
62- "from Invoice i where i.Category=:cat and not exists (from Invoice i2 where i2.Category=:cat and i2.Num=i.Num+1)" ;
62+ "from Invoice i where i.Category=:cat and not exists (from Invoice i2 where i2.Category=:cat and i2.Num=i.Num+1) order by i.Num " ;
6363 var list = session . CreateQuery ( q1 )
6464 . SetParameter ( "cat" , 10 )
6565 . List < Invoice > ( ) ;
Original file line number Diff line number Diff line change 7474 <Reference Include =" System.Threading.Tasks" />
7575 <Reference Include =" System.Data.OracleClient" />
7676 <PackageReference Include =" Microsoft.SqlServer.Compact" Version =" 4.0.8876.1" />
77- <PackageReference Include =" Oracle.ManagedDataAccess" Version =" 12.1.2400 " />
77+ <PackageReference Include =" Oracle.ManagedDataAccess" Version =" 19.11.0 " />
7878 </ItemGroup >
7979 <ItemGroup Condition =" '$(TargetFramework)'=='netcoreapp2.0'" >
8080 <PackageReference Include =" System.CodeDom" Version =" 4.7.0" />
8181 <PackageReference Include =" System.Data.SqlClient" Version =" 4.8.2" />
8282 <PackageReference Include =" System.Data.OracleClient" Version =" 1.0.8" />
83+ <PackageReference Include =" Oracle.ManagedDataAccess.Core" Version =" 2.19.110" />
8384 <PackageReference Include =" System.Data.Odbc" Version =" 4.7.0" />
8485 <PackageReference Include =" System.Net.NameResolution" Version =" 4.3.0" />
8586 <PackageReference Include =" NUnitLite" Version =" 3.13.2" />
Original file line number Diff line number Diff line change @@ -259,7 +259,7 @@ public void WhenConfiguredOnlyExplicitAutoQuote()
259259 // Test uses the default dialect driver, which will not accept Odbc or OleDb connection strings.
260260 if ( typeof ( OdbcDriver ) . IsAssignableFrom ( driverClass ) || typeof ( OleDbDriver ) . IsAssignableFrom ( driverClass ) )
261261 Assert . Ignore ( "Test is not compatible with OleDb or ODBC driver connection strings" ) ;
262- var configuredDialect = Dialect . Dialect . GetDialect ( ) ;
262+ var configuredDialect = Dialect . Dialect . GetDialect ( configuration . Properties ) ;
263263 if ( ! configuredDialect . DefaultProperties . ContainsKey ( Environment . ConnectionDriver ) )
264264 {
265265 Assert . Ignore ( GetType ( ) + " does not apply to " + configuredDialect ) ;
You can’t perform that action at this time.
0 commit comments