本文整理匯總了Java中com.taobao.tddl.optimizer.core.ast.query.TableNode.build方法的典型用法代碼示例。如果您正苦於以下問題:Java TableNode.build方法的具體用法?Java TableNode.build怎麽用?Java TableNode.build使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.taobao.tddl.optimizer.core.ast.query.TableNode
的用法示例。
在下文中一共展示了TableNode.build方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: TableNode
import com.taobao.tddl.optimizer.core.ast.query.TableNode; //導入方法依賴的package包/類
@Test
public void test_合並_AND條件() {
TableNode table = new TableNode("TABLE1");
table.query("ID > 1 AND ID < 10");
table.build();
FilterPreProcessor.optimize(table, true);
Assert.assertEquals(table.getWhereFilter().toString(), "(TABLE1.ID > 1 AND TABLE1.ID < 10)");
table.query("ID > 1 AND ID < 10 AND ID >= 2 AND ID < 11");
table.build();
FilterPreProcessor.optimize(table, true);
Assert.assertEquals(table.getWhereFilter().toString(), "(TABLE1.ID >= 2 AND TABLE1.ID < 10)");
table.query("ID > 1 AND ID < 0");
table.build();
try {
FilterPreProcessor.optimize(table, true);
Assert.fail();
} catch (EmptyResultFilterException e) {
// 會出現EmptyResultFilterException異常
}
}
示例2: TableNode
import com.taobao.tddl.optimizer.core.ast.query.TableNode; //導入方法依賴的package包/類
@Test
public void test_合並_OR條件() {
TableNode table = new TableNode("TABLE1");
table.query("ID > 1 OR ID < 3");
table.build();
FilterPreProcessor.optimize(table, true, null);
Assert.assertEquals(table.getWhereFilter().toString(), "1");
table.query("ID > 1 OR ID > 3");
table.build();
FilterPreProcessor.optimize(table, true, null);
Assert.assertEquals(table.getWhereFilter().toString(), "TABLE1.ID > 1");
table.query("ID > 1 OR ID = 5");
table.build();
FilterPreProcessor.optimize(table, true, null);
Assert.assertEquals(table.getWhereFilter().toString(), "TABLE1.ID > 1");
}
示例3: TableNode
import com.taobao.tddl.optimizer.core.ast.query.TableNode; //導入方法依賴的package包/類
@Test
public void test_等於子查詢_存在OR查詢_報錯() {
TableNode table1 = new TableNode("TABLE1");
table1.query("ID = (SELECT ID FROM TABLE2 WHERE NAME = 'HELLO') OR NAME = 3");
table1.build();
try {
SubQueryPreProcessor.optimize(table1);
Assert.fail();
} catch (Exception e) {
}
}
示例4: TableNode
import com.taobao.tddl.optimizer.core.ast.query.TableNode; //導入方法依賴的package包/類
@Test
public void test_存在OR條件_所有字段均有索引_構建IndexMerge() {
TableNode table1 = new TableNode("TABLE10");
table1.query("ID = 1 OR C1 = 2");
table1.build();
QueryTreeNode qn = optimize(table1, true, true, true);
Assert.assertTrue(qn instanceof MergeNode);
Assert.assertTrue(qn.getChildren().get(0) instanceof TableNode);
Assert.assertTrue(qn.getChildren().get(1) instanceof JoinNode);
}
示例5: TableNode
import com.taobao.tddl.optimizer.core.ast.query.TableNode; //導入方法依賴的package包/類
@Test
public void testChooseIndex手動指定索引() {
TableNode table = new TableNode("TABLE9");
table.build();
table.useIndex(table.getTableMeta().getIndexs().get(0));
table.build();
System.out.println(table.toDataNodeExecutor());
}