本文整理汇总了Java中com.taobao.tddl.optimizer.utils.FilterUtils.isConstValue方法的典型用法代码示例。如果您正苦于以下问题:Java FilterUtils.isConstValue方法的具体用法?Java FilterUtils.isConstValue怎么用?Java FilterUtils.isConstValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.taobao.tddl.optimizer.utils.FilterUtils
的用法示例。
在下文中一共展示了FilterUtils.isConstValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSubGroupColumn
import com.taobao.tddl.optimizer.utils.FilterUtils; //导入方法依赖的package包/类
private static ISelectable getSubGroupColumn(ILogicalFilter parent, int index, Map<String, Object> extraCmd) {
IFilter filter = parent.getSubFilter().get(index);
if (filter.getOperation().equals(OPERATION.OR)) {
filter = processGroupFilter(filter, extraCmd);
parent.getSubFilter().set(index, filter);
if (filter instanceof ILogicalFilter) {
// 不符合传递性,直接退出
return null;
}
}
if (filter instanceof IBooleanFilter) {
if (FilterUtils.isConstValue(((IBooleanFilter) filter).getColumn())) {
// 列是常量
return null;
}
if (!FilterUtils.isConstValue(((IBooleanFilter) filter).getValue())) {
// value非常量
return null;
}
return (ISelectable) ((IBooleanFilter) filter).getColumn();
} else if (filter instanceof IGroupFilter) {
return (ISelectable) ((IGroupFilter) filter).getColumn();
}
return null;
}
示例2: exchage
import com.taobao.tddl.optimizer.utils.FilterUtils; //导入方法依赖的package包/类
/**
* 如果是1 = id的情况,转化为id = 1
*/
private static IFilter exchage(IFilter root) {
IBooleanFilter bf = (IBooleanFilter) root;
if (!FilterUtils.isConstValue(bf.getValue()) && FilterUtils.isConstValue(bf.getColumn())) {
Object val = bf.getColumn();
bf.setColumn(bf.getValue());
bf.setValue(val);
OPERATION newOp = bf.getOperation();
switch (bf.getOperation()) {
case GT:
newOp = OPERATION.LT;
break;
case LT:
newOp = OPERATION.GT;
break;
case GT_EQ:
newOp = OPERATION.LT_EQ;
break;
case LT_EQ:
newOp = OPERATION.GT_EQ;
break;
default:
break;
}
bf.setOperation(newOp);
}
return bf;
}