Search in sources :

Example 6 with Table

use of net.sf.jsqlparser.schema.Table in project JSqlParser by JSQLParser.

the class SelectUtilsTest method testBuildSelectFromTableAndParsedExpression.

@Test
public void testBuildSelectFromTableAndParsedExpression() throws JSQLParserException {
    Select select = SelectUtils.buildSelectFromTableAndExpressions(new Table("mytable"), "a+b", "test");
    assertEquals("SELECT a + b, test FROM mytable", select.toString());
    assertTrue(((SelectExpressionItem) ((PlainSelect) select.getSelectBody()).getSelectItems().get(0)).getExpression() instanceof Addition);
}
Also used : Addition(net.sf.jsqlparser.expression.operators.arithmetic.Addition) Table(net.sf.jsqlparser.schema.Table) SelectExpressionItem(net.sf.jsqlparser.statement.select.SelectExpressionItem) PlainSelect(net.sf.jsqlparser.statement.select.PlainSelect) Select(net.sf.jsqlparser.statement.select.Select) PlainSelect(net.sf.jsqlparser.statement.select.PlainSelect) Test(org.junit.Test)

Example 7 with Table

use of net.sf.jsqlparser.schema.Table in project JSqlParser by JSQLParser.

the class StatementDeParserTest method shouldUseProvidedDeParsersWhenDeParsingReplaceWithItemsList.

@Test
@SuppressWarnings("PMD.JUnitTestsShouldIncludeAssert")
public void shouldUseProvidedDeParsersWhenDeParsingReplaceWithItemsList() {
    Replace replace = new Replace();
    Table table = new Table();
    ItemsList itemsList = mock(ItemsList.class);
    replace.setTable(table);
    replace.setItemsList(itemsList);
    statementDeParser.visit(replace);
    then(itemsList).should().accept(argThat(is(replaceDeParserWithDeParsers(equalTo(expressionDeParser), equalTo(selectDeParser)))));
}
Also used : Replace(net.sf.jsqlparser.statement.replace.Replace) Table(net.sf.jsqlparser.schema.Table) ItemsList(net.sf.jsqlparser.expression.operators.relational.ItemsList) Test(org.junit.Test)

Example 8 with Table

use of net.sf.jsqlparser.schema.Table in project JSqlParser by JSQLParser.

the class StatementDeParserTest method shouldUseProvidedDeparsersWhenDeParsingUpsertWithExpressionList.

@Test
@SuppressWarnings("PMD.JUnitTestsShouldIncludeAssert")
public void shouldUseProvidedDeparsersWhenDeParsingUpsertWithExpressionList() throws JSQLParserException {
    Upsert upsert = new Upsert();
    Table table = new Table();
    List<Column> duplicateUpdateColumns = new ArrayList<Column>();
    List<Expression> duplicateUpdateExpressionList = new ArrayList<Expression>();
    Column duplicateUpdateColumn1 = new Column();
    Column duplicateUpdateColumn2 = new Column();
    Expression duplicateUpdateExpression1 = mock(Expression.class);
    Expression duplicateUpdateExpression2 = mock(Expression.class);
    Select select = new Select();
    List<WithItem> withItemsList = new ArrayList<WithItem>();
    WithItem withItem1 = spy(new WithItem());
    WithItem withItem2 = spy(new WithItem());
    SelectBody withItem1SelectBody = mock(SelectBody.class);
    SelectBody withItem2SelectBody = mock(SelectBody.class);
    SelectBody selectBody = mock(SelectBody.class);
    upsert.setSelect(select);
    upsert.setTable(table);
    upsert.setUseDuplicate(true);
    upsert.setDuplicateUpdateColumns(duplicateUpdateColumns);
    upsert.setDuplicateUpdateExpressionList(duplicateUpdateExpressionList);
    duplicateUpdateColumns.add(duplicateUpdateColumn1);
    duplicateUpdateColumns.add(duplicateUpdateColumn2);
    duplicateUpdateExpressionList.add(duplicateUpdateExpression1);
    duplicateUpdateExpressionList.add(duplicateUpdateExpression2);
    upsert.setDuplicateUpdateExpressionList(duplicateUpdateExpressionList);
    select.setWithItemsList(withItemsList);
    select.setSelectBody(selectBody);
    withItemsList.add(withItem1);
    withItemsList.add(withItem2);
    withItem1.setSelectBody(withItem1SelectBody);
    withItem2.setSelectBody(withItem2SelectBody);
    statementDeParser.visit(upsert);
    then(withItem1).should().accept(selectDeParser);
    then(withItem2).should().accept(selectDeParser);
    then(selectBody).should().accept(selectDeParser);
    then(duplicateUpdateExpression1).should().accept(expressionDeParser);
    then(duplicateUpdateExpression1).should().accept(expressionDeParser);
}
Also used : Upsert(net.sf.jsqlparser.statement.upsert.Upsert) Table(net.sf.jsqlparser.schema.Table) Column(net.sf.jsqlparser.schema.Column) Expression(net.sf.jsqlparser.expression.Expression) ArrayList(java.util.ArrayList) Select(net.sf.jsqlparser.statement.select.Select) WithItem(net.sf.jsqlparser.statement.select.WithItem) SelectBody(net.sf.jsqlparser.statement.select.SelectBody) Test(org.junit.Test)

