From: <aye...@us...> - 2010-01-06 21:35:27
|
Revision: 4909 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4909&view=rev Author: ayenderahien Date: 2010-01-06 21:35:19 +0000 (Wed, 06 Jan 2010) Log Message: ----------- Merging 4905-4908 revisions from 2.1 branch Modified Paths: -------------- trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs trunk/nhibernate/src/NHibernate/AdoNet/OracleDataClientBatchingBatcher.cs trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs trunk/nhibernate/src/NHibernate/NHibernate.csproj trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaExport.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate/Exceptions/SqlParseException.cs trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/ScriptSplitter.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs Removed Paths: ------------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs Property Changed: ---------------- trunk/nhibernate/src/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Customer.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Model.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1927/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1928/ trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests/ Property changes on: trunk/nhibernate/src ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src:4659,4671,4681,4690-4691,4696-4697,4711,4715-4716 + /branches/2.1.x/nhibernate/src:4659,4671,4681,4690-4691,4696-4697,4711,4715-4716,4905-4908 Modified: trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs =================================================================== --- trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate/AdoNet/AbstractBatcher.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -97,7 +97,6 @@ { try { - LogCommand(cmd); IDbConnection sessionConnection = connectionManager.GetConnection(); if (cmd.Connection != null) @@ -201,7 +200,8 @@ public int ExecuteNonQuery(IDbCommand cmd) { CheckReaders(); - Prepare(cmd); + LogCommand(cmd); + Prepare(cmd); Stopwatch duration = null; if(log.IsDebugEnabled) duration = Stopwatch.StartNew(); @@ -225,7 +225,8 @@ public IDataReader ExecuteReader(IDbCommand cmd) { CheckReaders(); - Prepare(cmd); + LogCommand(cmd); + Prepare(cmd); Stopwatch duration = null; if (log.IsDebugEnabled) duration = Stopwatch.StartNew(); Modified: trunk/nhibernate/src/NHibernate/AdoNet/OracleDataClientBatchingBatcher.cs =================================================================== --- trunk/nhibernate/src/NHibernate/AdoNet/OracleDataClientBatchingBatcher.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate/AdoNet/OracleDataClientBatchingBatcher.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Data; using System.Reflection; +using System.Text; +using NHibernate.AdoNet.Util; namespace NHibernate.AdoNet { @@ -18,20 +20,40 @@ private IDbCommand currentBatch; private IDictionary<string, List<object>> parameterValueListHashTable; private IDictionary<string, bool> parameterIsAllNullsHashTable; + private StringBuilder currentBatchCommandsLog; public OracleDataClientBatchingBatcher(ConnectionManager connectionManager, IInterceptor interceptor) : base(connectionManager, interceptor) { batchSize = Factory.Settings.AdoBatchSize; - } + //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 + //at that point. + currentBatchCommandsLog = new StringBuilder().AppendLine("Batch commands:"); + } public override void AddToBatch(IExpectation expectation) { bool firstOnBatch = true; totalExpectedRowsAffected += expectation.ExpectedRowCount; - log.Info("Adding to batch"); - LogCommand(CurrentCommand); + string lineWithParameters = null; + var sqlStatementLogger = Factory.Settings.SqlStatementLogger; + if (sqlStatementLogger.IsDebugEnabled || log.IsDebugEnabled) + { + lineWithParameters = sqlStatementLogger.GetCommandLineWithParameters(CurrentCommand); + var formatStyle = sqlStatementLogger.DetermineActualStyle(FormatStyle.Basic); + lineWithParameters = formatStyle.Formatter.Format(lineWithParameters); + currentBatchCommandsLog.Append("command ") + .Append(countOfCommands) + .Append(":") + .AppendLine(lineWithParameters); + } + if (log.IsDebugEnabled) + { + log.Debug("Adding to batch:" + lineWithParameters); + } if (currentBatch == null) { @@ -87,6 +109,12 @@ CheckReaders(); Prepare(currentBatch); + if (Factory.Settings.SqlStatementLogger.IsDebugEnabled) + { + Factory.Settings.SqlStatementLogger.LogBatchCommand(currentBatchCommandsLog.ToString()); + currentBatchCommandsLog = new StringBuilder().AppendLine("Batch commands:"); + } + foreach (IDataParameter currentParameter in currentBatch.Parameters) { List<object> parameterValueArray = parameterValueListHashTable[currentParameter.ParameterName]; Modified: trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate/Dialect/Dialect.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -2105,5 +2105,17 @@ } } #endregion + + /// <summary> + /// Supports splitting batches using GO T-SQL command + /// </summary> + /// <remarks> + /// Batches http://msdn.microsoft.com/en-us/library/ms175502.aspx + /// </remarks> + public virtual bool SupportsSqlBatches + { + get { return false; } + } + } } Modified: trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate/Dialect/MsSql2000Dialect.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -495,5 +495,13 @@ { get { return true; } } + + public override bool SupportsSqlBatches + { + get + { + return true; + } + } } } Copied: trunk/nhibernate/src/NHibernate/Exceptions/SqlParseException.cs (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate/Exceptions/SqlParseException.cs) =================================================================== --- trunk/nhibernate/src/NHibernate/Exceptions/SqlParseException.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Exceptions/SqlParseException.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -0,0 +1,13 @@ +using System; + +namespace NHibernate.Exceptions +{ + public class SqlParseException : Exception + { + + public SqlParseException(string Message) : base(Message) + { + } + + } +} Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj =================================================================== --- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-01-06 21:35:19 UTC (rev 4909) @@ -607,6 +607,7 @@ <Compile Include="Event\IPreDatabaseOperationEventArgs.cs" /> <Compile Include="Exceptions\AdoExceptionContextInfo.cs" /> <Compile Include="Exceptions\ReflectionBasedSqlStateExtracter.cs" /> + <Compile Include="Exceptions\SqlParseException.cs" /> <Compile Include="Exceptions\SqlStateExtracter.cs" /> <Compile Include="Exceptions\TemplatedViolatedConstraintNameExtracter.cs" /> <Compile Include="Hql\Ast\ANTLR\AstPolymorphicProcessor.cs" /> @@ -800,6 +801,7 @@ <Compile Include="Proxy\AbstractProxyFactory.cs" /> <Compile Include="SqlCommand\InsertSelect.cs" /> <Compile Include="Tool\hbm2ddl\SchemaMetadataUpdater.cs" /> + <Compile Include="Tool\hbm2ddl\ScriptSplitter.cs" /> <Compile Include="Transaction\AdoNetWithDistrubtedTransactionFactory.cs" /> <Compile Include="Transform\ToListResultTransformer.cs" /> <Compile Include="Type\DbTimestampType.cs" /> Modified: trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaExport.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaExport.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/SchemaExport.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -127,9 +127,7 @@ } if (export) { - statement.CommandText = sql; - statement.CommandType = CommandType.Text; - statement.ExecuteNonQuery(); + ExecuteSql(statement, sql); } } catch (Exception e) @@ -143,6 +141,29 @@ } } + private void ExecuteSql(IDbCommand cmd, string sql) + { + if (dialect.SupportsSqlBatches) + { + var objFactory = Environment.BytecodeProvider.ObjectsFactory; + ScriptSplitter splitter = (ScriptSplitter)objFactory.CreateInstance(typeof(ScriptSplitter), sql); + + foreach (string stmt in splitter) + { + log.DebugFormat("SQL Batch: {0}", stmt); + cmd.CommandText = stmt; + cmd.CommandType = CommandType.Text; + cmd.ExecuteNonQuery(); + } + } + else + { + cmd.CommandText = sql; + cmd.CommandType = CommandType.Text; + cmd.ExecuteNonQuery(); + } + } + /// <summary> /// Executes the Export of the Schema in the given connection /// </summary> Copied: trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/ScriptSplitter.cs (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate/Tool/hbm2ddl/ScriptSplitter.cs) =================================================================== --- trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/ScriptSplitter.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Tool/hbm2ddl/ScriptSplitter.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -0,0 +1,405 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace NHibernate.Tool.hbm2ddl +{ + public class ScriptSplitter : IEnumerable<string> + { + private readonly TextReader _reader; + private StringBuilder _builder = new StringBuilder(); + private char _current; + private char _lastChar; + private ScriptReader _scriptReader; + + public ScriptSplitter(string script) + { + _reader = new StringReader(script); + _scriptReader = new SeparatorLineReader(this); + } + + internal bool HasNext + { + get { return _reader.Peek() != -1; } + } + + internal char Current + { + get { return _current; } + } + + internal char LastChar + { + get { return _lastChar; } + } + + #region IEnumerable<string> Members + + public IEnumerator<string> GetEnumerator() + { + while (Next()) + { + if (Split()) + { + string script = _builder.ToString().Trim(); + if (script.Length > 0) + { + yield return (script); + } + Reset(); + } + } + if (_builder.Length > 0) + { + string scriptRemains = _builder.ToString().Trim(); + if (scriptRemains.Length > 0) + { + yield return (scriptRemains); + } + } + } + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + #endregion + + internal bool Next() + { + if (!HasNext) + { + return false; + } + + _lastChar = _current; + _current = (char)_reader.Read(); + return true; + } + + internal int Peek() + { + return _reader.Peek(); + } + + private bool Split() + { + return _scriptReader.ReadNextSection(); + } + + internal void SetParser(ScriptReader newReader) + { + _scriptReader = newReader; + } + + internal void Append(string text) + { + _builder.Append(text); + } + + internal void Append(char c) + { + _builder.Append(c); + } + + void Reset() + { + _current = _lastChar = char.MinValue; + _builder = new StringBuilder(); + } + } + + abstract class ScriptReader + { + protected readonly ScriptSplitter Splitter; + + protected ScriptReader(ScriptSplitter splitter) + { + Splitter = splitter; + } + + /// <summary> + /// This acts as a template method. Specific Reader instances + /// override the component methods. + /// </summary> + public bool ReadNextSection() + { + if (IsQuote) + { + ReadQuotedString(); + return false; + } + + if (BeginDashDashComment) + { + return ReadDashDashComment(); + } + + if (BeginSlashStarComment) + { + ReadSlashStarComment(); + return false; + } + + return ReadNext(); + } + + protected virtual bool ReadDashDashComment() + { + Splitter.Append(Current); + while (Splitter.Next()) + { + Splitter.Append(Current); + if (EndOfLine) + { + break; + } + } + //We should be EndOfLine or EndOfScript here. + Splitter.SetParser(new SeparatorLineReader(Splitter)); + return false; + } + + protected virtual void ReadSlashStarComment() + { + if (ReadSlashStarCommentWithResult()) + { + Splitter.SetParser(new SeparatorLineReader(Splitter)); + return; + } + } + + private bool ReadSlashStarCommentWithResult() + { + Splitter.Append(Current); + while (Splitter.Next()) + { + if (BeginSlashStarComment) + { + ReadSlashStarCommentWithResult(); + continue; + } + Splitter.Append(Current); + + if (EndSlashStarComment) + { + return true; + } + } + return false; + } + + protected virtual void ReadQuotedString() + { + Splitter.Append(Current); + while (Splitter.Next()) + { + Splitter.Append(Current); + if (IsQuote) + { + return; + } + } + } + + protected abstract bool ReadNext(); + + #region Helper methods and properties + + protected bool HasNext + { + get { return Splitter.HasNext; } + } + + protected bool WhiteSpace + { + get { return char.IsWhiteSpace(Splitter.Current); } + } + + protected bool EndOfLine + { + get { return '\n' == Splitter.Current; } + } + + protected bool IsQuote + { + get { return '\'' == Splitter.Current; } + } + + protected char Current + { + get { return Splitter.Current; } + } + + protected char LastChar + { + get { return Splitter.LastChar; } + } + + bool BeginDashDashComment + { + get { return Current == '-' && Peek() == '-'; } + } + + bool BeginSlashStarComment + { + get { return Current == '/' && Peek() == '*'; } + } + + bool EndSlashStarComment + { + get { return LastChar == '*' && Current == '/'; } + } + + protected static bool CharEquals(char expected, char actual) + { + return Char.ToLowerInvariant(expected) == Char.ToLowerInvariant(actual); + } + + protected bool CharEquals(char compare) + { + return CharEquals(Current, compare); + } + + protected char Peek() + { + if (!HasNext) + { + return char.MinValue; + } + return (char)Splitter.Peek(); + } + + #endregion + } + + class SeparatorLineReader : ScriptReader + { + private StringBuilder _builder = new StringBuilder(); + private bool _foundGo; + private bool _gFound; + + public SeparatorLineReader(ScriptSplitter splitter) + : base(splitter) + { + } + + void Reset() + { + _foundGo = false; + _gFound = false; + _builder = new StringBuilder(); + } + + protected override bool ReadDashDashComment() + { + if (!_foundGo) + { + base.ReadDashDashComment(); + return false; + } + base.ReadDashDashComment(); + return true; + } + + protected override void ReadSlashStarComment() + { + if (_foundGo) + { + throw new NHibernate.Exceptions.SqlParseException(@"Incorrect syntax was encountered while parsing GO. Cannot have a slash star /* comment */ after a GO statement."); + } + base.ReadSlashStarComment(); + } + + protected override bool ReadNext() + { + if (EndOfLine) //End of line or script + { + if (!_foundGo) + { + _builder.Append(Current); + Splitter.Append(_builder.ToString()); + Splitter.SetParser(new SeparatorLineReader(Splitter)); + return false; + } + Reset(); + return true; + } + + if (WhiteSpace) + { + _builder.Append(Current); + return false; + } + + if (!CharEquals('g') && !CharEquals('o')) + { + FoundNonEmptyCharacter(Current); + return false; + } + + if (CharEquals('o')) + { + if (CharEquals('g', LastChar) && !_foundGo) + { + _foundGo = true; + } + else + { + FoundNonEmptyCharacter(Current); + } + } + + if (CharEquals('g', Current)) + { + if (_gFound || (!Char.IsWhiteSpace(LastChar) && LastChar != char.MinValue)) + { + FoundNonEmptyCharacter(Current); + return false; + } + + _gFound = true; + } + + if (!HasNext && _foundGo) + { + Reset(); + return true; + } + + _builder.Append(Current); + return false; + } + + void FoundNonEmptyCharacter(char c) + { + _builder.Append(c); + Splitter.Append(_builder.ToString()); + Splitter.SetParser(new SqlScriptReader(Splitter)); + } + } + + class SqlScriptReader : ScriptReader + { + public SqlScriptReader(ScriptSplitter splitter) + : base(splitter) + { + } + + protected override bool ReadNext() + { + if (EndOfLine) //end of line + { + Splitter.Append(Current); + Splitter.SetParser(new SeparatorLineReader(Splitter)); + return false; + } + + Splitter.Append(Current); + return false; + } + } +} Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Customer.cs ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Customer.cs:4593-4594,4690-4691,4696-4697,4711,4715-4716 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Customer.cs:4593-4594,4690-4691,4696-4697,4711,4715-4716,4905-4908 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Fixture.cs ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Fixture.cs:4593-4594,4690-4691,4696-4697,4711,4715-4716 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Fixture.cs:4593-4594,4690-4691,4696-4697,4711,4715-4716,4905-4908 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Mappings.hbm.xml ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Mappings.hbm.xml:4593-4594,4690-4691,4696-4697,4711,4715-4716 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1850/Mappings.hbm.xml:4593-4594,4690-4691,4696-4697,4711,4715-4716,4905-4908 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Fixture.cs ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Fixture.cs:4690-4691,4696-4697,4711,4715-4716 /trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1908/Fixture.cs:4657 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Fixture.cs:4690-4691,4696-4697,4711,4715-4716,4905-4908 /trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1908/Fixture.cs:4657 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Mappings.hbm.xml ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Mappings.hbm.xml:4690-4691,4696-4697,4711,4715-4716 /trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1908/Mappings.hbm.xml:4657 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Mappings.hbm.xml:4690-4691,4696-4697,4711,4715-4716,4905-4908 /trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1908/Mappings.hbm.xml:4657 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Model.cs ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Model.cs:4690-4691,4696-4697,4711,4715-4716 /trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1908/Model.cs:4657 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1904/Model.cs:4690-4691,4696-4697,4711,4715-4716,4905-4908 /trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1908/Model.cs:4657 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1927 ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1927:4691,4696-4697,4711,4715-4716 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1927:4691,4696-4697,4711,4715-4716,4905-4908 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1928 ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1928:4690-4691,4696-4697,4711,4715-4716 + /branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1928:4690-4691,4696-4697,4711,4715-4716,4905-4908 Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055 ___________________________________________________________________ Added: bugtraq:url + http://jira.nhibernate.org/browse/%BUGID% Added: bugtraq:logregex + NH-\d+ Deleted: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -1,22 +0,0 @@ -using System.Collections.Generic; -using NHibernate; -using NHibernate.Engine; -using NHibernate.Mapping; - -namespace NHibernate.Test.NHSpecificTest.NH2055 -{ - public class AuxType : AbstractAuxiliaryDatabaseObject - { - - override public string SqlCreateString(Dialect.Dialect dialect, IMapping p, string defaultCatalog, string defaultSchema) - { - return "select '" + Parameters["scriptParameter"] + "'"; - } - - override public string SqlDropString(Dialect.Dialect dialect, string defaultCatalog, string defaultSchema) - { - return "select 'drop script'"; - } - - } -} \ No newline at end of file Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/AuxType.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -0,0 +1,22 @@ +using System.Collections.Generic; +using NHibernate; +using NHibernate.Engine; +using NHibernate.Mapping; + +namespace NHibernate.Test.NHSpecificTest.NH2055 +{ + public class AuxType : AbstractAuxiliaryDatabaseObject + { + + override public string SqlCreateString(Dialect.Dialect dialect, IMapping p, string defaultCatalog, string defaultSchema) + { + return "select '" + Parameters["scriptParameter"] + "'"; + } + + override public string SqlDropString(Dialect.Dialect dialect, string defaultCatalog, string defaultSchema) + { + return "select 'drop script'"; + } + + } +} \ No newline at end of file Deleted: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Data; -using NUnit.Framework; -using NHibernate.Tool.hbm2ddl; -using System.Text; -using NHibernate.Cfg; - -namespace NHibernate.Test.NHSpecificTest.NH2055 -{ - [TestFixture] - public class Fixture : BugTestCase - { - protected override bool AppliesTo(NHibernate.Dialect.Dialect dialect) - { - return (dialect is Dialect.MsSql2000Dialect); - } - - protected override void Configure(Configuration configuration) - { - base.Configure(configuration); - cfg = configuration; - } - - [Test] - public void CanCreateAndDropSchema() - { - using(var s = sessions.OpenSession()) - { - using(var cmd = s.Connection.CreateCommand()) - { - cmd.CommandType = CommandType.StoredProcedure; - - cmd.CommandText = "test_proc1"; - - Assert.AreEqual(1, cmd.ExecuteScalar()); - - cmd.CommandText = "test_proc2"; - - Assert.AreEqual(2, cmd.ExecuteScalar()); - } - } - } - - } -} Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Fixture.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Data; +using NUnit.Framework; +using NHibernate.Tool.hbm2ddl; +using System.Text; +using NHibernate.Cfg; + +namespace NHibernate.Test.NHSpecificTest.NH2055 +{ + [TestFixture] + public class Fixture : BugTestCase + { + protected override bool AppliesTo(NHibernate.Dialect.Dialect dialect) + { + return (dialect is Dialect.MsSql2000Dialect); + } + + protected override void Configure(Configuration configuration) + { + base.Configure(configuration); + cfg = configuration; + } + + [Test] + public void CanCreateAndDropSchema() + { + using(var s = sessions.OpenSession()) + { + using(var cmd = s.Connection.CreateCommand()) + { + cmd.CommandType = CommandType.StoredProcedure; + + cmd.CommandText = "test_proc1"; + + Assert.AreEqual(1, cmd.ExecuteScalar()); + + cmd.CommandText = "test_proc2"; + + Assert.AreEqual(2, cmd.ExecuteScalar()); + } + } + } + + } +} Deleted: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml 2010-01-06 21:35:19 UTC (rev 4909) @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" - assembly="NHibernate.Test" - namespace="NHibernate.Test.NHSpecificTest.NH2055"> - - <database-object> - <create> - CREATE PROC test_proc1 - AS - SELECT 1 - GO - CREATE PROC test_proc2 - AS - SELECT 2 - GO - </create> - <drop> - if (object_id('test_proc1') is not null ) - DROP PROC test_proc1 - GO - if (object_id('test_proc2') is not null ) - DROP PROC test_proc2 - GO - </drop> - </database-object> - -</hibernate-mapping> Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2055/Mappings.hbm.xml 2010-01-06 21:35:19 UTC (rev 4909) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2055"> + + <database-object> + <create> + CREATE PROC test_proc1 + AS + SELECT 1 + GO + CREATE PROC test_proc2 + AS + SELECT 2 + GO + </create> + <drop> + if (object_id('test_proc1') is not null ) + DROP PROC test_proc1 + GO + if (object_id('test_proc2') is not null ) + DROP PROC test_proc2 + GO + </drop> + </database-object> + +</hibernate-mapping> Property changes on: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057 ___________________________________________________________________ Added: bugtraq:url + http://jira.nhibernate.org/browse/%BUGID% Added: bugtraq:logregex + NH-\d+ Deleted: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Data; -using System.Transactions; -using NHibernate.Impl; -using NUnit.Framework; -using NHibernate.Criterion; - -namespace NHibernate.Test.NHSpecificTest.NH2057 -{ - [TestFixture] - public class Fixture : BugTestCase - { - [Test] - public void WillCloseWhenUsingDTC() - { - SessionImpl s; - using (var tx = new TransactionScope()) - { - using (s = (SessionImpl)OpenSession()) - { - s.Get<Person>(1); - } - //not closed because the tx is opened yet - Assert.False(s.IsClosed); - tx.Complete(); - } - Assert.True(s.IsClosed); - } - - } -} Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Fixture.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Transactions; +using NHibernate.Impl; +using NUnit.Framework; +using NHibernate.Criterion; + +namespace NHibernate.Test.NHSpecificTest.NH2057 +{ + [TestFixture] + public class Fixture : BugTestCase + { + [Test] + public void WillCloseWhenUsingDTC() + { + SessionImpl s; + using (var tx = new TransactionScope()) + { + using (s = (SessionImpl)OpenSession()) + { + s.Get<Person>(1); + } + //not closed because the tx is opened yet + Assert.False(s.IsClosed); + tx.Complete(); + } + Assert.True(s.IsClosed); + } + + } +} Deleted: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml 2010-01-06 21:35:19 UTC (rev 4909) @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" - assembly="NHibernate.Test" - namespace="NHibernate.Test.NHSpecificTest.NH2057"> - - <class name="Person"> - <id name="Id"> - <generator class="native" /> - </id> - <property name="Name"/> - </class> - -</hibernate-mapping> Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Mappings.hbm.xml 2010-01-06 21:35:19 UTC (rev 4909) @@ -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.NH2057"> + + <class name="Person"> + <id name="Id"> + <generator class="native" /> + </id> + <property name="Name"/> + </class> + +</hibernate-mapping> Deleted: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs =================================================================== --- branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -1,19 +0,0 @@ -using System; -using System.Xml.Serialization; -using System.Collections; -using System.Collections.Generic; -using System.Text; - -using NHibernate; -using NHibernate.Classic; - -namespace NHibernate.Test.NHSpecificTest.NH2057 -{ - - public class Person - { - public virtual int Id { get; set; } - public virtual string Name { get; set; } - } - -} Copied: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs (from rev 4908, branches/2.1.x/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs) =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2057/Model.cs 2010-01-06 21:35:19 UTC (rev 4909) @@ -0,0 +1,19 @@ +using System; +using System.Xml.Serialization; +using System.Collections; +using System.Collections.Generic; +using System.Text; + +using NHibernate; +using NHibernate.Classic; + +namespace NHibernate.Test.NHSpecificTest.NH2057 +{ + + public class Person + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + } + +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-01-06 21:05:51 UTC (rev 4908) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-01-06 21:35:19 UTC (rev 4909) @@ -658,6 +658,10 @@ <Compile Include="NHSpecificTest\NH1938\Model.cs" /> <Compile Include="NHSpecificTest\NH1939\AuxType.cs" /> <Compile Include="NHSpecificTest\NH1939\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2055\AuxType.cs" /> + <Compile Include="NHSpecificTest\NH2055\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2057\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2057\Model.cs" /> <Compile Include="NHSpecificTest\NH1941\Fixture.cs" /> <Compile Include="NHSpecificTest\NH1941\Model.cs" /> <Compile Include="NHSpecificTest\NH1941\SexEnumStringType.cs" /> @@ -2096,6 +2100,8 @@ <Content Include="DynamicEntity\package.html" /> <EmbeddedResource Include="NHSpecificTest\NH2030\Mappings.hbm.xml" /> <EmbeddedResource Include="Linq\Mappings\Patient.hbm.xml" /> + <EmbeddedResource Include="NHSpecificTest\NH2055\Mappings.hbm.xml" /> + <EmbeddedResource Include="NHSpecificTest\NH2057\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2011\Mappings.hbm.xml" /> <EmbeddedResource Include="Linq\Mappings\Animal.hbm.xml" /> <EmbeddedResource Include="Linq\Mappings\AnotherEntity.hbm.xml" /> Property changes on: trunk/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.1.x/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests:4507-4508,4510-4513,4537-4538,4593-4594,4690-4691,4696-4697,4711,4715-4716 + /branches/2.1.x/nhibernate/src/NHibernate.Test/Tools/hbm2ddl/SchemaExportTests:4507-4508,4510-4513,4537-4538,4593-4594,4690-4691,4696-4697,4711,4715-4716,4905-4908 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |