Exemple #1
0
        // -------------------------------------------------
        //                                       SQL Logging
        //                                       -----------
        protected virtual void LogSql(Object[] args, Type[] argTypes)
        {
            // [SqlLogHandler]
            SqlLogHandler sqlLogHandler       = GetSqlLogHander();
            bool          existsSqlLogHandler = sqlLogHandler != null;

            // [SqlResultHandler]
            SqlResultHandler sqlResultHandler       = GetSqlResultHander();
            bool             existsSqlResultHandler = sqlResultHandler != null;

            // [SqlLogRegistry]
            InternalSqlLogRegistry sqlLogRegistry = InternalSqlLogRegistryLocator.Instance;
            bool existsSqlLogRegistry             = sqlLogRegistry != null;

            if (IsLogEnabled() || existsSqlLogHandler || existsSqlResultHandler || existsSqlLogRegistry)
            {
                String displaySql = GetCompleteSql(args);
                if (IsLogEnabled())
                {
                    Log((IsContainsLineSeparatorInSql() ? GetLineSeparator() : "") + displaySql);
                }
                if (existsSqlLogHandler)   // DBFlute provides
                {
                    sqlLogHandler.Invoke(this.Sql, displaySql, args, argTypes);
                }
                if (existsSqlLogRegistry)   // S2Container provides (But Actually DBFlute provides at CSharp)
                {
                    sqlLogRegistry.Add(CreateInternalSqlLog(displaySql, args, argTypes));
                }
                PutObjectToMapContext("df:DisplaySql", displaySql);
            }
        }
        public void ClearSqlCache()
        {
            InternalSqlLogRegistry sqlLogRegistry = FindInternalSqlLogRegistry();

            if (sqlLogRegistry == null)
            {
                return;
            }
            sqlLogRegistry.Clear();
        }
        public IList <String> ExtractDisplaySqlList()
        {
            InternalSqlLogRegistry sqlLogRegistry = FindInternalSqlLogRegistry();

            if (sqlLogRegistry == null)
            {
                return(new List <String>());
            }
            IList <String> sqlList = new List <String>();

            foreach (InternalSqlLog sqlLog in sqlLogRegistry.SqlLogList)
            {
                sqlList.Add(sqlLog.CompleteSql);
            }
            return(sqlList);
        }
 protected String GetLastCompleteSql()
 {
     try {
         InternalSqlLogRegistry sqlLogRegistry = FindInternalSqlLogRegistry();
         if (sqlLogRegistry == null)
         {
             return(null);
         }
         InternalSqlLog sqlLog = sqlLogRegistry.Last;
         if (sqlLog == null)
         {
             return(null);
         }
         return(sqlLog.CompleteSql);
     } catch (Exception) {
         return(null);
     }
 }