Search in sources :

Example 6 with Join

use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.

the class Delete method toString.

@Override
public String toString() {
    StringBuilder b = new StringBuilder("DELETE");
    if (tables != null && tables.size() > 0) {
        b.append(" ");
        for (Table t : tables) {
            b.append(t.toString());
        }
    }
    b.append(" FROM ");
    b.append(table);
    if (joins != null) {
        for (Join join : joins) {
            if (join.isSimple()) {
                b.append(", ").append(join);
            } else {
                b.append(" ").append(join);
            }
        }
    }
    if (where != null) {
        b.append(" WHERE ").append(where);
    }
    if (orderByElements != null) {
        b.append(PlainSelect.orderByToString(orderByElements));
    }
    if (limit != null) {
        b.append(limit);
    }
    return b.toString();
}
Also used : Table(net.sf.jsqlparser.schema.Table) Join(net.sf.jsqlparser.statement.select.Join)

Example 7 with Join

use of net.sf.jsqlparser.statement.select.Join in project dal by ctripcorp.

the class SqlBuilder method plainSelectToStringAppendWithNoLock.

private static String plainSelectToStringAppendWithNoLock(PlainSelect plain) {
    StringBuilder sql = new StringBuilder("SELECT ");
    if (plain.getDistinct() != null)
        sql.append(plain.getDistinct()).append(" ");
    if (plain.getTop() != null)
        sql.append(plain.getTop()).append(" ");
    sql.append(PlainSelect.getStringList(plain.getSelectItems()));
    if (plain.getFromItem() != null) {
        sql.append(" FROM ").append(plain.getFromItem()).append(" WITH (NOLOCK) ");
        if (plain.getJoins() != null) {
            Iterator<Join> it = plain.getJoins().iterator();
            while (it.hasNext()) {
                Join join = it.next();
                if (join.isSimple()) {
                    sql.append(", ").append(join).append(" WITH (NOLOCK) ");
                } else {
                    String temp = join.toString().replace(join.getRightItem().toString(), join.getRightItem().toString() + " WITH (NOLOCK) ");
                    sql.append(" ").append(temp);
                }
            }
        }
        if (plain.getWhere() != null)
            sql.append(" WHERE ").append(plain.getWhere());
        if (plain.getOracleHierarchical() != null)
            sql.append(plain.getOracleHierarchical().toString());
        sql.append(PlainSelect.getFormatedList(plain.getGroupByColumnReferences(), "GROUP BY"));
        if (plain.getHaving() != null)
            sql.append(" HAVING ").append(plain.getHaving());
        sql.append(PlainSelect.orderByToString(plain.isOracleSiblings(), plain.getOrderByElements()));
        if (plain.getLimit() != null)
            sql.append(plain.getLimit());
    }
    return sql.toString();
}
Also used : Join(net.sf.jsqlparser.statement.select.Join)

Example 8 with Join

use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.

the class UpdateDeParser method deParse.

public void deParse(Update update) {
    buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)).append(" SET ");
    if (!update.isUseSelect()) {
        for (int i = 0; i < update.getColumns().size(); i++) {
            Column column = update.getColumns().get(i);
            column.accept(expressionVisitor);
            buffer.append(" = ");
            Expression expression = update.getExpressions().get(i);
            expression.accept(expressionVisitor);
            if (i < update.getColumns().size() - 1) {
                buffer.append(", ");
            }
        }
    } else {
        if (update.isUseColumnsBrackets()) {
            buffer.append("(");
        }
        for (int i = 0; i < update.getColumns().size(); i++) {
            if (i != 0) {
                buffer.append(", ");
            }
            Column column = update.getColumns().get(i);
            column.accept(expressionVisitor);
        }
        if (update.isUseColumnsBrackets()) {
            buffer.append(")");
        }
        buffer.append(" = ");
        buffer.append("(");
        Select select = update.getSelect();
        select.getSelectBody().accept(selectVisitor);
        buffer.append(")");
    }
    if (update.getFromItem() != null) {
        buffer.append(" FROM ").append(update.getFromItem());
        if (update.getJoins() != null) {
            for (Join join : update.getJoins()) {
                if (join.isSimple()) {
                    buffer.append(", ").append(join);
                } else {
                    buffer.append(" ").append(join);
                }
            }
        }
    }
    if (update.getWhere() != null) {
        buffer.append(" WHERE ");
        update.getWhere().accept(expressionVisitor);
    }
    if (update.getOrderByElements() != null) {
        new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements());
    }
    if (update.getLimit() != null) {
        new LimitDeparser(buffer).deParse(update.getLimit());
    }
    if (update.isReturningAllColumns()) {
        buffer.append(" RETURNING *");
    } else if (update.getReturningExpressionList() != null) {
        buffer.append(" RETURNING ");
        for (Iterator<SelectExpressionItem> iter = update.getReturningExpressionList().iterator(); iter.hasNext(); ) {
            buffer.append(iter.next().toString());
            if (iter.hasNext()) {
                buffer.append(", ");
            }
        }
    }
}
Also used : Column(net.sf.jsqlparser.schema.Column) Expression(net.sf.jsqlparser.expression.Expression) PlainSelect(net.sf.jsqlparser.statement.select.PlainSelect) Select(net.sf.jsqlparser.statement.select.Select) Iterator(java.util.Iterator) Join(net.sf.jsqlparser.statement.select.Join)

