#56 - Polishing.
Replaced calls to `SqlRenderer.render(.)` with `SqlRenderer.toString(.)`. And code formatting. Original pull request: #66.
This commit is contained in:
@@ -229,6 +229,7 @@ public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStra
|
||||
* (non-Javadoc)
|
||||
* @see org.springframework.data.r2dbc.function.ReactiveDataAccessStrategy#getRowMapper(java.lang.Class)
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <T> BiFunction<Row, RowMetadata, T> getRowMapper(Class<T> typeToRead) {
|
||||
return new EntityRowMapper<T>((RelationalPersistentEntity) getRequiredPersistentEntity(typeToRead),
|
||||
@@ -262,6 +263,7 @@ public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStra
|
||||
return mappingContext.getPersistentEntity(typeToRead);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Object getWriteValue(PersistentPropertyAccessor propertyAccessor, RelationalPersistentProperty property) {
|
||||
|
||||
TypeInformation<?> type = property.getTypeInformation();
|
||||
@@ -317,20 +319,23 @@ public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStra
|
||||
* @see org.springframework.data.r2dbc.function.ReactiveDataAccessStrategy#select(java.lang.String, java.util.Set, org.springframework.data.domain.Sort, org.springframework.data.domain.Pageable)
|
||||
*/
|
||||
@Override
|
||||
public String select(String table, Set<String> columns, Sort sort, Pageable page) {
|
||||
public String select(String tableName, Set<String> columns, Sort sort, Pageable page) {
|
||||
|
||||
Table tableToUse = Table.create(table);
|
||||
Table table = Table.create(tableName);
|
||||
|
||||
Collection<? extends Expression> selectList;
|
||||
|
||||
if (columns.isEmpty()) {
|
||||
selectList = Collections.singletonList(tableToUse.asterisk());
|
||||
selectList = Collections.singletonList(table.asterisk());
|
||||
} else {
|
||||
selectList = tableToUse.columns(columns);
|
||||
selectList = table.columns(columns);
|
||||
}
|
||||
|
||||
SelectFromAndOrderBy selectBuilder = StatementBuilder.select(selectList).from(table)
|
||||
.orderBy(createOrderByFields(tableToUse, sort));
|
||||
SelectFromAndOrderBy selectBuilder = StatementBuilder //
|
||||
.select(selectList) //
|
||||
.from(tableName) //
|
||||
.orderBy(createOrderByFields(table, sort));
|
||||
|
||||
OptionalLong limit = OptionalLong.empty();
|
||||
OptionalLong offset = OptionalLong.empty();
|
||||
|
||||
@@ -508,7 +513,7 @@ public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStra
|
||||
* @see org.springframework.data.r2dbc.function.BindIdOperation#bindIds(io.r2dbc.spi.Statement, java.lang.Iterable)
|
||||
*/
|
||||
@Override
|
||||
public void bindIds(Statement statement, Iterable<? extends Object> values) {
|
||||
public void bindIds(Statement statement, Iterable<?> values) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@@ -569,7 +574,7 @@ public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStra
|
||||
* @see org.springframework.data.r2dbc.function.BindIdOperation#bindIds(io.r2dbc.spi.Statement, java.lang.Iterable)
|
||||
*/
|
||||
@Override
|
||||
public void bindIds(Statement statement, Iterable<? extends Object> values) {
|
||||
public void bindIds(Statement statement, Iterable<?> values) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@@ -636,7 +641,7 @@ public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStra
|
||||
* @see org.springframework.data.r2dbc.function.BindIdOperation#bindIds(io.r2dbc.spi.Statement, java.lang.Iterable)
|
||||
*/
|
||||
@Override
|
||||
public void bindIds(Statement statement, Iterable<? extends Object> values) {
|
||||
public void bindIds(Statement statement, Iterable<?> values) {
|
||||
|
||||
for (Object value : values) {
|
||||
bindId(statement, value);
|
||||
|
||||
@@ -135,10 +135,13 @@ public class SimpleR2dbcRepository<T, ID> implements ReactiveCrudRepository<T, I
|
||||
BindMarker bindMarker = bindMarkers.next("id");
|
||||
|
||||
Table table = Table.create(entity.getTableName());
|
||||
Select select = StatementBuilder.select(table.columns(columns)).from(table)
|
||||
.where(Conditions.isEqual(table.column(idColumnName), SQL.bindMarker(bindMarker.getPlaceholder()))).build();
|
||||
Select select = StatementBuilder //
|
||||
.select(table.columns(columns)) //
|
||||
.from(table) //
|
||||
.where(Conditions.isEqual(table.column(idColumnName), SQL.bindMarker(bindMarker.getPlaceholder()))) //
|
||||
.build();
|
||||
|
||||
return databaseClient.execute().sql(SqlRenderer.render(select)) //
|
||||
return databaseClient.execute().sql(SqlRenderer.toString(select)) //
|
||||
.bind(0, id) //
|
||||
.as(entity.getJavaType()) //
|
||||
.fetch() //
|
||||
@@ -167,10 +170,13 @@ public class SimpleR2dbcRepository<T, ID> implements ReactiveCrudRepository<T, I
|
||||
BindMarker bindMarker = bindMarkers.next("id");
|
||||
|
||||
Table table = Table.create(entity.getTableName());
|
||||
Select select = StatementBuilder.select(table.column(idColumnName)).from(table)
|
||||
.where(Conditions.isEqual(table.column(idColumnName), SQL.bindMarker(bindMarker.getPlaceholder()))).build();
|
||||
Select select = StatementBuilder //
|
||||
.select(table.column(idColumnName)) //
|
||||
.from(table) //
|
||||
.where(Conditions.isEqual(table.column(idColumnName), SQL.bindMarker(bindMarker.getPlaceholder()))) //
|
||||
.build();
|
||||
|
||||
return databaseClient.execute().sql(SqlRenderer.render(select)) //
|
||||
return databaseClient.execute().sql(SqlRenderer.toString(select)) //
|
||||
.bind(0, id) //
|
||||
.map((r, md) -> r) //
|
||||
.first() //
|
||||
@@ -230,10 +236,13 @@ public class SimpleR2dbcRepository<T, ID> implements ReactiveCrudRepository<T, I
|
||||
}
|
||||
|
||||
Table table = Table.create(entity.getTableName());
|
||||
Select select = StatementBuilder.select(table.columns(columns)).from(table)
|
||||
.where(Conditions.in(table.column(idColumnName), markers)).build();
|
||||
Select select = StatementBuilder
|
||||
.select(table.columns(columns))
|
||||
.from(table)
|
||||
.where(Conditions.in(table.column(idColumnName), markers))
|
||||
.build();
|
||||
|
||||
GenericExecuteSpec executeSpec = databaseClient.execute().sql(SqlRenderer.render(select));
|
||||
GenericExecuteSpec executeSpec = databaseClient.execute().sql(SqlRenderer.toString(select));
|
||||
|
||||
for (int i = 0; i < ids.size(); i++) {
|
||||
executeSpec = executeSpec.bind(i, ids.get(i));
|
||||
@@ -250,9 +259,12 @@ public class SimpleR2dbcRepository<T, ID> implements ReactiveCrudRepository<T, I
|
||||
public Mono<Long> count() {
|
||||
|
||||
Table table = Table.create(entity.getTableName());
|
||||
Select select = StatementBuilder.select(Functions.count(table.column(getIdColumnName()))).from(table).build();
|
||||
Select select = StatementBuilder //
|
||||
.select(Functions.count(table.column(getIdColumnName()))) //
|
||||
.from(table) //
|
||||
.build();
|
||||
|
||||
return databaseClient.execute().sql(SqlRenderer.render(select)) //
|
||||
return databaseClient.execute().sql(SqlRenderer.toString(select)) //
|
||||
.map((r, md) -> r.get(0, Long.class)) //
|
||||
.first() //
|
||||
.defaultIfEmpty(0L);
|
||||
|
||||
@@ -40,7 +40,7 @@ public abstract class StatementRenderUtil {
|
||||
*/
|
||||
public static String render(Select select, OptionalLong limit, OptionalLong offset, Dialect dialect) {
|
||||
|
||||
String sql = SqlRenderer.render(select);
|
||||
String sql = SqlRenderer.toString(select);
|
||||
|
||||
// TODO: Replace with proper {@link Dialect} rendering for limit/offset.
|
||||
if (limit.isPresent()) {
|
||||
|
||||
Reference in New Issue
Block a user