Search before asking
Linkis Component
Description
JDBC engine connection pool uses "SELECT 1" as the default validation query, which works for MySQL and PostgreSQL but fails for Oracle and DB2 databases:
- Oracle requires: "SELECT 1 FROM DUAL"
- DB2 requires: "SELECT 1 FROM SYSIBM.SYSDUMMY1"
Currently, the code only hardcodes Oracle support but lacks DB2 support and a configurable mechanism for other databases.
Steps to reproduce
- Configure a JDBC data source with Oracle or DB2 connection
- Enable connection pool validation (
testWhileIdle=true)
- The validation query fails with SQL syntax error
Expected behavior
JDBC engine should support configurable validation queries for different database types:
- Auto-detect database type from JDBC URL
- Use appropriate validation query for each database
- Allow users to customize validation query mapping via configuration
Your environment
- Linkis version used: 1.9.0+
- Database types affected: Oracle, DB2
Anything else
This PR adds:
- New configuration
wds.linkis.jdbc.validation.query.mapping for custom validation queries
- Default support for Oracle and DB2 databases
- Auto-detection based on JDBC URL patterns
Are you willing to submit a PR?
Search before asking
Linkis Component
Description
JDBC engine connection pool uses "SELECT 1" as the default validation query, which works for MySQL and PostgreSQL but fails for Oracle and DB2 databases:
Currently, the code only hardcodes Oracle support but lacks DB2 support and a configurable mechanism for other databases.
Steps to reproduce
testWhileIdle=true)Expected behavior
JDBC engine should support configurable validation queries for different database types:
Your environment
Anything else
This PR adds:
wds.linkis.jdbc.validation.query.mappingfor custom validation queriesAre you willing to submit a PR?