feat(cli): add starrocks support#671
Conversation
🚀 Preview Deployment
Preview will be automatically removed when this PR is closed. |
There was a problem hiding this comment.
1 issue found across 12 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="cli/nao_core/config/databases/starrocks.py">
<violation number="1" location="cli/nao_core/config/databases/starrocks.py:68">
P1: SQL identifiers and literals are interpolated without quoting/escaping, so valid StarRocks names can fail and user-controlled values can alter the query.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
1 issue found across 12 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="cli/nao_core/config/databases/starrocks.py">
<violation number="1" location="cli/nao_core/config/databases/starrocks.py:151">
P2: `SHOW FULL COLUMNS` nullability is read from the collation column instead of the `Null` column, so fallback column metadata can report incorrect nullable flags.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
|
Hello, @ido177 thank you so much for your first contribution. As I don't have any Starrocks available I can't try, just to confirm did you try with a running Starrocks? Also, there is some uv issues + ruff installs, can you find a way to fix it? |
9d9445a to
4911ec6
Compare
|
Hi @Bl3f yes, I've tested this on my local environment and it works fine just updated the branch and fixed 1 line, |
Can you provide errors? I can't find the log |
Hi
This PR introduces support for StarRocks by adding a dedicated connector and extending catalog handling.
The existing MySQL connector is not compatible with StarRocks in our use case.
When used via Ibis, it triggers errors due to SHOW statements being executed inside explicit transactions:
Since StarRocks does not allow SHOW statements within transactions, this leads to failures.
To resolve this, we switched to using
mysql-connector-pythonfor interacting with StarRocks, avoiding the problematic behavior.Added support for working with multiple catalogs in StarRocks.
Unlike MySQL, StarRocks has a hierarchical structure:
catalog → database → tableThe previous implementation assumed a single-catalog model (as in MySQL), which is not sufficient for StarRocks. This change enables specifying and working with multiple catalogs.