Add CREATE DATABASE DDL with Deployer mechanism for K8s Database objects#214
Merged
ryannedolan merged 8 commits intomainfrom Apr 30, 2026
Merged
Add CREATE DATABASE DDL with Deployer mechanism for K8s Database objects#214ryannedolan merged 8 commits intomainfrom
ryannedolan merged 8 commits intomainfrom
Conversation
Introduces CREATE [OR REPLACE] DATABASE <name> [WITH (...)] syntax that deploys a Database CRD to Kubernetes via the Deployer pattern. Includes parser, executor, shared processCreateDatabase util, K8sDatabaseDeployer, and quidem test with !specify support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Code Coverage
|
SQL parser uppercases unquoted identifiers, so WITH (url '...') produces key "URL". Use a case-insensitive TreeMap in K8sDatabaseDeployer and fix expected config key casing in the CREATE JOB quidem test. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SnakeYAML serializes Java enums by name (MYSQL) not value (MySQL). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jogrogan
reviewed
Apr 30, 2026
Collaborator
jogrogan
left a comment
There was a problem hiding this comment.
lgtm but please add unit tests for any non-generated parser code. There should be existing example for unit testing deployers and HoptimatorDdlUtils and whatnot
Collaborator
Author
|
@copilot can you add the unit tests referenced above |
…sDeployerProvider Agent-Logs-Url: https://github.com/linkedin/Hoptimator/sessions/b448a07f-580a-40c3-a885-a6b2a53fcf25 Co-authored-by: ryannedolan <1387539+ryannedolan@users.noreply.github.com>
auto-merge was automatically disabled
April 30, 2026 20:22
Head branch was pushed to by a user without write access
…mmar Agent-Logs-Url: https://github.com/linkedin/Hoptimator/sessions/b448a07f-580a-40c3-a885-a6b2a53fcf25 Co-authored-by: ryannedolan <1387539+ryannedolan@users.noreply.github.com>
Contributor
Added unit tests in commit
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Collaborator
Author
|
@copilot fix checkstyle errors: |
Agent-Logs-Url: https://github.com/linkedin/Hoptimator/sessions/975eee55-ade8-4ede-b3d8-70015a063e28 Co-authored-by: ryannedolan <1387539+ryannedolan@users.noreply.github.com>
Contributor
... Fixed in commit |
jogrogan
pushed a commit
that referenced
this pull request
May 1, 2026
…cts (#214) * Add CREATE DATABASE DDL with Deployer mechanism for K8s Database objects Introduces CREATE [OR REPLACE] DATABASE <name> [WITH (...)] syntax that deploys a Database CRD to Kubernetes via the Deployer pattern. Includes parser, executor, shared processCreateDatabase util, K8sDatabaseDeployer, and quidem test with !specify support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix case-insensitive option lookup in deployers SQL parser uppercases unquoted identifiers, so WITH (url '...') produces key "URL". Use a case-insensitive TreeMap in K8sDatabaseDeployer and fix expected config key casing in the CREATE JOB quidem test. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Fix expected dialect enum serialization in quidem test SnakeYAML serializes Java enums by name (MYSQL) not value (MySQL). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add unit tests for K8sDatabaseDeployer, processCreateDatabase, and K8sDeployerProvider Agent-Logs-Url: https://github.com/linkedin/Hoptimator/sessions/b448a07f-580a-40c3-a885-a6b2a53fcf25 Co-authored-by: ryannedolan <1387539+ryannedolan@users.noreply.github.com> * Address code review feedback: rename test methods and fix comment grammar Agent-Logs-Url: https://github.com/linkedin/Hoptimator/sessions/b448a07f-580a-40c3-a885-a6b2a53fcf25 Co-authored-by: ryannedolan <1387539+ryannedolan@users.noreply.github.com> * Remove unused V1alpha1DatabaseSpec import from K8sDatabaseDeployerTest Agent-Logs-Url: https://github.com/linkedin/Hoptimator/sessions/975eee55-ade8-4ede-b3d8-70015a063e28 Co-authored-by: ryannedolan <1387539+ryannedolan@users.noreply.github.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ryannedolan <1387539+ryannedolan@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
create databaseddlDetails
Introduces
CREATE [OR REPLACE] DATABASE <name> [WITH (...)]syntax that deploys a Database CRD to Kubernetes via the Deployer pattern. Includes parser, executor, shared processCreateDatabase util, K8sDatabaseDeployer, and quidem test with!specifysupport.Testing Done
produces: