package my.test.table;
import my.test.TestBase;
public class TableFilterTest extends TestBase {
public static void main(String[] args) throws Exception {
new TableFilterTest().start();
}
@Override
public void init() throws Exception {
// prop.setProperty("PAGE_SIZE", "2048");
// prop.setProperty("mode", "Derby");
// prop.setProperty("mode", "oracle");
}
@Override
public void startInternal() throws Exception {
// create();
getBestPlanItem();
}
void create() throws Exception {
stmt.executeUpdate("DROP TABLE IF EXISTS TableFilterTest");
stmt.executeUpdate("CREATE TABLE IF NOT EXISTS TableFilterTest(id int, name varchar(500), b boolean)");
// stmt.executeUpdate("CREATE INDEX IF NOT EXISTS TableFilterTestIndex ON TableFilterTest(id DESC, name ASC) ");
stmt.executeUpdate("CREATE Unique INDEX IF NOT EXISTS TableFilterTestIndex1 ON TableFilterTest(id) ");
stmt.executeUpdate("CREATE INDEX IF NOT EXISTS TableFilterTestIndex2 ON TableFilterTest(name) ");
stmt.executeUpdate("CREATE INDEX IF NOT EXISTS TableFilterTestIndex3 ON TableFilterTest(name, id) ");
stmt.executeUpdate("insert into TableFilterTest(id, name, b) values(10, 'a1', true)");
stmt.executeUpdate("insert into TableFilterTest(id, name, b) values(20, 'b1', true)");
stmt.executeUpdate("insert into TableFilterTest(id, name, b) values(30, 'a2', false)");
stmt.executeUpdate("insert into TableFilterTest(id, name, b) values(40, 'a2', true)");
stmt.executeUpdate("insert into TableFilterTest(id, name, b) values(50, 'a3', false)");
stmt.executeUpdate("insert into TableFilterTest(id, name, b) values(60, 'b3', true)");
stmt.executeUpdate("insert into TableFilterTest(id, name, b) values(70, 'b3', true)");
}
public void getBestPlanItem() throws Exception {
sql = "select * from TableFilterTest";
executeQuery();
sql = "select * from TableFilterTest where id>40 AND 3<2";
executeQuery();
sql = "select * from TableFilterTest where id>30 AND id<60";
executeQuery();
sql = "select * from TableFilterTest where id>40 AND name<'b3'";
executeQuery();
sql = "select * from TableFilterTest where name='a1' AND id>30";
executeQuery();
sql = "select * from TableFilterTest where id=40 AND id>30 order by name, id, b";
executeQuery();
}
}