当前位置: 首页>>代码示例>>Java>>正文


Java MySqlUnionQuery类代码示例

本文整理汇总了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;未经允许,请勿转载。