Example 9 with Table

use of net.sf.jsqlparser.schema.Table in project JSqlParser by JSQLParser.

the class DeleteDeParser method deParse.

public void deParse(Delete delete) {
    buffer.append("DELETE");
    if (delete.getTables() != null && delete.getTables().size() > 0) {
        for (Table table : delete.getTables()) {
            buffer.append(" ").append(table.getFullyQualifiedName());
        }
    }
    buffer.append(" FROM ").append(delete.getTable().toString());
    if (delete.getJoins() != null) {
        for (Join join : delete.getJoins()) {
            if (join.isSimple()) {
                buffer.append(", ").append(join);
            } else {
                buffer.append(" ").append(join);
            }
        }
    }
    if (delete.getWhere() != null) {
        buffer.append(" WHERE ");
        delete.getWhere().accept(expressionVisitor);
    }
    if (delete.getOrderByElements() != null) {
        new OrderByDeParser(expressionVisitor, buffer).deParse(delete.getOrderByElements());
    }
    if (delete.getLimit() != null) {
        new LimitDeparser(buffer).deParse(delete.getLimit());
    }
}
Also used : Table(net.sf.jsqlparser.schema.Table) Join(net.sf.jsqlparser.statement.select.Join)

Example 10 with Table

use of net.sf.jsqlparser.schema.Table 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)

Aggregations

Table (net.sf.jsqlparser.schema.Table)42 Column (net.sf.jsqlparser.schema.Column)18 Expression (net.sf.jsqlparser.expression.Expression)14 Test (org.junit.Test)13 Select (net.sf.jsqlparser.statement.select.Select)11 PlainSelect (net.sf.jsqlparser.statement.select.PlainSelect)9 AndExpression (net.sf.jsqlparser.expression.operators.conditional.AndExpression)8 ArrayList (java.util.ArrayList)6 Nullable (org.jkiss.code.Nullable)6 Statement (net.sf.jsqlparser.statement.Statement)5 DBException (org.jkiss.dbeaver.DBException)5 InvocationTargetException (java.lang.reflect.InvocationTargetException)4 java.util (java.util)4 List (java.util.List)4 Matcher (java.util.regex.Matcher)4 Pattern (java.util.regex.Pattern)4 PatternSyntaxException (java.util.regex.PatternSyntaxException)4 LongValue (net.sf.jsqlparser.expression.LongValue)4 Delete (net.sf.jsqlparser.statement.delete.Delete)4 Insert (net.sf.jsqlparser.statement.insert.Insert)4