本文整理汇总了Java中com.taobao.tddl.optimizer.core.plan.query.IQuery.getTableName方法的典型用法代码示例。如果您正苦于以下问题:Java IQuery.getTableName方法的具体用法?Java IQuery.getTableName怎么用?Java IQuery.getTableName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.taobao.tddl.optimizer.core.plan.query.IQuery
的用法示例。
在下文中一共展示了IQuery.getTableName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visit
import com.taobao.tddl.optimizer.core.plan.query.IQuery; //导入方法依赖的package包/类
@Override
public void visit(IQuery query) {
if (query.isSubQuery() && !query.isTopQuery()) {
sqlBuilder.append(" ( ");
}
if (query.isSubQuery() || query.isTopQuery()) {
buildSelect(query);
if (query.getTableName() == null && query.getSubQuery() == null) {
return;
}
sqlBuilder.append(" from ");
}
if (query.getTableName() != null) {
if (EagleeyeHelper.isTestMode()) {
sqlBuilder.append(EagleeyeHelper.ALL_PERF_TABLE_PREFIX);
}
sqlBuilder.append(query.getTableName());
if (!query.isSubQuery() && query.getAlias() != null
&& !query.getAlias().equalsIgnoreCase(query.getTableName())) {
sqlBuilder.append(" ").append(query.getAlias());
}
} else if (query.getSubQuery() != null) {
sqlBuilder.append(this.getNewVisitor(query.getSubQuery(), query.getSubQuery()).getString());
}
if (query.isSubQuery() || query.isTopQuery()) {
String keyFilterStr = "";
IFilter whereFilter = FilterUtils.and(FilterUtils.and(query.getKeyFilter(), query.getValueFilter()),
query.getOtherJoinOnFilter());
if (whereFilter != null) {
MysqlPlanVisitorImpl visitor = this.getNewVisitor(whereFilter);
keyFilterStr = visitor.getString();
}
if (!TStringUtil.isEmpty(keyFilterStr)) {
sqlBuilder.append(" where ");
sqlBuilder.append(keyFilterStr);
}
buildGroupBy(query);
buildHaving(query);
buildOrderBy(query);
buildLimit(query);
switch (query.getLockMode()) {
case EXCLUSIVE_LOCK:
sqlBuilder.append(" FOR UPDATE");
break;
case SHARED_LOCK:
sqlBuilder.append(" LOCK IN SHARE MODE");
break;
default:
break;
}
}
if (query.isSubQuery() && !query.isTopQuery()) {
sqlBuilder.append(" ) ");
if (query.getAlias() != null) {
sqlBuilder.append(" ").append(query.getAlias()).append(" ");
}
}
}
示例2: getCursor
import com.taobao.tddl.optimizer.core.plan.query.IQuery; //导入方法依赖的package包/类
@Override
public ISchematicCursor getCursor(ExecutionContext executionContext, IndexMeta meta, IQuery iQuery)
throws TddlException {
String actualTable = iQuery.getTableName();
return getCursor(executionContext.getTransaction(), meta, executionContext.getIsolation(), actualTable);
}