本文整理汇总了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());
}