Skip to content

[DSIP-84][Feature] Add Caché datasource support to DolphinScheduler #16833

Open
@edclol

Description

@edclol

Search before asking

  • I had searched in the DSIP and found no similar DSIP.

Motivation

After searching in the DSIP, no similar plan for adding Caché database support was found. We propose to add Caché as a new supported datasource in DolphinScheduler. This will enable users to interact with Caché databases seamlessly in their workflow orchestration and enrich the available datasource types.

Design Detail

1、Documentation additions:

Added English and Chinese documentation for Caché datasource

Added Caché connection parameter descriptions

Added UI screenshots for both languages

2、Code changes:

Added Caché JDBC driver dependency (version 2.0.0)

Added Caché constants in DataSourceConstants.java: JDBC driver class: com.Caché.jdbc.Driver; Validation query: "select 1"; JDBC URL prefix: jdbc:Cache://

Added Caché in DbType.java:
CACHE(26, "cache")

Added Caché in use-form.ts:
CACHE: {
value: 'CACHE',
label: 'CACHE',
defaultPort: 1972
}

Added Caché in use-datasource.ts:
{
id: 26,
code: 'CACHE',
disabled: false
}

3、Configuration:

Added Caché datasource module to the build

Added documentation links in docsdev.js for both English and Chinese

4、Added new files:

Caché datasource implementation classes

Test classes for Caché datasource

UI related changes for Caché support

The commit adds full Caché integration as a new datasource type in DolphinScheduler with complete documentation, implementation, and testing support.

Compatibility, Deprecation, and Migration Plan

No response

Test Plan

Unit Tests
Test Caché datasource connection parameters validation
Test Caché connection creation and pooling
Test JDBC driver loading and configuration
Test datasource processor functionality
Test channel factory implementation
Test utility methods for Caché datasource
Integration Tests
Connection Testing
Test successful connection establishment with valid credentials
Test connection failure with invalid credentials
Test connection timeout scenarios
Test connection pool behavior
Test connection string parameter variations
Query Testing
Test basic SELECT queries
Test complex queries with joins
Test query execution with different data types
Test query timeout scenarios
Test query error handling
UI Testing
Verify Caché datasource form rendering
Test form validation for required fields
Test connection testing functionality from UI
Verify proper display of connection status
Test datasource creation workflow
Test datasource editing functionality
Test datasource deletion

Code of Conduct

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions