Skip to content

Conversation

@guanshengliang
Copy link
Contributor

Description

Issue(s)

  • Close/close/Fix/fix/Resolve/resolve: Issue Link

Checklist

Please check the items in the checklist if applicable.

  • Is the user manual updated?
  • Are the test cases passed and automated?
  • Is there no significant decrease in test coverage?

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @guanshengliang, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request integrates a set of changes from the 3.3.8 branch into main. The most significant update is the introduction of a new query optimization feature designed to eliminate unnecessary virtual table scan operations, thereby enhancing query efficiency. Additionally, the PR includes several targeted improvements such as more robust error handling in metadata operations, better debugging information for data loading issues, and refined logic for managing column references and primary timestamps within virtual tables. These changes are supported by new, dedicated test cases to ensure the stability and correctness of the implemented optimizations.

Highlights

  • Virtual Table Scan Elimination Optimization: Implemented a new query optimizer flag and logic to eliminate redundant virtual table scan operations, improving query performance.
  • Enhanced Virtual Table Column Referencing: Added logic to correctly set column references for virtual tables during parsing, particularly for single table name hashes.
  • Improved Error Handling in Metadata Operations: Ensured metaDropTableColumn returns immediately on error, preventing potential issues from continued execution.
  • Refined Primary Timestamp Handling in Virtual Tables: Modified the planning logic for virtual tables to handle primary timestamp columns more gracefully, allowing processing to continue instead of erroring out in specific scenarios.
  • Improved Debugging for Data Loading: Enhanced error messages for data block loading failures by including the line number, aiding in quicker debugging.
  • New Test Cases for Virtual Table Optimization: Added comprehensive test cases to validate the new virtual table scan elimination optimization, covering both query plans and actual query results.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request merges changes from the 3.3.8 release branch to main. The changes include several bug fixes and enhancements, particularly around virtual table query optimization. New tests have been added to validate the new optimization logic that eliminates virtual table scans in certain cases.

My review has found a critical issue in source/libs/planner/src/planOptimizer.c. A new optimizer flag has been introduced with a value that conflicts with an existing flag, which will cause incorrect behavior. This needs to be addressed. The other changes appear to be correct and improve the codebase.

#define OPTIMIZE_FLAG_JOIN_COND OPTIMIZE_FLAG_MASK(4)
#define OPTIMIZE_FLAG_VTB_WINDOW OPTIMIZE_FLAG_MASK(5)
#define OPTIMIZE_FLAG_VTB_AGG OPTIMIZE_FLAG_MASK(6)
#define OPTIMIZE_FLAG_ELIMINATE_VSCAN OPTIMIZE_FLAG_MASK(5)
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

The new flag OPTIMIZE_FLAG_ELIMINATE_VSCAN is defined with the same value as the existing OPTIMIZE_FLAG_VTB_WINDOW flag (OPTIMIZE_FLAG_MASK(5)). Reusing flag values will cause conflicts and unpredictable behavior in the query optimizer, as operations on one flag will unintentionally affect the other. Optimizer flags must have unique bit values to function correctly. Please assign a unique bit to OPTIMIZE_FLAG_ELIMINATE_VSCAN.

#define OPTIMIZE_FLAG_ELIMINATE_VSCAN OPTIMIZE_FLAG_MASK(7)

@guanshengliang guanshengliang merged commit f1a2d12 into main Jan 29, 2026
14 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants