From: Michael D. <mik...@us...> - 2004-05-18 05:02:41
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27058/NHibernate/Driver Modified Files: ByteFXDataDriver.cs DriverBase.cs FirebirdDriver.cs IDriver.cs OdbcDriver.cs OleDbDriver.cs SqlClientDriver.cs Added Files: OracleClientDriver.cs Log Message: Minor modification to how certain Connection & Command classes are instantiated. More code moved to DriverBase. Added Oracle DataProvider to project. Thanks to feilng for the contribution. --- NEW FILE: OracleClientDriver.cs --- using System; using System.Data; using System.Reflection; namespace NHibernate.Driver { /// <summary> /// A NHibernate Driver for using the Oracle DataProvider /// <see cref="System.Data.OracleClient.OracleConnection"/>. /// </summary> public class OracleClientDriver: DriverBase { private System.Type connectionType; private System.Type commandType; public OracleClientDriver() { connectionType = System.Type.GetType("System.Data.OracleClient.OracleConnection, System.Data.OracleClient, version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"); commandType = System.Type.GetType("System.Data.OracleClient.OracleCommand, System.Data.OracleClient, version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"); } public override System.Type CommandType { get { return commandType; } } public override System.Type ConnectionType { get { return connectionType; } } public override bool UseNamedPrefixInSql { get {return true;} } public override bool UseNamedPrefixInParameter { get {return true;} } public override string NamedPrefix { get {return ":";} } } } Index: SqlClientDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/SqlClientDriver.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SqlClientDriver.cs 6 May 2004 13:32:51 -0000 1.2 --- SqlClientDriver.cs 18 May 2004 05:02:27 -0000 1.3 *************** *** 13,16 **** --- 13,26 ---- } + public override System.Type CommandType + { + get { return typeof(System.Data.SqlClient.SqlCommand); } + } + + public override System.Type ConnectionType + { + get { return typeof(System.Data.SqlClient.SqlConnection); } + } + public override IDbConnection CreateConnection() { Index: OleDbDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/OleDbDriver.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** OleDbDriver.cs 30 Apr 2004 14:06:46 -0000 1.3 --- OleDbDriver.cs 18 May 2004 05:02:27 -0000 1.4 *************** *** 16,19 **** --- 16,29 ---- } + public override System.Type CommandType + { + get { return typeof(System.Data.OleDb.OleDbCommand); } + } + + public override System.Type ConnectionType + { + get { return typeof(System.Data.OleDb.OleDbConnection); } + } + public override IDbConnection CreateConnection() { Index: ByteFXDataDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/ByteFXDataDriver.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ByteFXDataDriver.cs 21 Mar 2004 00:47:07 -0000 1.1 --- ByteFXDataDriver.cs 18 May 2004 05:02:27 -0000 1.2 *************** *** 34,45 **** } ! public override IDbConnection CreateConnection() { ! return (IDbConnection) Activator.CreateInstance(connectionType); } ! public override IDbCommand CreateCommand() { ! return (IDbCommand) Activator.CreateInstance(commandType); } --- 34,45 ---- } ! public override System.Type CommandType { ! get { return commandType; } } ! public override System.Type ConnectionType { ! get { return connectionType; } } Index: IDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/IDriver.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IDriver.cs 6 May 2004 13:13:12 -0000 1.2 --- IDriver.cs 18 May 2004 05:02:27 -0000 1.3 *************** *** 38,41 **** --- 38,51 ---- /// <summary> + /// The Type used to create an IDbConnection + /// </summary> + System.Type ConnectionType { get; } + + /// <summary> + /// The Type used to create an IDbCommand + /// </summary> + System.Type CommandType { get; } + + /// <summary> /// Creates an uninitialized IDbConnection object for the specific Driver /// </summary> Index: FirebirdDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/FirebirdDriver.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FirebirdDriver.cs 16 Mar 2004 16:46:12 -0000 1.2 --- FirebirdDriver.cs 18 May 2004 05:02:27 -0000 1.3 *************** *** 19,30 **** } ! public override IDbConnection CreateConnection() { ! return (IDbConnection) Activator.CreateInstance(connectionType); } ! public override IDbCommand CreateCommand() { ! return (IDbCommand) Activator.CreateInstance(commandType); } --- 19,30 ---- } ! public override System.Type CommandType { ! get { return commandType; } } ! public override System.Type ConnectionType { ! get { return connectionType; } } Index: DriverBase.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/DriverBase.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DriverBase.cs 6 May 2004 13:32:51 -0000 1.3 --- DriverBase.cs 18 May 2004 05:02:27 -0000 1.4 *************** *** 17,23 **** #region IDriver Members ! public abstract IDbConnection CreateConnection(); ! public abstract IDbCommand CreateCommand(); public abstract bool UseNamedPrefixInSql {get;} --- 17,32 ---- #region IDriver Members ! public abstract System.Type CommandType {get; } ! public abstract System.Type ConnectionType {get; } ! public virtual IDbConnection CreateConnection() ! { ! return (IDbConnection) Activator.CreateInstance(ConnectionType); ! } ! ! public virtual IDbCommand CreateCommand() ! { ! return (IDbCommand) Activator.CreateInstance(CommandType); ! } public abstract bool UseNamedPrefixInSql {get;} Index: OdbcDriver.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Driver/OdbcDriver.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** OdbcDriver.cs 30 Apr 2004 14:06:46 -0000 1.3 --- OdbcDriver.cs 18 May 2004 05:02:27 -0000 1.4 *************** *** 16,19 **** --- 16,29 ---- } + public override System.Type CommandType + { + get { return typeof(System.Data.Odbc.OdbcCommand); } + } + + public override System.Type ConnectionType + { + get { return typeof(System.Data.Odbc.OdbcConnection); } + } + public override IDbConnection CreateConnection() { |