Search in sources :

Example 6 with Upsert

use of net.sf.jsqlparser.statement.upsert.Upsert in project JSqlParser by JSQLParser.

the class UpsertTest method testUpsert.

@Test
public void testUpsert() throws JSQLParserException {
    String statement = "UPSERT INTO TEST (NAME, ID) VALUES ('foo', 123)";
    Upsert upsert = (Upsert) parserManager.parse(new StringReader(statement));
    assertEquals("TEST", upsert.getTable().getName());
    assertTrue(upsert.isUseValues());
    assertEquals(2, upsert.getColumns().size());
    assertEquals("NAME", ((Column) upsert.getColumns().get(0)).getColumnName());
    assertEquals("ID", ((Column) upsert.getColumns().get(1)).getColumnName());
    assertEquals(2, ((ExpressionList) upsert.getItemsList()).getExpressions().size());
    assertEquals("foo", ((StringValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(0)).getValue());
    assertEquals(123, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(1)).getValue());
    assertFalse(upsert.isUseSelectBrackets());
    assertFalse(upsert.isUseDuplicate());
    assertEquals(statement, "" + upsert);
}
Also used : Upsert(net.sf.jsqlparser.statement.upsert.Upsert) StringReader(java.io.StringReader) ExpressionList(net.sf.jsqlparser.expression.operators.relational.ExpressionList) Test(org.junit.Test)

Example 7 with Upsert

use of net.sf.jsqlparser.statement.upsert.Upsert in project JSqlParser by JSQLParser.

the class TablesNamesFinderTest method testUpsertValues.

@Test
public void testUpsertValues() throws Exception {
    String sql = "UPSERT INTO MY_TABLE1 (a) VALUES (5)";
    net.sf.jsqlparser.statement.Statement statement = pm.parse(new StringReader(sql));
    Upsert insertStatement = (Upsert) statement;
    TablesNamesFinder tablesNamesFinder = new TablesNamesFinder();
    List<String> tableList = tablesNamesFinder.getTableList(insertStatement);
    assertEquals(1, tableList.size());
    assertTrue(tableList.contains("MY_TABLE1"));
}
Also used : Upsert(net.sf.jsqlparser.statement.upsert.Upsert) Statement(net.sf.jsqlparser.statement.Statement) StringReader(java.io.StringReader) Test(org.junit.Test) CCJSqlParserManagerTest(net.sf.jsqlparser.test.simpleparsing.CCJSqlParserManagerTest)

Aggregations

Upsert (net.sf.jsqlparser.statement.upsert.Upsert)7 Test (org.junit.Test)7 StringReader (java.io.StringReader)6 ExpressionList (net.sf.jsqlparser.expression.operators.relational.ExpressionList)3 Statement (net.sf.jsqlparser.statement.Statement)2 CCJSqlParserManagerTest (net.sf.jsqlparser.test.simpleparsing.CCJSqlParserManagerTest)2 ArrayList (java.util.ArrayList)1 Expression (net.sf.jsqlparser.expression.Expression)1 Column (net.sf.jsqlparser.schema.Column)1 Table (net.sf.jsqlparser.schema.Table)1 PlainSelect (net.sf.jsqlparser.statement.select.PlainSelect)1 Select (net.sf.jsqlparser.statement.select.Select)1 SelectBody (net.sf.jsqlparser.statement.select.SelectBody)1 WithItem (net.sf.jsqlparser.statement.select.WithItem)1