diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java index eea4d65320ed1002ebcff6c6120e3c372a2e0027..20a769f8ce8e8b8a5f4cdf1f4e42610e0e3f561d 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java @@ -86,21 +86,24 @@ public class ViewServiceIntegrationTest extends AbstractUnitTest { assertEquals(VIEW_2_ID, response.getId()); assertNotNull(response.getHeaders()); assertEquals(4, response.getHeaders().size()); - assertEquals(List.of(Map.of("date", 0), Map.of("location", 1), Map.of("mintemp", 2), Map.of("location", 3)), response.getHeaders()); + assertEquals(List.of(Map.of("date", 0), Map.of("loc", 1), Map.of("mintemp", 2), Map.of("rainfall", 3)), response.getHeaders()); assertNotNull(response.getResult()); assertEquals(3, response.getResult().size()); /* row 0 */ assertEquals(Instant.ofEpochSecond(1228089600), response.getResult().get(0).get("date")); - assertEquals("Albury", response.getResult().get(0).get("location")); + assertEquals("Albury", response.getResult().get(0).get("loc")); assertEquals(13.4, response.getResult().get(0).get("mintemp")); + assertEquals(0.6, response.getResult().get(0).get("rainfall")); /* row 1 */ assertEquals(Instant.ofEpochSecond(1228176000), response.getResult().get(1).get("date")); - assertEquals("Albury", response.getResult().get(1).get("location")); + assertEquals("Albury", response.getResult().get(1).get("loc")); assertEquals(7.4, response.getResult().get(1).get("mintemp")); + assertEquals(0.0, response.getResult().get(1).get("rainfall")); /* row 2 */ assertEquals(Instant.ofEpochSecond(1228262400), response.getResult().get(2).get("date")); - assertEquals("Albury", response.getResult().get(2).get("location")); + assertEquals("Albury", response.getResult().get(2).get("loc")); assertEquals(12.9, response.getResult().get(2).get("mintemp")); + assertEquals(0.0, response.getResult().get(2).get("rainfall")); } @Test diff --git a/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql b/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql index 052f23adf8f5772a996d430877c8785d24651305..79755c97bf68fd822869277e3ad867c582f4e68c 100644 --- a/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql +++ b/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql @@ -66,7 +66,7 @@ VALUES ('2022-12-24 17:00:00', 10.0), CREATE VIEW junit2 AS ( -select `date`, `location`, `mintemp`, `rainfall` +select `date`, `location` as loc, `mintemp`, `rainfall` from `weather_aus` where `location` = 'Albury'); diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java index 8b43248271a686a3c23bceff02fc9d61ee801f9e..8cadf146b1e6acc6cac355d3890a492993a0fff5 100644 --- a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java +++ b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java @@ -353,12 +353,8 @@ public interface MariaDbMapper { */ default String selectDatasetRawQuery(String databaseName, String tableOrView, List<ColumnDto> columns, Instant timestamp, Long size, Long page) { - final int[] idx = new int[]{0}; - final StringBuilder statement = new StringBuilder("SELECT "); - columns.forEach(column -> statement.append(idx[0]++ > 0 ? "," : "") - .append("`") - .append(column.getInternalName()) - .append("`")); + final StringBuilder statement = new StringBuilder("SELECT ") + .append(String.join(",", columns.stream().map(c -> "`" + c.getInternalName() + "`").toList())); statement.append(" FROM `") .append(databaseName) .append("`.`") diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java index 1b3bd7cd0055a0c4c9cbd699f85fccddcf5e43b5..b823e1c996fa3587df0ab6b7458dce27f5651f73 100644 --- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java +++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java @@ -4931,13 +4931,13 @@ public abstract class BaseTest { public final static Long VIEW_2_CONTAINER_ID = CONTAINER_1_ID; public final static Long VIEW_2_DATABASE_ID = DATABASE_1_ID; public final static Boolean VIEW_2_PUBLIC = true; - public final static String VIEW_2_QUERY = "select `date`, `location` as loc, `location`, `rainfall`, `mintemp` from `weather_aus` where `location` = 'Albury'"; + public final static String VIEW_2_QUERY = "select `date`, `location` as loc, `mintemp`, `rainfall` from `weather_aus` where `location` = 'Albury'"; public final static String VIEW_2_QUERY_HASH = "987fc946772ffb6d85060262dcb5df419692a1f6772ea995e3dedb53c191e984"; public final static List<ViewColumnDto> VIEW_2_COLUMNS_DTO = List.of( ViewColumnDto.builder() .id(4L) - .name("Date") + .name("date") .internalName("date") .ordinalPosition(1) .columnType(ColumnTypeDto.DATE) @@ -4947,8 +4947,9 @@ public abstract class BaseTest { .build(), ViewColumnDto.builder() .id(5L) - .name("Location") - .internalName("location") + .name("loc") + .internalName("loc") + .alias("loc") .ordinalPosition(2) .columnType(ColumnTypeDto.VARCHAR) .size(255L) @@ -4957,7 +4958,7 @@ public abstract class BaseTest { .build(), ViewColumnDto.builder() .id(6L) - .name("MinTemp") + .name("mintemp") .internalName("mintemp") .ordinalPosition(3) .columnType(ColumnTypeDto.DECIMAL) @@ -4968,11 +4969,12 @@ public abstract class BaseTest { .build(), ViewColumnDto.builder() .id(7L) - .name("Location") - .internalName("location") - .ordinalPosition(2) - .columnType(ColumnTypeDto.VARCHAR) - .size(255L) + .name("rainfall") + .internalName("rainfall") + .ordinalPosition(4) + .columnType(ColumnTypeDto.DECIMAL) + .size(10L) + .d(0L) .isNullAllowed(true) .autoGenerated(false) .build()