Skip to content

Commit 14d7902

Browse files
schaudermp911de
authored andcommitted
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.
1 parent 257dd7d commit 14d7902

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Delegation enterMatched(Table segment) {
4949

5050
builder.append(context.getNamingStrategy().getName(segment));
5151
if (segment instanceof Aliased) {
52-
builder.append(" AS ").append(((Aliased) segment).getAlias());
52+
builder.append(" ").append(((Aliased) segment).getAlias());
5353
}
5454

5555
parent.onRendered(builder);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ public void shouldConsiderTableAlias() {
6060
.where(table.column("foo").isEqualTo(table.column("baz"))) //
6161
.build();
6262

63-
assertThat(SqlRenderer.toString(delete)).isEqualTo("DELETE FROM bar AS my_bar WHERE my_bar.foo = my_bar.baz");
63+
assertThat(SqlRenderer.toString(delete)).isEqualTo("DELETE FROM bar my_bar WHERE my_bar.foo = my_bar.baz");
6464
}
6565
}

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void shouldRenderAliasedColumnAndFrom() {
5555

5656
Select select = Select.builder().select(table.column("foo").as("my_foo")).from(table).build();
5757

58-
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT my_bar.foo AS my_foo FROM bar AS my_bar");
58+
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT my_bar.foo AS my_foo FROM bar my_bar");
5959
}
6060

6161
@Test // DATAJDBC-309
@@ -163,8 +163,9 @@ public void shouldRenderMultipleJoinWithAnd() {
163163
.join(tenant).on(tenant.column("tenant_id")).equals(department.column("tenant")) //
164164
.build();
165165

166-
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT employee.id, department.name FROM employee "
167-
+ "JOIN department ON employee.department_id = department.id " + "AND employee.tenant = department.tenant "
166+
assertThat(SqlRenderer.toString(select)).isEqualTo("SELECT employee.id, department.name FROM employee " //
167+
+ "JOIN department ON employee.department_id = department.id " //
168+
+ "AND employee.tenant = department.tenant " //
168169
+ "JOIN tenant AS tenant_base ON tenant_base.tenant_id = department.tenant");
169170
}
170171

@@ -177,7 +178,7 @@ public void shouldRenderOrderByName() {
177178
Select select = Select.builder().select(column).from(employee).orderBy(OrderByField.from(column).asc()).build();
178179

179180
assertThat(SqlRenderer.toString(select))
180-
.isEqualTo("SELECT emp.name AS emp_name FROM employee AS emp ORDER BY emp_name ASC");
181+
.isEqualTo("SELECT emp.name AS emp_name FROM employee emp ORDER BY emp_name ASC");
181182
}
182183

183184
@Test // DATAJDBC-309

0 commit comments

Comments
 (0)