Skip to content

Support Object-typed properties in JDBC connections #14003

@parthshyara

Description

@parthshyara

Feature Request / Improvement

Description:
In JdbcClientPool.java, the properties field is currently defined as a Map<String, String>. This design restricts the ability to specify non-string properties when configuring JDBC connections.

Many JDBC drivers, including the Snowflake JDBC driver, require properties that are not string values. For example, Snowflake supports key-pair authentication, where the privateKey property must be set as a PrivateKey object rather than a string. See the Snowflake documentation for reference: Using key pair authentication and key rotation.


Proposed Improvement:
Allow JdbcClientPool to support Map<String, Object> or otherwise accept non-string values for connection properties. This would enable compatibility with drivers that require object-typed properties, such as Snowflake.


Use Case:

  • Enable Snowflake JDBC connections using private key authentication.
  • Broader support for JDBC drivers that depend on non-string property values.

Query engine

None

Willingness to contribute

  • I can contribute this improvement/feature independently
  • I would be willing to contribute this improvement/feature with guidance from the Iceberg community
  • I cannot contribute this improvement/feature at this time

Metadata

Metadata

Assignees

No one assigned

    Labels

    improvementPR that improves existing functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions