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


Java Token.COMMA属性代码示例

本文整理汇总了Java中com.alibaba.druid.sql.parser.Token.COMMA属性的典型用法代码示例。如果您正苦于以下问题:Java Token.COMMA属性的具体用法?Java Token.COMMA怎么用?Java Token.COMMA使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.alibaba.druid.sql.parser.Token的用法示例。


在下文中一共展示了Token.COMMA属性的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: partitionByRange

protected SQLPartitionByRange partitionByRange() {
    acceptIdentifier("RANGE");

    SQLPartitionByRange clause = new SQLPartitionByRange();

    if (lexer.token() == Token.LPAREN) {
        lexer.nextToken();
        clause.setExpr(this.exprParser.expr());
        accept(Token.RPAREN);
    } else {
        acceptIdentifier("COLUMNS");
        accept(Token.LPAREN);
        for (;;) {
            clause.addColumn(this.exprParser.name());
            if (lexer.token() == Token.COMMA) {
                lexer.nextToken();
                continue;
            }
            break;
        }
        accept(Token.RPAREN);
    }
    return clause;
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:24,代码来源:MySqlCreateTableParser.java

示例2: parseInsertColumns

@Override
protected void parseInsertColumns(SQLInsertInto insert) {
    if (lexer.token() == Token.RPAREN ) {
        return;
    }

    for (;;) {
        SQLName expr = this.exprParser.name();
        expr.setParent(insert);
        insert.getColumns().add(expr);

        if (lexer.token() == Token.IDENTIFIER) {
            String text = lexer.stringVal();
            if (text.equalsIgnoreCase("TINYINT")
                || text.equalsIgnoreCase("BIGINT")
                || text.equalsIgnoreCase("INTEGER")
                || text.equalsIgnoreCase("DOUBLE")
                || text.equalsIgnoreCase("DATE")
                || text.equalsIgnoreCase("VARCHAR")) {
                expr.getAttributes().put("dataType", text);
                lexer.nextToken();
            } else if (text.equalsIgnoreCase("CHAR")) {
                String dataType = text;
                lexer.nextToken();
                accept(Token.LPAREN);
                SQLExpr char_len = this.exprParser.primary();
                accept(Token.RPAREN);
                dataType += ("(" + char_len.toString() + ")");
                expr.getAttributes().put("dataType", dataType);
            }
        }

        if (lexer.token() == Token.COMMA) {
            lexer.nextToken();
            continue;
        }

        break;
    }
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:40,代码来源:PhoenixStatementParser.java

示例3: parserOutput

protected SQLServerOutput parserOutput() {
    if (lexer.identifierEquals("OUTPUT")) {
        lexer.nextToken();
        SQLServerOutput output = new SQLServerOutput();

        final List<SQLSelectItem> selectList = output.getSelectList();
        for (;;) {
            final SQLSelectItem selectItem = parseSelectItem();
            selectList.add(selectItem);

            if (lexer.token() != Token.COMMA) {
                break;
            }

            lexer.nextToken();
        }

        if (lexer.token() == Token.INTO) {
            lexer.nextToken();
            output.setInto(new SQLExprTableSource(this.name()));
            if (lexer.token() == (Token.LPAREN)) {
                lexer.nextToken();
                this.exprList(output.getColumns(), output);
                accept(Token.RPAREN);
            }
        }
        return output;
    }
    return null;
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:30,代码来源:SQLServerExprParser.java

示例4: parseTableSource

public SQLTableSource parseTableSource() {
    if (lexer.token() == Token.VALUES) {
        lexer.nextToken();
        OdpsValuesTableSource tableSource = new OdpsValuesTableSource();

        for (;;) {
            accept(Token.LPAREN);
            SQLListExpr listExpr = new SQLListExpr();
            this.exprParser.exprList(listExpr.getItems(), listExpr);
            accept(Token.RPAREN);

            listExpr.setParent(tableSource);

            tableSource.getValues().add(listExpr);

            if (lexer.token() == Token.COMMA) {
                lexer.nextToken();
                continue;
            }
            break;
        }

        String alias = this.tableAlias();
        tableSource.setAlias(alias);

        accept(Token.LPAREN);
        this.exprParser.names(tableSource.getColumns(), tableSource);
        accept(Token.RPAREN);

        return tableSource;
    }

    return super.parseTableSource();
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:34,代码来源:OdpsSelectParser.java

示例5: parseSelectItem

@Override
public SQLSelectItem parseSelectItem() {
    SQLExpr expr;
    if (lexer.token() == Token.IDENTIFIER) {
        expr = new SQLIdentifierExpr(lexer.stringVal());
        lexer.nextTokenComma();

        if (lexer.token() != Token.COMMA) {
            expr = this.primaryRest(expr);
            expr = this.exprRest(expr);
        }
    } else {
        expr = expr();
    }

    String alias = null;
    if (lexer.token() == Token.AS) {
        lexer.nextToken();

        if (lexer.token() == Token.LPAREN) {
            lexer.nextToken();

            OdpsUDTFSQLSelectItem selectItem = new OdpsUDTFSQLSelectItem();

            selectItem.setExpr(expr);

            for (;;) {
                alias = lexer.stringVal();
                lexer.nextToken();

                selectItem.getAliasList().add(alias);

                if (lexer.token() == Token.COMMA) {
                    lexer.nextToken();
                    continue;
                }
                break;
            }

            accept(Token.RPAREN);

            return selectItem;
        } else {
            alias = alias();
        }
    } else {
        alias = as();
    }
    
    SQLSelectItem item = new SQLSelectItem(expr, alias);
    
    if (lexer.hasComment() && lexer.isKeepComments()) {
        item.addAfterComment(lexer.readAndResetComments());
    }

    return item;
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:57,代码来源:OdpsExprParser.java

示例6: parseGroupBy

protected void parseGroupBy(SQLSelectQueryBlock queryBlock) {
    SQLSelectGroupByClause groupBy = null;

    if (lexer.token() == Token.GROUP) {
        groupBy = new SQLSelectGroupByClause();

        lexer.nextToken();
        accept(Token.BY);

        while (true) {
            groupBy.addItem(this.getExprParser().parseSelectGroupByItem());
            if (!(lexer.token() == (Token.COMMA))) {
                break;
            }
            lexer.nextToken();
        }

        if (lexer.token() == Token.WITH) {
            lexer.nextToken();
            acceptIdentifier("ROLLUP");

            MySqlSelectGroupBy mySqlGroupBy = new MySqlSelectGroupBy();
            for (SQLExpr sqlExpr : groupBy.getItems()) {
                mySqlGroupBy.addItem(sqlExpr);
            }
            mySqlGroupBy.setRollUp(true);

            groupBy = mySqlGroupBy;
        }
    }

    if (lexer.token() == Token.HAVING) {
        lexer.nextToken();

        if (groupBy == null) {
            groupBy = new SQLSelectGroupByClause();
        }
        groupBy.setHaving(this.exprParser.expr());
    }

    queryBlock.setGroupBy(groupBy);
}
 
开发者ID:mazhou,项目名称:es-sql,代码行数:42,代码来源:ElasticSqlSelectParser.java


注:本文中的com.alibaba.druid.sql.parser.Token.COMMA属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。