diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeResultSetSerializableV1.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeResultSetSerializableV1.java index b21f893a0..6da10e231 100644 --- a/src/main/java/net/snowflake/client/jdbc/SnowflakeResultSetSerializableV1.java +++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeResultSetSerializableV1.java @@ -516,17 +516,26 @@ public static SnowflakeResultSetSerializableV1 create( resultSetSerializable.queryId = rootNode.path("data").path("queryId").asText(); JsonNode databaseNode = rootNode.path("data").path("finalDatabaseName"); - resultSetSerializable.finalDatabaseName = databaseNode.isNull() ? null : databaseNode.asText(); + resultSetSerializable.finalDatabaseName = + databaseNode.isNull() + ? (sfSession != null ? sfSession.getDatabase() : null) + : databaseNode.asText(); JsonNode schemaNode = rootNode.path("data").path("finalSchemaName"); - resultSetSerializable.finalSchemaName = schemaNode.isNull() ? null : schemaNode.asText(); + resultSetSerializable.finalSchemaName = + schemaNode.isNull() + ? (sfSession != null ? sfSession.getSchema() : null) + : schemaNode.asText(); JsonNode roleNode = rootNode.path("data").path("finalRoleName"); - resultSetSerializable.finalRoleName = roleNode.isNull() ? null : roleNode.asText(); + resultSetSerializable.finalRoleName = + roleNode.isNull() ? (sfSession != null ? sfSession.getRole() : null) : roleNode.asText(); JsonNode warehouseNode = rootNode.path("data").path("finalWarehouseName"); resultSetSerializable.finalWarehouseName = - warehouseNode.isNull() ? null : warehouseNode.asText(); + warehouseNode.isNull() + ? (sfSession != null ? sfSession.getWarehouse() : null) + : warehouseNode.asText(); resultSetSerializable.statementType = SFStatementType.lookUpTypeById(rootNode.path("data").path("statementTypeId").asLong());