Skip to content

Commit a8d736f

Browse files
committed
Reset catalog before schema and remove asserts on setting original schema/catalog
1 parent 6e5d442 commit a8d736f

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

ebean-datasource/src/main/java/io/ebean/datasource/pool/PooledConnection.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -151,15 +151,12 @@ final class PooledConnection extends ConnectionDelegator {
151151
this.originalSchema = pool.schema();
152152
this.originalCatalog = pool.catalog();
153153
if (originalSchema != null) {
154-
schemaState = SCHEMA_CATALOG_KNOWN;
154+
this.schemaState = SCHEMA_CATALOG_KNOWN;
155155
this.cacheKeySchema = originalSchema;
156-
// if schema & catalog is defined, we can be sure, that connection is initialized properly
157-
assert originalSchema.equals(connection.getSchema()) : "Connection is in the wrong schema: " + connection.getSchema() + ", expected: " + originalSchema;
158156
}
159157
if (originalCatalog != null) {
160-
catalogState = SCHEMA_CATALOG_KNOWN;
158+
this.catalogState = SCHEMA_CATALOG_KNOWN;
161159
this.cacheKeyCatalog = originalCatalog;
162-
assert originalCatalog.equals(connection.getCatalog()) : "Connection is in the wrong catalog: " + connection.getCatalog() + ", expected: " + originalCatalog;
163160
}
164161
this.pstmtCache = new PstmtCache(pool.pstmtCacheSize());
165162
this.maxStackTrace = pool.maxStackTraceSize();
@@ -461,19 +458,19 @@ public void close() throws SQLException {
461458
resetIsolationReadOnlyRequired = false;
462459
}
463460

461+
if (catalogState == SCHEMA_CATALOG_CHANGED) {
462+
connection.setCatalog(originalCatalog);
463+
cacheKeyCatalog = originalCatalog;
464+
catalogState = SCHEMA_CATALOG_KNOWN;
465+
}
466+
464467
if (schemaState == SCHEMA_CATALOG_CHANGED) {
465468
connection.setSchema(originalSchema);
466469
// we can use original value for cache computation from now on
467470
cacheKeySchema = originalSchema;
468471
schemaState = SCHEMA_CATALOG_KNOWN;
469472
}
470473

471-
if (catalogState == SCHEMA_CATALOG_CHANGED) {
472-
connection.setCatalog(originalCatalog);
473-
cacheKeyCatalog = originalCatalog;
474-
catalogState = SCHEMA_CATALOG_KNOWN;
475-
}
476-
477474
// the connection is assumed GOOD so put it back in the pool
478475
lastUseTime = System.currentTimeMillis();
479476
connection.clearWarnings();

0 commit comments

Comments
 (0)