[#2055] MySQL's UPDATE [t1] JOIN [t2] syntax can cause syntax errors as

column references are not fully qualified - Fixed unit tests
This commit is contained in:
Lukas Eder 2012-12-28 19:46:26 +01:00
parent fa52ecd05f
commit 56d7064043

View File

@ -1588,8 +1588,8 @@ public class BasicTest extends AbstractTest {
UpdateQuery<Table1Record> q = create.updateQuery(TABLE1);
q.addValue(FIELD_ID1, 10);
assertEquals("update \"TABLE1\" set \"ID1\" = 10", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"ID1\" = ?", r_ref().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = 10", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = ?", r_ref().render(q));
assertEquals(q, create.update(TABLE1).set(FIELD_ID1, 10));
context.checking(new Expectations() {{
@ -1608,8 +1608,8 @@ public class BasicTest extends AbstractTest {
q.addValue(FIELD_ID1, 10);
q.addValue(FIELD_NAME1, "ABC");
assertEquals("update \"TABLE1\" set \"ID1\" = 10, \"NAME1\" = 'ABC'", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"ID1\" = ?, \"NAME1\" = ?", r_ref().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = 10, \"TABLE1\".\"NAME1\" = 'ABC'", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = ?, \"TABLE1\".\"NAME1\" = ?", r_ref().render(q));
assertEquals(q, create.update(TABLE1).set(FIELD_ID1, 10).set(FIELD_NAME1, "ABC"));
context.checking(new Expectations() {{
@ -1631,8 +1631,8 @@ public class BasicTest extends AbstractTest {
q.addValue(FIELD_ID1, 10);
q.addValue(FIELD_NAME1, "ABC");
q.addConditions(c);
assertEquals("update \"TABLE1\" set \"ID1\" = 10, \"NAME1\" = 'ABC' where \"TABLE1\".\"ID1\" = 10", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"ID1\" = ?, \"NAME1\" = ? where \"TABLE1\".\"ID1\" = ?", r_ref().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = 10, \"TABLE1\".\"NAME1\" = 'ABC' where \"TABLE1\".\"ID1\" = 10", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = ?, \"TABLE1\".\"NAME1\" = ? where \"TABLE1\".\"ID1\" = ?", r_ref().render(q));
assertEquals(q, create.update(TABLE1).set(FIELD_ID1, 10).set(FIELD_NAME1, "ABC").where(c));
context.checking(new Expectations() {{
@ -1657,8 +1657,8 @@ public class BasicTest extends AbstractTest {
q.addValue(FIELD_NAME1, "ABC");
q.addConditions(c1);
q.addConditions(c2);
assertEquals("update \"TABLE1\" set \"ID1\" = 10, \"NAME1\" = 'ABC' where (\"TABLE1\".\"ID1\" = 10 and \"TABLE1\".\"ID1\" = 20)", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"ID1\" = ?, \"NAME1\" = ? where (\"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ?)", r_ref().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = 10, \"TABLE1\".\"NAME1\" = 'ABC' where (\"TABLE1\".\"ID1\" = 10 and \"TABLE1\".\"ID1\" = 20)", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = ?, \"TABLE1\".\"NAME1\" = ? where (\"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ?)", r_ref().render(q));
assertEquals(q, create.update(TABLE1).set(FIELD_ID1, 10).set(FIELD_NAME1, "ABC").where(c1, c2));
context.checking(new Expectations() {{
@ -1685,8 +1685,8 @@ public class BasicTest extends AbstractTest {
q.addConditions(c1);
q.addConditions(c2);
q.addConditions(c2, c1);
assertEquals("update \"TABLE1\" set \"ID1\" = 10, \"NAME1\" = 'ABC' where (\"TABLE1\".\"ID1\" = 10 and \"TABLE1\".\"ID1\" = 20 and \"TABLE1\".\"ID1\" = 20 and \"TABLE1\".\"ID1\" = 10)", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"ID1\" = ?, \"NAME1\" = ? where (\"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ?)", r_ref().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = 10, \"TABLE1\".\"NAME1\" = 'ABC' where (\"TABLE1\".\"ID1\" = 10 and \"TABLE1\".\"ID1\" = 20 and \"TABLE1\".\"ID1\" = 20 and \"TABLE1\".\"ID1\" = 10)", r_refI().render(q));
assertEquals("update \"TABLE1\" set \"TABLE1\".\"ID1\" = ?, \"TABLE1\".\"NAME1\" = ? where (\"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ? and \"TABLE1\".\"ID1\" = ?)", r_ref().render(q));
assertEquals(q, create.update(TABLE1).set(FIELD_ID1, 10).set(FIELD_NAME1, "ABC").where(c1).and(c2).and(c2).and(c1));
context.checking(new Expectations() {{
@ -1718,8 +1718,8 @@ public class BasicTest extends AbstractTest {
.whenNotMatchedThenInsert(FIELD_ID1, FIELD_NAME1, FIELD_DATE1)
.values(1, "name", new Date(0));
assertEquals("merge into \"TABLE1\" using (select \"TABLE2\".\"ID2\" from \"TABLE2\") on ((\"TABLE2\".\"ID2\" = \"TABLE1\".\"ID1\" and \"TABLE1\".\"ID1\" = 1) or \"TABLE2\".\"ID2\" = 2) when matched then update set \"NAME1\" = 'name', \"DATE1\" = date '1970-01-01' when not matched then insert (\"ID1\", \"NAME1\", \"DATE1\") values (1, 'name', date '1970-01-01')", r_refI().render(q));
assertEquals("merge into \"TABLE1\" using (select \"TABLE2\".\"ID2\" from \"TABLE2\") on ((\"TABLE2\".\"ID2\" = \"TABLE1\".\"ID1\" and \"TABLE1\".\"ID1\" = ?) or \"TABLE2\".\"ID2\" = ?) when matched then update set \"NAME1\" = ?, \"DATE1\" = ? when not matched then insert (\"ID1\", \"NAME1\", \"DATE1\") values (?, ?, ?)", r_ref().render(q));
assertEquals("merge into \"TABLE1\" using (select \"TABLE2\".\"ID2\" from \"TABLE2\") on ((\"TABLE2\".\"ID2\" = \"TABLE1\".\"ID1\" and \"TABLE1\".\"ID1\" = 1) or \"TABLE2\".\"ID2\" = 2) when matched then update set \"TABLE1\".\"NAME1\" = 'name', \"TABLE1\".\"DATE1\" = date '1970-01-01' when not matched then insert (\"ID1\", \"NAME1\", \"DATE1\") values (1, 'name', date '1970-01-01')", r_refI().render(q));
assertEquals("merge into \"TABLE1\" using (select \"TABLE2\".\"ID2\" from \"TABLE2\") on ((\"TABLE2\".\"ID2\" = \"TABLE1\".\"ID1\" and \"TABLE1\".\"ID1\" = ?) or \"TABLE2\".\"ID2\" = ?) when matched then update set \"TABLE1\".\"NAME1\" = ?, \"TABLE1\".\"DATE1\" = ? when not matched then insert (\"ID1\", \"NAME1\", \"DATE1\") values (?, ?, ?)", r_ref().render(q));
context.checking(new Expectations() {{
oneOf(statement).setInt(1, 1);