Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Id
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11256/Id
Modified Files:
SequenceGenerator.cs
Log Message:
Major refactoring with NDataReader and Batcher. NHibernate now uses
an IDataReader returned from the Driver for as long as possible before
converting to a NDataReader. This has nice perf gains on the simple
performance test in the Test Fixtures.
Index: SequenceGenerator.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Id/SequenceGenerator.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SequenceGenerator.cs 28 Aug 2004 04:24:20 -0000 1.4
--- SequenceGenerator.cs 14 Sep 2004 17:49:54 -0000 1.5
***************
*** 42,59 ****
public virtual object Generate(ISessionImplementor session, object obj)
{
! IDbCommand st = session.Batcher.PrepareCommand( new SqlString(sql) );
try
{
! IDataReader rs = st.ExecuteReader();
object result = null;
! try
! {
! rs.Read();
! result = IdentifierGeneratorFactory.Get(rs, returnClass);
! }
! finally
! {
! rs.Close();
! }
log.Debug("sequence ID generated: " + result);
--- 42,53 ----
public virtual object Generate(ISessionImplementor session, object obj)
{
! IDbCommand cmd = session.Batcher.PrepareCommand( new SqlString(sql) );
! IDataReader reader = null;
try
{
! reader = session.Batcher.ExecuteReader( cmd );
object result = null;
! reader.Read();
! result = IdentifierGeneratorFactory.Get(reader, returnClass);
log.Debug("sequence ID generated: " + result);
***************
*** 66,70 ****
finally
{
! session.Batcher.CloseCommand(st);
}
}
--- 60,64 ----
finally
{
! session.Batcher.CloseCommand( cmd, reader);
}
}
|