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 (#16833) #16844

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from

Conversation

edclol
Copy link

@edclol edclol commented Nov 26, 2024

Purpose of the pull request

Add Caché datasource support to DolphinScheduler

close #16833

Brief change log

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:

Added Caché in use-datasource.ts:

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

Verify this pull request

This change added tests and can be verified as follows:

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

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

Pull Request Notice

Pull Request Notice

If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

Copy link

boring-cyborg bot commented Nov 26, 2024

Thanks for opening this pull request! Please check out our contributing guidelines. (https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/en/contribute/join/pull-request.md)

@github-actions github-actions bot added UI ui and front end related backend test document labels Nov 26, 2024
@edclol edclol closed this Nov 26, 2024
@edclol edclol reopened this Nov 26, 2024
@SbloodyS SbloodyS added first time contributor First-time contributor DSIP labels Nov 26, 2024
@SbloodyS SbloodyS added this to the 3.3.0 milestone Nov 26, 2024
docs/img/new_ui/dev/datasource/cache.png Outdated Show resolved Hide resolved
Comment on lines +44 to +45
</dependency>
<dependency>
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
</dependency>
<dependency>
</dependency>
<dependency>

<version>${project.version}</version>
<scope>provided</scope>
</dependency>

Copy link
Member

Choose a reason for hiding this comment

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

Did you forget to add the cache jdbc dependency?

Copy link
Author

Choose a reason for hiding this comment

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

No, I didn't forget. I intentionally didn't add the JDBC dependency because it wasn't available in the Maven repository.

Copy link
Member

Choose a reason for hiding this comment

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

It must be available in the maven repository and comply with apache protocol or approaching license since DS is an apache software foundation open source project.

Copy link
Author

Choose a reason for hiding this comment

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

Sorry. Could you check if this one is okay? https://mvnrepository.com/artifact/com.intersystems/cache-jdbc/2.0.0

Copy link
Member

Choose a reason for hiding this comment

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

It seem like this artifact haven't been updated more than 4 years. And it does not indicate compliance with any open source protocols.

Copy link
Author

Choose a reason for hiding this comment

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

It seems that this cache database isn't really up to the mark. I don't want all my efforts to go to waste. So, I'll modify the code to make it compatible with the new version of the iris database. Is this okay? https://mvnrepository.com/artifact/com.intersystems/intersystems-jdbc

Copy link
Author

Choose a reason for hiding this comment

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

Cache is the predecessor of IRIS. However, we do indeed use this old version of the Cache database.😒

Copy link
Member

Choose a reason for hiding this comment

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

Cache is the predecessor of IRIS. However, we do indeed use this old version of the Cache database.😒

This doesn't comply with apache regulations.

Copy link
Author

Choose a reason for hiding this comment

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

I'm going to give up the merge.

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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 this pull request may close these issues.

[DSIP-84][Feature] Add Caché datasource support to DolphinScheduler
2 participants