Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
2 tasks done
Tracked by #14102
edclol opened this issue Nov 22, 2024 · 0 comments · May be fixed by #16844
Open
2 tasks done
Tracked by #14102

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

edclol opened this issue Nov 22, 2024 · 0 comments · May be fixed by #16844
Assignees
Labels

Comments

@edclol
Copy link

edclol commented Nov 22, 2024

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

@edclol edclol added DSIP Waiting for reply Waiting for reply labels Nov 22, 2024
@SbloodyS SbloodyS removed the Waiting for reply Waiting for reply label Nov 22, 2024
@SbloodyS SbloodyS mentioned this issue Nov 22, 2024
84 tasks
edclol added a commit to edclol/dolphinscheduler that referenced this issue Nov 26, 2024
edclol added a commit to edclol/dolphinscheduler that referenced this issue Nov 26, 2024
edclol added a commit to edclol/dolphinscheduler that referenced this issue Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants