Skip to content

This PR adds databricks JDBC to the drivers supported by the plugin #25

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

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

pditommaso
Copy link
Member

@pditommaso pditommaso commented Jan 27, 2025

This PR adds Databricks JDBC to the drivers supported by the plugin.

See for details here.

@pditommaso pditommaso marked this pull request as draft January 27, 2025 16:04
Signed-off-by: Paolo Di Tommaso <[email protected]>
@pditommaso pditommaso marked this pull request as ready for review January 29, 2025 11:05
@pditommaso
Copy link
Member Author

Excellent @jorgee !

edmundmiller and others added 20 commits April 16, 2025 13:10
…SQL execution logic

- Removed the executeUpdate parameter from QueryHandler and ChannelSqlExtension.
- Simplified SQL execution by directly executing queries without checking for DDL or UPDATE statements.

Signed-off-by: Edmund Miller <[email protected]>
- Introduced `execute` and `executeUpdate` methods for executing SQL statements without returning a result set.
- Added parameter validation and error handling for database connections.
- Implemented SQL statement normalization to ensure proper execution.

Signed-off-by: Edmund Miller <[email protected]>
- Added tests for DDL and DML operations, including table creation, updates, and deletions.
- Implemented error handling tests for invalid SQL statements and database configurations.
- Ensured proper handling of statement normalization.

Signed-off-by: Edmund Miller <[email protected]>
- Changed `execute` and `executeUpdate` methods from static to instance methods, allowing for better integration with session management.
- Updated test cases to reflect the new method calls and ensure proper session initialization.

Signed-off-by: Edmund Miller <[email protected]>
- Changed the database configuration from in-memory to file-based for persistence.
- Updated SQL statements to use uppercase for table and column names for consistency.
- Enhanced logging to include results of table creation and updates.

Signed-off-by: Edmund Miller <[email protected]>
…ions

- Added try-catch blocks around `setAutoCommit` and `commit` methods to handle exceptions for databases that do not support these operations.
- Improved logging to provide feedback when default behaviors are used due to unsupported operations.

Signed-off-by: Edmund Miller <[email protected]>
- Added a new `.envrc` file to manage environment variables for database connections.

Signed-off-by: Edmund Miller <[email protected]>
- Renamed the `execute` function to `sqlExecute` for clarity and consistency.
- Updated all references in the README, example scripts, and tests to reflect the new function name.
- Enhanced documentation to provide clearer usage examples for SQL execution functions.

Signed-off-by: Edmund Miller <[email protected]>

Co-authored-by: Edmund Miller <[email protected]>
Co-authored-by: Paolo Di Tommaso <[email protected]>
- Enhanced logging in examples to provide feedback on the number of affected rows and results of DDL operations.

Signed-off-by: Edmund Miller <[email protected]>

Co-authored-by: Paolo Di Tommaso <[email protected]>
- Modified the `sqlExecute` method to return a map containing success status, affected rows, and error messages for both DDL and DML operations.
- Updated documentation to reflect the new return structure.
- Adjusted unit tests to validate the new response format and ensure proper handling of success and error cases.

Signed-off-by: Edmund Miller <[email protected]>
Co-authored-by: Paolo Di Tommaso <[email protected]>
Signed-off-by: Edmund Miller <[email protected]>
Signed-off-by: Paolo Di Tommaso <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants