You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
(248) |
May
(82) |
Jun
(90) |
Jul
(177) |
Aug
(253) |
Sep
(157) |
Oct
(151) |
Nov
(143) |
Dec
(278) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(152) |
Feb
(107) |
Mar
(177) |
Apr
(133) |
May
(259) |
Jun
(81) |
Jul
(119) |
Aug
(306) |
Sep
(416) |
Oct
(240) |
Nov
(329) |
Dec
(206) |
| 2006 |
Jan
(466) |
Feb
(382) |
Mar
(153) |
Apr
(162) |
May
(133) |
Jun
(21) |
Jul
(18) |
Aug
(37) |
Sep
(97) |
Oct
(114) |
Nov
(110) |
Dec
(28) |
| 2007 |
Jan
(74) |
Feb
(65) |
Mar
(49) |
Apr
(76) |
May
(43) |
Jun
(15) |
Jul
(68) |
Aug
(55) |
Sep
(63) |
Oct
(59) |
Nov
(70) |
Dec
(66) |
| 2008 |
Jan
(71) |
Feb
(60) |
Mar
(120) |
Apr
(31) |
May
(48) |
Jun
(81) |
Jul
(107) |
Aug
(51) |
Sep
(80) |
Oct
(83) |
Nov
(83) |
Dec
(79) |
| 2009 |
Jan
(83) |
Feb
(110) |
Mar
(97) |
Apr
(91) |
May
(291) |
Jun
(250) |
Jul
(197) |
Aug
(58) |
Sep
(54) |
Oct
(122) |
Nov
(68) |
Dec
(34) |
| 2010 |
Jan
(50) |
Feb
(17) |
Mar
(63) |
Apr
(61) |
May
(84) |
Jun
(81) |
Jul
(138) |
Aug
(144) |
Sep
(78) |
Oct
(26) |
Nov
(30) |
Dec
(61) |
| 2011 |
Jan
(33) |
Feb
(35) |
Mar
(166) |
Apr
(221) |
May
(109) |
Jun
(76) |
Jul
(27) |
Aug
(37) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(1) |
| 2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
| 2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(1) |
| 2014 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <fab...@us...> - 2010-08-09 11:41:51
|
Revision: 5130
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5130&view=rev
Author: fabiomaulo
Date: 2010-08-09 11:41:40 +0000 (Mon, 09 Aug 2010)
Log Message:
-----------
Fixed TYPO
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs
trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs
trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs
trunk/nhibernate/src/NHibernate/AssertionFailure.cs
trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs
trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs
trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs
trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs
trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs
trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs
trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs
trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs
trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs
trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs
trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs
trunk/nhibernate/src/NHibernate/Cfg/Environment.cs
trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs
trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs
trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs
trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs
trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs
trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs
trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs
trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs
trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs
trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs
trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs
trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs
trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs
trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs
trunk/nhibernate/src/NHibernate/Engine/Cascade.cs
trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs
trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs
trunk/nhibernate/src/NHibernate/Engine/Collections.cs
trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs
trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs
trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs
trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs
trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs
trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs
trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs
trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs
trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs
trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs
trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs
trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs
trunk/nhibernate/src/NHibernate/Engine/Versioning.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultDirtyCheckEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultEvictEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultFlushEntityEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultInitializeCollectionEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultLoadEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultMergeEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultPersistEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultRefreshEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultReplicateEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultSaveOrUpdateEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/EvictVisitor.cs
trunk/nhibernate/src/NHibernate/Event/Default/ReattachVisitor.cs
trunk/nhibernate/src/NHibernate/Event/Default/WrapVisitor.cs
trunk/nhibernate/src/NHibernate/Exceptions/SQLExceptionConverterFactory.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/ErrorCounter.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Exec/BasicExecutor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Exec/MultiTableDeleteExecutor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Exec/MultiTableUpdateExecutor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlParser.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/QueryTranslatorImpl.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/DeleteStatement.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/DotNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromClause.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromElement.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromElementFactory.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromElementType.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromReferenceNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/IndexNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/MethodNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/QueryNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/UpdateStatement.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/JoinProcessor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/LiteralProcessor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/PathHelper.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/SyntheticAndFactory.cs
trunk/nhibernate/src/NHibernate/Hql/Classic/QueryTranslator.cs
trunk/nhibernate/src/NHibernate/Hql/QuerySplitter.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/OptimizerFactory.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/SequenceStructure.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/SequenceStyleGenerator.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/TableStructure.cs
trunk/nhibernate/src/NHibernate/Id/IdentifierGeneratorFactory.cs
trunk/nhibernate/src/NHibernate/Id/IncrementGenerator.cs
trunk/nhibernate/src/NHibernate/Id/NativeGuidGenerator.cs
trunk/nhibernate/src/NHibernate/Id/SequenceGenerator.cs
trunk/nhibernate/src/NHibernate/Id/SequenceHiLoGenerator.cs
trunk/nhibernate/src/NHibernate/Id/TableGenerator.cs
trunk/nhibernate/src/NHibernate/Id/TableHiLoGenerator.cs
trunk/nhibernate/src/NHibernate/Impl/AbstractSessionImpl.cs
trunk/nhibernate/src/NHibernate/Impl/EnumerableImpl.cs
trunk/nhibernate/src/NHibernate/Impl/MultiCriteriaImpl.cs
trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
trunk/nhibernate/src/NHibernate/Impl/Printer.cs
trunk/nhibernate/src/NHibernate/Impl/SessionFactoryImpl.cs
trunk/nhibernate/src/NHibernate/Impl/SessionFactoryObjectFactory.cs
trunk/nhibernate/src/NHibernate/Impl/SessionImpl.cs
trunk/nhibernate/src/NHibernate/Impl/StatelessSessionImpl.cs
trunk/nhibernate/src/NHibernate/LazyInitializationException.cs
trunk/nhibernate/src/NHibernate/Linq/Functions/LinqToHqlGeneratorsRegistryFactory.cs
trunk/nhibernate/src/NHibernate/Loader/Collection/BasicCollectionLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Collection/OneToManyLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaJoinWalker.cs
trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
trunk/nhibernate/src/NHibernate/Loader/Custom/Sql/SQLCustomQuery.cs
trunk/nhibernate/src/NHibernate/Loader/Custom/Sql/SQLQueryReturnProcessor.cs
trunk/nhibernate/src/NHibernate/Loader/Entity/AbstractEntityLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Entity/CollectionElementLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Loader.cs
trunk/nhibernate/src/NHibernate/Logging.cs
trunk/nhibernate/src/NHibernate/Mapping/RootClass.cs
trunk/nhibernate/src/NHibernate/NonUniqueResultException.cs
trunk/nhibernate/src/NHibernate/Persister/Collection/AbstractCollectionPersister.cs
trunk/nhibernate/src/NHibernate/Persister/Collection/NamedQueryCollectionInitializer.cs
trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs
trunk/nhibernate/src/NHibernate/Persister/Entity/NamedQueryLoader.cs
trunk/nhibernate/src/NHibernate/SqlCommand/InsertSelect.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlDeleteBuilder.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlInsertBuilder.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlSelectBuilder.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs
trunk/nhibernate/src/NHibernate/Stat/StatisticsImpl.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/DatabaseMetadata.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaExport.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaUpdate.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaValidator.cs
trunk/nhibernate/src/NHibernate/Transaction/AdoNetTransactionFactory.cs
trunk/nhibernate/src/NHibernate/Transaction/AdoNetWithDistributedTransactionFactory.cs
trunk/nhibernate/src/NHibernate/Transaction/AdoTransaction.cs
trunk/nhibernate/src/NHibernate/Transform/DistinctRootEntityResultTransformer.cs
trunk/nhibernate/src/NHibernate/Tuple/Component/AbstractComponentTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/AbstractEntityTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/DynamicMapEntityTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/EntityMetamodel.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/PocoEntityTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/PocoInstantiator.cs
trunk/nhibernate/src/NHibernate/Type/CompositeCustomType.cs
trunk/nhibernate/src/NHibernate/Type/CustomType.cs
trunk/nhibernate/src/NHibernate/Type/DbTimestampType.cs
trunk/nhibernate/src/NHibernate/Type/NullableType.cs
trunk/nhibernate/src/NHibernate/Util/ADOExceptionReporter.cs
trunk/nhibernate/src/NHibernate/Util/IdentityMap.cs
trunk/nhibernate/src/NHibernate/Util/JoinedEnumerable.cs
trunk/nhibernate/src/NHibernate/Util/ReflectHelper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/Logging/LoggerProviderTest.cs
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate.Test/Logging/LogggerProviderTest.cs
Modified: trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -21,7 +21,7 @@
/// </summary>
public abstract class AbstractBatcher : IBatcher
{
- protected static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractBatcher));
+ protected static readonly ILogger log = LoggerProvider.LoggerFor(typeof(AbstractBatcher));
private static int openCommandCount;
private static int openReaderCount;
Modified: trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -17,7 +17,7 @@
[Serializable]
public class ConnectionManager : ISerializable, IDeserializationCallback
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ConnectionManager));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ConnectionManager));
public interface Callback
{
Modified: trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -8,7 +8,7 @@
/// <summary> Centralize logging handling for SQL statements. </summary>
public class SqlStatementLogger
{
- private static readonly ILogger log = LogggerProvider.LoggerFor("NHibernate.SQL");
+ private static readonly ILogger log = LoggerProvider.LoggerFor("NHibernate.SQL");
/// <summary> Constructs a new SqlStatementLogger instance.</summary>
public SqlStatementLogger() : this(false, false) { }
Modified: trunk/nhibernate/src/NHibernate/AssertionFailure.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AssertionFailure.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/AssertionFailure.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -17,7 +17,7 @@
/// </summary>
public AssertionFailure() : base(String.Empty)
{
- LogggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage);
+ LoggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage);
}
/// <summary>
@@ -26,7 +26,7 @@
/// <param name="message">The message that describes the error. </param>
public AssertionFailure(string message) : base(message)
{
- LogggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage, this);
+ LoggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage, this);
}
/// <summary>
@@ -40,7 +40,7 @@
/// </param>
public AssertionFailure(string message, Exception innerException) : base(message, innerException)
{
- LogggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage, innerException);
+ LoggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage, innerException);
}
/// <summary>
Modified: trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -13,7 +13,7 @@
/// </summary>
public class BytecodeProviderImpl : AbstractBytecodeProvider
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (BytecodeProviderImpl));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (BytecodeProviderImpl));
#region IBytecodeProvider Members
Modified: trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -9,7 +9,7 @@
/// </summary>
public static class CacheFactory
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(CacheFactory));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(CacheFactory));
public const string ReadOnly = "read-only";
public const string ReadWrite = "read-write";
Modified: trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -9,7 +9,7 @@
/// </summary>
public class NoCacheProvider : ICacheProvider
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(NoCacheProvider));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(NoCacheProvider));
public const string WarnMessage = "Second-level cache is enabled in a class, but no cache provider was selected. Fake cache used.";
Modified: trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -16,7 +16,7 @@
{
private ICache cache;
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(NonstrictReadWriteCache));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(NonstrictReadWriteCache));
/// <summary>
/// Gets the cache region name.
Modified: trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -10,7 +10,7 @@
public class ReadOnlyCache : ICacheConcurrencyStrategy
{
private ICache cache;
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ReadOnlyCache));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ReadOnlyCache));
/// <summary>
/// Gets the cache region name.
Modified: trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -30,7 +30,7 @@
bool IsPuttable(long txTimestamp, object newVersion, IComparer comparator);
}
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ReadWriteCache));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ReadWriteCache));
private readonly object _lockObject = new object();
private ICache cache;
Modified: trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -18,7 +18,7 @@
/// </summary>
public class StandardQueryCache : IQueryCache
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (StandardQueryCache));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (StandardQueryCache));
private readonly ICache queryCache;
private readonly string regionName;
private readonly UpdateTimestampsCache updateTimestampsCache;
Modified: trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -16,7 +16,7 @@
/// </summary>
public class UpdateTimestampsCache
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(UpdateTimestampsCache));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(UpdateTimestampsCache));
private ICache updateTimestamps;
private readonly string regionName = typeof(UpdateTimestampsCache).Name;
Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -75,7 +75,7 @@
protected IDictionary<string, Mappings.TableDescription> tableNameBinding;
protected IDictionary<Table, Mappings.ColumnNames> columnNameBindingPerTable;
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Configuration));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(Configuration));
protected internal SettingsFactory settingsFactory;
Modified: trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -23,7 +23,7 @@
/// </summary>
public class HibernateConfiguration : IHibernateConfiguration
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(HibernateConfiguration));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(HibernateConfiguration));
/// <summary>
/// Initializes a new instance of the <see cref="HibernateConfiguration"/> class.
Modified: trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -8,7 +8,7 @@
/// </summary>
public class SessionFactoryConfiguration : SessionFactoryConfigurationBase
{
- //private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(SessionFactoryConfiguration));
+ //private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(SessionFactoryConfiguration));
internal SessionFactoryConfiguration(XPathNavigator hbConfigurationSection)
{
Modified: trunk/nhibernate/src/NHibernate/Cfg/Environment.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Environment.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/Environment.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -167,7 +167,7 @@
private static IBytecodeProvider BytecodeProviderInstance;
private static bool EnableReflectionOptimizer;
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (Environment));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (Environment));
/// <summary>
/// Issue warnings to user when any obsolete property names are used.
Modified: trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -47,7 +47,7 @@
#endregion
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Mappings));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(Mappings));
private readonly IDictionary<string, PersistentClass> classes;
private readonly IDictionary<string, Mapping.Collection> collections;
Modified: trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -22,7 +22,7 @@
[Serializable]
public sealed class SettingsFactory
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(SettingsFactory));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(SettingsFactory));
private static readonly string DefaultCacheProvider = typeof(NoCacheProvider).AssemblyQualifiedName;
public Settings BuildSettings(IDictionary<string, string> properties)
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -10,7 +10,7 @@
{
public abstract class Binder
{
- protected static readonly ILogger log = LogggerProvider.LoggerFor(typeof (Binder));
+ protected static readonly ILogger log = LoggerProvider.LoggerFor(typeof (Binder));
protected static readonly IDictionary<string, MetaAttribute> EmptyMeta =
new CollectionHelper.EmptyMapClass<string, MetaAttribute>();
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -8,7 +8,7 @@
{
public class FilterDefinitionFactory
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (FilterDefinitionFactory));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (FilterDefinitionFactory));
public static FilterDefinition CreateFilterDefinition(HbmFilterDef filterDefSchema)
{
Modified: trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -20,7 +20,7 @@
[DebuggerTypeProxy(typeof (CollectionProxy))]
public class PersistentArrayHolder : AbstractPersistentCollection, ICollection
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (PersistentArrayHolder));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (PersistentArrayHolder));
private Array array;
Modified: trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -15,7 +15,7 @@
/// </summary>
public abstract class ConnectionProvider : IConnectionProvider
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ConnectionProvider));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ConnectionProvider));
private string connString;
private IDriver driver;
Modified: trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -11,7 +11,7 @@
/// </summary>
public sealed class ConnectionProviderFactory
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ConnectionProviderFactory));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ConnectionProviderFactory));
// cannot be instantiated
private ConnectionProviderFactory()
Modified: trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -9,7 +9,7 @@
/// </summary>
public class DriverConnectionProvider : ConnectionProvider
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DriverConnectionProvider));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DriverConnectionProvider));
/// <summary>
/// Closes and Disposes of the <see cref="IDbConnection"/>.
Modified: trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -14,7 +14,7 @@
/// </remarks>
public class UserSuppliedConnectionProvider : ConnectionProvider
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(UserSuppliedConnectionProvider));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(UserSuppliedConnectionProvider));
/// <summary>
/// Throws an <see cref="InvalidOperationException"/> if this method is called
Modified: trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -30,7 +30,7 @@
[Serializable]
public class ThreadLocalSessionContext : ICurrentSessionContext
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ThreadLocalSessionContext));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ThreadLocalSessionContext));
[ThreadStatic]
protected static IDictionary<ISessionFactory, ISession> context;
Modified: trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -31,7 +31,7 @@
/// </remarks>
public abstract class Dialect
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Dialect));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(Dialect));
private readonly TypeNames typeNames = new TypeNames();
private readonly TypeNames hibernateTypeNames = new TypeNames();
Modified: trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -15,7 +15,7 @@
/// <remarks> This strategy is not valid for read style locks. </remarks>
public class UpdateLockingStrategy : ILockingStrategy
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(UpdateLockingStrategy));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(UpdateLockingStrategy));
private readonly ILockable lockable;
private readonly LockMode lockMode;
private readonly SqlString sql;
Modified: trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -7,7 +7,7 @@
{
public abstract class AbstractTableMetadata : ITableMetadata
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ITableMetadata));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ITableMetadata));
private string catalog;
private string schema;
private string name;
Modified: trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -14,7 +14,7 @@
/// </summary>
public abstract class DriverBase : IDriver, ISqlParameterFormatter
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DriverBase));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DriverBase));
private int commandTimeout;
private bool prepareSql;
Modified: trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -22,7 +22,7 @@
/// </remarks>
public class NHybridDataReader : IDataReader
{
- private ILogger log = LogggerProvider.LoggerFor(typeof(NHybridDataReader));
+ private ILogger log = LoggerProvider.LoggerFor(typeof(NHybridDataReader));
private IDataReader _reader;
private bool _isMidstream = false;
Modified: trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -20,7 +20,7 @@
[Serializable]
public class ActionQueue
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ActionQueue));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ActionQueue));
private const int InitQueueListSize = 5;
private ISessionImplementor session;
Modified: trunk/nhibernate/src/NHibernate/Engine/Cascade.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Cascade.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Cascade.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -70,7 +70,7 @@
/// </summary>
public sealed class Cascade
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Cascade));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(Cascade));
private CascadePoint point;
private readonly IEventSource eventSource;
Modified: trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -14,7 +14,7 @@
/// </summary>
public abstract class CascadingAction
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(CascadingAction));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(CascadingAction));
#region The CascadingAction contract
Modified: trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -14,7 +14,7 @@
[Serializable]
public class CollectionEntry
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (CollectionEntry));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (CollectionEntry));
/// <summary>session-start/post-flush persistent state</summary>
private object snapshot;
Modified: trunk/nhibernate/src/NHibernate/Engine/Collections.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Collections.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Collections.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -8,7 +8,7 @@
{
public static class Collections
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Collections));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(Collections));
/// <summary>
/// Record the fact that this collection was dereferenced
Modified: trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -9,7 +9,7 @@
/// <summary> Algorithms related to foreign key constraint transparency </summary>
public static class ForeignKeys
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ForeignKeys));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(ForeignKeys));
public class Nullifier
{
Modified: trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -9,7 +9,7 @@
/// </summary>
public class IdentifierValue
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(IdentifierValue));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(IdentifierValue));
private readonly object value;
Modified: trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -22,7 +22,7 @@
/// </remarks>
public class CollectionLoadContext
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(CollectionLoadContext));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(CollectionLoadContext));
private readonly LoadContexts loadContexts;
private readonly IDataReader resultSet;
private readonly ISet<CollectionKey> localLoadingCollectionKeys = new HashedSet<CollectionKey>();
Modified: trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -26,7 +26,7 @@
/// </remarks>
public class LoadContexts
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(LoadContexts));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(LoadContexts));
[NonSerialized]
private readonly IPersistenceContext persistenceContext;
Modified: trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -31,7 +31,7 @@
[Serializable]
public class HQLQueryPlan : IQueryPlan
{
- protected static readonly ILogger Log = LogggerProvider.LoggerFor(typeof(HQLQueryPlan));
+ protected static readonly ILogger Log = LoggerProvider.LoggerFor(typeof(HQLQueryPlan));
private readonly string _sourceQuery;
Modified: trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -19,7 +19,7 @@
[Serializable]
public class NativeSQLQueryPlan
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(NativeSQLQueryPlan));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(NativeSQLQueryPlan));
private readonly string sourceQuery;
private readonly SQLCustomQuery customQuery;
Modified: trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -11,7 +11,7 @@
[Serializable]
public class QueryPlanCache
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(QueryPlanCache));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(QueryPlanCache));
private readonly ISessionFactoryImplementor factory;
Modified: trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -22,7 +22,7 @@
{
public delegate int[] GetNamedParameterLocations(string parameterName);
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (QueryParameters));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (QueryParameters));
private IType[] _positionalParameterTypes;
private object[] _positionalParameterValues;
Modified: trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -32,8 +32,8 @@
public class StatefulPersistenceContext : IPersistenceContext, ISerializable, IDeserializationCallback
{
private const int InitCollectionSize = 8;
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(StatefulPersistenceContext));
- private static readonly ILogger ProxyWarnLog = LogggerProvider.LoggerFor(typeof(StatefulPersistenceContext).FullName + ".ProxyWarnLog");
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(StatefulPersistenceContext));
+ private static readonly ILogger ProxyWarnLog = LoggerProvider.LoggerFor(typeof(StatefulPersistenceContext).FullName + ".ProxyWarnLog");
public static readonly object NoRow = new object();
Modified: trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -28,7 +28,7 @@
/// </remarks>
public class Isolater
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Isolater));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(Isolater));
/// <summary>
/// Ensures that all processing actually performed by the given work will
Modified: trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -18,7 +18,7 @@
/// </summary>
public static class TwoPhaseLoad
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(TwoPhaseLoad));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(TwoPhaseLoad));
/// <summary>
/// Register the "hydrated" state of an entity instance, after the first step of 2-phase loading.
Modified: trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -11,7 +11,7 @@
/// </summary>
public class VersionValue
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(VersionValue));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(VersionValue));
private readonly object value;
Modified: trunk/nhibernate/src/NHibernate/Engine/Versioning.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Versioning.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Engine/Versioning.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -17,7 +17,7 @@
All = 2
}
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Versioning));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(Versioning));
/// <summary>
/// Increment the given version number
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -18,7 +18,7 @@
[Serializable]
public abstract class AbstractFlushingEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (AbstractFlushingEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof (AbstractFlushingEventListener));
protected virtual object Anything
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -15,7 +15,7 @@
[Serializable]
public class AbstractLockUpgradeEventListener : AbstractReassociateEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractLockUpgradeEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(AbstractLockUpgradeEventListener));
/// <summary>
/// Performs a pessimistic lock upgrade on a given entity, if needed.
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -15,7 +15,7 @@
[Serializable]
public class AbstractReassociateEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractReassociateEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(AbstractReassociateEventListener));
/// <summary>
/// Associates a given entity (either transient or associated with another session) to the given session.
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -28,7 +28,7 @@
[Serializable]
public abstract class AbstractSaveEventListener : AbstractReassociateEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractSaveEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(AbstractSaveEventListener));
protected virtual bool? AssumedUnsaved
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -11,7 +11,7 @@
[Serializable]
public class DefaultAutoFlushEventListener : AbstractFlushingEventListener, IAutoFlushEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultAutoFlushEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultAutoFlushEventListener));
#region IAutoFlushEventListener Members
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -19,7 +19,7 @@
[Serializable]
public class DefaultDeleteEventListener : IDeleteEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultDeleteEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultDeleteEventListener));
#region IDeleteEventListener Members
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultDirtyCheckEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultDirtyCheckEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultDirtyCheckEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -10,7 +10,7 @@
[Serializable]
public class DefaultDirtyCheckEventListener : AbstractFlushingEventListener, IDirtyCheckEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultDirtyCheckEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultDirtyCheckEventListener));
public virtual void OnDirtyCheck(DirtyCheckEvent @event)
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultEvictEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultEvictEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultEvictEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -16,7 +16,7 @@
[Serializable]
public class DefaultEvictEventListener : IEvictEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultEvictEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultEvictEventListener));
public virtual void OnEvict(EvictEvent @event)
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultFlushEntityEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultFlushEntityEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultFlushEntityEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -16,7 +16,7 @@
[Serializable]
public class DefaultFlushEntityEventListener : IFlushEntityEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultFlushEntityEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultFlushEntityEventListener));
/// <summary>
/// Flushes a single entity's state to the database, by scheduling an update action, if necessary
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultInitializeCollectionEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultInitializeCollectionEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultInitializeCollectionEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -13,7 +13,7 @@
[Serializable]
public class DefaultInitializeCollectionEventListener : IInitializeCollectionEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultInitializeCollectionEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultInitializeCollectionEventListener));
/// <summary> called by a collection that wants to initialize itself</summary>
public virtual void OnInitializeCollection(InitializeCollectionEvent @event)
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultLoadEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultLoadEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultLoadEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -18,7 +18,7 @@
[Serializable]
public class DefaultLoadEventListener : AbstractLockUpgradeEventListener, ILoadEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultLoadEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultLoadEventListener));
public static readonly object RemovedEntityMarker = new object();
public static readonly object InconsistentRTNClassMarker= new object();
public static readonly LockMode DefaultLockMode = LockMode.None;
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultMergeEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultMergeEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultMergeEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -18,7 +18,7 @@
[Serializable]
public class DefaultMergeEventListener : AbstractSaveEventListener, IMergeEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultMergeEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultMergeEventListener));
protected override CascadingAction CascadeAction
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultPersistEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultPersistEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultPersistEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -15,7 +15,7 @@
[Serializable]
public class DefaultPersistEventListener : AbstractSaveEventListener, IPersistEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultPersistEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultPersistEventListener));
protected override CascadingAction CascadeAction
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultRefreshEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultRefreshEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultRefreshEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -17,7 +17,7 @@
[Serializable]
public class DefaultRefreshEventListener : IRefreshEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultRefreshEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultRefreshEventListener));
public virtual void OnRefresh(RefreshEvent @event)
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultReplicateEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultReplicateEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultReplicateEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -13,7 +13,7 @@
[Serializable]
public class DefaultReplicateEventListener : AbstractSaveEventListener, IReplicateEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultReplicateEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultReplicateEventListener));
public virtual void OnReplicate(ReplicateEvent @event)
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultSaveOrUpdateEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultSaveOrUpdateEventListener.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultSaveOrUpdateEventListener.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -14,7 +14,7 @@
[Serializable]
public class DefaultSaveOrUpdateEventListener : AbstractSaveEventListener, ISaveOrUpdateEventListener
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultSaveOrUpdateEventListener));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(DefaultSaveOrUpdateEventListener));
protected override CascadingAction CascadeAction
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/EvictVisitor.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/EvictVisitor.cs 2010-08-09 11:33:20 UTC (rev 5129)
+++ trunk/nhibernate/src/NHibernate/Event/Default/EvictVisitor.cs 2010-08-09 11:41:40 UTC (rev 5130)
@@ -13,7 +13,7 @@
/// </summary>
public class EvictVisitor : AbstractVisitor
{
- private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(EvictVisitor));
+ private static readonly ILogger log = LoggerProvider.LoggerFor(typeof(EvictVisitor));
public EvictVisitor(IEventSource session) : base(session) { }
Modified: trunk/nhibernate/src/NHibernate/Event/Default/ReattachVis...
[truncated message content] |
|
From: <fab...@us...> - 2010-08-09 11:33:26
|
Revision: 5129
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5129&view=rev
Author: fabiomaulo
Date: 2010-08-09 11:33:20 +0000 (Mon, 09 Aug 2010)
Log Message:
-----------
bye bye log4net reference :(
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Logging.cs
trunk/nhibernate/src/NHibernate/NHibernate.build
trunk/nhibernate/src/NHibernate/NHibernate.csproj
Modified: trunk/nhibernate/src/NHibernate/Logging.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Logging.cs 2010-08-08 23:08:04 UTC (rev 5128)
+++ trunk/nhibernate/src/NHibernate/Logging.cs 2010-08-09 11:33:20 UTC (rev 5129)
@@ -1,6 +1,5 @@
using System;
using System.Linq.Expressions;
-using log4net;
namespace NHibernate
{
@@ -31,38 +30,73 @@
void WarnFormat(string format, params object[] args);
}
+ public interface ILoggerFactory
+ {
+ ILogger LoggerFor(string keyName);
+ ILogger LoggerFor(System.Type type);
+ }
+
public class LogggerProvider
{
- private readonly Func<string, ILogger> loggerByKeyGetter;
- private readonly Func<System.Type, ILogger> loggerByTypeGetter;
+ private readonly ILoggerFactory loggerFactory;
private static LogggerProvider instance;
+
static LogggerProvider()
{
- SetLoggersFactoryDelegates(key => new Log4NetLogger(LogManager.GetLogger(key)), type => new Log4NetLogger(LogManager.GetLogger(type)));
+ SetLoggersFactory(new Log4NetLoggerFactory());
}
- public static void SetLoggersFactoryDelegates(Func<string, ILogger> loggerByKeyGetter, Func<System.Type, ILogger> loggerByTypeGetter)
+ public static void SetLoggersFactory(ILoggerFactory loggerFactory)
{
- instance = new LogggerProvider(loggerByKeyGetter, loggerByTypeGetter);
+ instance = new LogggerProvider(loggerFactory);
}
- private LogggerProvider(Func<string, ILogger> loggerByKeyGetter, Func<System.Type, ILogger> loggerByTypeGetter)
+ private LogggerProvider(ILoggerFactory loggerFactory)
{
- this.loggerByKeyGetter = loggerByKeyGetter;
- this.loggerByTypeGetter = loggerByTypeGetter;
+ this.loggerFactory = loggerFactory;
}
public static ILogger LoggerFor(string keyName)
{
- return instance.loggerByKeyGetter(keyName);
+ return instance.loggerFactory.LoggerFor(keyName);
}
public static ILogger LoggerFor(System.Type type)
{
- return instance.loggerByTypeGetter(type);
+ return instance.loggerFactory.LoggerFor(type);
}
}
+ public class Log4NetLoggerFactory: ILoggerFactory
+ {
+ private static readonly System.Type LogManagerType = System.Type.GetType("log4net.LogManager, log4net");
+ private static readonly Func<string, object> GetLoggerByNameDelegate;
+ private static readonly Func<System.Type, object> GetLoggerByTypeDelegate;
+ static Log4NetLoggerFactory()
+ {
+ GetLoggerByNameDelegate = GetGetLoggerMethodCall<string>();
+ GetLoggerByTypeDelegate = GetGetLoggerMethodCall<System.Type>();
+ }
+ public ILogger LoggerFor(string keyName)
+ {
+ return new Log4NetLogger(GetLoggerByNameDelegate(keyName));
+ }
+
+ public ILogger LoggerFor(System.Type type)
+ {
+ return new Log4NetLogger(GetLoggerByTypeDelegate(type));
+ }
+
+ private static Func<TParameter, object> GetGetLoggerMethodCall<TParameter>()
+ {
+ var method = LogManagerType.GetMethod("GetLogger", new[] { typeof(TParameter) });
+ ParameterExpression resultValue;
+ ParameterExpression keyParam = Expression.Parameter(typeof(TParameter), "key");
+ MethodCallExpression methodCall = Expression.Call(null, method, new Expression[] { resultValue = keyParam });
+ return Expression.Lambda<Func<TParameter, object>>(methodCall, new[] { resultValue }).Compile();
+ }
+ }
+
public class Log4NetLogger: ILogger
{
private static readonly System.Type ILogType = System.Type.GetType("log4net.ILog, log4net");
Modified: trunk/nhibernate/src/NHibernate/NHibernate.build
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.build 2010-08-08 23:08:04 UTC (rev 5128)
+++ trunk/nhibernate/src/NHibernate/NHibernate.build 2010-08-09 11:33:20 UTC (rev 5129)
@@ -23,7 +23,6 @@
<include name="System.Data.OracleClient" />
<include name="System.Web.dll" />
<include name="Iesi.Collections.dll" />
- <include name="log4net.dll" />
<include name="Antlr3.Runtime.dll" />
<include name="Remotion.dll" />
<include name="Remotion.Data.Linq.dll" />
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-08 23:08:04 UTC (rev 5128)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-09 11:33:20 UTC (rev 5129)
@@ -62,10 +62,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\net\3.5\Iesi.Collections.dll</HintPath>
</Reference>
- <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\..\lib\net\3.5\log4net.dll</HintPath>
- </Reference>
<Reference Include="Remotion.Data.Linq, Version=1.13.41.2, Culture=neutral, PublicKeyToken=cab60358ab4081ea">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\lib\net\3.5\Remotion.Data.Linq.dll</HintPath>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-08 23:08:10
|
Revision: 5128
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5128&view=rev
Author: fabiomaulo
Date: 2010-08-08 23:08:04 +0000 (Sun, 08 Aug 2010)
Log Message:
-----------
Log4NetLogger without strong-dependency in Log4Net
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Logging.cs
Modified: trunk/nhibernate/src/NHibernate/Logging.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Logging.cs 2010-08-08 21:40:41 UTC (rev 5127)
+++ trunk/nhibernate/src/NHibernate/Logging.cs 2010-08-08 23:08:04 UTC (rev 5128)
@@ -1,4 +1,5 @@
using System;
+using System.Linq.Expressions;
using log4net;
namespace NHibernate
@@ -64,130 +65,196 @@
public class Log4NetLogger: ILogger
{
- private readonly ILog logger;
- private readonly Func<ILog, bool> isErrorEnabledDelegate = l => l.IsErrorEnabled;
- private readonly Func<ILog, bool> isFatalEnabledDelegate = l => l.IsFatalEnabled;
- private readonly Func<ILog, bool> isDebugEnabledDelegate = l => l.IsDebugEnabled;
- private readonly Func<ILog, bool> isInfoEnabledDelegate = l => l.IsInfoEnabled;
- private readonly Func<ILog, bool> isWarnEnabledDelegate = l => l.IsWarnEnabled;
+ private static readonly System.Type ILogType = System.Type.GetType("log4net.ILog, log4net");
+ private static readonly Func<object, bool> IsErrorEnabledDelegate;
+ private static readonly Func<object, bool> IsFatalEnabledDelegate;
+ private static readonly Func<object, bool> IsDebugEnabledDelegate;
+ private static readonly Func<object, bool> IsInfoEnabledDelegate;
+ private static readonly Func<object, bool> IsWarnEnabledDelegate;
- private readonly Action<ILog, object> errorDelegate= (l,o) => l.Error(o);
- private readonly Action<ILog, object,Exception> errorExceptionDelegate=(l,o,e)=> l.Error(o,e);
- private readonly Action<ILog, string , object[]> errorFormatDelegate= (l,f,p)=>l.ErrorFormat(f,p);
+ private static readonly Action<object, object> ErrorDelegate;
+ private static readonly Action<object, object, Exception> ErrorExceptionDelegate;
+ private static readonly Action<object, string, object[]> ErrorFormatDelegate;
- private readonly Action<ILog, object> fatalDelegate= (l,o) => l.Fatal(o);
- private readonly Action<ILog, object,Exception> fatalExceptionDelegate=(l,o,e)=> l.Fatal(o,e);
+ private static readonly Action<object, object> FatalDelegate;
+ private static readonly Action<object, object, Exception> FatalExceptionDelegate;
- private readonly Action<ILog, object> debugDelegate= (l,o) => l.Debug(o);
- private readonly Action<ILog, object, Exception> debugExceptionDelegate = (l, o, e) => l.Debug(o, e);
- private readonly Action<ILog, string, object[]> debugFormatDelegate = (l, f, p) => l.DebugFormat(f, p);
+ private static readonly Action<object, object> DebugDelegate;
+ private static readonly Action<object, object, Exception> DebugExceptionDelegate;
+ private static readonly Action<object, string, object[]> DebugFormatDelegate;
- private readonly Action<ILog, object> infoDelegate= (l,o) => l.Info(o);
- private readonly Action<ILog, object, Exception> infoExceptionDelegate = (l, o, e) => l.Info(o, e);
- private readonly Action<ILog, string, object[]> infoFormatDelegate = (l, f, p) => l.InfoFormat(f, p);
+ private static readonly Action<object, object> InfoDelegate;
+ private static readonly Action<object, object, Exception> InfoExceptionDelegate;
+ private static readonly Action<object, string, object[]> InfoFormatDelegate;
- private readonly Action<ILog, object> warnDelegate= (l,o) => l.Warn(o);
- private readonly Action<ILog, object, Exception> warnExceptionDelegate = (l, o, e) => l.Warn(o, e);
- private readonly Action<ILog, string, object[]> warnFormatDelegate = (l, f, p) => l.WarnFormat(f, p);
+ private static readonly Action<object, object> WarnDelegate;
+ private static readonly Action<object, object, Exception> WarnExceptionDelegate;
+ private static readonly Action<object, string, object[]> WarnFormatDelegate;
- public Log4NetLogger(ILog logger)
+ private readonly object logger;
+
+ static Log4NetLogger()
{
+ IsErrorEnabledDelegate = GetPropertyGetter("IsErrorEnabled");
+ IsFatalEnabledDelegate = GetPropertyGetter("IsFatalEnabled");
+ IsDebugEnabledDelegate = GetPropertyGetter("IsDebugEnabled");
+ IsInfoEnabledDelegate = GetPropertyGetter("IsInfoEnabled");
+ IsWarnEnabledDelegate = GetPropertyGetter("IsWarnEnabled");
+ ErrorDelegate = GetMethodCallForMessage("Error");
+ ErrorExceptionDelegate = GetMethodCallForMessageException("Error");
+ ErrorFormatDelegate = GetMethodCallForMessageFormat("ErrorFormat");
+
+ FatalDelegate = GetMethodCallForMessage("Fatal");
+ FatalExceptionDelegate = GetMethodCallForMessageException("Fatal");
+
+ DebugDelegate = GetMethodCallForMessage("Debug");
+ DebugExceptionDelegate = GetMethodCallForMessageException("Debug");
+ DebugFormatDelegate = GetMethodCallForMessageFormat("DebugFormat");
+
+ InfoDelegate = GetMethodCallForMessage("Info");
+ InfoExceptionDelegate = GetMethodCallForMessageException("Info");
+ InfoFormatDelegate = GetMethodCallForMessageFormat("InfoFormat");
+
+ WarnDelegate = GetMethodCallForMessage("Warn");
+ WarnExceptionDelegate = GetMethodCallForMessageException("Warn");
+ WarnFormatDelegate = GetMethodCallForMessageFormat("WarnFormat");
+ }
+
+ private static Func<object, bool> GetPropertyGetter(string propertyName)
+ {
+ ParameterExpression funcParam = Expression.Parameter(typeof(object), "l");
+ Expression convertedParam = Expression.Convert(funcParam, ILogType);
+ Expression property = Expression.Property(convertedParam, propertyName);
+ return (Func<object, bool>)Expression.Lambda(property, funcParam).Compile();
+ }
+
+ private static Action<object, object> GetMethodCallForMessage(string methodName)
+ {
+ ParameterExpression loggerParam = Expression.Parameter(typeof(object), "l");
+ ParameterExpression messageParam = Expression.Parameter(typeof(object), "o");
+ Expression convertedParam = Expression.Convert(loggerParam, ILogType);
+ MethodCallExpression methodCall = Expression.Call(convertedParam, ILogType.GetMethod(methodName, new[] { typeof(object) }), messageParam);
+ return (Action<object, object>)Expression.Lambda(methodCall, new[] { loggerParam, messageParam }).Compile();
+ }
+
+ private static Action<object, object, Exception> GetMethodCallForMessageException(string methodName)
+ {
+ ParameterExpression loggerParam = Expression.Parameter(typeof(object), "l");
+ ParameterExpression messageParam = Expression.Parameter(typeof(object), "o");
+ ParameterExpression exceptionParam = Expression.Parameter(typeof(Exception), "e");
+ Expression convertedParam = Expression.Convert(loggerParam, ILogType);
+ MethodCallExpression methodCall = Expression.Call(convertedParam, ILogType.GetMethod(methodName, new[] { typeof(object), typeof(Exception) }), messageParam, exceptionParam);
+ return (Action<object, object, Exception>)Expression.Lambda(methodCall, new[] { loggerParam, messageParam, exceptionParam }).Compile();
+ }
+
+ private static Action<object, string, object[]> GetMethodCallForMessageFormat(string methodName)
+ {
+ ParameterExpression loggerParam = Expression.Parameter(typeof(object), "l");
+ ParameterExpression formatParam = Expression.Parameter(typeof(string), "f");
+ ParameterExpression parametersParam = Expression.Parameter(typeof(object[]), "p");
+ Expression convertedParam = Expression.Convert(loggerParam, ILogType);
+ MethodCallExpression methodCall = Expression.Call(convertedParam, ILogType.GetMethod(methodName, new[] { typeof(string), typeof(object[]) }), formatParam, parametersParam);
+ return (Action<object, string, object[]>)Expression.Lambda(methodCall, new[] { loggerParam, formatParam, parametersParam }).Compile();
+ }
+
+ public Log4NetLogger(object logger)
+ {
this.logger = logger;
}
public bool IsErrorEnabled
{
- get { return isErrorEnabledDelegate(logger); }
+ get { return IsErrorEnabledDelegate(logger); }
}
public bool IsFatalEnabled
{
- get { return isFatalEnabledDelegate(logger); }
+ get { return IsFatalEnabledDelegate(logger); }
}
public bool IsDebugEnabled
{
- get { return isDebugEnabledDelegate(logger); }
+ get { return IsDebugEnabledDelegate(logger); }
}
public bool IsInfoEnabled
{
- get { return isInfoEnabledDelegate(logger); }
+ get { return IsInfoEnabledDelegate(logger); }
}
public bool IsWarnEnabled
{
- get { return isWarnEnabledDelegate(logger); }
+ get { return IsWarnEnabledDelegate(logger); }
}
public void Error(object message)
{
- errorDelegate(logger, message);
+ ErrorDelegate(logger, message);
}
public void Error(object message, Exception exception)
{
- errorExceptionDelegate(logger,message,exception);
+ ErrorExceptionDelegate(logger,message,exception);
}
public void ErrorFormat(string format, params object[] args)
{
- errorFormatDelegate(logger, format, args);
+ ErrorFormatDelegate(logger, format, args);
}
public void Fatal(object message)
{
- fatalDelegate(logger, message);
+ FatalDelegate(logger, message);
}
public void Fatal(object message, Exception exception)
{
- fatalExceptionDelegate(logger,message,exception);
+ FatalExceptionDelegate(logger,message,exception);
}
public void Debug(object message)
{
- debugDelegate(logger, message);
+ DebugDelegate(logger, message);
}
public void Debug(object message, Exception exception)
{
- debugExceptionDelegate(logger, message, exception);
+ DebugExceptionDelegate(logger, message, exception);
}
public void DebugFormat(string format, params object[] args)
{
- debugFormatDelegate(logger, format, args);
+ DebugFormatDelegate(logger, format, args);
}
public void Info(object message)
{
- infoDelegate(logger, message);
+ InfoDelegate(logger, message);
}
public void Info(object message, Exception exception)
{
- infoExceptionDelegate(logger, message, exception);
+ InfoExceptionDelegate(logger, message, exception);
}
public void InfoFormat(string format, params object[] args)
{
- infoFormatDelegate(logger, format, args);
+ InfoFormatDelegate(logger, format, args);
}
public void Warn(object message)
{
- warnDelegate(logger, message);
+ WarnDelegate(logger, message);
}
public void Warn(object message, Exception exception)
{
- warnExceptionDelegate(logger, message, exception);
+ WarnExceptionDelegate(logger, message, exception);
}
public void WarnFormat(string format, params object[] args)
{
- warnFormatDelegate(logger, format, args);
+ WarnFormatDelegate(logger, format, args);
}
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-08 21:40:53
|
Revision: 5127
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5127&view=rev
Author: fabiomaulo
Date: 2010-08-08 21:40:41 +0000 (Sun, 08 Aug 2010)
Log Message:
-----------
Isolated Log4Net stuff (first step to fix NH-1554 and NH-2263)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs
trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs
trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs
trunk/nhibernate/src/NHibernate/AssertionFailure.cs
trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs
trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs
trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs
trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs
trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs
trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs
trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs
trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs
trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs
trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs
trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs
trunk/nhibernate/src/NHibernate/Cfg/Environment.cs
trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs
trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingLogExtensions.cs
trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs
trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs
trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs
trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs
trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs
trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs
trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs
trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs
trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs
trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs
trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs
trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs
trunk/nhibernate/src/NHibernate/Engine/Cascade.cs
trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs
trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs
trunk/nhibernate/src/NHibernate/Engine/Collections.cs
trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs
trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs
trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs
trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs
trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs
trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs
trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs
trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs
trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs
trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs
trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs
trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs
trunk/nhibernate/src/NHibernate/Engine/Versioning.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultDirtyCheckEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultEvictEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultFlushEntityEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultInitializeCollectionEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultLoadEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultMergeEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultPersistEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultRefreshEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultReplicateEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/DefaultSaveOrUpdateEventListener.cs
trunk/nhibernate/src/NHibernate/Event/Default/EvictVisitor.cs
trunk/nhibernate/src/NHibernate/Event/Default/ReattachVisitor.cs
trunk/nhibernate/src/NHibernate/Event/Default/WrapVisitor.cs
trunk/nhibernate/src/NHibernate/Exceptions/SQLExceptionConverterFactory.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/ErrorCounter.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Exec/AbstractStatementExecutor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Exec/BasicExecutor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Exec/MultiTableDeleteExecutor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Exec/MultiTableUpdateExecutor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlParser.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/QueryTranslatorImpl.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/AbstractRestrictableStatement.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/DeleteStatement.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/DotNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromClause.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromElement.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromElementFactory.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromElementType.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/FromReferenceNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/IndexNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/MethodNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/QueryNode.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Tree/UpdateStatement.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/JoinProcessor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/LiteralProcessor.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/PathHelper.cs
trunk/nhibernate/src/NHibernate/Hql/Ast/ANTLR/Util/SyntheticAndFactory.cs
trunk/nhibernate/src/NHibernate/Hql/Classic/QueryTranslator.cs
trunk/nhibernate/src/NHibernate/Hql/QuerySplitter.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/OptimizerFactory.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/SequenceStructure.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/SequenceStyleGenerator.cs
trunk/nhibernate/src/NHibernate/Id/Enhanced/TableStructure.cs
trunk/nhibernate/src/NHibernate/Id/IdentifierGeneratorFactory.cs
trunk/nhibernate/src/NHibernate/Id/IncrementGenerator.cs
trunk/nhibernate/src/NHibernate/Id/NativeGuidGenerator.cs
trunk/nhibernate/src/NHibernate/Id/SequenceGenerator.cs
trunk/nhibernate/src/NHibernate/Id/SequenceHiLoGenerator.cs
trunk/nhibernate/src/NHibernate/Id/TableGenerator.cs
trunk/nhibernate/src/NHibernate/Id/TableHiLoGenerator.cs
trunk/nhibernate/src/NHibernate/Impl/AbstractSessionImpl.cs
trunk/nhibernate/src/NHibernate/Impl/EnumerableImpl.cs
trunk/nhibernate/src/NHibernate/Impl/MultiCriteriaImpl.cs
trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
trunk/nhibernate/src/NHibernate/Impl/Printer.cs
trunk/nhibernate/src/NHibernate/Impl/SessionFactoryImpl.cs
trunk/nhibernate/src/NHibernate/Impl/SessionFactoryObjectFactory.cs
trunk/nhibernate/src/NHibernate/Impl/SessionImpl.cs
trunk/nhibernate/src/NHibernate/Impl/StatelessSessionImpl.cs
trunk/nhibernate/src/NHibernate/LazyInitializationException.cs
trunk/nhibernate/src/NHibernate/Linq/Functions/LinqToHqlGeneratorsRegistryFactory.cs
trunk/nhibernate/src/NHibernate/Loader/Collection/BasicCollectionLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Collection/OneToManyLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaJoinWalker.cs
trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
trunk/nhibernate/src/NHibernate/Loader/Custom/Sql/SQLCustomQuery.cs
trunk/nhibernate/src/NHibernate/Loader/Custom/Sql/SQLQueryReturnProcessor.cs
trunk/nhibernate/src/NHibernate/Loader/Entity/AbstractEntityLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Entity/CollectionElementLoader.cs
trunk/nhibernate/src/NHibernate/Loader/Loader.cs
trunk/nhibernate/src/NHibernate/Mapping/RootClass.cs
trunk/nhibernate/src/NHibernate/NHibernate.csproj
trunk/nhibernate/src/NHibernate/NonUniqueResultException.cs
trunk/nhibernate/src/NHibernate/Persister/Collection/AbstractCollectionPersister.cs
trunk/nhibernate/src/NHibernate/Persister/Collection/NamedQueryCollectionInitializer.cs
trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs
trunk/nhibernate/src/NHibernate/Persister/Entity/NamedQueryLoader.cs
trunk/nhibernate/src/NHibernate/SqlCommand/InsertSelect.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlDeleteBuilder.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlInsertBuilder.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlSelectBuilder.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs
trunk/nhibernate/src/NHibernate/Stat/StatisticsImpl.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/DatabaseMetadata.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaExport.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaUpdate.cs
trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaValidator.cs
trunk/nhibernate/src/NHibernate/Transaction/AdoNetTransactionFactory.cs
trunk/nhibernate/src/NHibernate/Transaction/AdoNetWithDistributedTransactionFactory.cs
trunk/nhibernate/src/NHibernate/Transaction/AdoTransaction.cs
trunk/nhibernate/src/NHibernate/Transform/DistinctRootEntityResultTransformer.cs
trunk/nhibernate/src/NHibernate/Tuple/Component/AbstractComponentTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/AbstractEntityTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/DynamicMapEntityTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/EntityMetamodel.cs
trunk/nhibernate/src/NHibernate/Tuple/Entity/PocoEntityTuplizer.cs
trunk/nhibernate/src/NHibernate/Tuple/PocoInstantiator.cs
trunk/nhibernate/src/NHibernate/Type/CompositeCustomType.cs
trunk/nhibernate/src/NHibernate/Type/CustomType.cs
trunk/nhibernate/src/NHibernate/Type/DbTimestampType.cs
trunk/nhibernate/src/NHibernate/Type/NullableType.cs
trunk/nhibernate/src/NHibernate/Util/ADOExceptionReporter.cs
trunk/nhibernate/src/NHibernate/Util/IdentityMap.cs
trunk/nhibernate/src/NHibernate/Util/JoinedEnumerable.cs
trunk/nhibernate/src/NHibernate/Util/ReflectHelper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Logging.cs
trunk/nhibernate/src/NHibernate.Test/Logging/
trunk/nhibernate/src/NHibernate.Test/Logging/Log4NetLoggerTest.cs
trunk/nhibernate/src/NHibernate.Test/Logging/LogggerProviderTest.cs
Modified: trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Data;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Driver;
using NHibernate.Engine;
using NHibernate.Exceptions;
@@ -21,7 +21,7 @@
/// </summary>
public abstract class AbstractBatcher : IBatcher
{
- protected static readonly ILog log = LogManager.GetLogger(typeof(AbstractBatcher));
+ protected static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractBatcher));
private static int openCommandCount;
private static int openReaderCount;
Modified: trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/AdoNet/ConnectionManager.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Data;
using System.Runtime.Serialization;
using System.Security.Permissions;
-using log4net;
+
using NHibernate.Engine;
namespace NHibernate.AdoNet
@@ -17,7 +17,7 @@
[Serializable]
public class ConnectionManager : ISerializable, IDeserializationCallback
{
- private static readonly ILog log = LogManager.GetLogger(typeof(ConnectionManager));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ConnectionManager));
public interface Callback
{
Modified: trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/AdoNet/Util/SqlStatementLogger.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,14 +1,14 @@
using System;
using System.Data;
using System.Text;
-using log4net;
+
namespace NHibernate.AdoNet.Util
{
/// <summary> Centralize logging handling for SQL statements. </summary>
public class SqlStatementLogger
{
- private static readonly ILog log = LogManager.GetLogger("NHibernate.SQL");
+ private static readonly ILogger log = LogggerProvider.LoggerFor("NHibernate.SQL");
/// <summary> Constructs a new SqlStatementLogger instance.</summary>
public SqlStatementLogger() : this(false, false) { }
Modified: trunk/nhibernate/src/NHibernate/AssertionFailure.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AssertionFailure.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/AssertionFailure.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Runtime.Serialization;
-using log4net;
+
namespace NHibernate
{
/// <summary>
@@ -17,7 +17,7 @@
/// </summary>
public AssertionFailure() : base(String.Empty)
{
- LogManager.GetLogger(typeof(AssertionFailure)).Error(DefaultMessage);
+ LogggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage);
}
/// <summary>
@@ -26,7 +26,7 @@
/// <param name="message">The message that describes the error. </param>
public AssertionFailure(string message) : base(message)
{
- LogManager.GetLogger(typeof(AssertionFailure)).Error(DefaultMessage, this);
+ LogggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage, this);
}
/// <summary>
@@ -40,7 +40,7 @@
/// </param>
public AssertionFailure(string message, Exception innerException) : base(message, innerException)
{
- LogManager.GetLogger(typeof(AssertionFailure)).Error(DefaultMessage, innerException);
+ LogggerProvider.LoggerFor(typeof(AssertionFailure)).Error(DefaultMessage, innerException);
}
/// <summary>
Modified: trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Bytecode/CodeDom/BytecodeProviderImpl.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.CodeDom.Compiler;
using System.Reflection;
using System.Text;
-using log4net;
+
using Microsoft.CSharp;
using NHibernate.Properties;
@@ -13,7 +13,7 @@
/// </summary>
public class BytecodeProviderImpl : AbstractBytecodeProvider
{
- private static readonly ILog log = LogManager.GetLogger(typeof (BytecodeProviderImpl));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (BytecodeProviderImpl));
#region IBytecodeProvider Members
Modified: trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cache/CacheFactory.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,4 +1,4 @@
-using log4net;
+
using NHibernate.Cfg;
using System.Collections.Generic;
@@ -9,7 +9,7 @@
/// </summary>
public static class CacheFactory
{
- private static readonly ILog log = LogManager.GetLogger(typeof(CacheFactory));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(CacheFactory));
public const string ReadOnly = "read-only";
public const string ReadWrite = "read-write";
Modified: trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cache/NoCacheProvider.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
-using log4net;
+
namespace NHibernate.Cache
{
/// <summary>
@@ -9,7 +9,7 @@
/// </summary>
public class NoCacheProvider : ICacheProvider
{
- private static readonly ILog log = LogManager.GetLogger(typeof(NoCacheProvider));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(NoCacheProvider));
public const string WarnMessage = "Second-level cache is enabled in a class, but no cache provider was selected. Fake cache used.";
Modified: trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cache/NonstrictReadWriteCache.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Collections;
-using log4net;
+
namespace NHibernate.Cache
{
/// <summary>
@@ -16,7 +16,7 @@
{
private ICache cache;
- private static readonly ILog log = LogManager.GetLogger(typeof(NonstrictReadWriteCache));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(NonstrictReadWriteCache));
/// <summary>
/// Gets the cache region name.
Modified: trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cache/ReadOnlyCache.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Collections;
-using log4net;
+
namespace NHibernate.Cache
{
/// <summary>
@@ -10,7 +10,7 @@
public class ReadOnlyCache : ICacheConcurrencyStrategy
{
private ICache cache;
- private static readonly ILog log = LogManager.GetLogger(typeof(ReadOnlyCache));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ReadOnlyCache));
/// <summary>
/// Gets the cache region name.
Modified: trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cache/ReadWriteCache.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Collections;
-using log4net;
+
namespace NHibernate.Cache
{
/// <summary>
@@ -30,7 +30,7 @@
bool IsPuttable(long txTimestamp, object newVersion, IComparer comparator);
}
- private static readonly ILog log = LogManager.GetLogger(typeof(ReadWriteCache));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ReadWriteCache));
private readonly object _lockObject = new object();
private ICache cache;
Modified: trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cache/StandardQueryCache.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Cfg;
using NHibernate.Engine;
using NHibernate.Type;
@@ -18,7 +18,7 @@
/// </summary>
public class StandardQueryCache : IQueryCache
{
- private static readonly ILog log = LogManager.GetLogger(typeof (StandardQueryCache));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (StandardQueryCache));
private readonly ICache queryCache;
private readonly string regionName;
private readonly UpdateTimestampsCache updateTimestampsCache;
Modified: trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cache/UpdateTimestampsCache.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Cfg;
namespace NHibernate.Cache
@@ -16,7 +16,7 @@
/// </summary>
public class UpdateTimestampsCache
{
- private static readonly ILog log = LogManager.GetLogger(typeof(UpdateTimestampsCache));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(UpdateTimestampsCache));
private ICache updateTimestamps;
private readonly string regionName = typeof(UpdateTimestampsCache).Name;
Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -10,7 +10,7 @@
using System.Xml.Schema;
using Iesi.Collections;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Bytecode;
using NHibernate.Cfg.ConfigurationSchema;
using NHibernate.Cfg.MappingSchema;
@@ -75,7 +75,7 @@
protected IDictionary<string, Mappings.TableDescription> tableNameBinding;
protected IDictionary<Table, Mappings.ColumnNames> columnNameBindingPerTable;
- private static readonly ILog log = LogManager.GetLogger(typeof(Configuration));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Configuration));
protected internal SettingsFactory settingsFactory;
Modified: trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/HibernateConfiguration.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,8 +1,8 @@
using System;
using System.Xml;
using System.Xml.XPath;
-using log4net;
+
namespace NHibernate.Cfg.ConfigurationSchema
{
/// <summary>
@@ -23,7 +23,7 @@
/// </summary>
public class HibernateConfiguration : IHibernateConfiguration
{
- private static readonly ILog log = LogManager.GetLogger(typeof(HibernateConfiguration));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(HibernateConfiguration));
/// <summary>
/// Initializes a new instance of the <see cref="HibernateConfiguration"/> class.
Modified: trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/ConfigurationSchema/SessionFactoryConfiguration.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -8,7 +8,7 @@
/// </summary>
public class SessionFactoryConfiguration : SessionFactoryConfigurationBase
{
- //private static readonly ILog log = LogManager.GetLogger(typeof(SessionFactoryConfiguration));
+ //private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(SessionFactoryConfiguration));
internal SessionFactoryConfiguration(XPathNavigator hbConfigurationSection)
{
Modified: trunk/nhibernate/src/NHibernate/Cfg/Environment.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Environment.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/Environment.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Configuration;
using System.Reflection;
-using log4net;
+
using NHibernate.Bytecode;
using NHibernate.Cfg.ConfigurationSchema;
using NHibernate.Util;
@@ -167,7 +167,7 @@
private static IBytecodeProvider BytecodeProviderInstance;
private static bool EnableReflectionOptimizer;
- private static readonly ILog log = LogManager.GetLogger(typeof (Environment));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (Environment));
/// <summary>
/// Issue warnings to user when any obsolete property names are used.
Modified: trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Text;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Engine;
using NHibernate.Mapping;
@@ -47,7 +47,7 @@
#endregion
- private static readonly ILog log = LogManager.GetLogger(typeof(Mappings));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Mappings));
private readonly IDictionary<string, PersistentClass> classes;
private readonly IDictionary<string, Mapping.Collection> collections;
Modified: trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/SettingsFactory.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Data;
-using log4net;
+
using NHibernate.AdoNet;
using NHibernate.AdoNet.Util;
using NHibernate.Cache;
@@ -22,7 +22,7 @@
[Serializable]
public sealed class SettingsFactory
{
- private static readonly ILog log = LogManager.GetLogger(typeof(SettingsFactory));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(SettingsFactory));
private static readonly string DefaultCacheProvider = typeof(NoCacheProvider).AssemblyQualifiedName;
public Settings BuildSettings(IDictionary<string, string> properties)
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
-using log4net;
+
using NHibernate.Mapping;
using NHibernate.Type;
using NHibernate.Util;
@@ -10,7 +10,7 @@
{
public abstract class Binder
{
- protected static readonly ILog log = LogManager.GetLogger(typeof (Binder));
+ protected static readonly ILogger log = LogggerProvider.LoggerFor(typeof (Binder));
protected static readonly IDictionary<string, MetaAttribute> EmptyMeta =
new CollectionHelper.EmptyMapClass<string, MetaAttribute>();
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/FilterDefinitionFactory.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
using System.Collections.Generic;
-using log4net;
+
using NHibernate.Cfg.MappingSchema;
using NHibernate.Engine;
using NHibernate.Type;
@@ -8,7 +8,7 @@
{
public class FilterDefinitionFactory
{
- private static readonly ILog log = LogManager.GetLogger(typeof (FilterDefinitionFactory));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (FilterDefinitionFactory));
public static FilterDefinition CreateFilterDefinition(HbmFilterDef filterDefSchema)
{
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingLogExtensions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingLogExtensions.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingLogExtensions.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,11 +1,11 @@
using System.Linq;
-using log4net;
+
namespace NHibernate.Cfg.XmlHbmBinding
{
public static class MappingLogExtensions
{
- public static void LogMapped(this Mapping.Property property, ILog log)
+ public static void LogMapped(this Mapping.Property property, ILogger log)
{
if (log.IsDebugEnabled)
{
Modified: trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Collection/PersistentArrayHolder.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -3,7 +3,7 @@
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
-using log4net;
+
using NHibernate.DebugHelpers;
using NHibernate.Engine;
using NHibernate.Loader;
@@ -20,7 +20,7 @@
[DebuggerTypeProxy(typeof (CollectionProxy))]
public class PersistentArrayHolder : AbstractPersistentCollection, ICollection
{
- private static readonly ILog log = LogManager.GetLogger(typeof (PersistentArrayHolder));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (PersistentArrayHolder));
private Array array;
Modified: trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Connection/ConnectionProvider.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections;
using System.Configuration;
using System.Data;
-using log4net;
+
using NHibernate.Driver;
using NHibernate.Util;
using Environment=NHibernate.Cfg.Environment;
@@ -15,7 +15,7 @@
/// </summary>
public abstract class ConnectionProvider : IConnectionProvider
{
- private static readonly ILog log = LogManager.GetLogger(typeof(ConnectionProvider));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ConnectionProvider));
private string connString;
private IDriver driver;
Modified: trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Connection/ConnectionProviderFactory.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
-using log4net;
+
using NHibernate.Util;
using Environment=NHibernate.Cfg.Environment;
@@ -11,7 +11,7 @@
/// </summary>
public sealed class ConnectionProviderFactory
{
- private static readonly ILog log = LogManager.GetLogger(typeof(ConnectionProviderFactory));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ConnectionProviderFactory));
// cannot be instantiated
private ConnectionProviderFactory()
Modified: trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Connection/DriverConnectionProvider.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Data;
-using log4net;
+
namespace NHibernate.Connection
{
/// <summary>
@@ -9,7 +9,7 @@
/// </summary>
public class DriverConnectionProvider : ConnectionProvider
{
- private static readonly ILog log = LogManager.GetLogger(typeof(DriverConnectionProvider));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DriverConnectionProvider));
/// <summary>
/// Closes and Disposes of the <see cref="IDbConnection"/>.
Modified: trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Connection/UserSuppliedConnectionProvider.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
using System.Data;
-using log4net;
+
namespace NHibernate.Connection
{
/// <summary>
@@ -14,7 +14,7 @@
/// </remarks>
public class UserSuppliedConnectionProvider : ConnectionProvider
{
- private static readonly ILog log = LogManager.GetLogger(typeof(UserSuppliedConnectionProvider));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(UserSuppliedConnectionProvider));
/// <summary>
/// Throws an <see cref="InvalidOperationException"/> if this method is called
Modified: trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Context/ThreadLocalSessionContext.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System;
using System.Collections.Generic;
-using log4net;
+
using NHibernate;
using NHibernate.Engine;
@@ -30,7 +30,7 @@
[Serializable]
public class ThreadLocalSessionContext : ICurrentSessionContext
{
- private static readonly ILog log = LogManager.GetLogger(typeof(ThreadLocalSessionContext));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ThreadLocalSessionContext));
[ThreadStatic]
protected static IDictionary<ISessionFactory, ISession> context;
Modified: trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -4,7 +4,7 @@
using System.Data.Common;
using System.Text;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Dialect.Function;
using NHibernate.Dialect.Lock;
using NHibernate.Dialect.Schema;
@@ -31,7 +31,7 @@
/// </remarks>
public abstract class Dialect
{
- private static readonly ILog log = LogManager.GetLogger(typeof(Dialect));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Dialect));
private readonly TypeNames typeNames = new TypeNames();
private readonly TypeNames hibernateTypeNames = new TypeNames();
Modified: trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Dialect/Lock/UpdateLockingStrategy.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System;
using System.Data;
-using log4net;
+
using NHibernate.Engine;
using NHibernate.Exceptions;
using NHibernate.Impl;
@@ -15,7 +15,7 @@
/// <remarks> This strategy is not valid for read style locks. </remarks>
public class UpdateLockingStrategy : ILockingStrategy
{
- private static readonly ILog log = LogManager.GetLogger(typeof(UpdateLockingStrategy));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(UpdateLockingStrategy));
private readonly ILockable lockable;
private readonly LockMode lockMode;
private readonly SqlString sql;
Modified: trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Dialect/Schema/AbstractTableMetadata.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,13 +1,13 @@
using System.Collections.Generic;
using System.Data;
-using log4net;
+
using NHibernate.Util;
namespace NHibernate.Dialect.Schema
{
public abstract class AbstractTableMetadata : ITableMetadata
{
- private static readonly ILog log = LogManager.GetLogger(typeof(ITableMetadata));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ITableMetadata));
private string catalog;
private string schema;
private string name;
Modified: trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Driver/DriverBase.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using System.Data;
-using log4net;
+
using NHibernate.SqlCommand;
using NHibernate.SqlTypes;
using NHibernate.Util;
@@ -14,7 +14,7 @@
/// </summary>
public abstract class DriverBase : IDriver, ISqlParameterFormatter
{
- private static readonly ILog log = LogManager.GetLogger(typeof(DriverBase));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DriverBase));
private int commandTimeout;
private bool prepareSql;
Modified: trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Driver/NHybridDataReader.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Data;
-using log4net;
+
namespace NHibernate.Driver
{
/// <summary>
@@ -22,7 +22,7 @@
/// </remarks>
public class NHybridDataReader : IDataReader
{
- private ILog log = LogManager.GetLogger(typeof(NHybridDataReader));
+ private ILogger log = LogggerProvider.LoggerFor(typeof(NHybridDataReader));
private IDataReader _reader;
private bool _isMidstream = false;
Modified: trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/ActionQueue.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -3,7 +3,7 @@
using System.Collections.Generic;
using System.Text;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Action;
using NHibernate.Cache;
@@ -20,7 +20,7 @@
[Serializable]
public class ActionQueue
{
- private static readonly ILog log = LogManager.GetLogger(typeof(ActionQueue));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ActionQueue));
private const int InitQueueListSize = 5;
private ISessionImplementor session;
Modified: trunk/nhibernate/src/NHibernate/Engine/Cascade.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Cascade.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Cascade.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
using System.Collections;
-using log4net;
+
using NHibernate.Collection;
using NHibernate.Event;
using NHibernate.Persister.Collection;
@@ -70,7 +70,7 @@
/// </summary>
public sealed class Cascade
{
- private static readonly ILog log = LogManager.GetLogger(typeof(Cascade));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Cascade));
private CascadePoint point;
private readonly IEventSource eventSource;
Modified: trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/CascadingAction.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System.Collections;
using Iesi.Collections;
-using log4net;
+
using NHibernate.Collection;
using NHibernate.Event;
using NHibernate.Persister.Entity;
@@ -14,7 +14,7 @@
/// </summary>
public abstract class CascadingAction
{
- private static readonly ILog log = LogManager.GetLogger(typeof(CascadingAction));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(CascadingAction));
#region The CascadingAction contract
Modified: trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/CollectionEntry.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System;
using System.Collections;
-using log4net;
+
using NHibernate.Collection;
using NHibernate.Impl;
using NHibernate.Persister.Collection;
@@ -14,7 +14,7 @@
[Serializable]
public class CollectionEntry
{
- private static readonly ILog log = LogManager.GetLogger(typeof (CollectionEntry));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (CollectionEntry));
/// <summary>session-start/post-flush persistent state</summary>
private object snapshot;
Modified: trunk/nhibernate/src/NHibernate/Engine/Collections.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Collections.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Collections.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,4 +1,4 @@
-using log4net;
+
using NHibernate.Collection;
using NHibernate.Impl;
using NHibernate.Persister.Collection;
@@ -8,7 +8,7 @@
{
public static class Collections
{
- private static readonly ILog log = LogManager.GetLogger(typeof(Collections));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Collections));
/// <summary>
/// Record the fact that this collection was dereferenced
Modified: trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/ForeignKeys.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,4 +1,4 @@
-using log4net;
+
using NHibernate.Id;
using NHibernate.Persister.Entity;
using NHibernate.Proxy;
@@ -9,7 +9,7 @@
/// <summary> Algorithms related to foreign key constraint transparency </summary>
public static class ForeignKeys
{
- private static readonly ILog log = LogManager.GetLogger(typeof(ForeignKeys));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(ForeignKeys));
public class Nullifier
{
Modified: trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/IdentifierValue.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
-using log4net;
+
namespace NHibernate.Engine
{
/// <summary>
@@ -9,7 +9,7 @@
/// </summary>
public class IdentifierValue
{
- private static readonly ILog log = LogManager.GetLogger(typeof(IdentifierValue));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(IdentifierValue));
private readonly object value;
Modified: trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Loading/CollectionLoadContext.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -3,7 +3,7 @@
using System.Data;
using System.Diagnostics;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Cache;
using NHibernate.Cache.Entry;
using NHibernate.Collection;
@@ -22,7 +22,7 @@
/// </remarks>
public class CollectionLoadContext
{
- private static readonly ILog log = LogManager.GetLogger(typeof(CollectionLoadContext));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(CollectionLoadContext));
private readonly LoadContexts loadContexts;
private readonly IDataReader resultSet;
private readonly ISet<CollectionKey> localLoadingCollectionKeys = new HashedSet<CollectionKey>();
Modified: trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Loading/LoadContexts.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Data;
-using log4net;
+
using NHibernate.Collection;
using NHibernate.Impl;
using NHibernate.Persister.Collection;
@@ -26,7 +26,7 @@
/// </remarks>
public class LoadContexts
{
- private static readonly ILog log = LogManager.GetLogger(typeof(LoadContexts));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(LoadContexts));
[NonSerialized]
private readonly IPersistenceContext persistenceContext;
Modified: trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Query/HQLQueryPlan.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Event;
using NHibernate.Hql;
using NHibernate.Type;
@@ -31,7 +31,7 @@
[Serializable]
public class HQLQueryPlan : IQueryPlan
{
- protected static readonly ILog Log = LogManager.GetLogger(typeof(HQLQueryPlan));
+ protected static readonly ILogger Log = LogggerProvider.LoggerFor(typeof(HQLQueryPlan));
private readonly string _sourceQuery;
Modified: trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Query/NativeSQLQueryPlan.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Data;
-using log4net;
+
using NHibernate.Action;
using NHibernate.Engine.Query.Sql;
using NHibernate.Event;
@@ -19,7 +19,7 @@
[Serializable]
public class NativeSQLQueryPlan
{
- private static readonly ILog log = LogManager.GetLogger(typeof(NativeSQLQueryPlan));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(NativeSQLQueryPlan));
private readonly string sourceQuery;
private readonly SQLCustomQuery customQuery;
Modified: trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Query/QueryPlanCache.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Engine.Query.Sql;
using NHibernate.Util;
@@ -11,7 +11,7 @@
[Serializable]
public class QueryPlanCache
{
- private static readonly ILog log = LogManager.GetLogger(typeof(QueryPlanCache));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(QueryPlanCache));
private readonly ISessionFactoryImplementor factory;
Modified: trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -3,7 +3,7 @@
using System.Collections.Generic;
using System.Data;
using System.Linq;
-using log4net;
+
using NHibernate.Hql.Classic;
using NHibernate.Impl;
using NHibernate.SqlCommand;
@@ -22,7 +22,7 @@
{
public delegate int[] GetNamedParameterLocations(string parameterName);
- private static readonly ILog log = LogManager.GetLogger(typeof (QueryParameters));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (QueryParameters));
private IType[] _positionalParameterTypes;
private object[] _positionalParameterValues;
Modified: trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/StatefulPersistenceContext.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -6,7 +6,7 @@
using System.Text;
using Iesi.Collections;
using Iesi.Collections.Generic;
-using log4net;
+
using NHibernate.Collection;
using NHibernate.Engine.Loading;
using NHibernate.Impl;
@@ -32,8 +32,8 @@
public class StatefulPersistenceContext : IPersistenceContext, ISerializable, IDeserializationCallback
{
private const int InitCollectionSize = 8;
- private static readonly ILog log = LogManager.GetLogger(typeof(StatefulPersistenceContext));
- private static readonly ILog ProxyWarnLog = LogManager.GetLogger(typeof(StatefulPersistenceContext).FullName + ".ProxyWarnLog");
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(StatefulPersistenceContext));
+ private static readonly ILogger ProxyWarnLog = LogggerProvider.LoggerFor(typeof(StatefulPersistenceContext).FullName + ".ProxyWarnLog");
public static readonly object NoRow = new object();
Modified: trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Transaction/Isolater.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,7 +1,7 @@
using System;
using System.Data;
using System.Data.Common;
-using log4net;
+
using NHibernate.Dialect;
using NHibernate.Exceptions;
@@ -28,7 +28,7 @@
/// </remarks>
public class Isolater
{
- private static readonly ILog log = LogManager.GetLogger(typeof(Isolater));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Isolater));
/// <summary>
/// Ensures that all processing actually performed by the given work will
Modified: trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/TwoPhaseLoad.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
using System.Diagnostics;
-using log4net;
+
using NHibernate.Cache;
using NHibernate.Cache.Entry;
using NHibernate.Event;
@@ -18,7 +18,7 @@
/// </summary>
public static class TwoPhaseLoad
{
- private static readonly ILog log = LogManager.GetLogger(typeof(TwoPhaseLoad));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(TwoPhaseLoad));
/// <summary>
/// Register the "hydrated" state of an entity instance, after the first step of 2-phase loading.
Modified: trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/VersionValue.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
using System;
-using log4net;
+
using NHibernate.Id;
namespace NHibernate.Engine
@@ -11,7 +11,7 @@
/// </summary>
public class VersionValue
{
- private static readonly ILog log = LogManager.GetLogger(typeof(VersionValue));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(VersionValue));
private readonly object value;
Modified: trunk/nhibernate/src/NHibernate/Engine/Versioning.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/Versioning.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Engine/Versioning.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,4 +1,4 @@
-using log4net;
+
using NHibernate.Persister.Entity;
using NHibernate.Type;
@@ -17,7 +17,7 @@
All = 2
}
- private static readonly ILog log = LogManager.GetLogger(typeof(Versioning));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(Versioning));
/// <summary>
/// Increment the given version number
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractFlushingEventListener.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -2,7 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Text;
-using log4net;
+
using NHibernate.Action;
using NHibernate.Collection;
using NHibernate.Engine;
@@ -18,7 +18,7 @@
[Serializable]
public abstract class AbstractFlushingEventListener
{
- private static readonly ILog log = LogManager.GetLogger(typeof (AbstractFlushingEventListener));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof (AbstractFlushingEventListener));
protected virtual object Anything
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractLockUpgradeEventListener.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
using System;
-using log4net;
+
using NHibernate.Cache;
using NHibernate.Engine;
using NHibernate.Impl;
@@ -15,7 +15,7 @@
[Serializable]
public class AbstractLockUpgradeEventListener : AbstractReassociateEventListener
{
- private static readonly ILog log = LogManager.GetLogger(typeof(AbstractLockUpgradeEventListener));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractLockUpgradeEventListener));
/// <summary>
/// Performs a pessimistic lock upgrade on a given entity, if needed.
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractReassociateEventListener.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
using System;
-using log4net;
+
using NHibernate.Engine;
using NHibernate.Impl;
using NHibernate.Persister.Entity;
@@ -15,7 +15,7 @@
[Serializable]
public class AbstractReassociateEventListener
{
- private static readonly ILog log = LogManager.GetLogger(typeof(AbstractReassociateEventListener));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractReassociateEventListener));
/// <summary>
/// Associates a given entity (either transient or associated with another session) to the given session.
Modified: trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Event/Default/AbstractSaveEventListener.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System;
using System.Collections;
-using log4net;
+
using NHibernate.Action;
using NHibernate.Classic;
using NHibernate.Engine;
@@ -28,7 +28,7 @@
[Serializable]
public abstract class AbstractSaveEventListener : AbstractReassociateEventListener
{
- private static readonly ILog log = LogManager.GetLogger(typeof(AbstractSaveEventListener));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(AbstractSaveEventListener));
protected virtual bool? AssumedUnsaved
{
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultAutoFlushEventListener.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,5 +1,5 @@
using System;
-using log4net;
+
using NHibernate.Engine;
namespace NHibernate.Event.Default
@@ -11,7 +11,7 @@
[Serializable]
public class DefaultAutoFlushEventListener : AbstractFlushingEventListener, IAutoFlushEventListener
{
- private static readonly ILog log = LogManager.GetLogger(typeof(DefaultAutoFlushEventListener));
+ private static readonly ILogger log = LogggerProvider.LoggerFor(typeof(DefaultAutoFlushEventListener));
#region IAutoFlushEventListener Members
Modified: trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs 2010-08-07 17:35:36 UTC (rev 5126)
+++ trunk/nhibernate/src/NHibernate/Event/Default/DefaultDeleteEventListener.cs 2010-08-08 21:40:41 UTC (rev 5127)
@@ -1,6 +1,6 @@
using System;
using Iesi.Collections;
-using log4net;
+
using NHibernate.Action;
using NHibernate.Classic;
using NHibernate.Engine;
@@ -19,7 +19,7 @@
[Serializable]
...
[truncated message content] |
|
From: <fab...@us...> - 2010-08-07 17:35:42
|
Revision: 5126
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5126&view=rev
Author: fabiomaulo
Date: 2010-08-07 17:35:36 +0000 (Sat, 07 Aug 2010)
Log Message:
-----------
Fix NH-2220 (by Thomas Hotz)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Dialect/SQLiteDialect.cs
Modified: trunk/nhibernate/src/NHibernate/Dialect/SQLiteDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/SQLiteDialect.cs 2010-08-07 17:24:50 UTC (rev 5125)
+++ trunk/nhibernate/src/NHibernate/Dialect/SQLiteDialect.cs 2010-08-07 17:35:36 UTC (rev 5126)
@@ -219,5 +219,20 @@
return pagingBuilder.ToSqlString();
}
+
+ public override bool SupportsTemporaryTables
+ {
+ get { return true; }
+ }
+
+ public override string CreateTemporaryTableString
+ {
+ get { return "create temp table"; }
+ }
+
+ public override bool DropTemporaryTableAfterUse()
+ {
+ return true;
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-07 17:24:56
|
Revision: 5125
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5125&view=rev
Author: fabiomaulo
Date: 2010-08-07 17:24:50 +0000 (Sat, 07 Aug 2010)
Log Message:
-----------
Fix NH-2277
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Linq/Visitors/QuerySourceLocator.cs
trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs
Modified: trunk/nhibernate/src/NHibernate/Linq/Visitors/QuerySourceLocator.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Linq/Visitors/QuerySourceLocator.cs 2010-08-07 16:51:50 UTC (rev 5124)
+++ trunk/nhibernate/src/NHibernate/Linq/Visitors/QuerySourceLocator.cs 2010-08-07 17:24:50 UTC (rev 5125)
@@ -24,7 +24,7 @@
public override void VisitMainFromClause(MainFromClause fromClause, QueryModel queryModel)
{
- if (_type == fromClause.ItemType)
+ if (_type.IsAssignableFrom(fromClause.ItemType))
{
_querySource = fromClause;
}
Modified: trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs 2010-08-07 16:51:50 UTC (rev 5124)
+++ trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs 2010-08-07 17:24:50 UTC (rev 5125)
@@ -1,6 +1,8 @@
using System.Linq;
using NHibernate.Linq;
+using NHibernate.Test.Linq.Entities;
using NUnit.Framework;
+using SharpTestsEx;
namespace NHibernate.Test.Linq
{
@@ -53,5 +55,13 @@
Assert.IsTrue(NHibernateUtil.IsInitialized(x[0].Orders));
Assert.IsTrue(NHibernateUtil.IsInitialized(x[0].Orders.First().OrderLines));
}
+
+ [Test]
+ public void WhenFetchSuperclassCollectionThenNotThrows()
+ {
+ // NH-2277
+ session.Executing(s => s.Query<Lizard>().Fetch(x => x.Children).ToList()).NotThrows();
+ session.Close();
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-07 16:51:56
|
Revision: 5124
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5124&view=rev
Author: fabiomaulo
Date: 2010-08-07 16:51:50 +0000 (Sat, 07 Aug 2010)
Log Message:
-----------
Fix NH-2266
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Persister/Entity/SingleTableEntityPersister.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Domain.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Mappings.hbm.xml
Modified: trunk/nhibernate/src/NHibernate/Persister/Entity/SingleTableEntityPersister.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Persister/Entity/SingleTableEntityPersister.cs 2010-08-07 12:58:27 UTC (rev 5123)
+++ trunk/nhibernate/src/NHibernate/Persister/Entity/SingleTableEntityPersister.cs 2010-08-07 16:51:50 UTC (rev 5124)
@@ -527,6 +527,12 @@
private string DiscriminatorFilterFragment(string alias)
{
+ const string abstractClassWithNoSubclassExceptionMessageTemplate =
+@"The class {0} can't be instatiated and does not have mapped subclasses;
+possible solutions:
+- don't map the abstract class
+- map the its subclasses.";
+
if (NeedsDiscriminator)
{
InFragment frag = new InFragment();
@@ -541,13 +547,20 @@
}
string[] subclasses = SubclassClosure;
- for (int i = 0; i < subclasses.Length; i++)
+ int validValuesForInFragment = 0;
+ foreach (string t in subclasses)
{
- IQueryable queryable = (IQueryable)Factory.GetEntityPersister(subclasses[i]);
+ var queryable = (IQueryable) Factory.GetEntityPersister(t);
if (!queryable.IsAbstract)
+ {
frag.AddValue(queryable.DiscriminatorSQLValue);
+ validValuesForInFragment++;
+ }
}
-
+ if(validValuesForInFragment == 0)
+ {
+ throw new NotSupportedException(string.Format(abstractClassWithNoSubclassExceptionMessageTemplate, subclasses[0]));
+ }
StringBuilder buf = new StringBuilder(50).Append(" and ").Append(frag.ToFragmentString().ToString());
return buf.ToString();
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Domain.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Domain.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Domain.cs 2010-08-07 16:51:50 UTC (rev 5124)
@@ -0,0 +1,10 @@
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH2266
+{
+ public abstract class Token { public virtual int Id { get; set; } }
+
+ public class SecurityToken : Token { public virtual string Owner { get; set; } }
+
+ public abstract class TemporaryToken : Token { public virtual DateTime ExpiryDate { get; set; } }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Fixture.cs 2010-08-07 16:51:50 UTC (rev 5124)
@@ -0,0 +1,19 @@
+using System;
+using NHibernate.Cfg;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH2266
+{
+ public class Fixture
+ {
+ [Test]
+ public void WhenBuildSessionFactoryThenThrows()
+ {
+ Configuration cfg = TestConfigurationHelper.GetDefaultConfiguration();
+ cfg.AddResource("NHibernate.Test.NHSpecificTest.NH2266.Mappings.hbm.xml", GetType().Assembly);
+ cfg.Executing(c => c.BuildSessionFactory()).Throws<NotSupportedException>()
+ .And.ValueOf.Message.Should().Contain("does not have mapped subclasses").And.Contain(typeof(TemporaryToken).FullName);
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2266/Mappings.hbm.xml 2010-08-07 16:51:50 UTC (rev 5124)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2266">
+
+ <class name="Token" abstract="true">
+ <id name="Id">
+ <generator class="native" />
+ </id>
+ <discriminator/>
+ <subclass name="SecurityToken">
+ <property name="Owner"/>
+ </subclass>
+ <subclass name="TemporaryToken" abstract="true">
+ <property name="ExpiryDate"/>
+ </subclass>
+ </class>
+</hibernate-mapping>
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-07 12:58:27 UTC (rev 5123)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-07 16:51:50 UTC (rev 5124)
@@ -454,6 +454,8 @@
<Compile Include="NHSpecificTest\NH2148\Domain.cs" />
<Compile Include="NHSpecificTest\NH2245\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2245\Model.cs" />
+ <Compile Include="NHSpecificTest\NH2266\Domain.cs" />
+ <Compile Include="NHSpecificTest\NH2266\Fixture.cs" />
<Compile Include="TypesTest\CharClass.cs" />
<Compile Include="TypesTest\CharClassFixture.cs" />
<Compile Include="TypesTest\DateTimeClass.cs" />
@@ -2240,6 +2242,7 @@
<EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" />
<EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH2266\Mappings.hbm.xml" />
<EmbeddedResource Include="TypesTest\CharClass.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1836\Mappings.hbm.xml" />
<EmbeddedResource Include="TypesTest\DateTimeClass.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-07 12:58:33
|
Revision: 5123
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5123&view=rev
Author: fabiomaulo
Date: 2010-08-07 12:58:27 +0000 (Sat, 07 Aug 2010)
Log Message:
-----------
Passing test for CharType (related to NH-2276)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs
trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml
trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-07 12:34:19 UTC (rev 5122)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-07 12:58:27 UTC (rev 5123)
@@ -454,6 +454,8 @@
<Compile Include="NHSpecificTest\NH2148\Domain.cs" />
<Compile Include="NHSpecificTest\NH2245\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2245\Model.cs" />
+ <Compile Include="TypesTest\CharClass.cs" />
+ <Compile Include="TypesTest\CharClassFixture.cs" />
<Compile Include="TypesTest\DateTimeClass.cs" />
<Compile Include="TypesTest\LocalDateTimeTypeFixture.cs" />
<Compile Include="TypesTest\UtcDateTimeTypeFixture.cs" />
@@ -2238,6 +2240,7 @@
<EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" />
<EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="TypesTest\CharClass.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1836\Mappings.hbm.xml" />
<EmbeddedResource Include="TypesTest\DateTimeClass.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1421\Mappings.hbm.xml" />
Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.cs 2010-08-07 12:58:27 UTC (rev 5123)
@@ -0,0 +1,9 @@
+namespace NHibernate.Test.TypesTest
+{
+ public class CharClass
+ {
+ public int Id { get; set; }
+ public virtual char NormalChar { get; set; }
+ public virtual char? NullableChar { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClass.hbm.xml 2010-08-07 12:58:27 UTC (rev 5123)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.TypesTest"
+ default-lazy="false">
+
+ <class name="CharClass">
+ <id name="Id" column="id">
+ <generator class="assigned" />
+ </id>
+
+ <property name="NormalChar"/>
+ <property name="NullableChar"/>
+ </class>
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/CharClassFixture.cs 2010-08-07 12:58:27 UTC (rev 5123)
@@ -0,0 +1,36 @@
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.TypesTest
+{
+ public class CharClassFixture : TypeFixtureBase
+ {
+ protected override string TypeName
+ {
+ get { return "Char"; }
+ }
+
+ [Test]
+ public void ReadWrite()
+ {
+ var basic = new CharClass{Id=1,NormalChar = 'A'};
+
+ using (var s = OpenSession())
+ {
+ s.Save(basic);
+ s.Flush();
+ }
+
+ using (var s = OpenSession())
+ {
+ CharClass saved= null;
+ Executing.This(()=> saved = s.Get<CharClass>(1)).Should().NotThrow();
+ saved.NormalChar.Should().Be('A');
+ saved.NullableChar.Should().Not.Have.Value();
+
+ s.Delete(saved);
+ s.Flush();
+ }
+ }
+ }
+}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-07 12:34:25
|
Revision: 5122
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5122&view=rev
Author: fabiomaulo
Date: 2010-08-07 12:34:19 +0000 (Sat, 07 Aug 2010)
Log Message:
-----------
minor minor
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
Modified: trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 23:19:38 UTC (rev 5121)
+++ trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-07 12:34:19 UTC (rev 5122)
@@ -669,7 +669,6 @@
private int BindQueryParameters(IDbCommand command, int queryIndex, int colIndex)
{
- IQueryTranslator translator = Translators[queryIndex];
QueryParameters parameter = Parameters[queryIndex];
colIndex += parameter.BindParameters(command, colIndex, session);
return colIndex;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-06 23:19:44
|
Revision: 5121
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5121&view=rev
Author: fabiomaulo
Date: 2010-08-06 23:19:38 +0000 (Fri, 06 Aug 2010)
Log Message:
-----------
Minor (renamed private field)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
Modified: trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 23:17:22 UTC (rev 5120)
+++ trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 23:19:38 UTC (rev 5121)
@@ -26,7 +26,7 @@
private readonly IList<System.Type> resultCollectionGenericType = new List<System.Type>();
private readonly List<QueryParameters> parameters = new List<QueryParameters>();
private IList queryResults;
- private readonly Dictionary<string, int> criteriaResultPositions = new Dictionary<string, int>();
+ private readonly Dictionary<string, int> queryResultPositions = new Dictionary<string, int>();
private string cacheRegion;
private int commandTimeout = RowSelection.NoValue;
private bool isCacheable;
@@ -320,7 +320,7 @@
public IMultiQuery Add<T>(string key, IQuery query)
{
ThrowIfKeyAlreadyExists(key);
- criteriaResultPositions.Add(key, AddQueryForLaterExecutionAndReturnIndexOfQuery(typeof(T), query));
+ queryResultPositions.Add(key, AddQueryForLaterExecutionAndReturnIndexOfQuery(typeof(T), query));
return this;
}
@@ -682,12 +682,12 @@
queryResults = List();
}
- if (!criteriaResultPositions.ContainsKey(key))
+ if (!queryResultPositions.ContainsKey(key))
{
throw new InvalidOperationException(String.Format("The key '{0}' is unknown", key));
}
- return queryResults[criteriaResultPositions[key]];
+ return queryResults[queryResultPositions[key]];
}
private int BindLimitParametersFirstIfNeccesary(IDbCommand command, int queryIndex, int colIndex)
@@ -801,7 +801,7 @@
private void ThrowIfKeyAlreadyExists(string key)
{
- if (criteriaResultPositions.ContainsKey(key))
+ if (queryResultPositions.ContainsKey(key))
{
throw new InvalidOperationException(String.Format("The key '{0}' already exists", key));
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-06 23:17:29
|
Revision: 5120
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5120&view=rev
Author: fabiomaulo
Date: 2010-08-06 23:17:22 +0000 (Fri, 06 Aug 2010)
Log Message:
-----------
Minor (added comments)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/IMultiQuery.cs
trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
Modified: trunk/nhibernate/src/NHibernate/IMultiQuery.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/IMultiQuery.cs 2010-08-06 22:29:22 UTC (rev 5119)
+++ trunk/nhibernate/src/NHibernate/IMultiQuery.cs 2010-08-06 23:17:22 UTC (rev 5120)
@@ -13,103 +13,124 @@
/// <summary>
/// Get all the results
/// </summary>
+ /// <remarks>
+ /// The result is a IList of IList.
+ /// </remarks>
IList List();
/// <summary>
- /// Adds the specified criteria to the query. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
+ /// Adds the specified query to the query. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
/// </summary>
/// <param name="resultGenericListType">Return results in a <see cref="System.Collections.Generic.List{resultGenericListType}"/></param>
- /// <param name="criteria">The criteria.</param>
- /// <returns></returns>
- IMultiQuery Add(System.Type resultGenericListType, IQuery criteria);
+ /// <param name="query">The query.</param>
+ /// <returns>The instance for method chain.</returns>
+ IMultiQuery Add(System.Type resultGenericListType, IQuery query);
/// <summary>
/// Add the specified HQL query to the multi query. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
/// </summary>
+ /// <param name="query">The query</param>
IMultiQuery Add<T>(IQuery query);
-
+
/// <summary>
- /// Add the specified HQL query to the multi query, and associate it with the given key. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
- /// </summary>
- /// <param name="key"></param>
- /// <param name="query"></param>
- /// <returns></returns>
- IMultiQuery Add<T>(string key, IQuery query);
-
- /// <summary>
- /// Add the specified HQL Query to the multi query, and associate it with the given key. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
- /// </summary>
- /// <param name="key"></param>
- /// <param name="hql"></param>
- /// <returns></returns>
- IMultiQuery Add<T>(string key, string hql);
+ /// Add the specified HQL query to the multi query, and associate it with the given key. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
+ /// </summary>
+ /// <param name="key">The key to get results of the specific query.</param>
+ /// <param name="query">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ /// <seealso cref="GetResult(string)"/>
+ IMultiQuery Add<T>(string key, IQuery query);
- /// <summary>
- /// Add the specified HQL query to the multi query. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
- /// </summary>
- IMultiQuery Add<T>(string hql);
+ /// <summary>
+ /// Add the specified HQL Query to the multi query, and associate it with the given key. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
+ /// </summary>
+ /// <param name="key">The key to get results of the specific query.</param>
+ /// <param name="hql">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ /// <seealso cref="GetResult(string)"/>
+ IMultiQuery Add<T>(string key, string hql);
- /// <summary>
- /// Add a named query to the multi query. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
- /// </summary>
- IMultiQuery AddNamedQuery<T>(string namedQuery);
+ /// <summary>
+ /// Add the specified HQL query to the multi query. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
+ /// </summary>
+ /// <param name="hql">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ IMultiQuery Add<T>(string hql);
- /// <summary>
- /// Add a named query to the multi query, and associate it with the given key. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
- /// </summary>
- /// <param name="key"></param>
- /// <param name="namedKey"></param>
- /// <returns></returns>
- IMultiQuery AddNamedQuery<T>(string key, string namedKey);
+ /// <summary>
+ /// Add a named query to the multi query. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
+ /// </summary>
+ /// <param name="queryName">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ IMultiQuery AddNamedQuery<T>(string queryName);
/// <summary>
+ /// Add a named query to the multi query, and associate it with the given key. The result will be contained in a <see cref="System.Collections.Generic.List{T}"/>
+ /// </summary>
+ /// <param name="key">The key to get results of the specific query.</param>
+ /// <param name="queryName">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ /// <seealso cref="GetResult(string)"/>
+ IMultiQuery AddNamedQuery<T>(string key, string queryName);
+
+ /// <summary>
/// Add the specified HQL query to the multi query, and associate it with the given key
/// </summary>
- /// <param name="key"></param>
- /// <param name="query"></param>
- /// <returns></returns>
+ /// <param name="key">The key to get results of the specific query.</param>
+ /// <param name="query">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ /// <seealso cref="GetResult(string)"/>
IMultiQuery Add(string key, IQuery query);
/// <summary>
- /// Add the specified HQL query to the multi query
+ /// Add the specified HQL query to the multi query
/// </summary>
+ /// <param name="query">The query</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery Add(IQuery query);
/// <summary>
/// Add the specified HQL Query to the multi query, and associate it with the given key
/// </summary>
- /// <param name="key"></param>
- /// <param name="hql"></param>
- /// <returns></returns>
+ /// <param name="key">The key to get results of the specific query.</param>
+ /// <param name="hql">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ /// <seealso cref="GetResult(string)"/>
IMultiQuery Add(string key, string hql);
/// <summary>
/// Add the specified HQL query to the multi query
/// </summary>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery Add(string hql);
/// <summary>
/// Add a named query to the multi query
/// </summary>
- IMultiQuery AddNamedQuery(string namedQuery);
+ /// <param name="queryName">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ IMultiQuery AddNamedQuery(string queryName);
/// <summary>
/// Add a named query to the multi query, and associate it with the given key
/// </summary>
- /// <param name="key"></param>
- /// <param name="namedKey"></param>
- /// <returns></returns>
- IMultiQuery AddNamedQuery(string key, string namedKey);
+ /// <param name="key">The key to get results of the specific query.</param>
+ /// <param name="queryName">The query</param>
+ /// <returns>The instance for method chain.</returns>
+ /// <seealso cref="GetResult(string)"/>
+ IMultiQuery AddNamedQuery(string key, string queryName);
/// <summary>
/// Enable caching of this query result set.
/// </summary>
/// <param name="cacheable">Should the query results be cacheable?</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetCacheable(bool cacheable);
/// Set the name of the cache region.
/// <param name="region">The name of a query cache region, or <see langword="null" />
/// for the default query cache</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetCacheRegion(string region);
/// Should the query force a refresh of the specified query cache region?
@@ -119,12 +140,14 @@
/// based on its knowledge of those events.
/// <param name="forceCacheRefresh">Should the query result in a forcible refresh of
/// the query cache?</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetForceCacheRefresh(bool forceCacheRefresh);
/// <summary>
/// The timeout for the underlying ADO query
/// </summary>
/// <param name="timeout"></param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetTimeout(int timeout);
/// <summary>
@@ -133,6 +156,7 @@
/// <param name="name">The name of the parameter</param>
/// <param name="val">The possibly null parameter value</param>
/// <param name="type">The NHibernate <see cref="IType"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetParameter(string name, object val, IType type);
@@ -142,6 +166,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">The non-null parameter value</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetParameter(string name, object val);
/// <summary>
@@ -151,6 +176,7 @@
/// <param name="name">The name of the parameter</param>
/// <param name="vals">A collection of values to list</param>
/// <param name="type">The Hibernate type of the values</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetParameterList(string name, ICollection vals, IType type);
/// <summary>
@@ -160,46 +186,52 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="vals">A collection of values to list</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetParameterList(string name, ICollection vals);
/// <summary>
- /// Bind an instance of a <see cref="String" /> to a named parameter
+ /// Bind an instance of a <see cref="string" /> to a named parameter
/// using an NHibernate <see cref="AnsiStringType"/>.
/// </summary>
/// <param name="name">The name of the parameter</param>
- /// <param name="val">A non-null instance of a <see cref="String"/>.</param>
+ /// <param name="val">A non-null instance of a <see cref="string"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetAnsiString(string name, string val);
/// <summary>
- /// Bind an instance of a <see cref="Byte" /> array to a named parameter
+ /// Bind an instance of a <see cref="byte" /> array to a named parameter
/// using an NHibernate <see cref="BinaryType"/>.
/// </summary>
/// <param name="name">The name of the parameter</param>
- /// <param name="val">A non-null instance of a <see cref="Byte"/> array.</param>
+ /// <param name="val">A non-null instance of a <see cref="byte"/> array.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetBinary(string name, byte[] val);
/// <summary>
- /// Bind an instance of a <see cref="Boolean" /> to a named parameter
+ /// Bind an instance of a <see cref="bool" /> to a named parameter
/// using an NHibernate <see cref="BooleanType"/>.
/// </summary>
/// <param name="name">The name of the parameter</param>
- /// <param name="val">A non-null instance of a <see cref="Boolean"/>.</param>
+ /// <param name="val">A non-null instance of a <see cref="bool"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetBoolean(string name, bool val);
/// <summary>
- /// Bind an instance of a <see cref="Byte" /> to a named parameter
+ /// Bind an instance of a <see cref="byte" /> to a named parameter
/// using an NHibernate <see cref="ByteType"/>.
/// </summary>
/// <param name="name">The name of the parameter</param>
- /// <param name="val">A non-null instance of a <see cref="Byte"/>.</param>
+ /// <param name="val">A non-null instance of a <see cref="byte"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetByte(string name, byte val);
/// <summary>
- /// Bind an instance of a <see cref="Char" /> to a named parameter
+ /// Bind an instance of a <see cref="char" /> to a named parameter
/// using an NHibernate <see cref="CharType"/>.
/// </summary>
/// <param name="name">The name of the parameter</param>
- /// <param name="val">A non-null instance of a <see cref="Char"/>.</param>
+ /// <param name="val">A non-null instance of a <see cref="char"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetCharacter(string name, char val);
/// <summary>
@@ -208,6 +240,7 @@
/// </summary>
/// <param name="val">A non-null instance of a <see cref="DateTime"/>.</param>
/// <param name="name">The name of the parameter</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetDateTime(string name, DateTime val);
/// <summary>
@@ -216,6 +249,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="Decimal"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetDecimal(string name, decimal val);
/// <summary>
@@ -224,6 +258,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="Double"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetDouble(string name, double val);
/// <summary>
@@ -231,6 +266,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a persistent class</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetEntity(string name, object val);
/// <summary>
@@ -239,6 +275,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a persistent enumeration</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetEnum(string name, Enum val);
/// <summary>
@@ -247,6 +284,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="Int16"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetInt16(string name, short val);
/// <summary>
@@ -255,6 +293,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="Int32"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetInt32(string name, int val);
/// <summary>
@@ -263,6 +302,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="Int64"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetInt64(string name, long val);
/// <summary>
@@ -271,6 +311,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="Single"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetSingle(string name, float val);
/// <summary>
@@ -279,6 +320,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="String"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetString(string name, string val);
/// <summary>
@@ -287,6 +329,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">An instance of a <see cref="Guid"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetGuid(string name, Guid val);
/// <summary>
@@ -295,6 +338,7 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="DateTime"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetTime(string name, DateTime val);
/// <summary>
@@ -303,11 +347,13 @@
/// </summary>
/// <param name="name">The name of the parameter</param>
/// <param name="val">A non-null instance of a <see cref="DateTime"/>.</param>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetTimestamp(string name, DateTime val);
/// <summary>
/// Override the current session flush mode, just for this query.
/// </summary>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetFlushMode(FlushMode mode);
/// <summary>
@@ -317,13 +363,14 @@
/// <remarks>
/// The <param name="transformer"/> will be applied after the transformer of each single query.
/// </remarks>
+ /// <returns>The instance for method chain.</returns>
IMultiQuery SetResultTransformer(IResultTransformer transformer);
/// <summary>
- /// Returns the result of one of the Criteria based on the key
+ /// Returns the result of one of the query based on the key
/// </summary>
/// <param name="key">The key</param>
- /// <returns></returns>
+ /// <returns>The instance for method chain.</returns>
object GetResult(string key);
}
-}
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 22:29:22 UTC (rev 5119)
+++ trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 23:17:22 UTC (rev 5120)
@@ -2,7 +2,6 @@
using System.Collections;
using System.Data;
using System.Diagnostics;
-using System.Text.RegularExpressions;
using Iesi.Collections;
using log4net;
using NHibernate.Cache;
@@ -302,9 +301,9 @@
return Add<object>(hql);
}
- public IMultiQuery AddNamedQuery(string namedQuery)
+ public IMultiQuery AddNamedQuery(string queryName)
{
- return AddNamedQuery<object>(namedQuery);
+ return AddNamedQuery<object>(queryName);
}
public IMultiQuery AddNamedQuery(string key, string namedQuery)
@@ -336,9 +335,9 @@
return Add<T>(key, ((ISession)session).CreateQuery(hql));
}
- public IMultiQuery AddNamedQuery<T>(string namedQuery)
+ public IMultiQuery AddNamedQuery<T>(string queryName)
{
- return Add<T>(session.GetNamedQuery(namedQuery));
+ return Add<T>(session.GetNamedQuery(queryName));
}
public IMultiQuery SetCacheable(bool cacheable)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-06 22:29:28
|
Revision: 5119
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5119&view=rev
Author: fabiomaulo
Date: 2010-08-06 22:29:22 +0000 (Fri, 06 Aug 2010)
Log Message:
-----------
Fix NH-1836
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/IMultiQuery.cs
trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
trunk/nhibernate/src/NHibernate/Transform/AliasToBeanResultTransformer.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Entity.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/EntityDTO.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Mappings.hbm.xml
Modified: trunk/nhibernate/src/NHibernate/IMultiQuery.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/IMultiQuery.cs 2010-08-06 19:57:08 UTC (rev 5118)
+++ trunk/nhibernate/src/NHibernate/IMultiQuery.cs 2010-08-06 22:29:22 UTC (rev 5119)
@@ -314,6 +314,9 @@
/// Set a strategy for handling the query results. This can be used to change
/// "shape" of the query result.
/// </summary>
+ /// <remarks>
+ /// The <param name="transformer"/> will be applied after the transformer of each single query.
+ /// </remarks>
IMultiQuery SetResultTransformer(IResultTransformer transformer);
/// <summary>
Modified: trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 19:57:08 UTC (rev 5118)
+++ trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 22:29:22 UTC (rev 5119)
@@ -410,45 +410,52 @@
protected virtual IList GetResultList(IList results)
{
- for (int i = 0, len = results.Count; i < len; ++i)
+ var multiqueryHolderInstatiator = GetMultiQueryHolderInstatiator();
+ int len = results.Count;
+ for (int i = 0; i < len; ++i)
{
- IList subList = (IList)results[i];
- QueryParameters parameter = Parameters[i];
- HolderInstantiator holderInstantiator = GetHolderInstantiator(parameter);
- if (holderInstantiator.IsRequired)
- {
- for (int j = 0; j < subList.Count; j++)
- {
- object[] row = subList[j] as object[] ?? new[] { subList[j] };
- subList[j] = holderInstantiator.Instantiate(row);
- }
-
- IResultTransformer transformer =
- holderInstantiator.ResultTransformer;
- if (transformer != null)
- {
- results[i] = transformer.TransformList(subList);
- }
- }
+ // First use the transformer of each query transformig each row and then the list
+ results[i] = GetTransformedResults((IList)results[i], GetQueryHolderInstantiator(i));
+ // then use the MultiQueryTransformer (if it has some sense...) using, as source, the transformed result.
+ results[i] = GetTransformedResults((IList)results[i], multiqueryHolderInstatiator);
}
return results;
}
- private HolderInstantiator GetHolderInstantiator(QueryParameters parameter)
+ private IList GetTransformedResults(IList source, HolderInstantiator holderInstantiator)
{
- //if multi query has result transformer, then this will override IQuery transformations
- if (resultTransformer != null)
+ if (!holderInstantiator.IsRequired)
{
- return new HolderInstantiator(resultTransformer, null);
+ return source;
}
- if (parameter.ResultTransformer != null)
+ for (int j = 0; j < source.Count; j++)
{
- return new HolderInstantiator(parameter.ResultTransformer, null);
+ object[] row = source[j] as object[] ?? new[] { source[j] };
+ source[j] = holderInstantiator.Instantiate(row);
}
- return HolderInstantiator.NoopInstantiator;
+
+ return holderInstantiator.ResultTransformer.TransformList(source);
}
+ private HolderInstantiator GetQueryHolderInstantiator(int queryPosition)
+ {
+ // TODO : we need a test to check the behavior when the query has a 'new' istead a trasformer
+ // we should take the HolderInstantiator directly from QueryTranslator... taking care with Parameters.
+ return Parameters[queryPosition].ResultTransformer != null ?
+ new HolderInstantiator(Parameters[queryPosition].ResultTransformer, translators[queryPosition].ReturnAliases)
+ : HolderInstantiator.NoopInstantiator;
+ }
+ private HolderInstantiator GetMultiQueryHolderInstatiator()
+ {
+ return HasMultiQueryResultTrasformer() ? new HolderInstantiator(resultTransformer, null) : HolderInstantiator.NoopInstantiator;
+ }
+
+ private bool HasMultiQueryResultTrasformer()
+ {
+ return resultTransformer != null;
+ }
+
protected ArrayList DoList()
{
bool statsEnabled = session.Factory.Statistics.IsStatisticsEnabled;
Modified: trunk/nhibernate/src/NHibernate/Transform/AliasToBeanResultTransformer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Transform/AliasToBeanResultTransformer.cs 2010-08-06 19:57:08 UTC (rev 5118)
+++ trunk/nhibernate/src/NHibernate/Transform/AliasToBeanResultTransformer.cs 2010-08-06 22:29:22 UTC (rev 5119)
@@ -61,6 +61,10 @@
public object TransformTuple(object[] tuple, String[] aliases)
{
+ if (aliases == null)
+ {
+ throw new ArgumentNullException("aliases");
+ }
object result;
try
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Entity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Entity.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Entity.cs 2010-08-06 22:29:22 UTC (rev 5119)
@@ -0,0 +1,7 @@
+namespace NHibernate.Test.NHSpecificTest.NH1836
+{
+ public class Entity
+ {
+ public virtual int Id { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/EntityDTO.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/EntityDTO.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/EntityDTO.cs 2010-08-06 22:29:22 UTC (rev 5119)
@@ -0,0 +1,7 @@
+namespace NHibernate.Test.NHSpecificTest.NH1836
+{
+ public class EntityDTO
+ {
+ public int EntityId { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Fixture.cs 2010-08-06 22:29:22 UTC (rev 5119)
@@ -0,0 +1,58 @@
+using System.Collections;
+using NHibernate.Transform;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH1836
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ protected override bool AppliesTo(Engine.ISessionFactoryImplementor factory)
+ {
+ return factory.ConnectionProvider.Driver.SupportsMultipleQueries;
+ }
+
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+
+ using (var s = OpenSession())
+ using (var t = s.BeginTransaction())
+ {
+ s.Save(new Entity {Id = 1});
+ t.Commit();
+ }
+ }
+
+ [Test]
+ public void AliasToBeanTransformerShouldApplyCorrectlyToMultiQuery()
+ {
+ using (var s = OpenSession())
+ using (var t = s.BeginTransaction())
+ {
+ IMultiQuery multiQuery = s.CreateMultiQuery()
+ .Add(s.CreateQuery("select entity.Id as EntityId from Entity entity")
+ .SetResultTransformer(Transformers.AliasToBean(typeof(EntityDTO)))
+ );
+
+ IList results = null;
+ Executing.This(() => results = multiQuery.List()).Should().NotThrow();
+ var elementOfFirstResult = ((IList)results[0])[0];
+ elementOfFirstResult.Should().Be.OfType<EntityDTO>().And.ValueOf.EntityId.Should().Be(1);
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+
+ using (var s = OpenSession())
+ using (var t = s.BeginTransaction())
+ {
+ s.CreateQuery("delete from System.Object").ExecuteUpdate();
+ t.Commit();
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1836/Mappings.hbm.xml 2010-08-06 22:29:22 UTC (rev 5119)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ namespace="NHibernate.Test.NHSpecificTest.NH1836"
+ assembly="NHibernate.Test">
+ <class name="Entity">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ </class>
+</hibernate-mapping>
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-06 19:57:08 UTC (rev 5118)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-06 22:29:22 UTC (rev 5119)
@@ -447,6 +447,9 @@
<Compile Include="Linq\ReadonlyTestCase.cs" />
<Compile Include="NHSpecificTest\NH1421\AnEntity.cs" />
<Compile Include="NHSpecificTest\NH1421\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1836\Entity.cs" />
+ <Compile Include="NHSpecificTest\NH1836\EntityDTO.cs" />
+ <Compile Include="NHSpecificTest\NH1836\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2148\BugFixture.cs" />
<Compile Include="NHSpecificTest\NH2148\Domain.cs" />
<Compile Include="NHSpecificTest\NH2245\Fixture.cs" />
@@ -2235,6 +2238,7 @@
<EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" />
<EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1836\Mappings.hbm.xml" />
<EmbeddedResource Include="TypesTest\DateTimeClass.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1421\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2148\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ric...@us...> - 2010-08-06 19:57:17
|
Revision: 5118
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5118&view=rev
Author: ricbrown
Date: 2010-08-06 19:57:08 +0000 (Fri, 06 Aug 2010)
Log Message:
-----------
Fix NH-2251 (System.FormatException mixing Future and Skip/Take)
Fixed naming and position of parameters for dialects supporting parameters for limits.
Modified Paths:
--------------
trunk/nhibernate/releasenotes.txt
trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs
trunk/nhibernate/src/NHibernate/Criterion/SubqueryExpression.cs
trunk/nhibernate/src/NHibernate/Dialect/DB2Dialect.cs
trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs
trunk/nhibernate/src/NHibernate/Dialect/MsSql2005Dialect.cs
trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs
trunk/nhibernate/src/NHibernate/Dialect/Oracle8iDialect.cs
trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs
trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs
trunk/nhibernate/src/NHibernate/Impl/MultiCriteriaImpl.cs
trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
trunk/nhibernate/src/NHibernate/Loader/Loader.cs
trunk/nhibernate/src/NHibernate/SqlCommand/Parameter.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs
trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs
trunk/nhibernate/src/NHibernate.Test/DialectTest/DB2DialectFixture.cs
trunk/nhibernate/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml
Modified: trunk/nhibernate/releasenotes.txt
===================================================================
--- trunk/nhibernate/releasenotes.txt 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/releasenotes.txt 2010-08-06 19:57:08 UTC (rev 5118)
@@ -1,9 +1,13 @@
-Build 3.0.0.Alpha1
+Build 3.0.0.Alpha2
=============================
-** Known BREAKING CHANGES from NH2.1.1.GA to NH3.0.0.Alpha1
+** Known BREAKING CHANGES from NH2.1.1.GA to NH3.0.0.Alpha2
##### Run time #####
* (NH-2199) - null values in maps/dictionaries are no longer silenty ignored/deleted
+ ##### Possible Breaking Changes #####
+ * (NH-2251) - Signature change for GetLimitString in Dialect
+
+
Build 3.0.0.Alpha1 (rev5056)
=============================
Modified: trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Criterion/ICriteriaQuery.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -68,5 +68,11 @@
/// Do not report the same item multiple times as it will be assumed to be a separate parameter.
/// </summary>
void AddUsedTypedValues(TypedValue [] values);
+
+ /// <summary>
+ /// Creates a dummy parameter index for the supplied paged value.
+ /// Returns null if the Dialect does not support limit parameters
+ /// </summary>
+ int? CreatePagingParameter(int value);
}
}
Modified: trunk/nhibernate/src/NHibernate/Criterion/SubqueryExpression.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/SubqueryExpression.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Criterion/SubqueryExpression.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -68,7 +68,9 @@
if (criteriaImpl.FirstResult != 0 || criteriaImpl.MaxResults != RowSelection.NoValue)
{
- sql = factory.Dialect.GetLimitString(sql, criteriaImpl.FirstResult, criteriaImpl.MaxResults);
+ int? offsetParameterIndex = criteriaQuery.CreatePagingParameter(criteriaImpl.FirstResult);
+ int? limitParameterIndex = criteriaQuery.CreatePagingParameter(criteriaImpl.MaxResults);
+ sql = factory.Dialect.GetLimitString(sql, criteriaImpl.FirstResult, criteriaImpl.MaxResults, offsetParameterIndex, limitParameterIndex);
}
if (op != null)
Modified: trunk/nhibernate/src/NHibernate/Dialect/DB2Dialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/DB2Dialect.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Dialect/DB2Dialect.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -212,7 +212,7 @@
/// <param name="querySqlString">A Query in the form of a SqlString.</param>
/// <param name="hasOffset">Offset of the first row is not zero</param>
/// <returns>A new SqlString that contains the <c>LIMIT</c> clause.</returns>
- public override SqlString GetLimitString(SqlString querySqlString, bool hasOffset)
+ public override SqlString GetLimitString(SqlString querySqlString, int offset, int limit, int? offsetParameterIndex, int? limitParameterIndex)
{
/*
* "select * from (select row_number() over(orderby_clause) as rownum, "
@@ -228,19 +228,19 @@
.Add(querySqlString.Substring(7))
.Add(") as tempresult where rownum ");
- if (hasOffset)
+ if (offset > 0)
{
pagingBuilder
.Add("between ")
- .Add(Parameter.Placeholder)
+ .Add(Parameter.WithIndex(offsetParameterIndex.Value))
.Add("+1 and ")
- .Add(Parameter.Placeholder);
+ .Add(Parameter.WithIndex(limitParameterIndex.Value));
}
else
{
pagingBuilder
.Add("<= ")
- .Add(Parameter.Placeholder);
+ .Add(Parameter.WithIndex(limitParameterIndex.Value));
}
return pagingBuilder.ToSqlString();
Modified: trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -1409,11 +1409,30 @@
/// <summary>
/// Add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>
+ /// when the dialect supports variable limits (i.e., parameters for the limit constraints)
/// </summary>
/// <param name="querySqlString">A Query in the form of a SqlString.</param>
/// <param name="offset">Offset of the first row to be returned by the query (zero-based)</param>
/// <param name="limit">Maximum number of rows to be returned by the query</param>
/// <returns>A new SqlString that contains the <c>LIMIT</c> clause.</returns>
+ public virtual SqlString GetLimitString(SqlString querySqlString, int offset, int limit, int? offsetParameterIndex, int? limitParameterIndex)
+ {
+ if (!SupportsVariableLimit)
+ return GetLimitString(querySqlString, offset, limit);
+
+ if ((offsetParameterIndex == null) && (limitParameterIndex == null))
+ return GetLimitString(querySqlString, offset, limit);
+
+ throw new NotSupportedException("Override to support limits passed as parameters");
+ }
+
+ /// <summary>
+ /// Add a <c>LIMIT</c> clause to the given SQL <c>SELECT</c>
+ /// </summary>
+ /// <param name="querySqlString">A Query in the form of a SqlString.</param>
+ /// <param name="offset">Offset of the first row to be returned by the query (zero-based)</param>
+ /// <param name="limit">Maximum number of rows to be returned by the query</param>
+ /// <returns>A new SqlString that contains the <c>LIMIT</c> clause.</returns>
public virtual SqlString GetLimitString(SqlString querySqlString, int offset, int limit)
{
return GetLimitString(querySqlString, offset > 0);
Modified: trunk/nhibernate/src/NHibernate/Dialect/MsSql2005Dialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/MsSql2005Dialect.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Dialect/MsSql2005Dialect.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -42,7 +42,7 @@
/// Note that we need to add explicitly specify the columns, because we need to be able to use them
/// in a paged subselect. NH-1155
/// </remarks>
- public override SqlString GetLimitString(SqlString querySqlString, int offset, int last)
+ public override SqlString GetLimitString(SqlString querySqlString, int offset, int last, int? offsetParameterIndex, int? limitParameterIndex)
{
//dont do this paging code if there is no offset, use the
//sql 2000 dialect since it just uses a top statement
@@ -76,16 +76,10 @@
sortExpressions = new[] {new SqlString("CURRENT_TIMESTAMP"),};
}
- Parameter limitParameter = Parameter.Placeholder;
- limitParameter.ParameterPosition = 0;
-
- Parameter offsetParameter = Parameter.Placeholder;
- offsetParameter.ParameterPosition = 1;
-
SqlStringBuilder result =
new SqlStringBuilder()
.Add("SELECT TOP (")
- .Add(limitParameter)
+ .Add(Parameter.WithIndex(limitParameterIndex.Value))
.Add(") ")
.Add(StringHelper.Join(", ", columnsOrAliases))
.Add(" FROM (")
@@ -98,7 +92,7 @@
.Add(") as __hibernate_sort_row ")
.Add(from)
.Add(") as query WHERE query.__hibernate_sort_row > ")
- .Add(offsetParameter)
+ .Add(Parameter.WithIndex(offsetParameterIndex.Value))
.Add(" ORDER BY query.__hibernate_sort_row");
return result.ToSqlString();
Modified: trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -186,17 +186,17 @@
/// <param name="querySqlString"></param>
/// <param name="hasOffset"></param>
/// <returns></returns>
- public override SqlString GetLimitString(SqlString querySqlString, bool hasOffset)
+ public override SqlString GetLimitString(SqlString querySqlString, int offset, int limit, int? offsetParameterIndex, int? limitParameterIndex)
{
var pagingBuilder = new SqlStringBuilder();
pagingBuilder.Add(querySqlString);
pagingBuilder.Add(" limit ");
- pagingBuilder.Add(Parameter.Placeholder);
+ pagingBuilder.Add(Parameter.WithIndex(limitParameterIndex.Value));
- if (hasOffset)
+ if (offset > 0)
{
pagingBuilder.Add(", ");
- pagingBuilder.Add(Parameter.Placeholder);
+ pagingBuilder.Add(Parameter.WithIndex(offsetParameterIndex.Value));
}
return pagingBuilder.ToSqlString();
}
Modified: trunk/nhibernate/src/NHibernate/Dialect/Oracle8iDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/Oracle8iDialect.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Dialect/Oracle8iDialect.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -248,9 +248,10 @@
return new DecodeCaseFragment(this);
}
- public override SqlString GetLimitString(SqlString sql, bool hasOffset)
+ public override SqlString GetLimitString(SqlString sql, int offset, int limit, int? offsetParameterIndex, int? limitParameterIndex)
{
sql = sql.Trim();
+ bool hasOffset = offset > 0;
bool isForUpdate = false;
if (sql.EndsWithCaseInsensitive(" for update"))
{
@@ -270,11 +271,11 @@
pagingSelect.Add(sql);
if (hasOffset)
{
- pagingSelect.Add(" ) row_ where rownum <=").AddParameter().Add(") where rownum_ >").AddParameter();
+ pagingSelect.Add(" ) row_ where rownum <=").AddParameter(limitParameterIndex.Value).Add(") where rownum_ >").AddParameter(offsetParameterIndex.Value);
}
else
{
- pagingSelect.Add(" ) where rownum <=").AddParameter();
+ pagingSelect.Add(" ) where rownum <=").AddParameter(limitParameterIndex.Value);
}
if (isForUpdate)
Modified: trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Dialect/PostgreSQLDialect.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -133,17 +133,17 @@
/// <param name="querySqlString"></param>
/// <param name="hasOffset">Offset of the first row to process in the result set is non-zero</param>
/// <returns></returns>
- public override SqlString GetLimitString(SqlString querySqlString, bool hasOffset)
+ public override SqlString GetLimitString(SqlString querySqlString, int offset, int limit, int? offsetParameterIndex, int? limitParameterIndex)
{
SqlStringBuilder pagingBuilder = new SqlStringBuilder();
pagingBuilder.Add(querySqlString);
pagingBuilder.Add(" limit ");
- pagingBuilder.Add(Parameter.Placeholder);
+ pagingBuilder.Add(Parameter.WithIndex(limitParameterIndex.Value));
- if (hasOffset)
+ if (offset > 0)
{
pagingBuilder.Add(" offset ");
- pagingBuilder.Add(Parameter.Placeholder);
+ pagingBuilder.Add(Parameter.WithIndex(offsetParameterIndex.Value));
}
return pagingBuilder.ToSqlString();
Modified: trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Engine/QueryParameters.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Data;
+using System.Linq;
using log4net;
using NHibernate.Hql.Classic;
using NHibernate.Impl;
@@ -40,7 +41,12 @@
private object _optionalId;
private string _comment;
private bool _readOnly;
+ private int? limitParameterIndex = null;
+ private int? offsetParameterIndex = null;
+ private int wildcardSubqueryLimitParameterIndex = -1;
private IDictionary<int, int> _adjustedParameterLocations;
+ private IDictionary<int, int> _tempPagingParameterIndexes;
+ private IDictionary<int, int> _pagingParameterIndexMap;
private SqlString processedSQL;
@@ -61,7 +67,7 @@
}
public QueryParameters(IType[] positionalParameterTypes, object[] postionalParameterValues)
- : this(positionalParameterTypes, postionalParameterValues, null, null, false, null, null, false, null) {}
+ : this(positionalParameterTypes, postionalParameterValues, null, null, false, null, null, false, null, null) {}
public QueryParameters(IType[] positionalParameterTypes, object[] postionalParameterValues, object[] collectionKeys)
: this(positionalParameterTypes, postionalParameterValues, null, collectionKeys) {}
@@ -74,12 +80,13 @@
public QueryParameters(IType[] positionalParameterTypes, object[] positionalParameterValues,
IDictionary<string, LockMode> lockModes, RowSelection rowSelection, bool cacheable,
- string cacheRegion, string comment, bool isLookupByNaturalKey, IResultTransformer transformer)
+ string cacheRegion, string comment, bool isLookupByNaturalKey, IResultTransformer transformer, IDictionary<int,int> tempPagingParameterIndexes)
: this(
positionalParameterTypes, positionalParameterValues, null, lockModes, rowSelection, false, cacheable, cacheRegion,
comment, null, transformer)
{
NaturalKeyLookup = isLookupByNaturalKey;
+ _tempPagingParameterIndexes = tempPagingParameterIndexes;
}
public QueryParameters(IType[] positionalParameterTypes, object[] positionalParameterValues,
@@ -125,6 +132,16 @@
get { return _rowSelection != null; }
}
+ public int? LimitParameterIndex
+ {
+ get { return limitParameterIndex; }
+ }
+
+ public int? OffsetParameterIndex
+ {
+ get { return offsetParameterIndex; }
+ }
+
/// <summary>
/// Named parameters.
/// </summary>
@@ -401,7 +418,11 @@
{
if (sqlParameter is Parameter)
{
- sqlParameters.Add((Parameter)sqlParameter);
+ var parameter = (Parameter) sqlParameter;
+ if (!parameter.ParameterPosition.HasValue || (parameter.ParameterPosition >= 0))
+ {
+ sqlParameters.Add(parameter);
+ }
}
}
@@ -497,25 +518,61 @@
}
}
+ if (_tempPagingParameterIndexes != null)
+ {
+ _pagingParameterIndexMap = new Dictionary<int, int>();
+
+ var pagingParameters =
+ sqlString.Parts
+ .Cast<object>()
+ .Where(p => p is Parameter)
+ .Cast<Parameter>()
+ .Where(p => p.ParameterPosition.HasValue && p.ParameterPosition < 0)
+ .ToList();
+
+ foreach (Parameter pagingParameter in pagingParameters)
+ {
+ int pagingValue = _tempPagingParameterIndexes[pagingParameter.ParameterPosition.Value];
+ int position = parameterIndex + startParameterIndex;
+ _pagingParameterIndexMap.Add(position, pagingValue);
+ pagingParameter.ParameterPosition = position;
+ paramTypeList.Add(NHibernateUtil.Int32);
+ parameterIndex++;
+ totalSpan++;
+ }
+ }
+
if (addLimit && factory.Dialect.SupportsVariableLimit)
{
if (factory.Dialect.BindLimitParametersFirst)
{
paramTypeList.Insert(0, NHibernateUtil.Int32);
+ limitParameterIndex = startParameterIndex - 1;
if (addOffset)
{
paramTypeList.Insert(0, NHibernateUtil.Int32);
+ offsetParameterIndex = startParameterIndex - 2;
}
}
else
{
paramTypeList.Add(NHibernateUtil.Int32);
+ limitParameterIndex = totalSpan;
if (addOffset)
{
paramTypeList.Add(NHibernateUtil.Int32);
+ offsetParameterIndex = totalSpan;
+ limitParameterIndex = totalSpan + 1;
}
}
+ if (addOffset && factory.Dialect.BindLimitParametersInReverseOrder)
+ {
+ int? temp = limitParameterIndex;
+ limitParameterIndex = offsetParameterIndex;
+ offsetParameterIndex = temp;
+ }
+
totalSpan += addOffset ? 2 : 1;
}
@@ -562,6 +619,16 @@
}
}
+ if (_pagingParameterIndexMap != null)
+ {
+ foreach (int pagingParameterIndex in _pagingParameterIndexMap.Keys)
+ {
+ ArrayHelper.SafeSetValue(values, pagingParameterIndex, _pagingParameterIndexMap[pagingParameterIndex]);
+ ArrayHelper.SafeSetValue(types, pagingParameterIndex, NHibernateUtil.Int32);
+ ArrayHelper.SafeSetValue(sources, pagingParameterIndex, "limit_" + pagingParameterIndex);
+ }
+ }
+
int span = 0;
for (int i = start; i < values.Count; i++)
{
Modified: trunk/nhibernate/src/NHibernate/Impl/MultiCriteriaImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/MultiCriteriaImpl.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Impl/MultiCriteriaImpl.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -315,47 +315,41 @@
{
int colIndex = 0;
- colIndex = BindLimitParametersFirstIfNeccesary(command, colIndex);
- colIndex = BindQueryParameters(command, colIndex);
-
- BindLimitParametersLastIfNeccesary(command, colIndex);
+ for (int queryIndex = 0; queryIndex < loaders.Count; queryIndex++)
+ {
+ int limitParameterSpan = BindLimitParametersFirstIfNeccesary(command, queryIndex, colIndex);
+ colIndex = BindQueryParameters(command, queryIndex, colIndex + limitParameterSpan);
+ BindLimitParametersLastIfNeccesary(command, queryIndex, colIndex);
+ }
}
- private void BindLimitParametersLastIfNeccesary(IDbCommand command, int colIndex)
+ private void BindLimitParametersLastIfNeccesary(IDbCommand command, int queryIndex, int colIndex)
{
- for (int i = 0; i < loaders.Count; i++)
+ QueryParameters parameter = parameters[queryIndex];
+ RowSelection selection = parameter.RowSelection;
+ if (Loader.Loader.UseLimit(selection, dialect) && !dialect.BindLimitParametersFirst)
{
- QueryParameters parameter = parameters[i];
- RowSelection selection = parameter.RowSelection;
- if (Loader.Loader.UseLimit(selection, dialect) && !dialect.BindLimitParametersFirst)
- {
- colIndex += Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
- }
+ Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
}
}
- private int BindQueryParameters(IDbCommand command, int colIndex)
+ private int BindQueryParameters(IDbCommand command, int queryIndex, int colIndex)
{
- for (int i = 0; i < loaders.Count; i++)
- {
- QueryParameters parameter = parameters[i];
- colIndex += parameter.BindParameters(command, colIndex, session);
- }
+ QueryParameters parameter = parameters[queryIndex];
+ colIndex += parameter.BindParameters(command, colIndex, session);
return colIndex;
}
- private int BindLimitParametersFirstIfNeccesary(IDbCommand command, int colIndex)
+ private int BindLimitParametersFirstIfNeccesary(IDbCommand command, int queryIndex, int colIndex)
{
- for (int i = 0; i < loaders.Count; i++)
+ int limitParametersSpan = 0;
+ QueryParameters parameter = parameters[queryIndex];
+ RowSelection selection = parameter.RowSelection;
+ if (Loader.Loader.UseLimit(selection, dialect) && dialect.BindLimitParametersFirst)
{
- QueryParameters parameter = parameters[i];
- RowSelection selection = parameter.RowSelection;
- if (Loader.Loader.UseLimit(selection, dialect) && dialect.BindLimitParametersFirst)
- {
- colIndex += Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
- }
+ limitParametersSpan += Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
}
- return colIndex;
+ return limitParametersSpan;
}
public IMultiCriteria Add(System.Type resultGenericListType, ICriteria criteria)
Modified: trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Impl/MultiQueryImpl.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -643,33 +643,29 @@
{
int colIndex = 0;
- colIndex = BindLimitParametersFirstIfNeccesary(command, colIndex);
- colIndex = BindQueryParameters(command, colIndex);
-
- BindLimitParametersLastIfNeccesary(command, colIndex);
+ for (int queryIndex = 0; queryIndex < queries.Count; queryIndex++)
+ {
+ int limitParameterSpan = BindLimitParametersFirstIfNeccesary(command, queryIndex, colIndex);
+ colIndex = BindQueryParameters(command, queryIndex, colIndex + limitParameterSpan);
+ BindLimitParametersLastIfNeccesary(command, queryIndex, colIndex);
+ }
}
- private void BindLimitParametersLastIfNeccesary(IDbCommand command, int colIndex)
+ private void BindLimitParametersLastIfNeccesary(IDbCommand command, int queryIndex, int colIndex)
{
- for (int i = 0; i < queries.Count; i++)
+ QueryParameters parameter = parameters[queryIndex];
+ RowSelection selection = parameter.RowSelection;
+ if (Loader.Loader.UseLimit(selection, dialect) && !dialect.BindLimitParametersFirst)
{
- QueryParameters parameter = parameters[i];
- RowSelection selection = parameter.RowSelection;
- if (Loader.Loader.UseLimit(selection, dialect) && !dialect.BindLimitParametersFirst)
- {
- colIndex += Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
- }
+ Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
}
}
- private int BindQueryParameters(IDbCommand command, int colIndex)
+ private int BindQueryParameters(IDbCommand command, int queryIndex, int colIndex)
{
- for (int i = 0; i < queries.Count; i++)
- {
- IQueryTranslator translator = Translators[i];
- QueryParameters parameter = Parameters[i];
- colIndex += parameter.BindParameters(command, colIndex, session);
- }
+ IQueryTranslator translator = Translators[queryIndex];
+ QueryParameters parameter = Parameters[queryIndex];
+ colIndex += parameter.BindParameters(command, colIndex, session);
return colIndex;
}
@@ -688,18 +684,16 @@
return queryResults[criteriaResultPositions[key]];
}
- private int BindLimitParametersFirstIfNeccesary(IDbCommand command, int colIndex)
+ private int BindLimitParametersFirstIfNeccesary(IDbCommand command, int queryIndex, int colIndex)
{
- for (int i = 0; i < queries.Count; i++)
+ int limitParameterSpan = 0;
+ QueryParameters parameter = Parameters[queryIndex];
+ RowSelection selection = parameter.RowSelection;
+ if (Loader.Loader.UseLimit(selection, dialect) && dialect.BindLimitParametersFirst)
{
- QueryParameters parameter = Parameters[i];
- RowSelection selection = parameter.RowSelection;
- if (Loader.Loader.UseLimit(selection, dialect) && dialect.BindLimitParametersFirst)
- {
- colIndex += Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
- }
+ limitParameterSpan += Loader.Loader.BindLimitParameters(command, colIndex, selection, session);
}
- return colIndex;
+ return limitParameterSpan;
}
public override string ToString()
Modified: trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -26,6 +26,8 @@
private readonly string rootEntityName;
private readonly string rootSQLAlias;
private const int aliasCount = 0;
+ private int _tempPagingParameterIndex = -1;
+ private IDictionary<int, int> _tempPagingParameterIndexes = new Dictionary<int, int>();
private readonly IDictionary<ICriteria, ICriteriaInfoProvider> criteriaInfoMap =
new Dictionary<ICriteria, ICriteriaInfoProvider>();
@@ -141,7 +143,7 @@
return
new QueryParameters(typeArray, valueArray, lockModes, selection, rootCriteria.Cacheable, rootCriteria.CacheRegion,
- rootCriteria.Comment, rootCriteria.LookupByNaturalKey, rootCriteria.ResultTransformer);
+ rootCriteria.Comment, rootCriteria.LookupByNaturalKey, rootCriteria.ResultTransformer, _tempPagingParameterIndexes);
}
public SqlString GetGroupBy()
@@ -730,7 +732,15 @@
}
}
+ public int? CreatePagingParameter(int value)
+ {
+ if (!Factory.Dialect.SupportsVariableLimit)
+ return null;
+ _tempPagingParameterIndexes.Add(_tempPagingParameterIndex, value);
+ return _tempPagingParameterIndex--;
+ }
+
public SqlString GetHavingCondition(IDictionary<string, IFilter> enabledFilters)
{
SqlStringBuilder condition = new SqlStringBuilder(30);
Modified: trunk/nhibernate/src/NHibernate/Loader/Loader.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Loader/Loader.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/Loader/Loader.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -1112,7 +1112,12 @@
if (useLimit)
{
sqlString =
- dialect.GetLimitString(sqlString.Trim(), useOffset ? GetFirstRow(selection) : 0, GetMaxOrLimit(dialect, selection));
+ dialect.GetLimitString(
+ sqlString.Trim(),
+ useOffset ? GetFirstRow(selection) : 0,
+ GetMaxOrLimit(dialect, selection),
+ queryParameters.OffsetParameterIndex,
+ queryParameters.LimitParameterIndex);
}
sqlString = PreprocessSQL(sqlString, queryParameters, dialect);
@@ -1710,7 +1715,12 @@
if (useLimit)
{
sqlString =
- dialect.GetLimitString(sqlString.Trim(), useOffset ? GetFirstRow(selection) : 0, GetMaxOrLimit(dialect, selection));
+ dialect.GetLimitString(
+ sqlString.Trim(),
+ useOffset ? GetFirstRow(selection) : 0,
+ GetMaxOrLimit(dialect, selection),
+ parameters.OffsetParameterIndex,
+ parameters.LimitParameterIndex);
}
sqlString = PreprocessSQL(sqlString, parameters, dialect);
Modified: trunk/nhibernate/src/NHibernate/SqlCommand/Parameter.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/SqlCommand/Parameter.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/SqlCommand/Parameter.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -26,6 +26,14 @@
get { return new Parameter(); }
}
+ /// <summary>
+ /// Create a parameter with the specified position
+ /// </summary>
+ public static Parameter WithIndex(int position)
+ {
+ return new Parameter() { ParameterPosition = position };
+ }
+
private Parameter()
{
}
Modified: trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/SqlCommand/SqlString.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -581,7 +581,18 @@
for (int i=0; i<clone.sqlParts.Length; i++)
{
if (clone.sqlParts[i] is Parameter)
- clone.sqlParts[i] = SqlCommand.Parameter.Placeholder;
+ {
+ var originalParameter = (Parameter)clone.sqlParts[i];
+ var copyParameter = SqlCommand.Parameter.Placeholder;
+
+ if (originalParameter.ParameterPosition < 0)
+ {
+ // placeholder for sub-query parameter
+ copyParameter.ParameterPosition = originalParameter.ParameterPosition;
+ }
+
+ clone.sqlParts[i] = copyParameter;
+ }
}
return clone;
Modified: trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate/SqlCommand/SqlStringBuilder.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -110,6 +110,11 @@
return Add(Parameter.Placeholder);
}
+ public SqlStringBuilder AddParameter(int position)
+ {
+ return Add(Parameter.WithIndex(position));
+ }
+
/// <summary>
/// Attempts to discover what type of object this is and calls the appropriate
/// method.
Modified: trunk/nhibernate/src/NHibernate.Test/DialectTest/DB2DialectFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/DialectTest/DB2DialectFixture.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate.Test/DialectTest/DB2DialectFixture.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -24,7 +24,7 @@
" order by a, x"
});
- SqlString limited = dialect.GetLimitString(sql, true);
+ SqlString limited = dialect.GetLimitString(sql, 1, 2, -1, -2);
Assert.AreEqual(
"select * from (select rownumber() over(order by a, x) as rownum, a, b, c from d where X = ? and Z = ? order by a, x) as tempresult where rownum between ?+1 and ?",
limited.ToString());
Modified: trunk/nhibernate/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -16,37 +16,37 @@
{
MsSql2005Dialect d = new MsSql2005Dialect();
- SqlString str = d.GetLimitString(new SqlString("select distinct c.Contact_Id as Contact1_19_0_, c._Rating as Rating2_19_0_ from dbo.Contact c where COALESCE(c.Rating, 0) > 0 order by c.Rating desc , c.Last_Name , c.First_Name"), 1, 10);
+ SqlString str = d.GetLimitString(new SqlString("select distinct c.Contact_Id as Contact1_19_0_, c._Rating as Rating2_19_0_ from dbo.Contact c where COALESCE(c.Rating, 0) > 0 order by c.Rating desc , c.Last_Name , c.First_Name"), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) Contact1_19_0_, Rating2_19_0_ FROM (select distinct c.Contact_Id as Contact1_19_0_, c._Rating as Rating2_19_0_, ROW_NUMBER() OVER(ORDER BY c.Rating DESC, c.Last_Name, c.First_Name) as __hibernate_sort_row from dbo.Contact c where COALESCE(c.Rating, 0) > 0) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT fish.id FROM fish"), 1, 10);
+ str = d.GetLimitString(new SqlString("SELECT fish.id FROM fish"), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) id FROM (SELECT fish.id, ROW_NUMBER() OVER(ORDER BY CURRENT_TIMESTAMP) as __hibernate_sort_row FROM fish) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT DISTINCT fish_.id FROM fish fish_"), 1, 10);
+ str = d.GetLimitString(new SqlString("SELECT DISTINCT fish_.id FROM fish fish_"), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) id FROM (SELECT DISTINCT fish_.id, ROW_NUMBER() OVER(ORDER BY CURRENT_TIMESTAMP) as __hibernate_sort_row FROM fish fish_) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT DISTINCT fish_.id as ixx9_ FROM fish fish_"), 1, 10);
+ str = d.GetLimitString(new SqlString("SELECT DISTINCT fish_.id as ixx9_ FROM fish fish_"), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) ixx9_ FROM (SELECT DISTINCT fish_.id as ixx9_, ROW_NUMBER() OVER(ORDER BY CURRENT_TIMESTAMP) as __hibernate_sort_row FROM fish fish_) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT * FROM fish ORDER BY name"), 5, 15);
+ str = d.GetLimitString(new SqlString("SELECT * FROM fish ORDER BY name"), 5, 15, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY name) as __hibernate_sort_row FROM fish) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT fish.id, fish.name FROM fish ORDER BY name DESC"), 7, 28);
+ str = d.GetLimitString(new SqlString("SELECT fish.id, fish.name FROM fish ORDER BY name DESC"), 7, 28, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) id, name FROM (SELECT fish.id, fish.name, ROW_NUMBER() OVER(ORDER BY fish.name DESC) as __hibernate_sort_row FROM fish) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
@@ -54,25 +54,25 @@
str =
d.GetLimitString(
- new SqlString("SELECT * FROM fish LEFT JOIN (SELECT * FROM meat ORDER BY weight) AS t ORDER BY name DESC"), 10, 20);
+ new SqlString("SELECT * FROM fish LEFT JOIN (SELECT * FROM meat ORDER BY weight) AS t ORDER BY name DESC"), 10, 20, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY name DESC) as __hibernate_sort_row FROM fish LEFT JOIN (SELECT * FROM meat ORDER BY weight) AS t) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT *, (SELECT COUNT(1) FROM fowl WHERE fish_id = fish.id) AS some_count FROM fish"), 1, 10);
+ str = d.GetLimitString(new SqlString("SELECT *, (SELECT COUNT(1) FROM fowl WHERE fish_id = fish.id) AS some_count FROM fish"), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) *, some_count FROM (SELECT *, (SELECT COUNT(1) FROM fowl WHERE fish_id = fish.id) AS some_count, ROW_NUMBER() OVER(ORDER BY CURRENT_TIMESTAMP) as __hibernate_sort_row FROM fish) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT * FROM fish WHERE scales = ", Parameter.Placeholder), 1, 10);
+ str = d.GetLimitString(new SqlString("SELECT * FROM fish WHERE scales = ", Parameter.Placeholder), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY CURRENT_TIMESTAMP) as __hibernate_sort_row FROM fish WHERE scales = ?) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
str.ToString());
- str = d.GetLimitString(new SqlString("SELECT f.Type, COUNT(DISTINCT f.Name) AS Name FROM Fish f GROUP BY f.Type ORDER BY COUNT(DISTINCT f.Name)"), 1, 10);
+ str = d.GetLimitString(new SqlString("SELECT f.Type, COUNT(DISTINCT f.Name) AS Name FROM Fish f GROUP BY f.Type ORDER BY COUNT(DISTINCT f.Name)"), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) Type, Name FROM (SELECT f.Type, COUNT(DISTINCT f.Name) AS Name, ROW_NUMBER() OVER(ORDER BY COUNT(DISTINCT f.Name)) as __hibernate_sort_row FROM Fish f GROUP BY f.Type) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
@@ -95,13 +95,13 @@
{
MsSql2005Dialect d = new MsSql2005Dialect();
SqlString result =
- d.GetLimitString(new SqlString("select concat(a.Description,', ', a.Description) as desc from Animal a"), 1, 10);
+ d.GetLimitString(new SqlString("select concat(a.Description,', ', a.Description) as desc from Animal a"), 1, 10, -1, -2);
System.Console.WriteLine(result);
Assert.AreEqual("SELECT TOP (?) desc FROM (select concat(a.Description,', ', a.Description) as desc, ROW_NUMBER() OVER(ORDER BY CURRENT_TIMESTAMP) as __hibernate_sort_row from Animal a) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row", result.ToString());
// The test use the function "cast" because cast need the keyWork "as" too
SqlString str =
- d.GetLimitString(new SqlString("SELECT fish.id, cast('astring, with,comma' as string) as bar FROM fish"), 1, 10);
+ d.GetLimitString(new SqlString("SELECT fish.id, cast('astring, with,comma' as string) as bar FROM fish"), 1, 10, -1, -2);
System.Console.WriteLine(str);
Assert.AreEqual(
"SELECT TOP (?) id, bar FROM (SELECT fish.id, cast('astring, with,comma' as string) as bar, ROW_NUMBER() OVER(ORDER BY CURRENT_TIMESTAMP) as __hibernate_sort_row FROM fish) as query WHERE query.__hibernate_sort_row > ? ORDER BY query.__hibernate_sort_row",
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Domain.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -6,5 +6,6 @@
{
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
+ public virtual int Ord { get; set; }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Fixture.cs 2010-08-06 19:57:08 UTC (rev 5118)
@@ -1,12 +1,13 @@
using System.Linq;
using NUnit.Framework;
using SharpTestsEx;
+using NHibernate.Criterion;
namespace NHibernate.Test.NHSpecificTest.NH2251
{
public class Fixture : BugTestCase
{
- [Test, Ignore("Executing FutureValue before Future cause the mix of parameters in SQL.")]
+ [Test]
public void WhenUseFutureSkipTakeThenNotThrow()
{
using (var session = OpenSession())
@@ -47,5 +48,109 @@
).Should().NotThrow();
}
}
+
+ [Test]
+ public void HqlWithOffsetAndLimit()
+ {
+ using (var session = OpenSession())
+ using (var transaction = session.BeginTransaction())
+ {
+ session.Save(new Foo() { Name = "name1" });
+ session.Save(new Foo() { Name = "name2" });
+ session.Save(new Foo() { Name = "name3" });
+ session.Save(new Foo() { Name = "name4" });
+
+ string stringParam = "name%";
+ var list =
+ session.CreateQuery("from Foo f where f.Name like :stringParam order by f.Name")
+ .SetParameter("stringParam", stringParam)
+ .SetFirstResult(1)
+ .SetMaxResults(2)
+ .List<Foo>();
+
+ Assert.That(list.Count(), Is.EqualTo(2));
+ Assert.That(list[0].Name, Is.EqualTo("name2"));
+ Assert.That(list[1].Name, Is.EqualTo("name3"));
+ }
+ }
+
+ [Test]
+ public void FuturePagedHql()
+ {
+ using (var session = OpenSession())
+ using (var transaction = session.BeginTransaction())
+ {
+ session.Save(new Foo() { Name = "name1" });
+ session.Save(new Foo() { Name = "name2" });
+ session.Save(new Foo() { Name = "name3" });
+ session.Save(new Foo() { Name = "name4" });
+
+ string stringParam = "name%";
+ var list1 =
+ session.CreateQuery("from Foo f where f.Name like :stringParam order by f.Name")
+ .SetParameter("stringParam", stringParam)
+ .SetFirstResult(1)
+ .SetMaxResults(2)
+ .Future<Foo>();
+
+ var list2 =
+ session.CreateQuery("from Foo f where f.Name like :stringParam order by f.Name")
+ .SetParameter("stringParam", stringParam)
+ .SetFirstResult(1)
+ .SetMaxResults(2)
+ .Future<Foo>();
+
+ Assert.That(list1.Count(), Is.EqualTo(2));
+ Assert.That(list1.ElementAt(0).Name, Is.EqualTo("name2"));
+ Assert.That(list1.ElementAt(1).Name, Is.EqualTo("name3"));
+
+ Assert.That(list2.Count(), Is.EqualTo(2));
+ Assert.That(list2.ElementAt(0).Name, Is.EqualTo("name2"));
+ Assert.That(list2.ElementAt(1).Name, Is.EqualTo("name3"));
+ }
+ }
+
+ [Test]
+ public void MultiplePagingParametersInSingleQuery()
+ {
+ using (var session = OpenSession())
+ using (var transaction = session.BeginTransaction())
+ {
+ session.Save(new Foo() { Ord = 0, Name = "00" });
+ session.Save(new Foo() { Ord = 1, Name = "10" });
+ session.Save(new Foo() { Ord = 2, Name = "10" });
+ session.Save(new Foo() { Ord = 3, Name = "11" });
+ session.Save(new Foo() { Ord = 4, Name = "10" });
+ session.Save(new Foo() { Ord = 5, Name = "10" });
+ session.Save(new Foo() { Ord = 6, Name = "10" });
+ session.Save(new Foo() { Ord = 7, Name = "10" });
+ session.Save(new Foo() { Ord = 8, Name = "10" });
+ session.Save(new Foo() { Ord = 9, Name = "10" });
+
+ // returns 2, 3, 4, 5, 6, 7, 8
+ DetachedCriteria pagedSubquery =
+ DetachedCriteria.For<Foo>()
+ .Add(Restrictions.Like("Name", "1%"))
+ .AddOrder(Order.Asc("Ord"))
+ .SetFirstResult(1)
+ .SetMaxResults(7)
+ .SetProjection(Projections.Property("Id"));
+
+ var query =
+ session.CreateCriteria<Foo>()
+ .Add(Subqueries.PropertyIn("Id", pagedSubquery))
+ .Add(Restrictions.Like("Name", "%0")) // excludes 3
+ .AddOrder(Order.Asc("Ord"))
+ .SetFirstResult(2)
+ .SetMaxResults(3);
+
+ var list = query.List<Foo>();
+
+ Assert.That(list.Count, Is.EqualTo(3));
+ Assert.That(list[0].Ord, Is.EqualTo(5));
+ Assert.That(list[1].Ord, Is.EqualTo(6));
+ Assert.That(list[2].Ord, Is.EqualTo(7));
+ }
+ }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml 2010-08-06 13:56:15 UTC (rev 5117)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2251/Mappings.hbm.xml 2010-08-06 19:57:08 UTC (rev 5118)
@@ -7,6 +7,7 @@
<id name="Id">
<generator class="guid" />
</id>
- <property name="Name"/>
- </class>
+ <property name="Name"/>
+ <property name="Ord"/>
+ </class>
</hibernate-mapping>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-06 13:56:22
|
Revision: 5117
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5117&view=rev
Author: fabiomaulo
Date: 2010-08-06 13:56:15 +0000 (Fri, 06 Aug 2010)
Log Message:
-----------
Apply NH-1135 with modifications to avoid breaking changes
Modified Paths:
--------------
trunk/nhibernate/doc/reference/modules/basic_mapping.xml
trunk/nhibernate/src/NHibernate/NHibernate.csproj
trunk/nhibernate/src/NHibernate/NHibernateUtil.cs
trunk/nhibernate/src/NHibernate/Type/TypeFactory.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeTypeFixture.cs
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Type/AbstractDateTimeSpecificKindType.cs
trunk/nhibernate/src/NHibernate/Type/LocalDateTimeType.cs
trunk/nhibernate/src/NHibernate/Type/UtcDateTimeType.cs
trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.cs
trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.hbm.xml
trunk/nhibernate/src/NHibernate.Test/TypesTest/LocalDateTimeTypeFixture.cs
trunk/nhibernate/src/NHibernate.Test/TypesTest/UtcDateTimeTypeFixture.cs
Modified: trunk/nhibernate/doc/reference/modules/basic_mapping.xml
===================================================================
--- trunk/nhibernate/doc/reference/modules/basic_mapping.xml 2010-08-05 16:11:15 UTC (rev 5116)
+++ trunk/nhibernate/doc/reference/modules/basic_mapping.xml 2010-08-06 13:56:15 UTC (rev 5117)
@@ -2283,7 +2283,19 @@
<entry><literal>DbType.DateTime</literal> - ignores the milliseconds</entry>
<entry>Default when no <literal>type</literal> attribute specified.</entry>
</row>
- <row>
+ <row>
+ <entry><literal>LocalDateTime</literal></entry>
+ <entry><literal>System.DateTime</literal></entry>
+ <entry><literal>DbType.DateTime</literal> - ignores the milliseconds</entry>
+ <entry>Ensures the <literal>DateTimeKind</literal> is set to <literal>DateTimeKind.Local</literal></entry>
+ </row>
+ <row>
+ <entry><literal>UtcDateTime</literal></entry>
+ <entry><literal>System.DateTime</literal></entry>
+ <entry><literal>DbType.DateTime</literal> - ignores the milliseconds</entry>
+ <entry>Ensures the <literal>DateTimeKind</literal> is set to <literal>DateTimeKind.Utc</literal></entry>
+ </row>
+ <row>
<entry><literal>Decimal</literal></entry>
<entry><literal>System.Decimal</literal></entry>
<entry><literal>DbType.Decimal</literal></entry>
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-05 16:11:15 UTC (rev 5116)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-06 13:56:15 UTC (rev 5117)
@@ -851,9 +851,12 @@
<Compile Include="Tool\hbm2ddl\ScriptSplitter.cs" />
<Compile Include="Transaction\AdoNetWithDistrubtedTransactionFactory.cs" />
<Compile Include="Transform\ToListResultTransformer.cs" />
+ <Compile Include="Type\AbstractDateTimeSpecificKindType.cs" />
<Compile Include="Type\DbTimestampType.cs" />
<Compile Include="Type\DefaultCollectionTypeFactory.cs" />
<Compile Include="Bytecode\ICollectionTypeFactory.cs" />
+ <Compile Include="Type\LocalDateTimeType.cs" />
+ <Compile Include="Type\UtcDateTimeType.cs" />
<Compile Include="Util\ExpressionsHelper.cs" />
<Compile Include="Util\NullableDictionary.cs" />
<Compile Include="Hql\Ast\ANTLR\Util\PathHelper.cs" />
Modified: trunk/nhibernate/src/NHibernate/NHibernateUtil.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernateUtil.cs 2010-08-05 16:11:15 UTC (rev 5116)
+++ trunk/nhibernate/src/NHibernate/NHibernateUtil.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -121,6 +121,16 @@
public static readonly NullableType DateTime2 = new DateTime2Type();
/// <summary>
+ /// NHibernate local date type
+ /// </summary>
+ public static readonly NullableType LocalDateTime = new LocalDateTimeType();
+
+ /// <summary>
+ /// NHibernate utc date type
+ /// </summary>
+ public static readonly NullableType UtcDateTime = new UtcDateTimeType();
+
+ /// <summary>
/// NHibernate date type
/// </summary>
public static readonly NullableType DateTimeOffset = new DateTimeOffsetType();
Added: trunk/nhibernate/src/NHibernate/Type/AbstractDateTimeSpecificKindType.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Type/AbstractDateTimeSpecificKindType.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Type/AbstractDateTimeSpecificKindType.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -0,0 +1,65 @@
+using System;
+using System.Data;
+
+namespace NHibernate.Type
+{
+ [Serializable]
+ public abstract class AbstractDateTimeSpecificKindType : DateTimeType
+ {
+ protected abstract DateTimeKind DateTimeKind { get; }
+
+ protected virtual DateTime CreateDateTime(DateTime dateValue)
+ {
+ return new DateTime(dateValue.Year, dateValue.Month, dateValue.Day, dateValue.Hour, dateValue.Minute, dateValue.Second, DateTimeKind);
+ }
+
+ public override object FromStringValue(string xml)
+ {
+ return DateTime.SpecifyKind(DateTime.Parse(xml), DateTimeKind);
+ }
+
+ public override int GetHashCode(object x, EntityMode entityMode)
+ {
+ int hashCode = base.GetHashCode(x, entityMode);
+ unchecked
+ {
+ hashCode = 31*hashCode + ((DateTime) x).Kind.GetHashCode();
+ }
+ return hashCode;
+ }
+
+ public override bool IsEqual(object x, object y)
+ {
+ if (x == y)
+ {
+ return true;
+ }
+
+ if (x == null || y == null)
+ {
+ return false;
+ }
+
+ return base.IsEqual(x, y) && ((DateTime) x).Kind == ((DateTime) y).Kind;
+ }
+
+ public override void Set(IDbCommand st, object value, int index)
+ {
+ var dateValue = (DateTime) value;
+ ((IDataParameter) st.Parameters[index]).Value = CreateDateTime(dateValue);
+ }
+
+ public override object Get(IDataReader rs, int index)
+ {
+ try
+ {
+ DateTime dbValue = Convert.ToDateTime(rs[index]);
+ return CreateDateTime(dbValue);
+ }
+ catch (Exception ex)
+ {
+ throw new FormatException(string.Format("Input string '{0}' was not in the correct format.", rs[index]), ex);
+ }
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate/Type/LocalDateTimeType.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Type/LocalDateTimeType.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Type/LocalDateTimeType.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -0,0 +1,18 @@
+using System;
+
+namespace NHibernate.Type
+{
+ [Serializable]
+ public class LocalDateTimeType : AbstractDateTimeSpecificKindType
+ {
+ protected override DateTimeKind DateTimeKind
+ {
+ get { return DateTimeKind.Local; }
+ }
+
+ public override string Name
+ {
+ get { return "LocalDateTime"; }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Type/TypeFactory.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Type/TypeFactory.cs 2010-08-05 16:11:15 UTC (rev 5116)
+++ trunk/nhibernate/src/NHibernate/Type/TypeFactory.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -238,6 +238,8 @@
RegisterType(NHibernateUtil.YesNo, new[] { "yes_no" });
RegisterType(NHibernateUtil.Ticks, new[] { "ticks" });
RegisterType(NHibernateUtil.TimeAsTimeSpan, EmptyAliases);
+ RegisterType(NHibernateUtil.LocalDateTime, new[] { "localdatetime" });
+ RegisterType(NHibernateUtil.UtcDateTime, new[] { "utcdatetime" });
RegisterType(NHibernateUtil.Currency, new[] { "currency" },
(p, s) => GetType(NHibernateUtil.Currency, p, s, st => new CurrencyType(st)));
Added: trunk/nhibernate/src/NHibernate/Type/UtcDateTimeType.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Type/UtcDateTimeType.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Type/UtcDateTimeType.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -0,0 +1,18 @@
+using System;
+
+namespace NHibernate.Type
+{
+ [Serializable]
+ public class UtcDateTimeType : AbstractDateTimeSpecificKindType
+ {
+ protected override DateTimeKind DateTimeKind
+ {
+ get { return DateTimeKind.Utc; }
+ }
+
+ public override string Name
+ {
+ get { return "UtcDateTime"; }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-05 16:11:15 UTC (rev 5116)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-06 13:56:15 UTC (rev 5117)
@@ -451,6 +451,9 @@
<Compile Include="NHSpecificTest\NH2148\Domain.cs" />
<Compile Include="NHSpecificTest\NH2245\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2245\Model.cs" />
+ <Compile Include="TypesTest\DateTimeClass.cs" />
+ <Compile Include="TypesTest\LocalDateTimeTypeFixture.cs" />
+ <Compile Include="TypesTest\UtcDateTimeTypeFixture.cs" />
<Compile Include="UtilityTest\ReflectionHelperIsMethodOfTests.cs" />
<Compile Include="UtilityTest\ReflectionHelperTest.cs" />
<Compile Include="Linq\RegresstionTests.cs" />
@@ -2232,6 +2235,7 @@
<EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" />
<EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="TypesTest\DateTimeClass.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1421\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2148\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2245\Mappings.hbm.xml" />
Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -0,0 +1,38 @@
+using System;
+
+namespace NHibernate.Test.TypesTest
+{
+ /// <summary>
+ /// Summary description for GuidClass.
+ /// </summary>
+ public class DateTimeClass
+ {
+ private int _id;
+ private DateTime? _utcDateTimeValue;
+ private DateTime? _localDateTimeValue;
+ public DateTimeClass()
+ {
+ NormalDateTimeValue = DateTime.Today;
+ }
+
+ public int Id
+ {
+ get { return _id; }
+ set { _id = value; }
+ }
+
+ public DateTime? UtcDateTimeValue
+ {
+ get { return _utcDateTimeValue; }
+ set { _utcDateTimeValue = value; }
+ }
+
+ public DateTime? LocalDateTimeValue
+ {
+ get { return _localDateTimeValue; }
+ set { _localDateTimeValue = value; }
+ }
+
+ public DateTime NormalDateTimeValue { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeClass.hbm.xml 2010-08-06 13:56:15 UTC (rev 5117)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false">
+
+ <class
+ name="NHibernate.Test.TypesTest.DateTimeClass, NHibernate.Test"
+ table="bc_datetime"
+ >
+
+ <id name="Id" column="id">
+ <generator class="assigned" />
+ </id>
+
+ <property name="UtcDateTimeValue" type="UtcDateTime" column="utcdatec"/>
+ <property name="LocalDateTimeValue" type="LocalDateTime" column="localdatec"/>
+ <property name="NormalDateTimeValue" />
+ </class>
+</hibernate-mapping>
Modified: trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeTypeFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeTypeFixture.cs 2010-08-05 16:11:15 UTC (rev 5116)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/DateTimeTypeFixture.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -1,6 +1,7 @@
using System;
using NHibernate.Type;
using NUnit.Framework;
+using SharpTestsEx;
namespace NHibernate.Test.TypesTest
{
@@ -43,5 +44,15 @@
value2 = ((DateTime)value2).AddHours(2);
Assert.IsFalse(value1 == value2, "value2 was changed, value1 should not have changed also.");
}
+
+ [Test]
+ public void EqualityShouldIgnoreKindAndMillisecond()
+ {
+ var type = (DateTimeType)NHibernateUtil.DateTime;
+ var localTime = DateTime.Now;
+ var unspecifiedKid = new DateTime(localTime.Year, localTime.Month, localTime.Day, localTime.Hour, localTime.Minute, localTime.Second, 0, DateTimeKind.Unspecified);
+ type.Satisfy(t => t.IsEqual(localTime, unspecifiedKid));
+ type.Satisfy(t => t.IsEqual(localTime, unspecifiedKid, EntityMode.Poco));
+ }
}
}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/LocalDateTimeTypeFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/LocalDateTimeTypeFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/LocalDateTimeTypeFixture.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -0,0 +1,43 @@
+using System;
+using NUnit.Framework;
+
+namespace NHibernate.Test.TypesTest
+{
+ /// <summary>
+ /// The Unit Tests for the UtcDateTimeType.
+ /// </summary>
+ [TestFixture]
+ public class LocalDateTimeTypeFixture : TypeFixtureBase
+ {
+ protected override string TypeName
+ {
+ get { return "DateTime"; }
+ }
+
+ [Test]
+ public void ReadWrite()
+ {
+ DateTime val = DateTime.UtcNow;
+ DateTime expected = new DateTime(val.Year, val.Month, val.Day, val.Hour, val.Minute, val.Second, DateTimeKind.Local);
+
+ DateTimeClass basic = new DateTimeClass();
+ basic.Id = 1;
+ basic.LocalDateTimeValue = val;
+
+ ISession s = OpenSession();
+ s.Save(basic);
+ s.Flush();
+ s.Close();
+
+ s = OpenSession();
+ basic = (DateTimeClass) s.Load(typeof (DateTimeClass), 1);
+
+ Assert.AreEqual(DateTimeKind.Local, basic.LocalDateTimeValue.Value.Kind);
+ Assert.AreEqual(expected, basic.LocalDateTimeValue.Value);
+
+ s.Delete(basic);
+ s.Flush();
+ s.Close();
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/TypesTest/UtcDateTimeTypeFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TypesTest/UtcDateTimeTypeFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/TypesTest/UtcDateTimeTypeFixture.cs 2010-08-06 13:56:15 UTC (rev 5117)
@@ -0,0 +1,43 @@
+using System;
+using NUnit.Framework;
+
+namespace NHibernate.Test.TypesTest
+{
+ /// <summary>
+ /// The Unit Tests for the UtcDateTimeType.
+ /// </summary>
+ [TestFixture]
+ public class UtcDateTimeTypeFixture : TypeFixtureBase
+ {
+ protected override string TypeName
+ {
+ get { return "DateTime"; }
+ }
+
+ [Test]
+ public void ReadWrite()
+ {
+ DateTime val = DateTime.UtcNow;
+ DateTime expected = new DateTime(val.Year, val.Month, val.Day, val.Hour, val.Minute, val.Second, DateTimeKind.Utc);
+
+ DateTimeClass basic = new DateTimeClass();
+ basic.Id = 1;
+ basic.UtcDateTimeValue = val;
+
+ ISession s = OpenSession();
+ s.Save(basic);
+ s.Flush();
+ s.Close();
+
+ s = OpenSession();
+ basic = (DateTimeClass) s.Load(typeof (DateTimeClass), 1);
+
+ Assert.AreEqual(DateTimeKind.Utc, basic.UtcDateTimeValue.Value.Kind);
+ Assert.AreEqual(expected, basic.UtcDateTimeValue.Value);
+
+ s.Delete(basic);
+ s.Flush();
+ s.Close();
+ }
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-05 16:11:21
|
Revision: 5116
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5116&view=rev
Author: fabiomaulo
Date: 2010-08-05 16:11:15 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Fix NH-1421
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs
trunk/nhibernate/src/NHibernate/Util/ReflectHelper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/AnEntity.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Mappings.hbm.xml
Modified: trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2010-08-05 12:39:25 UTC (rev 5115)
+++ trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2010-08-05 16:11:15 UTC (rev 5116)
@@ -657,6 +657,14 @@
throw new ArgumentException("Parameter " + name + " does not exist as a named parameter in [" + QueryString + "]");
}
+ if (type == null)
+ {
+ throw new ArgumentNullException("type","Can't determine the type of parameter-list elements.");
+ }
+ if(vals.Count == 0)
+ {
+ throw new QueryException(string.Format("An empty parameter-list generate wrong SQL; parameter name '{0}'", name));
+ }
namedParameterLists[name] = new TypedValue(type, vals, session.EntityMode);
return this;
}
@@ -665,7 +673,7 @@
{
if (vals == null)
{
- throw new QueryException("Collection must be not null!");
+ throw new ArgumentNullException("vals");
}
if (!parameterMetadata.NamedParameterNames.Contains(name))
@@ -676,7 +684,7 @@
if (vals.Count == 0)
{
- SetParameterList(name, vals, null);
+ SetParameterList(name, vals, GuessType(vals.GetCollectionElementType()));
}
else
{
@@ -690,12 +698,12 @@
public IQuery SetParameterList(string name, object[] vals, IType type)
{
- return SetParameterList(name, new ArrayList(vals), type);
+ return SetParameterList(name, vals as ICollection, type);
}
public IQuery SetParameterList(string name, object[] vals)
{
- return SetParameterList(name, new ArrayList(vals));
+ return SetParameterList(name, vals as ICollection);
}
#endregion
Modified: trunk/nhibernate/src/NHibernate/Util/ReflectHelper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Util/ReflectHelper.cs 2010-08-05 12:39:25 UTC (rev 5115)
+++ trunk/nhibernate/src/NHibernate/Util/ReflectHelper.cs 2010-08-05 16:11:15 UTC (rev 5116)
@@ -1,5 +1,7 @@
using System;
+using System.Collections;
using System.Collections.Generic;
+using System.Linq;
using System.Reflection;
using System.Text;
using log4net;
@@ -621,5 +623,41 @@
{
return method.Name.Substring(4);
}
+
+ public static System.Type GetCollectionElementType(this IEnumerable collectionInstance)
+ {
+ if (collectionInstance == null)
+ {
+ throw new ArgumentNullException("collectionInstance");
+ }
+ var collectionType = collectionInstance.GetType();
+ return GetCollectionElementType(collectionType);
+ }
+
+ public static System.Type GetCollectionElementType(System.Type collectionType)
+ {
+ if (collectionType == null)
+ {
+ throw new ArgumentNullException("collectionType");
+ }
+ if (collectionType.IsArray)
+ {
+ return collectionType.GetElementType();
+ }
+ if (collectionType.IsGenericType)
+ {
+ List<System.Type> interfaces = collectionType.GetInterfaces().Where(t => t.IsGenericType).ToList();
+ if (collectionType.IsInterface)
+ {
+ interfaces.Add(collectionType);
+ }
+ var enumerableInterface = interfaces.FirstOrDefault(t => t.GetGenericTypeDefinition() == typeof (IEnumerable<>));
+ if (enumerableInterface != null)
+ {
+ return enumerableInterface.GetGenericArguments()[0];
+ }
+ }
+ return null;
+ }
}
}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/AnEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/AnEntity.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/AnEntity.cs 2010-08-05 16:11:15 UTC (rev 5116)
@@ -0,0 +1,7 @@
+namespace NHibernate.Test.NHSpecificTest.NH1421
+{
+ public class AnEntity
+ {
+ public virtual long Id { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Fixture.cs 2010-08-05 16:11:15 UTC (rev 5116)
@@ -0,0 +1,62 @@
+using System;
+using System.Collections;
+using NUnit.Framework;
+using SharpTestsEx;
+using System.Collections.ObjectModel;
+
+namespace NHibernate.Test.NHSpecificTest.NH1421
+{
+ public class Fixture: BugTestCase
+ {
+ [Test]
+ public void WhenParameterListIsEmptyArrayUsingQueryThenDoesNotTrowsNullReferenceException()
+ {
+ using (var s = OpenSession())
+ {
+ var query = s.CreateQuery("from AnEntity a where a.id in (:myList)");
+ query.Executing(x => x.SetParameterList("myList", new long[0])).Throws().And.Exception.Should().Not.Be.InstanceOf<NullReferenceException>();
+ }
+ }
+
+ [Test]
+ public void WhenParameterListIsEmptyGenericCollectionUsingQueryThenDoesNotTrowsNullReferenceException()
+ {
+ using (var s = OpenSession())
+ {
+ var query = s.CreateQuery("from AnEntity a where a.id in (:myList)");
+ query.Executing(x => x.SetParameterList("myList", new Collection<long>())).Throws().And.Exception.Should().Not.Be.InstanceOf<NullReferenceException>();
+ }
+ }
+
+ [Test]
+ public void WhenParameterListIsEmptyCollectionUsingQueryThenTrowsArgumentException()
+ {
+ using (var s = OpenSession())
+ {
+ var query = s.CreateQuery("from AnEntity a where a.id in (:myList)");
+ query.Executing(x => x.SetParameterList("myList", new ArrayList())).Throws().And.Exception.Should().Be.InstanceOf<ArgumentException>();
+ }
+ }
+
+ [Test]
+ public void WhenParameterListIsNullUsingQueryThenTrowsArgumentException()
+ {
+ using (var s = OpenSession())
+ {
+ var query = s.CreateQuery("from AnEntity a where a.id in (:myList)");
+ query.Executing(x => x.SetParameterList("myList", null)).Throws().And.Exception.Should().Be.InstanceOf<ArgumentNullException>();
+ }
+ }
+
+ [Test]
+ public void WhenParameterListIsEmptyUsingQueryThenDoesNotTrowsNullReferenceException()
+ {
+ using (var s = OpenSession())
+ {
+ var query = s.CreateQuery("from AnEntity a where a.id in (:myList)");
+ query.Executing(x => x.SetParameterList("myList", new long[0]).List()).Throws().And.Exception.Should().Not.Be.InstanceOf<NullReferenceException>();
+ }
+ }
+
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1421/Mappings.hbm.xml 2010-08-05 16:11:15 UTC (rev 5116)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping
+ xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1421">
+
+ <class name="AnEntity">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ </class>
+
+</hibernate-mapping>
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-05 12:39:25 UTC (rev 5115)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-05 16:11:15 UTC (rev 5116)
@@ -445,6 +445,8 @@
<Compile Include="Linq\QueryCacheableTests.cs" />
<Compile Include="Linq\QueryReuseTests.cs" />
<Compile Include="Linq\ReadonlyTestCase.cs" />
+ <Compile Include="NHSpecificTest\NH1421\AnEntity.cs" />
+ <Compile Include="NHSpecificTest\NH1421\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2148\BugFixture.cs" />
<Compile Include="NHSpecificTest\NH2148\Domain.cs" />
<Compile Include="NHSpecificTest\NH2245\Fixture.cs" />
@@ -2230,6 +2232,7 @@
<EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" />
<EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1421\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2148\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2245\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2257\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-05 12:39:36
|
Revision: 5115
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5115&view=rev
Author: fabiomaulo
Date: 2010-08-05 12:39:25 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Minor (made cross RDBMS)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/Linq/Mappings/Patient.hbm.xml
Modified: trunk/nhibernate/src/NHibernate.Test/Linq/Mappings/Patient.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Linq/Mappings/Patient.hbm.xml 2010-08-05 12:30:38 UTC (rev 5114)
+++ trunk/nhibernate/src/NHibernate.Test/Linq/Mappings/Patient.hbm.xml 2010-08-05 12:39:25 UTC (rev 5115)
@@ -4,7 +4,7 @@
<id name="Id" column="PatientId" type="Int64">
<generator class="native" />
</id>
- <property type="System.Boolean" not-null="true" name="Active" column="[Active]" />
+ <property type="System.Boolean" not-null="true" name="Active" column="`Active`" />
<many-to-one name="Physician" cascade="none" column="PhysicianId" not-null="true" class="Physician" />
<bag name="PatientRecords" inverse="true" lazy="true" cascade="all">
<key column="PatientId" />
@@ -16,32 +16,32 @@
<id name="Id" column="PhysicianId" type="Int64">
<generator class="native" />
</id>
- <property type="System.String" not-null="true" name="Name" column="[Name]" />
+ <property type="System.String" not-null="true" name="Name" column="`Name`" />
</class>
<class name="PatientRecord" table="PatientRecords">
<id name="Id" column="PatientRecordId" type="System.Int64">
<generator class="native" />
</id>
- <property type="NHibernate.Test.Linq.Entities.Gender, NHibernate.Test" not-null="true" name="Gender" column="[Gender]" />
- <property type="System.DateTime" not-null="true" name="BirthDate" column="[BirthDate]" />
+ <property type="NHibernate.Test.Linq.Entities.Gender, NHibernate.Test" not-null="true" name="Gender" column="`Gender`" />
+ <property type="System.DateTime" not-null="true" name="BirthDate" column="`BirthDate`" />
<component name="Name" class="PatientName">
- <property type="System.String" not-null="true" name="FirstName" column="[FirstName]" />
- <property type="System.String" not-null="true" name="LastName" column="[LastName]" />
+ <property type="System.String" not-null="true" name="FirstName" column="`FirstName`" />
+ <property type="System.String" not-null="true" name="LastName" column="`LastName`" />
</component>
<component name="Address" class="PatientAddress">
- <property type="System.String" name="AddressLine1" column="[AddressLine1]" />
+ <property type="System.String" name="AddressLine1" column="`AddressLine1`" />
- <property type="System.String" name="AddressLine2" column="[AddressLine2]" />
+ <property type="System.String" name="AddressLine2" column="`AddressLine2`" />
- <property type="System.String" name="City" column="[City]" />
+ <property type="System.String" name="City" column="`City`" />
<many-to-one name="State" cascade="none" column="StateId" class="State" />
- <property type="System.String" name="ZipCode" column="[ZipCode]" />
+ <property type="System.String" name="ZipCode" column="`ZipCode`" />
</component>
@@ -53,7 +53,7 @@
<id name="Id" column="StateId" type="System.Int64">
<generator class="native" />
</id>
- <property type="System.String" not-null="true" name="Abbreviation" column="[Abbreviation]" />
- <property type="System.String" not-null="true" name="FullName" column="[FullName]" />
+ <property type="System.String" not-null="true" name="Abbreviation" column="`Abbreviation`" />
+ <property type="System.String" not-null="true" name="FullName" column="`FullName`" />
</class>
</hibernate-mapping>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-05 12:30:44
|
Revision: 5114
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5114&view=rev
Author: fabiomaulo
Date: 2010-08-05 12:30:38 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Fix NH-2149 (by Paul Wideman)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs
trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs
Modified: trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs 2010-08-05 12:20:09 UTC (rev 5113)
+++ trunk/nhibernate/src/NHibernate/Dialect/MySQL5Dialect.cs 2010-08-05 12:30:38 UTC (rev 5114)
@@ -12,6 +12,15 @@
RegisterColumnType(DbType.Guid, "BINARY(16)");
}
+ protected override void RegisterCastTypes() {
+ base.RegisterCastTypes();
+ // MySql 5 also supports DECIMAL as a cast type target
+ // http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html
+ RegisterCastType(DbType.Decimal, "DECIMAL");
+ RegisterCastType(DbType.Double, "DECIMAL");
+ RegisterCastType(DbType.Single, "DECIMAL");
+ }
+
//Reference 5.x
//Numeric:
//http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
Modified: trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs 2010-08-05 12:20:09 UTC (rev 5113)
+++ trunk/nhibernate/src/NHibernate/Dialect/MySQLDialect.cs 2010-08-05 12:30:38 UTC (rev 5114)
@@ -5,6 +5,7 @@
using NHibernate.Dialect.Function;
using NHibernate.Dialect.Schema;
using NHibernate.SqlCommand;
+using NHibernate.SqlTypes;
using NHibernate.Util;
using Environment=NHibernate.Cfg.Environment;
@@ -32,85 +33,90 @@
/// </remarks>
public class MySQLDialect : Dialect
{
- public MySQLDialect()
- {
- //Reference 3-4.x
- //Numeric:
- //http://dev.mysql.com/doc/refman/4.1/en/numeric-type-overview.html
- //Date and time:
- //http://dev.mysql.com/doc/refman/4.1/en/date-and-time-type-overview.html
- //String:
- //http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html
- //default:
- //http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html
+ private readonly TypeNames castTypeNames = new TypeNames();
- //string type
- RegisterColumnType(DbType.AnsiStringFixedLength, "CHAR(255)");
- RegisterColumnType(DbType.AnsiStringFixedLength, 255, "CHAR($l)");
- RegisterColumnType(DbType.AnsiStringFixedLength, 65535, "TEXT");
- RegisterColumnType(DbType.AnsiStringFixedLength, 16777215, "MEDIUMTEXT");
- RegisterColumnType(DbType.AnsiString, "VARCHAR(255)");
- RegisterColumnType(DbType.AnsiString, 255, "VARCHAR($l)");
- RegisterColumnType(DbType.AnsiString, 65535, "TEXT");
- RegisterColumnType(DbType.AnsiString, 16777215, "MEDIUMTEXT");
- RegisterColumnType(DbType.StringFixedLength, "CHAR(255)");
- RegisterColumnType(DbType.StringFixedLength, 255, "CHAR($l)");
- RegisterColumnType(DbType.StringFixedLength, 65535, "TEXT");
- RegisterColumnType(DbType.StringFixedLength, 16777215, "MEDIUMTEXT");
- RegisterColumnType(DbType.String, "VARCHAR(255)");
- RegisterColumnType(DbType.String, 255, "VARCHAR($l)");
- RegisterColumnType(DbType.String, 65535, "TEXT");
- RegisterColumnType(DbType.String, 16777215, "MEDIUMTEXT");
- //todo: future: add compatibility with decimal???
- //An unpacked fixed-point number. Behaves like a CHAR column;
- //\x93unpacked\x94 means the number is stored as a string, using one character for each digit of the value.
- //M is the total number of digits and D is the number of digits after the decimal point
- //DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
+ public MySQLDialect()
+ {
+ //Reference 3-4.x
+ //Numeric:
+ //http://dev.mysql.com/doc/refman/4.1/en/numeric-type-overview.html
+ //Date and time:
+ //http://dev.mysql.com/doc/refman/4.1/en/date-and-time-type-overview.html
+ //String:
+ //http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html
+ //default:
+ //http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html
- //binary type:
- RegisterColumnType(DbType.Binary, "LONGBLOB");
- RegisterColumnType(DbType.Binary, 127, "TINYBLOB");
- RegisterColumnType(DbType.Binary, 65535, "BLOB");
- RegisterColumnType(DbType.Binary, 16777215, "MEDIUMBLOB");
- //Numeric type:
- RegisterColumnType(DbType.Boolean, "TINYINT(1)"); // SELECT IF(0, 'true', 'false');
- RegisterColumnType(DbType.Byte, "TINYINT UNSIGNED");
- RegisterColumnType(DbType.Currency, "MONEY");
- RegisterColumnType(DbType.Decimal, "NUMERIC(19,5)");
- RegisterColumnType(DbType.Decimal, 19, "NUMERIC($p, $s)");
- RegisterColumnType(DbType.Double, "DOUBLE");
- //The signed range is -32768 to 32767. The unsigned range is 0 to 65535.
- RegisterColumnType(DbType.Int16, "SMALLINT");
- RegisterColumnType(DbType.Int32, "INTEGER"); //alias INT
- //As of MySQL 4.1, SERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.
- RegisterColumnType(DbType.Int64, "BIGINT");
- //!!!
- //Using FLOAT might give you some unexpected problems because all calculations in MySQL are done with double precision
- RegisterColumnType(DbType.Single, "FLOAT");
- RegisterColumnType(DbType.Byte, 1, "BIT"); //Like TinyInt(i)
- RegisterColumnType(DbType.SByte, "TINYINT");
+ //string type
+ RegisterColumnType(DbType.AnsiStringFixedLength, "CHAR(255)");
+ RegisterColumnType(DbType.AnsiStringFixedLength, 255, "CHAR($l)");
+ RegisterColumnType(DbType.AnsiStringFixedLength, 65535, "TEXT");
+ RegisterColumnType(DbType.AnsiStringFixedLength, 16777215, "MEDIUMTEXT");
+ RegisterColumnType(DbType.AnsiString, "VARCHAR(255)");
+ RegisterColumnType(DbType.AnsiString, 255, "VARCHAR($l)");
+ RegisterColumnType(DbType.AnsiString, 65535, "TEXT");
+ RegisterColumnType(DbType.AnsiString, 16777215, "MEDIUMTEXT");
+ RegisterColumnType(DbType.StringFixedLength, "CHAR(255)");
+ RegisterColumnType(DbType.StringFixedLength, 255, "CHAR($l)");
+ RegisterColumnType(DbType.StringFixedLength, 65535, "TEXT");
+ RegisterColumnType(DbType.StringFixedLength, 16777215, "MEDIUMTEXT");
+ RegisterColumnType(DbType.String, "VARCHAR(255)");
+ RegisterColumnType(DbType.String, 255, "VARCHAR($l)");
+ RegisterColumnType(DbType.String, 65535, "TEXT");
+ RegisterColumnType(DbType.String, 16777215, "MEDIUMTEXT");
+ //todo: future: add compatibility with decimal???
+ //An unpacked fixed-point number. Behaves like a CHAR column;
+ //\x93unpacked\x94 means the number is stored as a string, using one character for each digit of the value.
+ //M is the total number of digits and D is the number of digits after the decimal point
+ //DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
- //UNSINGED Numeric type:
- RegisterColumnType(DbType.UInt16, "SMALLINT UNSIGNED");
- RegisterColumnType(DbType.UInt32, "INTEGER UNSIGNED");
- RegisterColumnType(DbType.UInt64, "BIGINT UNSIGNED");
- //there are no other DbType unsigned...but mysql support Float unsigned, double unsigned, etc..
+ //binary type:
+ RegisterColumnType(DbType.Binary, "LONGBLOB");
+ RegisterColumnType(DbType.Binary, 127, "TINYBLOB");
+ RegisterColumnType(DbType.Binary, 65535, "BLOB");
+ RegisterColumnType(DbType.Binary, 16777215, "MEDIUMBLOB");
- //Date and time type:
- RegisterColumnType(DbType.Date, "DATE");
- RegisterColumnType(DbType.DateTime, "DATETIME");
- RegisterColumnType(DbType.Time, "TIME");
+ //Numeric type:
+ RegisterColumnType(DbType.Boolean, "TINYINT(1)"); // SELECT IF(0, 'true', 'false');
+ RegisterColumnType(DbType.Byte, "TINYINT UNSIGNED");
+ RegisterColumnType(DbType.Currency, "MONEY");
+ RegisterColumnType(DbType.Decimal, "NUMERIC(19,5)");
+ RegisterColumnType(DbType.Decimal, 19, "NUMERIC($p, $s)");
+ RegisterColumnType(DbType.Double, "DOUBLE");
+ //The signed range is -32768 to 32767. The unsigned range is 0 to 65535.
+ RegisterColumnType(DbType.Int16, "SMALLINT");
+ RegisterColumnType(DbType.Int32, "INTEGER"); //alias INT
+ //As of MySQL 4.1, SERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.
+ RegisterColumnType(DbType.Int64, "BIGINT");
+ //!!!
+ //Using FLOAT might give you some unexpected problems because all calculations in MySQL are done with double precision
+ RegisterColumnType(DbType.Single, "FLOAT");
+ RegisterColumnType(DbType.Byte, 1, "BIT"); //Like TinyInt(i)
+ RegisterColumnType(DbType.SByte, "TINYINT");
- //special:
- RegisterColumnType(DbType.Guid, "VARCHAR(40)");
+ //UNSINGED Numeric type:
+ RegisterColumnType(DbType.UInt16, "SMALLINT UNSIGNED");
+ RegisterColumnType(DbType.UInt32, "INTEGER UNSIGNED");
+ RegisterColumnType(DbType.UInt64, "BIGINT UNSIGNED");
+ //there are no other DbType unsigned...but mysql support Float unsigned, double unsigned, etc..
- //functions:
- RegisterFunction("concat", new VarArgsSQLFunction(NHibernateUtil.String, "concat(", ",", ")"));
+ //Date and time type:
+ RegisterColumnType(DbType.Date, "DATE");
+ RegisterColumnType(DbType.DateTime, "DATETIME");
+ RegisterColumnType(DbType.Time, "TIME");
- DefaultProperties[Environment.ConnectionDriver] = "NHibernate.Driver.MySqlDataDriver";
- }
+ //special:
+ RegisterColumnType(DbType.Guid, "VARCHAR(40)");
+ RegisterCastTypes();
+
+ //functions:
+ RegisterFunction("concat", new VarArgsSQLFunction(NHibernateUtil.String, "concat(", ",", ")"));
+
+ DefaultProperties[Environment.ConnectionDriver] = "NHibernate.Driver.MySqlDataDriver";
+ }
+
/// <summary></summary>
public override string AddColumnString
{
@@ -245,5 +251,57 @@
{
get { return "create temporary table if not exists"; }
}
+
+ protected virtual void RegisterCastTypes()
+ {
+ // According to the MySql documentation (http://dev.mysql.com/doc/refman/4.1/en/cast-functions.html)
+ // only a few values are supported for the cast target type: BINARY, CHAR, DATE, DATETIME,
+ // SIGNED, TIME, and UNSIGNED. So we must limit our possible cast types to these
+
+ // The Dialect.GetCastTypeName() method uses the default length, precision, and
+ // scale values, so there's no need to consider those values here either, just use the defaults
+ RegisterCastType(DbType.AnsiString, "CHAR");
+ RegisterCastType(DbType.AnsiStringFixedLength, "CHAR");
+ RegisterCastType(DbType.String, "CHAR");
+ RegisterCastType(DbType.StringFixedLength, "CHAR");
+ RegisterCastType(DbType.Binary, "BINARY");
+ RegisterCastType(DbType.Int16, "SIGNED");
+ RegisterCastType(DbType.Int32, "SIGNED");
+ RegisterCastType(DbType.Int64, "SIGNED");
+ RegisterCastType(DbType.UInt16, "UNSIGNED");
+ RegisterCastType(DbType.UInt32, "UNSIGNED");
+ RegisterCastType(DbType.UInt64, "UNSIGNED");
+ RegisterCastType(DbType.Guid, "CHAR(40)");
+ RegisterCastType(DbType.Time, "TIME");
+ RegisterCastType(DbType.Date, "DATE");
+ RegisterCastType(DbType.DateTime, "DATETIME");
+ }
+
+ /// <summary>
+ /// Suclasses register a typename for the given type code, to be used in CAST()
+ /// statements.
+ /// </summary>
+ /// <param name="code">The typecode</param>
+ /// <param name="name">The database type name</param>
+ protected void RegisterCastType(DbType code, string name)
+ {
+ castTypeNames.Put(code, name);
+ }
+
+ /// <summary>
+ /// Get the name of the database type appropriate for casting operations
+ /// (via the CAST() SQL function) for the given <see cref="SqlType"/> typecode.
+ /// </summary>
+ /// <param name="sqlType">The <see cref="SqlType"/> typecode </param>
+ /// <returns> The database type name </returns>
+ public override string GetCastTypeName(SqlType sqlType)
+ {
+ string result = castTypeNames.Get(sqlType.DbType);
+ if (result == null)
+ {
+ throw new HibernateException(string.Format("No CAST() type mapping for SqlType {0}", sqlType));
+ }
+ return result;
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-05 12:20:16
|
Revision: 5113
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5113&view=rev
Author: fabiomaulo
Date: 2010-08-05 12:20:09 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Partial fix of NH-2263 2 step (thanks to Patrick Earl)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Context/ManagedWebSessionContext.cs
trunk/nhibernate/src/NHibernate/Context/WebSessionContext.cs
trunk/nhibernate/src/NHibernate/NHibernate.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Context/ReflectiveHttpContext.cs
Modified: trunk/nhibernate/src/NHibernate/Context/ManagedWebSessionContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Context/ManagedWebSessionContext.cs 2010-08-05 11:06:46 UTC (rev 5112)
+++ trunk/nhibernate/src/NHibernate/Context/ManagedWebSessionContext.cs 2010-08-05 12:20:09 UTC (rev 5113)
@@ -1,13 +1,12 @@
using System;
using System.Collections;
-using System.Web;
using NHibernate.Engine;
namespace NHibernate.Context
{
/// <summary>
/// Provides a <see cref="ISessionFactory.GetCurrentSession()">current session</see>
- /// for each <see cref="System.Web.HttpContext"/>.
+ /// for each System.Web.HttpContext.
/// Works only with Web Applications.
/// </summary>
[Serializable]
@@ -23,7 +22,7 @@
public ISession CurrentSession()
{
- ISession currentSession = GetExistingSession(HttpContext.Current, factory);
+ ISession currentSession = GetExistingSession(ReflectiveHttpContext.HttpContextCurrentGetter(), factory);
if (currentSession == null)
{
throw new HibernateException("No session bound to the current HttpContext");
@@ -33,20 +32,20 @@
#region Static API
- public static void Bind(HttpContext context, ISession session)
+ public static void Bind(object httpContext, ISession session)
{
- GetSessionMap(context, true)[((ISessionImplementor) session).Factory] = session;
+ GetSessionMap(httpContext, true)[((ISessionImplementor) session).Factory] = session;
}
- public static bool HasBind(HttpContext context, ISessionFactory factory)
+ public static bool HasBind(object httpContext, ISessionFactory factory)
{
- return GetExistingSession(context, factory) != null;
+ return GetExistingSession(httpContext, factory) != null;
}
- public static ISession Unbind(HttpContext context, ISessionFactory factory)
+ public static ISession Unbind(object httpContext, ISessionFactory factory)
{
ISession result = null;
- IDictionary sessionMap = GetSessionMap(context, false);
+ IDictionary sessionMap = GetSessionMap(httpContext, false);
if (sessionMap != null)
{
result = sessionMap[factory] as ISession;
@@ -57,9 +56,9 @@
#endregion
- private static ISession GetExistingSession(HttpContext context, ISessionFactory factory)
+ private static ISession GetExistingSession(object httpContext, ISessionFactory factory)
{
- IDictionary sessionMap = GetSessionMap(context, false);
+ IDictionary sessionMap = GetSessionMap(httpContext, false);
if (sessionMap == null)
{
return null;
@@ -68,15 +67,16 @@
return sessionMap[factory] as ISession;
}
- private static IDictionary GetSessionMap(HttpContext context, bool create)
+ private static IDictionary GetSessionMap(object httpContext, bool create)
{
- IDictionary map = context.Items[SessionFactoryMapKey] as IDictionary;
+ IDictionary httpContextItems = ReflectiveHttpContext.HttpContextItemsGetter(httpContext);
+ var map = httpContextItems[SessionFactoryMapKey] as IDictionary;
if (map == null && create)
{
map = new Hashtable();
- context.Items[SessionFactoryMapKey] = map;
+ httpContextItems[SessionFactoryMapKey] = map;
}
return map;
}
}
-}
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate/Context/ReflectiveHttpContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Context/ReflectiveHttpContext.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Context/ReflectiveHttpContext.cs 2010-08-05 12:20:09 UTC (rev 5113)
@@ -0,0 +1,50 @@
+using System;
+using System.Collections;
+using System.Linq.Expressions;
+using System.Reflection;
+
+namespace NHibernate.Context
+{
+ /// <summary>
+ /// This class allows access to the HttpContext without referring to HttpContext at compile time.
+ /// The accessors are cached as delegates for performance.
+ /// </summary>
+ public static class ReflectiveHttpContext
+ {
+ static ReflectiveHttpContext()
+ {
+ CreateCurrentHttpContextGetter();
+ CreateHttpContextItemsGetter();
+ }
+
+ public static Func<object> HttpContextCurrentGetter { get; private set; }
+
+ public static Func<object, IDictionary> HttpContextItemsGetter { get; private set; }
+
+ public static IDictionary HttpContextCurrentItems
+ {
+ get { return HttpContextItemsGetter(HttpContextCurrentGetter()); }
+ }
+
+ private static System.Type HttpContextType
+ {
+ get { return System.Type.GetType("System.Web.HttpContext, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"); }
+ }
+
+ private static void CreateCurrentHttpContextGetter()
+ {
+ PropertyInfo currentProperty = HttpContextType.GetProperty("Current", BindingFlags.Static | BindingFlags.Public | BindingFlags.FlattenHierarchy);
+ Expression propertyExpression = Expression.Property(null, currentProperty);
+ Expression convertedExpression = Expression.Convert(propertyExpression, typeof (object));
+ HttpContextCurrentGetter = (Func<object>) Expression.Lambda(convertedExpression).Compile();
+ }
+
+ private static void CreateHttpContextItemsGetter()
+ {
+ ParameterExpression contextParam = Expression.Parameter(typeof (object), "context");
+ Expression convertedParam = Expression.Convert(contextParam, HttpContextType);
+ Expression itemsProperty = Expression.Property(convertedParam, "Items");
+ HttpContextItemsGetter = (Func<object, IDictionary>) Expression.Lambda(itemsProperty, contextParam).Compile();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Context/WebSessionContext.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Context/WebSessionContext.cs 2010-08-05 11:06:46 UTC (rev 5112)
+++ trunk/nhibernate/src/NHibernate/Context/WebSessionContext.cs 2010-08-05 12:20:09 UTC (rev 5113)
@@ -1,32 +1,28 @@
using System;
using System.Collections;
-using System.Web;
-
using NHibernate.Engine;
namespace NHibernate.Context
{
/// <summary>
/// Provides a <see cref="ISessionFactory.GetCurrentSession()">current session</see>
- /// for each <see cref="System.Web.HttpContext"/>. Works only with web applications.
+ /// for each System.Web.HttpContext. Works only with web applications.
/// </summary>
[Serializable]
public class WebSessionContext : MapBasedSessionContext
{
private const string SessionFactoryMapKey = "NHibernate.Context.WebSessionContext.SessionFactoryMapKey";
- public WebSessionContext(ISessionFactoryImplementor factory) : base(factory)
- {
- }
+ public WebSessionContext(ISessionFactoryImplementor factory) : base(factory) {}
protected override IDictionary GetMap()
{
- return HttpContext.Current.Items[SessionFactoryMapKey] as IDictionary;
+ return ReflectiveHttpContext.HttpContextCurrentItems[SessionFactoryMapKey] as IDictionary;
}
protected override void SetMap(IDictionary value)
{
- HttpContext.Current.Items[SessionFactoryMapKey] = value;
+ ReflectiveHttpContext.HttpContextCurrentItems[SessionFactoryMapKey] = value;
}
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-05 11:06:46 UTC (rev 5112)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-05 12:20:09 UTC (rev 5113)
@@ -53,7 +53,6 @@
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Transactions" />
- <Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="Antlr3.Runtime, Version=3.1.0.39271, Culture=neutral, PublicKeyToken=3a9cab8f8d22bfb7">
<SpecificVersion>False</SpecificVersion>
@@ -564,6 +563,7 @@
</Compile>
<Compile Include="Cfg\XmlHbmBinding\TypeBinder.cs" />
<Compile Include="Cfg\XmlHbmBinding\ValuePropertyBinder.cs" />
+ <Compile Include="Context\ReflectiveHttpContext.cs" />
<Compile Include="Context\WcfOperationSessionContext.cs" />
<Compile Include="Criterion\GroupedProjection.cs" />
<Compile Include="Criterion\IPropertyProjection.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-05 11:06:53
|
Revision: 5112
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5112&view=rev
Author: fabiomaulo
Date: 2010-08-05 11:06:46 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Fix NH-2273
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/AdoNet/SqlClientBatchingBatcher.cs
Modified: trunk/nhibernate/src/NHibernate/AdoNet/SqlClientBatchingBatcher.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/AdoNet/SqlClientBatchingBatcher.cs 2010-08-05 03:06:22 UTC (rev 5111)
+++ trunk/nhibernate/src/NHibernate/AdoNet/SqlClientBatchingBatcher.cs 2010-08-05 11:06:46 UTC (rev 5112)
@@ -16,13 +16,15 @@
private int totalExpectedRowsAffected;
private SqlClientSqlCommandSet currentBatch;
private StringBuilder currentBatchCommandsLog;
+ private readonly int defaultTimeout;
public SqlClientBatchingBatcher(ConnectionManager connectionManager, IInterceptor interceptor)
: base(connectionManager, interceptor)
{
batchSize = Factory.Settings.AdoBatchSize;
- currentBatch = new SqlClientSqlCommandSet();
- SetCommandTimeout();
+ defaultTimeout = PropertiesHelper.GetInt32(Cfg.Environment.CommandTimeout, Cfg.Environment.Properties, -1);
+
+ currentBatch = CreateConfiguredBatch();
//we always create this, because we need to deal with a scenario in which
//the user change the logging configuration at runtime. Trying to put this
//behind an if(log.IsDebugEnabled) will cause a null reference exception
@@ -30,26 +32,6 @@
currentBatchCommandsLog = new StringBuilder().AppendLine("Batch commands:");
}
- private void SetCommandTimeout()
- {
- int timeout = PropertiesHelper.GetInt32(Cfg.Environment.CommandTimeout, Cfg.Environment.Properties, -1);
-
- if (timeout > 0)
- {
- try
- {
- currentBatch.CommandTimeout = timeout;
- }
- catch (Exception e)
- {
- if (log.IsWarnEnabled)
- {
- log.Warn(e.ToString());
- }
- }
- }
- }
-
public override int BatchSize
{
get { return batchSize; }
@@ -107,7 +89,28 @@
currentBatch.Dispose();
totalExpectedRowsAffected = 0;
- currentBatch = new SqlClientSqlCommandSet();
+ currentBatch = CreateConfiguredBatch();
}
+
+ private SqlClientSqlCommandSet CreateConfiguredBatch()
+ {
+ var result = new SqlClientSqlCommandSet();
+ if (defaultTimeout > 0)
+ {
+ try
+ {
+ result.CommandTimeout = defaultTimeout;
+ }
+ catch (Exception e)
+ {
+ if (log.IsWarnEnabled)
+ {
+ log.Warn(e.ToString());
+ }
+ }
+ }
+
+ return result;
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-05 03:06:28
|
Revision: 5111
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5111&view=rev
Author: fabiomaulo
Date: 2010-08-05 03:06:22 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Fix NH-2158 (thanks to Richard Birkby)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs
trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs
Modified: trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs 2010-08-04 19:54:32 UTC (rev 5110)
+++ trunk/nhibernate/src/NHibernate/Criterion/SqlFunctionProjection.cs 2010-08-05 03:06:22 UTC (rev 5111)
@@ -1,4 +1,5 @@
using System;
+using System.Collections;
using System.Collections.Generic;
using NHibernate.Dialect.Function;
using NHibernate.Engine;
@@ -72,7 +73,7 @@
IDictionary<string, IFilter> enabledFilters)
{
ISQLFunction sqlFunction = GetFunction(criteriaQuery);
- List<string> tokens = new List<string>();
+ var tokens = new ArrayList();
string replacemenToken = Guid.NewGuid().ToString("n");
for (int i = 0; i < args.Length; i++)
{
Modified: trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs 2010-08-04 19:54:32 UTC (rev 5110)
+++ trunk/nhibernate/src/NHibernate.Test/ExpressionTest/Projection/ProjectionFixture.cs 2010-08-05 03:06:22 UTC (rev 5111)
@@ -8,6 +8,7 @@
namespace NHibernate.Test.ExpressionTest.Projection
{
using Util;
+ using NHibernate.Dialect.Function;
[TestFixture]
public class ProjectionFixture : BaseExpressionFixture
@@ -88,6 +89,19 @@
}
[Test]
+ public void NvlTest()
+ {
+ ISession session = factory.OpenSession();
+ IProjection expression = Projections.SqlFunction(new NvlFunction(),
+ NHibernateUtil.String, Projections.Property("Name"), Projections.Property("Address"));
+ CreateObjects(typeof (Simple), session);
+ SqlString sqlString = expression.ToSqlString(criteria, 0, criteriaQuery, new CollectionHelper.EmptyMapClass<string, IFilter>());
+ string expectedSql = "nvl(sql_alias.Name, sql_alias.address) as y0_";
+ CompareSqlStrings(sqlString, expectedSql, 0);
+ session.Close();
+ }
+
+ [Test]
public void DistinctTest()
{
ISession session = factory.OpenSession();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-04 19:54:39
|
Revision: 5110
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5110&view=rev
Author: fabiomaulo
Date: 2010-08-04 19:54:32 +0000 (Wed, 04 Aug 2010)
Log Message:
-----------
Apply NH-2120 (by Nikolaos Tountas)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/NHibernate.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Driver/CsharpSqliteDriver.cs
Added: trunk/nhibernate/src/NHibernate/Driver/CsharpSqliteDriver.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/CsharpSqliteDriver.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Driver/CsharpSqliteDriver.cs 2010-08-04 19:54:32 UTC (rev 5110)
@@ -0,0 +1,53 @@
+namespace NHibernate.Driver
+{
+ /// <summary>
+ /// NHibernate driver for the Community CsharpSqlite data provider.
+ /// <p>
+ /// Author: <a href="mailto:nic...@ho..."> Nikolaos Tountas </a>
+ /// </p>
+ /// </summary>
+ /// <remarks>
+ /// <p>
+ /// In order to use this Driver you must have the Community.CsharpSqlite.dll and Community.CsharpSqlite.SQLiteClient assemblies referenced.
+ /// </p>
+ /// <p>
+ /// Please check <a href="http://code.google.com/p/csharp-sqlite/"> http://code.google.com/p/csharp-sqlite/ </a> for more information regarding csharp-sqlite.
+ /// </p>
+ /// </remarks>
+ public class CsharpSqliteDriver : ReflectionBasedDriver
+ {
+ /// <summary>
+ /// Initializes a new instance of <see cref="CsharpSqliteDriver"/>.
+ /// </summary>
+ /// <exception cref="HibernateException">
+ /// Thrown when the <c>Community.CsharpSqlite.dll</c> assembly can not be loaded.
+ /// </exception>
+ public CsharpSqliteDriver()
+ : base(
+ "Community.CsharpSqlite.SQLiteClient",
+ "Community.CsharpSqlite.SQLiteClient.SqliteConnection",
+ "Community.CsharpSqlite.SQLiteClient.SqliteCommand")
+ {
+ }
+
+ public override bool UseNamedPrefixInSql
+ {
+ get { return true; }
+ }
+
+ public override bool UseNamedPrefixInParameter
+ {
+ get { return true; }
+ }
+
+ public override string NamedPrefix
+ {
+ get { return "@"; }
+ }
+
+ public override bool SupportsMultipleOpenReaders
+ {
+ get { return false; }
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-04 17:40:14 UTC (rev 5109)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-08-04 19:54:32 UTC (rev 5110)
@@ -596,6 +596,7 @@
<Compile Include="Dialect\Schema\SybaseAnywhereMetaData.cs" />
<Compile Include="Dialect\SybaseASA10Dialect.cs" />
<Compile Include="Dialect\SybaseASA9Dialect.cs" />
+ <Compile Include="Driver\CsharpSqliteDriver.cs" />
<Compile Include="Driver\IfxDriver.cs" />
<Compile Include="Driver\OracleLiteDataClientDriver.cs" />
<Compile Include="Engine\Query\CallableParser.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-04 17:40:20
|
Revision: 5109
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5109&view=rev
Author: fabiomaulo
Date: 2010-08-04 17:40:14 +0000 (Wed, 04 Aug 2010)
Log Message:
-----------
Apply NH-2026 (by Diego Mijelshon)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Dialect/InformixDialect.cs
Modified: trunk/nhibernate/src/NHibernate/Dialect/InformixDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Dialect/InformixDialect.cs 2010-08-04 17:30:13 UTC (rev 5108)
+++ trunk/nhibernate/src/NHibernate/Dialect/InformixDialect.cs 2010-08-04 17:40:14 UTC (rev 5109)
@@ -1,9 +1,12 @@
using System.Data;
using System.Data.Common;
+using System.Text;
using NHibernate.Cfg;
using NHibernate.Dialect.Function;
using NHibernate.Exceptions;
using NHibernate.SqlCommand;
+using NHibernate.Util;
+
//using NHibernate.Dialect.Schema;
namespace NHibernate.Dialect
@@ -446,6 +449,29 @@
return -1;
}
+
+ public override string GetAddForeignKeyConstraintString(string constraintName, string[] foreignKey, string referencedTable, string[] primaryKey, bool referencesPrimaryKey)
+ {
+ // NH-2026
+ var res = new StringBuilder(200);
+
+ res.Append(" add constraint foreign key (")
+ .Append(StringHelper.Join(StringHelper.CommaSpace, foreignKey))
+ .Append(") references ")
+ .Append(referencedTable);
+
+ if (!referencesPrimaryKey)
+ {
+ res.Append(" (")
+ .Append(StringHelper.Join(StringHelper.CommaSpace, primaryKey))
+ .Append(')');
+ }
+
+ res.Append(" constraint ")
+ .Append(constraintName);
+
+ return res.ToString();
+ }
}
public class IfxViolatedConstraintExtracter : TemplatedViolatedConstraintNameExtracter
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-04 17:30:19
|
Revision: 5108
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5108&view=rev
Author: fabiomaulo
Date: 2010-08-04 17:30:13 +0000 (Wed, 04 Aug 2010)
Log Message:
-----------
Minor (Check NH-2089 with strings substitution)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs 2010-08-04 17:21:44 UTC (rev 5107)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs 2010-08-04 17:30:13 UTC (rev 5108)
@@ -10,13 +10,13 @@
protected override void Configure(NHibernate.Cfg.Configuration configuration)
{
base.Configure(configuration);
- configuration.SessionFactory().Integrate.CreateCommands.WithHqlToSqlSubstitutions("pizza 1");
+ configuration.SessionFactory().Integrate.CreateCommands.WithHqlToSqlSubstitutions("pizza 1, calda 'bobrock'");
}
- const string query = "from SimpleClass s where s.IntValue > pizza";
[Test]
public void WhenSubstitutionsConfiguredThenUseItInTranslation()
{
+ const string query = "from SimpleClass s where s.IntValue > pizza";
var sql = GetSql(query, new Dictionary<string, string>{{"pizza","1"}});
sql.Should().Not.Contain("pizza");
}
@@ -24,6 +24,7 @@
[Test]
public void WhenExecutedThroughSessionThenUseSubstitutions()
{
+ const string query = "from SimpleClass s where s.IntValue > pizza";
using (var s = OpenSession())
{
using (SqlLogSpy sqlLogSpy = new SqlLogSpy())
@@ -34,5 +35,28 @@
}
}
}
+
+ [Test]
+ public void WhenSubstitutionsWithStringConfiguredThenUseItInTranslation()
+ {
+ const string query = "from SimpleClass s where s.Description > calda";
+ var sql = GetSql(query, new Dictionary<string, string> { { "calda", "'bobrock'" } });
+ sql.Should().Not.Contain("pizza").And.Contain("'bobrock'");
+ }
+
+ [Test]
+ public void WhenExecutedThroughSessionThenUseSubstitutionsWithString()
+ {
+ const string query = "from SimpleClass s where s.Description > calda";
+ using (var s = OpenSession())
+ {
+ using (SqlLogSpy sqlLogSpy = new SqlLogSpy())
+ {
+ s.CreateQuery(query).List();
+ string sql = sqlLogSpy.Appender.GetEvents()[0].RenderedMessage;
+ sql.Should().Not.Contain("pizza").And.Contain("'bobrock'");
+ }
+ }
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-04 17:21:50
|
Revision: 5107
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5107&view=rev
Author: fabiomaulo
Date: 2010-08-04 17:21:44 +0000 (Wed, 04 Aug 2010)
Log Message:
-----------
Check NH-2089 not an issue
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs 2010-08-04 11:57:46 UTC (rev 5106)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs 2010-08-04 17:21:44 UTC (rev 5107)
@@ -39,8 +39,13 @@
public string GetSql(string query)
{
- var qt = new QueryTranslatorImpl(null, new HqlParseEngine(query, false, sessions).Parse(), emptyfilters, sessions);
- qt.Compile(null, false);
+ return GetSql(query, null);
+ }
+
+ public string GetSql(string query, IDictionary<string, string> replacements)
+ {
+ var qt = new QueryTranslatorImpl(null, new HqlParseEngine(query, false, sessions).Parse(), emptyfilters, sessions);
+ qt.Compile(replacements, false);
return qt.SQLString;
}
Added: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/QuerySubstitutionTest.cs 2010-08-04 17:21:44 UTC (rev 5107)
@@ -0,0 +1,38 @@
+using System.Collections.Generic;
+using NUnit.Framework;
+using NHibernate.Cfg.Loquacious;
+using SharpTestsEx;
+
+namespace NHibernate.Test.HQL.Ast
+{
+ public class QuerySubstitutionTest: BaseFixture
+ {
+ protected override void Configure(NHibernate.Cfg.Configuration configuration)
+ {
+ base.Configure(configuration);
+ configuration.SessionFactory().Integrate.CreateCommands.WithHqlToSqlSubstitutions("pizza 1");
+ }
+ const string query = "from SimpleClass s where s.IntValue > pizza";
+
+ [Test]
+ public void WhenSubstitutionsConfiguredThenUseItInTranslation()
+ {
+ var sql = GetSql(query, new Dictionary<string, string>{{"pizza","1"}});
+ sql.Should().Not.Contain("pizza");
+ }
+
+ [Test]
+ public void WhenExecutedThroughSessionThenUseSubstitutions()
+ {
+ using (var s = OpenSession())
+ {
+ using (SqlLogSpy sqlLogSpy = new SqlLogSpy())
+ {
+ s.CreateQuery(query).List();
+ string sql = sqlLogSpy.Appender.GetEvents()[0].RenderedMessage;
+ sql.Should().Not.Contain("pizza");
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-04 11:57:46 UTC (rev 5106)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-04 17:21:44 UTC (rev 5107)
@@ -373,6 +373,7 @@
<Compile Include="HQL\Ast\Mammal.cs" />
<Compile Include="HQL\Ast\Name.cs" />
<Compile Include="HQL\Ast\ParsingFixture.cs" />
+ <Compile Include="HQL\Ast\QuerySubstitutionTest.cs" />
<Compile Include="HQL\Ast\Reptile.cs" />
<Compile Include="HQL\Ast\SimpleAssociatedEntity.cs" />
<Compile Include="HQL\Ast\SimpleClass.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2010-08-04 11:57:52
|
Revision: 5106
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5106&view=rev
Author: fabiomaulo
Date: 2010-08-04 11:57:46 +0000 (Wed, 04 Aug 2010)
Log Message:
-----------
Fix NH-2267 (by Patrick Earl)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Driver/NpgsqlDriver.cs
Modified: trunk/nhibernate/src/NHibernate/Driver/NpgsqlDriver.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Driver/NpgsqlDriver.cs 2010-08-04 11:54:24 UTC (rev 5105)
+++ trunk/nhibernate/src/NHibernate/Driver/NpgsqlDriver.cs 2010-08-04 11:57:46 UTC (rev 5106)
@@ -58,10 +58,8 @@
protected override bool SupportsPreparingCommands
{
- // NOTE: Npgsql1.0 and 2.0-preview apparently doesn't correctly support prepared commands.
- // The following exception is thrown on insert statements:
- // Npgsql.NpgsqlException : ERROR: 42601: cannot insert multiple commands into a prepared statement
- get { return false; }
+ // NH-2267 Patrick Earl
+ get { return true; }
}
public override bool SupportsMultipleQueries
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|