本文整理汇总了Java中com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery类的典型用法代码示例。如果您正苦于以下问题:Java MySqlUnionQuery类的具体用法?Java MySqlUnionQuery怎么用?Java MySqlUnionQuery使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MySqlUnionQuery类属于com.alibaba.druid.sql.dialect.mysql.ast.statement包,在下文中一共展示了MySqlUnionQuery类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: statementParse
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery; //导入依赖的package包/类
@Override
public void statementParse(SchemaConfig schema, RouteResultset rrs, SQLStatement stmt) {
SQLSelectStatement selectStmt = (SQLSelectStatement)stmt;
SQLSelectQuery sqlSelectQuery = selectStmt.getSelect().getQuery();
if(sqlSelectQuery instanceof MySqlSelectQueryBlock) {
MySqlSelectQueryBlock mysqlSelectQuery = (MySqlSelectQueryBlock)selectStmt.getSelect().getQuery();
parseOrderAggGroupMysql(schema, stmt,rrs, mysqlSelectQuery);
//更改canRunInReadDB属性
if ((mysqlSelectQuery.isForUpdate() || mysqlSelectQuery.isLockInShareMode()) && rrs.isAutocommit() == false)
{
rrs.setCanRunInReadDB(false);
}
} else if (sqlSelectQuery instanceof MySqlUnionQuery) {
// MySqlUnionQuery unionQuery = (MySqlUnionQuery)sqlSelectQuery;
// MySqlSelectQueryBlock left = (MySqlSelectQueryBlock)unionQuery.getLeft();
// MySqlSelectQueryBlock right = (MySqlSelectQueryBlock)unionQuery.getLeft();
// System.out.println();
}
}
开发者ID:huang-up,项目名称:mycat-src-1.6.1-RELEASE,代码行数:22,代码来源:DruidSelectParser.java
示例2: isNoSharding
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery; //导入依赖的package包/类
public static boolean isNoSharding(ServerConnection source, SQLSelectQuery sqlSelectQuery, SQLStatement selectStmt, String contextSchema, StringPtr sqlSchema)
throws SQLException {
if (sqlSelectQuery instanceof MySqlSelectQueryBlock) {
MySqlSelectQueryBlock mySqlSelectQueryBlock = (MySqlSelectQueryBlock) sqlSelectQuery;
if (!isNoSharding(source, mySqlSelectQueryBlock.getFrom(), selectStmt, contextSchema, sqlSchema)) {
return false;
}
if (mySqlSelectQueryBlock.getWhere() != null && !SchemaUtil.isNoSharding(source, mySqlSelectQueryBlock.getWhere(), contextSchema, sqlSchema)) {
return false;
}
for (SQLSelectItem selectItem : mySqlSelectQueryBlock.getSelectList()) {
if (!SchemaUtil.isNoSharding(source, selectItem.getExpr(), contextSchema, sqlSchema)) {
return false;
}
}
return true;
} else if (sqlSelectQuery instanceof MySqlUnionQuery) {
return isNoSharding(source, (MySqlUnionQuery) sqlSelectQuery, selectStmt, contextSchema, sqlSchema);
} else {
return false;
}
}
开发者ID:actiontech,项目名称:dble,代码行数:23,代码来源:SchemaUtil.java
示例3: unionRest
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery; //导入依赖的package包/类
public SQLUnionQuery unionRest(SQLUnionQuery union) {
if (lexer.token() == Token.LIMIT) {
MySqlUnionQuery mysqlUnionQuery = (MySqlUnionQuery) union;
mysqlUnionQuery.setLimit(parseLimit());
}
return super.unionRest(union);
}
开发者ID:mazhou,项目名称:es-sql,代码行数:8,代码来源:ElasticSqlSelectParser.java
示例4: visit
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery; //导入依赖的package包/类
public void visit(SQLSelectQuery node) {
if (node instanceof MySqlSelectQueryBlock) {
visit((MySqlSelectQueryBlock) node);
} else if (node instanceof MySqlUnionQuery) {
visit((MySqlUnionQuery) node);
}
}
开发者ID:actiontech,项目名称:dble,代码行数:8,代码来源:MySQLPlanNodeVisitor.java
示例5: parseStatement
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery; //导入依赖的package包/类
protected void parseStatement(ParseResult result, ExecutePlan plan, SQLSelectStatement statement){
// 单库单表
if (plan.getSqlList().size() <= 1){
return;
}
SQLSelectQuery sqlSelectQuery = statement.getSelect().getQuery();
if(sqlSelectQuery instanceof MySqlSelectQueryBlock) {
// mysql查询
parseMysqlQueary(result, plan, (MySqlSelectQueryBlock) sqlSelectQuery);
} else if (sqlSelectQuery instanceof MySqlUnionQuery) {
throw new BayMaxException("Union暂不支持发送到多库多表上执行,只能在单库单表执行!");
// TODO 测试
/*
MySqlUnionQuery unionQuery = (MySqlUnionQuery)sqlSelectQuery;
SQLSelectQuery left = unionQuery.getLeft();
SQLSelectQuery right = unionQuery.getLeft();
if (left instanceof MySqlSelectQueryBlock){
parseMysqlQueary(result, plan, (MySqlSelectQueryBlock) left);
}
if (right instanceof MySqlSelectQueryBlock){
parseMysqlQueary(result, plan, (MySqlSelectQueryBlock) right);
}
*/
//if (left.getFrom().getAlias().equalsIgnoreCase(plan.getSqlList().get(0).getLogicTableName())){
//}
}
}
开发者ID:tongbanjie,项目名称:baymax,代码行数:30,代码来源:MySqlSelectParser.java
示例6: createSQLUnionQuery
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery; //导入依赖的package包/类
protected MySqlUnionQuery createSQLUnionQuery() {
return new MySqlUnionQuery();
}
开发者ID:mazhou,项目名称:es-sql,代码行数:4,代码来源:ElasticSqlSelectParser.java
注:本文中的com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlUnionQuery类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论