Browse Source

DATAJDBC-394 - Don't use AS for table aliases.

The AS keyword for table aliases is optional for all databases that support it.
It is not supported by Oracle.
Thus not using it makes the generated SQL compatible to more databases.

Original pull request: #162.
pull/163/head
Jens Schauder 7 years ago committed by Mark Paluch
parent
commit
14d79025b5
  1. 2
      spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FromTableVisitor.java
  2. 2
      spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/DeleteRendererUnitTests.java
  3. 9
      spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/SelectRendererUnitTests.java

2
spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FromTableVisitor.java

@ -49,7 +49,7 @@ class FromTableVisitor extends TypedSubtreeVisitor<Table> { @@ -49,7 +49,7 @@ class FromTableVisitor extends TypedSubtreeVisitor<Table> {
builder.append(context.getNamingStrategy().getName(segment));
if (segment instanceof Aliased) {
builder.append(" AS ").append(((Aliased) segment).getAlias());
builder.append(" ").append(((Aliased) segment).getAlias());
}
parent.onRendered(builder);

2
spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/DeleteRendererUnitTests.java

@ -60,6 +60,6 @@ public class DeleteRendererUnitTests { @@ -60,6 +60,6 @@ public class DeleteRendererUnitTests {
.where(table.column("foo").isEqualTo(table.column("baz"))) //
.build();
assertThat(SqlRenderer.toString(delete)).isEqualTo("DELETE FROM bar AS my_bar WHERE my_bar.foo = my_bar.baz");
assertThat(SqlRenderer.toString(delete)).isEqualTo("DELETE FROM bar my_bar WHERE my_bar.foo = my_bar.baz");
}
}

9
spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/SelectRendererUnitTests.java

@ -55,7 +55,7 @@ public class SelectRendererUnitTests { @@ -55,7 +55,7 @@ public class SelectRendererUnitTests {
Select select = Select.builder().select(table.column("foo").as("my_foo")).from(table).build();
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT my_bar.foo AS my_foo FROM bar AS my_bar");
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT my_bar.foo AS my_foo FROM bar my_bar");
}
@Test // DATAJDBC-309
@ -163,8 +163,9 @@ public class SelectRendererUnitTests { @@ -163,8 +163,9 @@ public class SelectRendererUnitTests {
.join(tenant).on(tenant.column("tenant_id")).equals(department.column("tenant")) //
.build();
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT employee.id, department.name FROM employee "
+ "JOIN department ON employee.department_id = department.id " + "AND employee.tenant = department.tenant "
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT employee.id, department.name FROM employee " //
+ "JOIN department ON employee.department_id = department.id " //
+ "AND employee.tenant = department.tenant " //
+ "JOIN tenant AS tenant_base ON tenant_base.tenant_id = department.tenant");
}
@ -177,7 +178,7 @@ public class SelectRendererUnitTests { @@ -177,7 +178,7 @@ public class SelectRendererUnitTests {
Select select = Select.builder().select(column).from(employee).orderBy(OrderByField.from(column).asc()).build();
assertThat(SqlRenderer.toString(select))
.isEqualTo("SELECT emp.name AS emp_name FROM employee AS emp ORDER BY emp_name ASC");
.isEqualTo("SELECT emp.name AS emp_name FROM employee emp ORDER BY emp_name ASC");
}
@Test // DATAJDBC-309

Loading…
Cancel
Save