@Test @IncludeIn(H2) public void merge_with_templateExpression_in_batch() { SQLMergeClause merge = merge(survey) .keys(survey.id) .set(survey.id, 5) .set(survey.name, Expressions.stringTemplate("'5'")) .addBatch(); assertEquals(1, merge.execute()); }
@Test public void clear() { KeyAccessorsTest.QEmployee emp1 = new KeyAccessorsTest.QEmployee("emp1"); SQLMergeClause merge = new SQLMergeClause(null, new H2Templates(), emp1); merge.set(emp1.id, 1); merge.addBatch(); assertEquals(1, merge.getBatchCount()); merge.clear(); assertEquals(0, merge.getBatchCount()); } }
@Test @IncludeIn(H2) public void mergeBatch_with_subquery() { SQLMergeClause merge = merge(survey) .keys(survey.id) .columns(survey.id, survey.name) .select(query().from(survey2).select(survey2.id.add(20), survey2.name)) .addBatch(); merge(survey) .keys(survey.id) .columns(survey.id, survey.name) .select(query().from(survey2).select(survey2.id.add(40), survey2.name)) .addBatch(); assertEquals(1, merge.execute()); }
@Test @IncludeIn(H2) public void mergeBatch_templates() { SQLMergeClause merge = merge(survey) .keys(survey.id) .set(survey.id, 5) .set(survey.name, Expressions.stringTemplate("'5'")) .addBatch(); merge .keys(survey.id) .set(survey.id, 6) .set(survey.name, Expressions.stringTemplate("'6'")) .addBatch(); assertEquals(2, merge.execute()); assertEquals(1L, query().from(survey).where(survey.name.eq("5")).fetchCount()); assertEquals(1L, query().from(survey).where(survey.name.eq("6")).fetchCount()); }
@Test @IncludeIn(H2) public void mergeBatch() { SQLMergeClause merge = merge(survey) .keys(survey.id) .set(survey.id, 5) .set(survey.name, "5") .addBatch(); assertEquals(1, merge.getBatchCount()); assertFalse(merge.isEmpty()); merge .keys(survey.id) .set(survey.id, 6) .set(survey.name, "6") .addBatch(); assertEquals(2, merge.getBatchCount()); assertEquals(2, merge.execute()); assertEquals(1L, query().from(survey).where(survey.name.eq("5")).fetchCount()); assertEquals(1L, query().from(survey).where(survey.name.eq("6")).fetchCount()); }