diff --git a/src/main/java/io/r2dbc/postgresql/PostgresqlRow.java b/src/main/java/io/r2dbc/postgresql/PostgresqlRow.java index 72f6d63c..867db1b5 100644 --- a/src/main/java/io/r2dbc/postgresql/PostgresqlRow.java +++ b/src/main/java/io/r2dbc/postgresql/PostgresqlRow.java @@ -59,9 +59,7 @@ final class PostgresqlRow implements io.r2dbc.postgresql.api.PostgresqlRow { this.data = Assert.requireNonNull(data, "data must not be null"); if (metadata instanceof PostgresqlRowMetadata) { - this.columnNameIndexCacheMap = Assert.requireNonNull( - ((PostgresqlRowMetadata) metadata).getColumnNameIndexMap(), - "columnNameIndexCacheMap must not be null"); + this.columnNameIndexCacheMap = ((PostgresqlRowMetadata) metadata).getColumnNameIndexMap(); } else { this.columnNameIndexCacheMap = createColumnNameIndexMap(this.fields); } diff --git a/src/main/java/io/r2dbc/postgresql/PostgresqlRowMetadata.java b/src/main/java/io/r2dbc/postgresql/PostgresqlRowMetadata.java index 72c965d2..bcfa5f6f 100644 --- a/src/main/java/io/r2dbc/postgresql/PostgresqlRowMetadata.java +++ b/src/main/java/io/r2dbc/postgresql/PostgresqlRowMetadata.java @@ -48,15 +48,13 @@ final class PostgresqlRowMetadata extends AbstractCollection implements PostgresqlRowMetadata(List columnMetadatas) { this.columnMetadatas = Assert.requireNonNull(columnMetadatas, "columnMetadatas must not be null"); - this.nameKeyedColumns = new LinkedHashMap<>(); + this.nameKeyedColumns = new LinkedHashMap<>(columnMetadatas.size(), 1); this.columnNameIndexMap = new HashMap<>(columnMetadatas.size(), 1); int i = 0; for (PostgresqlColumnMetadata columnMetadata : columnMetadatas) { - if (!this.nameKeyedColumns.containsKey(columnMetadata.getName())) { - this.nameKeyedColumns.put(columnMetadata.getName(), columnMetadata); - } - columnNameIndexMap.putIfAbsent(columnMetadata.getName().toLowerCase(Locale.ROOT), i++); + this.nameKeyedColumns.putIfAbsent(columnMetadata.getName(), columnMetadata); + this.columnNameIndexMap.putIfAbsent(columnMetadata.getName().toLowerCase(Locale.ROOT), i++); } }