mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
refactor StatFilter buildSlowParameters
This commit is contained in:
@@ -460,7 +460,7 @@ public abstract class FilterEventAdapter extends FilterAdapter {
|
||||
try {
|
||||
statementExecuteQueryBefore(statement, statement.getSql());
|
||||
|
||||
ResultSetProxy resultSet = super.preparedStatement_executeQuery(chain, statement);
|
||||
ResultSetProxy resultSet = chain.preparedStatement_executeQuery(statement);
|
||||
|
||||
statementExecuteQueryAfter(statement, statement.getSql(), resultSet);
|
||||
|
||||
|
||||
@@ -526,10 +526,10 @@ public class StatFilter extends FilterEventAdapter implements StatFilterMBean {
|
||||
out.writeObject(value);
|
||||
} else if (value instanceof InputStream) {
|
||||
out.writeString("<InputStream>");
|
||||
} else if (value instanceof Clob) {
|
||||
out.writeString("<Clob>");
|
||||
} else if (value instanceof NClob) {
|
||||
out.writeString("<NClob>");
|
||||
} else if (value instanceof Clob) {
|
||||
out.writeString("<Clob>");
|
||||
} else if (value instanceof Blob) {
|
||||
out.writeString("<Blob>");
|
||||
} else {
|
||||
|
||||
@@ -45,7 +45,7 @@ public class MockPreparedStatement extends PreparedStatementBase implements Mock
|
||||
MockConnection conn = getConnection();
|
||||
|
||||
if (conn != null && conn.getDriver() != null) {
|
||||
return getConnection().getDriver().createResultSet(this);
|
||||
return conn.getDriver().executeQuery(this, sql);
|
||||
}
|
||||
|
||||
if (conn != null) {
|
||||
|
||||
@@ -6,6 +6,9 @@ import java.sql.Timestamp;
|
||||
import java.sql.Types;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.derby.iapi.types.SQLVarchar;
|
||||
|
||||
import com.alibaba.druid.mock.MockPreparedStatement;
|
||||
import com.alibaba.druid.mock.MockResultSet;
|
||||
import com.alibaba.druid.mock.MockResultSetMetaData;
|
||||
import com.alibaba.druid.mock.MockStatementBase;
|
||||
@@ -19,6 +22,7 @@ import com.alibaba.druid.sql.ast.expr.SQLNCharExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLNullExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLNumberExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLNumericLiteralExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLVariantRefExpr;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSelect;
|
||||
import com.alibaba.druid.sql.ast.statement.SQLSelectItem;
|
||||
@@ -138,9 +142,17 @@ public class MySqlMockExecuteHandlerImpl implements MockExecuteHandler {
|
||||
} else {
|
||||
throw new SQLException("TODO");
|
||||
}
|
||||
|
||||
} else if (expr instanceof SQLVariantRefExpr) {
|
||||
SQLVariantRefExpr varExpr = (SQLVariantRefExpr) expr;
|
||||
int varIndex = varExpr.getIndex();
|
||||
if (statement instanceof MockPreparedStatement) {
|
||||
MockPreparedStatement mockPstmt = (MockPreparedStatement) statement;
|
||||
row[i] = mockPstmt.getParameters().get(varIndex);
|
||||
} else {
|
||||
row[i] = null;
|
||||
}
|
||||
} else {
|
||||
throw new SQLException("TODO");
|
||||
row[i] = null;
|
||||
}
|
||||
|
||||
metaData.getColumns().add(column);
|
||||
|
||||
Reference in New Issue
Block a user