sql parser schema stat

This commit is contained in:
温少
2012-05-24 14:07:48 +08:00
6 changed files with 189 additions and 14 deletions
@@ -6,17 +6,19 @@ import java.util.List;
import junit.framework.Assert;
import com.alibaba.druid.sql.OracleTest;
import com.alibaba.druid.sql.ast.SQLOrderingSpecification;
import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor;
import com.alibaba.druid.stat.TableStat;
import com.alibaba.druid.stat.TableStat.Column;
import com.alibaba.druid.stat.TableStat.Condition;
public class OracleSchemaStatVisitorTest extends OracleTest {
public void test_0() throws Exception {
String sql = "SELECT id, name name from department d" + //
" WHERE d.id = ?";
" WHERE d.id = ? order by name desc";
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
@@ -49,5 +51,8 @@ public class OracleSchemaStatVisitorTest extends OracleTest {
Condition condition = visitor.getConditions().get(0);
Assert.assertSame(parameters.get(0), condition.getValues().get(0));
Column orderByColumn = visitor.getOrderByColumns().iterator().next();
Assert.assertEquals(SQLOrderingSpecification.DESC, orderByColumn.getAttributes().get("orderBy.type"));
}
}