use of com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor in project druid by alibaba.
the class OracleSelectTest3 method test_0.
public void test_0() throws Exception {
String sql = //
"SELECT department_id, last_name, salary " + //
" FROM employees x " + //
" WHERE salary > (SELECT AVG(salary) " + //
" FROM employees " + //
" WHERE x.department_id = department_id) " + " ORDER BY department_id; ";
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
SQLStatement statemen = statementList.get(0);
print(statementList);
Assert.assertEquals(1, statementList.size());
OracleSchemaStatVisitor visitor = new OracleSchemaStatVisitor();
statemen.accept(visitor);
System.out.println("Tables : " + visitor.getTables());
System.out.println("fields : " + visitor.getColumns());
System.out.println("coditions : " + visitor.getConditions());
System.out.println("relationships : " + visitor.getRelationships());
Assert.assertEquals(1, visitor.getTables().size());
Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("employees")));
Assert.assertEquals(3, visitor.getColumns().size());
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "department_id")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "last_name")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "salary")));
}
use of com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor in project druid by alibaba.
the class OracleSelectTest31 method test_0.
public void test_0() throws Exception {
//
String sql = //
"SELECT e1.last_name FROM employees e1" + //
" WHERE f(" + //
" CURSOR(SELECT e2.hire_date FROM employees e2" + //
" WHERE e1.employee_id = e2.manager_id)," + //
" e1.hire_date) = 1" + //
" ORDER BY last_name;";
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
SQLStatement statemen = statementList.get(0);
print(statementList);
Assert.assertEquals(1, statementList.size());
OracleSchemaStatVisitor visitor = new OracleSchemaStatVisitor();
statemen.accept(visitor);
System.out.println("Tables : " + visitor.getTables());
System.out.println("fields : " + visitor.getColumns());
System.out.println("coditions : " + visitor.getConditions());
System.out.println("relationships : " + visitor.getRelationships());
System.out.println("orderBy : " + visitor.getOrderByColumns());
Assert.assertEquals(1, visitor.getTables().size());
Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("employees")));
Assert.assertEquals(4, visitor.getColumns().size());
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "last_name")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "hire_date")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "manager_id")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "employee_id")));
Assert.assertTrue(visitor.getOrderByColumns().contains(new TableStat.Column("employees", "last_name")));
}
use of com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor in project druid by alibaba.
the class OracleSelectTest32 method test_0.
public void test_0() throws Exception {
//
String sql = //
"select * from ESCROW_LOGISTICS t -- where received_status <>'not_received ' and received_status <>'received' ";
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
SQLStatement statemen = statementList.get(0);
print(statementList);
Assert.assertEquals(1, statementList.size());
OracleSchemaStatVisitor visitor = new OracleSchemaStatVisitor();
statemen.accept(visitor);
System.out.println("Tables : " + visitor.getTables());
System.out.println("fields : " + visitor.getColumns());
System.out.println("coditions : " + visitor.getConditions());
System.out.println("relationships : " + visitor.getRelationships());
System.out.println("orderBy : " + visitor.getOrderByColumns());
Assert.assertEquals(1, visitor.getTables().size());
Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("ESCROW_LOGISTICS")));
Assert.assertEquals(1, visitor.getColumns().size());
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("ESCROW_LOGISTICS", "*")));
// Assert.assertTrue(visitor.getOrderByColumns().contains(new TableStat.Column("employees", "last_name")));
}
use of com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor in project druid by alibaba.
the class OracleInsertTest18 method test_0.
public void test_0() throws Exception {
String sql = "insert into sys_log(ID,\"EXCEPTION\") values(?,?)";
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
SQLStatement stmt = statementList.get(0);
print(statementList);
Assert.assertEquals(1, statementList.size());
Assert.assertEquals("INSERT INTO sys_log (ID, \"EXCEPTION\")" + //
"\nVALUES (?, ?)", SQLUtils.toSQLString(stmt, JdbcConstants.ORACLE));
OracleSchemaStatVisitor visitor = new OracleSchemaStatVisitor();
stmt.accept(visitor);
System.out.println("Tables : " + visitor.getTables());
System.out.println("fields : " + visitor.getColumns());
System.out.println("coditions : " + visitor.getConditions());
System.out.println("relationships : " + visitor.getRelationships());
Assert.assertEquals(1, visitor.getTables().size());
Assert.assertEquals(2, visitor.getColumns().size());
Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("sys_log")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("sys_log", "ID")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("sys_log", "EXCEPTION")));
}
use of com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor in project druid by alibaba.
the class OracleInsertTest2 method test_0.
public void test_0() throws Exception {
String sql = //
"INSERT INTO employees " + //
" (employee_id, last_name, email, hire_date, job_id, salary)" + //
" VALUES " + //
" (employees_seq.nextval, 'Doe', 'john.doe@example.com', " + //
" SYSDATE, 'SH_CLERK', 2400) " + " RETURNING salary*12, job_id INTO :bnd1, :bnd2; ";
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
SQLStatement statemen = statementList.get(0);
print(statementList);
Assert.assertEquals(1, statementList.size());
OracleSchemaStatVisitor visitor = new OracleSchemaStatVisitor();
statemen.accept(visitor);
System.out.println("Tables : " + visitor.getTables());
System.out.println("fields : " + visitor.getColumns());
System.out.println("coditions : " + visitor.getConditions());
System.out.println("relationships : " + visitor.getRelationships());
Assert.assertTrue(visitor.getTables().containsKey(new TableStat.Name("employees")));
Assert.assertEquals(1, visitor.getTables().size());
Assert.assertEquals(6, visitor.getColumns().size());
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "employee_id")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "last_name")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "email")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "hire_date")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "job_id")));
Assert.assertTrue(visitor.getColumns().contains(new TableStat.Column("employees", "salary")));
}
Aggregations