Skip to content

refactor: enhance extra info handling for table columns in ClickHouse#1479

Merged
Artuomka merged 1 commit into
mainfrom
backend_clickhouse_improvements
Dec 19, 2025
Merged

refactor: enhance extra info handling for table columns in ClickHouse#1479
Artuomka merged 1 commit into
mainfrom
backend_clickhouse_improvements

Conversation

@Artuomka

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings December 19, 2025 15:01
@Artuomka Artuomka merged commit 34856ea into main Dec 19, 2025
18 checks passed
@Artuomka Artuomka deleted the backend_clickhouse_improvements branch December 19, 2025 15:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR enhances how the ClickHouse data access object handles the extra field in table column metadata by introducing a new method to build more comprehensive column information.

  • Introduced a new buildExtraInfo method to construct the extra field value based on both primary key status and auto-increment detection patterns
  • Updated column structure mapping to use the new method instead of simple conditional logic
  • Enhanced auto-increment detection to support ClickHouse-specific functions like generateuuidv4, generateuuid, rownumberinallblocks, and other generation patterns

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +813 to +814
lowerDefault.includes('nextval') ||
lowerDefault.includes('generate')

Copilot AI Dec 19, 2025

Copy link

Choose a reason for hiding this comment

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

The condition lowerDefault.includes('generate') is too broad and will incorrectly flag many default expressions that aren't auto-increment related. For example, it would match expressions like "regenerate_token()", "generate_report()", or any string containing the word "generate". This could lead to false positives where columns are incorrectly marked as having auto_increment behavior.

Consider either removing this catch-all condition or making it more specific to ClickHouse auto-generation functions. The more specific checks above it (generateuuidv4, generateuuid, etc.) should be sufficient for most cases.

Suggested change
lowerDefault.includes('nextval') ||
lowerDefault.includes('generate')
lowerDefault.includes('nextval')

Copilot uses AI. Check for mistakes.
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.

2 participants