Example 9 with Join

use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.

the class Update method toString.

@Override
public String toString() {
    StringBuilder b = new StringBuilder("UPDATE ");
    b.append(PlainSelect.getStringList(getTables(), true, false)).append(" SET ");
    if (!useSelect) {
        for (int i = 0; i < getColumns().size(); i++) {
            if (i != 0) {
                b.append(", ");
            }
            b.append(columns.get(i)).append(" = ");
            b.append(expressions.get(i));
        }
    } else {
        if (useColumnsBrackets) {
            b.append("(");
        }
        for (int i = 0; i < getColumns().size(); i++) {
            if (i != 0) {
                b.append(", ");
            }
            b.append(columns.get(i));
        }
        if (useColumnsBrackets) {
            b.append(")");
        }
        b.append(" = ");
        b.append("(").append(select).append(")");
    }
    if (fromItem != null) {
        b.append(" FROM ").append(fromItem);
        if (joins != null) {
            for (Join join : joins) {
                if (join.isSimple()) {
                    b.append(", ").append(join);
                } else {
                    b.append(" ").append(join);
                }
            }
        }
    }
    if (where != null) {
        b.append(" WHERE ");
        b.append(where);
    }
    if (orderByElements != null) {
        b.append(PlainSelect.orderByToString(orderByElements));
    }
    if (limit != null) {
        b.append(limit);
    }
    if (isReturningAllColumns()) {
        b.append(" RETURNING *");
    } else if (getReturningExpressionList() != null) {
        b.append(" RETURNING ").append(PlainSelect.getStringList(getReturningExpressionList(), true, false));
    }
    return b.toString();
}
Also used : Join(net.sf.jsqlparser.statement.select.Join)

Example 10 with Join

use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.

the class SelectUtils method addJoin.

/**
 * Adds a simple join to a select statement. The introduced join is returned for more
 * configuration settings on it (e.g. left join, right join).
 *
 * @param select
 * @param table
 * @param onExpression
 * @return
 */
public static Join addJoin(Select select, final Table table, final Expression onExpression) {
    if (select.getSelectBody() instanceof PlainSelect) {
        PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
        List<Join> joins = plainSelect.getJoins();
        if (joins == null) {
            joins = new ArrayList<Join>();
            plainSelect.setJoins(joins);
        }
        Join join = new Join();
        join.setRightItem(table);
        join.setOnExpression(onExpression);
        joins.add(join);
        return join;
    }
    throw new UnsupportedOperationException(NOT_SUPPORTED_YET);
}
Also used : PlainSelect(net.sf.jsqlparser.statement.select.PlainSelect) Join(net.sf.jsqlparser.statement.select.Join)

Aggregations

Join (net.sf.jsqlparser.statement.select.Join)12 PlainSelect (net.sf.jsqlparser.statement.select.PlainSelect)6 Expression (net.sf.jsqlparser.expression.Expression)4 Table (net.sf.jsqlparser.schema.Table)4 Column (net.sf.jsqlparser.schema.Column)3 Select (net.sf.jsqlparser.statement.select.Select)3 AbstractTableManager (herddb.core.AbstractTableManager)2 TableSpaceManager (herddb.core.TableSpaceManager)2 Column (herddb.model.Column)2 Predicate (herddb.model.Predicate)2 Projection (herddb.model.Projection)2 Table (herddb.model.Table)2 TupleComparator (herddb.model.TupleComparator)2 ScanStatement (herddb.model.commands.ScanStatement)2 CompiledSQLExpression (herddb.sql.expressions.CompiledSQLExpression)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 SignedExpression (net.sf.jsqlparser.expression.SignedExpression)2 EqualsTo (net.sf.jsqlparser.expression.operators.relational.EqualsTo)2 AlterExpression (net.sf.jsqlparser.statement.alter.AlterExpression)2