From 14d79025b541f1b378a4e2a2b201ec3deb264474 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Tue, 16 Jul 2019 07:51:29 +0200 Subject: [PATCH] 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. --- .../relational/core/sql/render/FromTableVisitor.java | 2 +- .../core/sql/render/DeleteRendererUnitTests.java | 2 +- .../core/sql/render/SelectRendererUnitTests.java | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FromTableVisitor.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FromTableVisitor.java index 17fe1d60..cadf58cf 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FromTableVisitor.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FromTableVisitor.java @@ -49,7 +49,7 @@ class FromTableVisitor extends TypedSubtreeVisitor { 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); diff --git a/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/DeleteRendererUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/DeleteRendererUnitTests.java index 6d93a9a9..3eea4f26 100644 --- a/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/DeleteRendererUnitTests.java +++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/DeleteRendererUnitTests.java @@ -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"); } } diff --git a/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/SelectRendererUnitTests.java b/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/SelectRendererUnitTests.java index d6b8b4e7..c81a6b51 100644 --- a/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/SelectRendererUnitTests.java +++ b/spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/SelectRendererUnitTests.java @@ -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 { .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 { 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