Author: gbayon
Date: Mon Sep 19 10:53:22 2005
New Revision: 290217
URL: http://svn.apache.org/viewcvs?rev=290217&view=rev
Log:
- Allow BeginTransaction to use a specific connectionstrings
Modified:
ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs
Modified: ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs?rev=290217&r1=290216&r2=290217&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs Mon Sep 19 10:53:22
2005
@@ -89,17 +89,39 @@
void BeginTransaction();
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ void BeginTransaction(string connectionString);
+
+ /// <summary>
/// Begins a database transaction
/// </summary>
/// <param name="openConnection">Open a connection.</param>
void BeginTransaction(bool openConnection);
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ void BeginTransaction(string connectionString, IsolationLevel
isolationLevel);
+
+ /// <summary>
/// Open a connection and begin a transaction at the data
source
/// with the specified IsolationLevel value.
/// </summary>
/// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
void BeginTransaction(IsolationLevel isolationLevel);
+
+ /// <summary>
+ /// Begins a transaction on the current connection
+ /// with the specified IsolationLevel value.
+ /// </summary>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="openConnection">Open a connection.</param>
+ void BeginTransaction(string connectionString, bool
openConnection, IsolationLevel isolationLevel);
/// <summary>
/// Begins a transaction on the current connection
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs?rev=290217&r1=290216&r2=290217&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs Mon Sep 19
10:53:22 2005
@@ -115,6 +115,12 @@
public abstract void BeginTransaction();
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public abstract void BeginTransaction(string connectionString);
+
+ /// <summary>
/// Begins a database transaction
/// </summary>
/// <param name="openConnection">Open a connection.</param>
@@ -127,12 +133,28 @@
public abstract void BeginTransaction(IsolationLevel
isolationLevel);
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ public abstract void BeginTransaction(string connectionString,
IsolationLevel isolationLevel);
+
+ /// <summary>
/// Begins a transaction on the current connection
/// with the specified IsolationLevel value.
/// </summary>
/// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
/// <param name="openConnection">Open a connection.</param>
public abstract void BeginTransaction(bool openConnection,
IsolationLevel isolationLevel);
+
+ /// <summary>
+ /// Begins a transaction on the current connection
+ /// with the specified IsolationLevel value.
+ /// </summary>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="openConnection">Open a connection.</param>
+ public abstract void BeginTransaction(string connectionString,
bool openConnection, IsolationLevel isolationLevel);
/// <summary>
/// Commits the database transaction.
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs?rev=290217&r1=290216&r2=290217&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
Mon Sep 19 10:53:22 2005
@@ -194,10 +194,18 @@
/// </remarks>
public override void BeginTransaction()
{
+ this.BeginTransaction( _dataSource.ConnectionString );
+ }
+ /// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public override void BeginTransaction(string connectionString)
+ {
if (_connection == null || _connection.State !=
ConnectionState.Open)
{
- OpenConnection();
+ this.OpenConnection( connectionString );
}
_transaction = _connection.BeginTransaction();
if (_logger.IsDebugEnabled)
@@ -238,16 +246,26 @@
/// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
public override void BeginTransaction(IsolationLevel
isolationLevel)
{
+ this.BeginTransaction( _dataSource.ConnectionString,
isolationLevel );
+ }
+
+ /// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ public override void BeginTransaction(string connectionString,
IsolationLevel isolationLevel)
+ {
if (_connection == null || _connection.State !=
ConnectionState.Open)
{
- OpenConnection();
+ this.OpenConnection( connectionString );
}
_transaction =
_connection.BeginTransaction(isolationLevel);
if (_logger.IsDebugEnabled)
{
_logger.Debug("Begin Transaction.");
}
- _isOpenTransaction = true;
+ _isOpenTransaction = true;
}
/// <summary>
@@ -255,12 +273,24 @@
/// with the specified IsolationLevel value.
/// </summary>
/// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
- /// <param name="openConnection">Open a connection.</param>
+ /// <param name="openConnection">Open the connection ?</param>
public override void BeginTransaction(bool openConnection,
IsolationLevel isolationLevel)
{
+ this.BeginTransaction( _dataSource.ConnectionString,
openConnection, isolationLevel );
+ }
+
+ /// <summary>
+ /// Begins a transaction on the current connection
+ /// with the specified IsolationLevel value.
+ /// </summary>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="openConnection">Open a connection.</param>
+ public override void BeginTransaction(string connectionString,
bool openConnection, IsolationLevel isolationLevel)
+ {
if (openConnection)
{
- this.BeginTransaction(isolationLevel);
+ this.BeginTransaction(connectionString,
isolationLevel);
}
else
{
@@ -274,7 +304,7 @@
_logger.Debug("Begin Transaction.");
}
_isOpenTransaction = true;
- }
+ }
}
/// <summary>
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs?rev=290217&r1=290216&r2=290217&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
Mon Sep 19 10:53:22 2005
@@ -130,7 +130,6 @@
_sqlMap.CloseConnection();
}
-
/// <summary>
/// Begins a transaction.
/// </summary>
@@ -140,6 +139,15 @@
}
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public override void BeginTransaction(string connectionString)
+ {
+ _sqlMap.BeginTransaction( connectionString );
+ }
+
+ /// <summary>
/// Begins a database transaction
/// </summary>
/// <param name="openConnection">Open a connection.</param>
@@ -158,6 +166,16 @@
}
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ public override void BeginTransaction(string connectionString,
IsolationLevel isolationLevel)
+ {
+ _sqlMap.BeginTransaction ( connectionString,
isolationLevel );
+ }
+
+ /// <summary>
/// Begins a transaction on the current connection
/// with the specified IsolationLevel value.
/// </summary>
@@ -166,6 +184,18 @@
public override void BeginTransaction(bool openConnection,
IsolationLevel isolationLevel)
{
_sqlMap.BeginTransaction(openConnection,
isolationLevel);
+ }
+
+ /// <summary>
+ /// Begins a transaction on the current connection
+ /// with the specified IsolationLevel value.
+ /// </summary>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="openConnection">Open a connection.</param>
+ public override void BeginTransaction(string connectionString,
bool openConnection, IsolationLevel isolationLevel)
+ {
+ _sqlMap.BeginTransaction( connectionString,
openConnection, isolationLevel );
}
/// <summary>
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs?rev=290217&r1=290216&r2=290217&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs Mon Sep 19
10:53:22 2005
@@ -211,9 +211,18 @@
/// </summary>
public void BeginTransaction()
{
+ this.BeginTransaction(_dataSource.ConnectionString);
+ }
+
+ /// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public void BeginTransaction(string connectionString)
+ {
if (_connection == null || _connection.State !=
ConnectionState.Open)
{
- OpenConnection();
+ this.OpenConnection( connectionString );
}
_transaction = _connection.BeginTransaction();
if (_logger.IsDebugEnabled)
@@ -256,16 +265,26 @@
/// </param>
public void BeginTransaction(IsolationLevel isolationLevel)
{
+ this.BeginTransaction(_dataSource.ConnectionString,
isolationLevel);
+ }
+
+ /// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ public void BeginTransaction(string connectionString,
IsolationLevel isolationLevel)
+ {
if (_connection == null || _connection.State !=
ConnectionState.Open)
{
- OpenConnection();
+ this.OpenConnection( connectionString );
}
_transaction =
_connection.BeginTransaction(isolationLevel);
if (_logger.IsDebugEnabled)
{
_logger.Debug("Begin Transaction.");
}
- _isOpenTransaction = true;
+ _isOpenTransaction = true;
}
/// <summary>
@@ -276,9 +295,21 @@
/// <param name="openConnection">Open a connection.</param>
public void BeginTransaction(bool openConnection,
IsolationLevel isolationLevel)
{
+ this.BeginTransaction(_dataSource.ConnectionString,
openConnection, isolationLevel);
+ }
+
+ /// <summary>
+ /// Begins a transaction on the current connection
+ /// with the specified IsolationLevel value.
+ /// </summary>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="openConnection">Open a connection.</param>
+ public void BeginTransaction(string connectionString, bool
openConnection, IsolationLevel isolationLevel)
+ {
if (openConnection)
{
- this.BeginTransaction(isolationLevel);
+ this.BeginTransaction( connectionString,
isolationLevel );
}
else
{
@@ -292,9 +323,8 @@
_logger.Debug("Begin Transaction.");
}
_isOpenTransaction = true;
- }
+ }
}
-
/// <summary>
/// Commits the database transaction.
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs?rev=290217&r1=290216&r2=290217&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs Mon Sep 19
10:53:22 2005
@@ -354,6 +354,22 @@
}
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public IDalSession BeginTransaction(string connectionString)
+ {
+ if (_sessionHolder.LocalSession != null)
+ {
+ throw new DataMapperException("SqlMap could not
invoke BeginTransaction(). A Transaction is already started. Call
CommitTransaction() or RollbackTransaction first.");
+ }
+ SqlMapSession session = new SqlMapSession(this);
+ _sessionHolder.Store(session);
+ session.BeginTransaction( connectionString );
+ return session ;
+ }
+
+ /// <summary>
/// Begins a database transaction on the currect session
/// </summary>
/// <param name="openConnection">Open a connection.</param>
@@ -397,6 +413,23 @@
}
/// <summary>
+ /// Open a connection and begin a transaction on the specified
connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ public IDalSession BeginTransaction(string connectionString,
IsolationLevel isolationLevel)
+ {
+ if (_sessionHolder.LocalSession != null)
+ {
+ throw new DataMapperException("SqlMap could not
invoke BeginTransaction(). A Transaction is already started. Call
CommitTransaction() or RollbackTransaction first.");
+ }
+ SqlMapSession session = new SqlMapSession(this);
+ _sessionHolder.Store(session);
+ session.BeginTransaction( connectionString,
isolationLevel);
+ return session;
+ }
+
+ /// <summary>
/// Start a database transaction on the current session
/// with the specified isolation level.
/// </summary>
@@ -420,6 +453,33 @@
throw new DataMapperException("SqlMap
could not invoke BeginTransaction(). A session must be Open. Call
OpenConnection() first.");
}
session.BeginTransaction(openConnection,
isolationLevel);
+ }
+ return session;
+ }
+
+ /// <summary>
+ /// Begins a transaction on the current connection
+ /// with the specified IsolationLevel value.
+ /// </summary>
+ /// <param name="isolationLevel">The transaction isolation
level for this connection.</param>
+ /// <param name="connectionString">The connection string</param>
+ /// <param name="openConnection">Open a connection.</param>
+ public IDalSession BeginTransaction(string connectionString,
bool openConnection, IsolationLevel isolationLevel)
+ {
+ IDalSession session = null;
+
+ if (openConnection)
+ {
+ session =
this.BeginTransaction(connectionString, isolationLevel);
+ }
+ else
+ {
+ session = _sessionHolder.LocalSession;
+ if (session == null)
+ {
+ throw new DataMapperException("SqlMap
could not invoke BeginTransaction(). A session must be Open. Call
OpenConnection() first.");
+ }
+ session.BeginTransaction(connectionString,
openConnection, isolationLevel);
}
return session;
}