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);
}
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"));
}
Aggregations