Skip to content

Conversation

@thehkkim
Copy link

@thehkkim thehkkim commented Jan 6, 2026

Description

This PR adds a new JDBC connector for Tibero database. Tibero is an enterprise-grade relational database management system that is Oracle-compatible and widely used in enterprise environments.

The connector extends BaseJdbcClient and provides:

  • Support for common SQL data types (numeric, character, timestamp, binary)
  • Tibero-specific type mappings for DATE and TIMESTAMP types with precision up to 9
  • Proper handling of B.C. dates (year adjustment)
  • Type conversion handling for CLOB, NCLOB, BLOB, and RAW types

Additional context and related issues

The implementation follows the same pattern as other JDBC connectors in Trino (e.g., Oracle, PostgreSQL). The connector handles Tibero's type system including:

  • Numeric types: SMALLINT, INTEGER, BIGINT, REAL, DOUBLE, DECIMAL/NUMERIC
  • Character types: CHAR, VARCHAR, NVARCHAR, CLOB, NCLOB
  • Binary types: VARBINARY (RAW), BLOB
  • Temporal types: DATE, TIMESTAMP with nanosecond precision

Note: The connector uses a system-scoped JDBC driver dependency which needs to be configured with the actual Tibero JDBC driver location.

Release notes

( ) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
(x) Release notes are required, with the following suggested text:

## JDBC
* Add support for Tibero database connector.

@cla-bot
Copy link

cla-bot bot commented Jan 6, 2026

Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: hmc7491871.
This is most likely caused by a git client misconfiguration; please make sure to:

  1. check if your git client is configured with an email to sign commits git config --list | grep email
  2. If not, set it up using git config --global user.email [email protected]
  3. Make sure that the git commit email is configured in your GitHub account settings, see https://github.com/settings/emails

@github-actions github-actions bot added the docs label Jan 6, 2026
@cla-bot
Copy link

cla-bot bot commented Jan 6, 2026

Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla

Copy link
Contributor

@chenjian2664 chenjian2664 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add the connector tests?

case Types.SMALLINT:
return Optional.of(smallintColumnMapping());

case Types.INTEGER:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add type mapping tests, you can refer TestPostgreSqlTypeMapping

Comment on lines 21 to 26
1. Obtain the Tibero JDBC driver (tibero7-jdbc.jar) from TmaxSoft.
2. Copy the driver to the Trino plugin directory:
```
cp tibero7-jdbc.jar $TRINO_HOME/plugin/tibero/
```
3. Restart the Trino server.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does the jdbc allows using in open source project, what's the license it allows?

@@ -0,0 +1,294 @@
# Tibero connector

The Tibero connector allows querying and creating tables in an external Tibero
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add a link to the database's official homepage? I’m not familiar with it, and having a reference link would help readers understand it better

@cla-bot
Copy link

cla-bot bot commented Jan 8, 2026

Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla

@thehkkim
Copy link
Author

thehkkim commented Jan 8, 2026

@chenjian2664
Thank you for the detailed review and feedback. I've made the following updates:

  • Enhanced documentation
  • Added type mapping tests

Please review and let me know if any further adjustments are needed.

@thehkkim thehkkim force-pushed the feature/tibero-connector branch from 90fc42e to 83d0233 Compare January 8, 2026 15:13
@cla-bot
Copy link

cla-bot bot commented Jan 8, 2026

Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla

@github-actions github-actions bot added release-notes ui Web UI hudi Hudi connector iceberg Iceberg connector delta-lake Delta Lake connector hive Hive connector bigquery BigQuery connector druid Druid connector exasol Exasol connector ignite Ignite connector kafka Kafka connector loki Loki connector mysql MySQL connector opensearch OpenSearch connector pinot Pinot connector postgresql PostgreSQL connector prometheus Prometheus connector redshift Redshift connector singlestore SingleStore connector labels Jan 8, 2026
@github-actions github-actions bot added sqlserver SQLServer connector lakehouse labels Jan 8, 2026
@thehkkim thehkkim force-pushed the feature/tibero-connector branch from 83d0233 to a367b8f Compare January 8, 2026 15:20
@cla-bot
Copy link

cla-bot bot commented Jan 8, 2026

Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bigquery BigQuery connector delta-lake Delta Lake connector docs druid Druid connector exasol Exasol connector hive Hive connector hudi Hudi connector iceberg Iceberg connector ignite Ignite connector kafka Kafka connector lakehouse loki Loki connector mysql MySQL connector opensearch OpenSearch connector pinot Pinot connector postgresql PostgreSQL connector prometheus Prometheus connector redshift Redshift connector release-notes singlestore SingleStore connector sqlserver SQLServer connector ui Web UI

Development

Successfully merging this pull request may close these issues.

2 participants