mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
修正OracleExportParameterVisitor无法解析数字类型的参数值
This commit is contained in:
+46
@@ -0,0 +1,46 @@
|
||||
package com.alibaba.druid.bvt.sql.oracle.visitor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser;
|
||||
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleExportParameterVisitor;
|
||||
import com.alibaba.druid.sql.parser.SQLStatementParser;
|
||||
import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
|
||||
import com.alibaba.druid.util.JdbcConstants;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class ExportParameterDotNumberTest extends TestCase {
|
||||
/**
|
||||
* Logger for this class
|
||||
*/
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ExportParameterDotNumberTest.class);
|
||||
|
||||
String dbType = JdbcConstants.MYSQL;
|
||||
|
||||
public void test_exportParameter() throws Exception {
|
||||
String[] sqls = { "INSERT INTO test_tab1 (name) VALUES ( 2.0 )",
|
||||
"INSERT INTO test_tab1 (name) VALUES ( 2 )",
|
||||
};
|
||||
for(String sql : sqls){
|
||||
final StringBuilder out = new StringBuilder();
|
||||
final ExportParameterVisitor visitor = new OracleExportParameterVisitor(out);
|
||||
SQLStatementParser parser = new OracleStatementParser(sql);
|
||||
final SQLStatement parseStatement = parser.parseStatement();
|
||||
parseStatement.accept(visitor);
|
||||
final List<Object> plist = visitor.getParameters();
|
||||
LOG.info("from_sql:{}",sql);
|
||||
sql = out.toString();
|
||||
|
||||
LOG.info("to_sql:{} ==> plist:{}",sql,plist);
|
||||
|
||||
Assert.assertTrue(plist.size()>0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user