// Path: src/main/java/com/github/susom/database/MixedParameterSql.java
// static class SecretArg {
//   private final Object arg;
// 
//   SecretArg(Object arg) {
//     this.arg = arg;
//   }
// 
//   Object getArg() {
//     return arg;
//   }
// 
//   @Override
//   public String toString() {
//     return "<secret>";
//   }
// }


import java.io.InputStream;
import java.io.Reader;
import java.util.Arrays;
import java.util.Date;
import org.slf4j.Logger;
import com.github.susom.database.MixedParameterSql.SecretArg;
      if (includeExecSql) {
        buf.append(removeTabs(sql));
      }
      if (includeParameters && argsToPrint.length > 0) {
        if (includeExecSql) {
          buf.append(PARAM_SQL_SEPARATOR);
        }
        for (int i = 0; i < argsToPrint.length; i++) {
          buf.append(removeTabs(sqlParts[i]));
          Object argToPrint = argsToPrint[i];
          if (argToPrint instanceof String) {
            String argToPrintString = (String) argToPrint;
            int maxLength = options.maxStringLengthParam();
            if (argToPrintString.length() > maxLength && maxLength > 0) {
              buf.append("'").append(argToPrintString.substring(0, maxLength)).append("...'");
            } else {
              buf.append("'");
              buf.append(removeTabs(escapeSingleQuoted(argToPrintString)));
              buf.append("'");
            }
          } else if (argToPrint instanceof StatementAdaptor.SqlNull || argToPrint == null) {
            buf.append("null");
          } else if (argToPrint instanceof java.sql.Timestamp) {
            buf.append(options.flavor().dateAsSqlFunction((Date) argToPrint, options.calendarForTimestamps()));
          } else if (argToPrint instanceof java.sql.Date) {
              buf.append(options.flavor().localDateAsSqlFunction((Date) argToPrint));
          } else if (argToPrint instanceof Number) {
            buf.append(argToPrint);
          } else if (argToPrint instanceof Boolean) {
            buf.append(((Boolean) argToPrint) ? "'Y'" : "'N'");
// Path: src/main/java/com/github/susom/database/MixedParameterSql.java
// static class SecretArg {
//   private final Object arg;
// 
//   SecretArg(Object arg) {
//     this.arg = arg;
//   }
// 
//   Object getArg() {
//     return arg;
//   }
// 
//   @Override
//   public String toString() {
//     return "<secret>";
//   }
// }


// Path: src/main/java/com/github/susom/database/DebugSql.java
import java.io.InputStream;
import java.io.Reader;
import java.util.Arrays;
import java.util.Date;
import org.slf4j.Logger;
import com.github.susom.database.MixedParameterSql.SecretArg;

      if (includeExecSql) {
        buf.append(removeTabs(sql));
      }
      if (includeParameters && argsToPrint.length > 0) {
        if (includeExecSql) {
          buf.append(PARAM_SQL_SEPARATOR);
        }
        for (int i = 0; i < argsToPrint.length; i++) {
          buf.append(removeTabs(sqlParts[i]));
          Object argToPrint = argsToPrint[i];
          if (argToPrint instanceof String) {
            String argToPrintString = (String) argToPrint;
            int maxLength = options.maxStringLengthParam();
            if (argToPrintString.length() > maxLength && maxLength > 0) {
              buf.append("'").append(argToPrintString.substring(0, maxLength)).append("...'");
            } else {
              buf.append("'");
              buf.append(removeTabs(escapeSingleQuoted(argToPrintString)));
              buf.append("'");
            }
          } else if (argToPrint instanceof StatementAdaptor.SqlNull || argToPrint == null) {
            buf.append("null");
          } else if (argToPrint instanceof java.sql.Timestamp) {
            buf.append(options.flavor().dateAsSqlFunction((Date) argToPrint, options.calendarForTimestamps()));
          } else if (argToPrint instanceof java.sql.Date) {
              buf.append(options.flavor().localDateAsSqlFunction((Date) argToPrint));
          } else if (argToPrint instanceof Number) {
            buf.append(argToPrint);
          } else if (argToPrint instanceof Boolean) {
            buf.append(((Boolean) argToPrint) ? "'Y'" : "'N'");
          } else if (argToPrint instanceof SecretArg) {