Skip to content

Commit 2a0a1fa

Browse files
committed
Merge branch '6.2.x'
# Conflicts: # spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericTableMetaDataProvider.java
2 parents 2c32c77 + 642e554 commit 2a0a1fa

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericTableMetaDataProvider.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -218,17 +218,21 @@ else if (isStoresLowerCaseIdentifiers()) {
218218
}
219219
}
220220

221+
/**
222+
* This implementation delegates to {@link #catalogNameToUse}.
223+
*/
221224
@Override
222225
public @Nullable String metaDataCatalogNameToUse(@Nullable String catalogName) {
223226
return catalogNameToUse(catalogName);
224227
}
225228

229+
/**
230+
* This implementation delegates to {@link #schemaNameToUse}.
231+
* @see #getDefaultSchema()
232+
*/
226233
@Override
227234
public @Nullable String metaDataSchemaNameToUse(@Nullable String schemaName) {
228-
if (schemaName == null) {
229-
return schemaNameToUse(getDefaultSchema());
230-
}
231-
return schemaNameToUse(schemaName);
235+
return schemaNameToUse(schemaName != null ? schemaName : getDefaultSchema());
232236
}
233237

234238
/**
@@ -389,7 +393,7 @@ private void processTableColumns(DatabaseMetaData databaseMetaData, TableMetaDat
389393
try {
390394
tableColumns = databaseMetaData.getColumns(
391395
metaDataCatalogName, metaDataSchemaName, metaDataTableName, null);
392-
while (tableColumns.next()) {
396+
while (tableColumns != null && tableColumns.next()) {
393397
String columnName = tableColumns.getString("COLUMN_NAME");
394398
int dataType = tableColumns.getInt("DATA_TYPE");
395399
if (dataType == Types.DECIMAL) {

spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/PostgresTableMetaDataProvider.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,16 @@
1919
import java.sql.DatabaseMetaData;
2020
import java.sql.SQLException;
2121

22+
import org.springframework.lang.Nullable;
23+
2224
/**
2325
* The PostgreSQL specific implementation of {@link TableMetaDataProvider}.
2426
* Supports a feature for retrieving generated keys without the JDBC 3.0
25-
* {@code getGeneratedKeys} support.
27+
* {@code getGeneratedKeys} support. Also, it processes PostgreSQL-returned
28+
* catalog and schema names from {@code DatabaseMetaData} in the given case.
2629
*
2730
* @author Thomas Risberg
31+
* @author Juergen Hoeller
2832
* @since 2.5
2933
*/
3034
public class PostgresTableMetaDataProvider extends GenericTableMetaDataProvider {
@@ -34,6 +38,18 @@ public PostgresTableMetaDataProvider(DatabaseMetaData databaseMetaData) throws S
3438
}
3539

3640

41+
@Override
42+
@Nullable
43+
public String metaDataCatalogNameToUse(@Nullable String catalogName) {
44+
return catalogName;
45+
}
46+
47+
@Override
48+
@Nullable
49+
public String metaDataSchemaNameToUse(@Nullable String schemaName) {
50+
return (schemaName != null ? schemaName : getDefaultSchema());
51+
}
52+
3753
@Override
3854
public boolean isGetGeneratedKeysSimulated() {
3955
return true;

0 commit comments

Comments
 (0)