Repository: logging-log4net Updated Branches: refs/heads/feature/cd-pipeline feef693a2 -> c4bcd6ee7
AdoNetAppender: prepare the database command after adding the database parameters (LOG4NET-538) This fixes an issue with the postresql database provider that would not detect database parameter names if they were added after dbCmd.Prepare() was invoked. Project: http://git-wip-us.apache.org/repos/asf/logging-log4net/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4net/commit/538fc982 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4net/tree/538fc982 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4net/diff/538fc982 Branch: refs/heads/feature/cd-pipeline Commit: 538fc982d30f40e1ddec39383baee968ba023401 Parents: c04a774 Author: Dominik Psenner <dpsen...@apache.org> Authored: Fri Sep 1 08:45:34 2017 +0200 Committer: Dominik Psenner <dpsen...@apache.org> Committed: Fri Sep 1 08:53:03 2017 +0200 ---------------------------------------------------------------------- src/Appender/AdoNetAppender.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4net/blob/538fc982/src/Appender/AdoNetAppender.cs ---------------------------------------------------------------------- diff --git a/src/Appender/AdoNetAppender.cs b/src/Appender/AdoNetAppender.cs index 061aece..811e28e 100644 --- a/src/Appender/AdoNetAppender.cs +++ b/src/Appender/AdoNetAppender.cs @@ -545,13 +545,13 @@ namespace log4net.Appender // Set the command type dbCmd.CommandType = CommandType; + // Send buffer using the prepared command object if (dbTran != null) { dbCmd.Transaction = dbTran; } - // prepare the command, which is significantly faster - dbCmd.Prepare(); + // run for all events foreach (LoggingEvent e in events) { @@ -564,6 +564,9 @@ namespace log4net.Appender param.Prepare(dbCmd); param.FormatValue(dbCmd, e); } + + // prepare the command, which is significantly faster + dbCmd.Prepare(); // Execute the query dbCmd.ExecuteNonQuery();