Skip to content

fix: disable parquet prewhere by default#19610

Open
SkyFan2002 wants to merge 3 commits intodatabendlabs:mainfrom
SkyFan2002:respect-parquet-prewhere-setting
Open

fix: disable parquet prewhere by default#19610
SkyFan2002 wants to merge 3 commits intodatabendlabs:mainfrom
SkyFan2002:respect-parquet-prewhere-setting

Conversation

@SkyFan2002
Copy link
Member

@SkyFan2002 SkyFan2002 commented Mar 24, 2026

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

  • Respect enable_parquet_prewhere when applying prewhere pushdown
  • Skip prewhere pushdown for parquet-backed tables when the setting is disabled, including Fuse parquet tables

Changes

  1. Thread enable_parquet_prewhere from RuleFactory into RulePushDownPrewhere
  2. Gate prewhere pushdown on both table support and parquet format setting
  3. Add a unit test for the new gating helper
  4. Add a sqllogictest covering the parquet prewhere setting with fail/success behavior

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Pair with the reviewer to explain why

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that causes existing functionality to change)

Risks

  • When enable_parquet_prewhere = 0, parquet-backed tables will no longer use prewhere pushdown in the optimizer

This change is Reviewable

@github-actions github-actions bot added the pr-bugfix this PR patches a bug in codebase label Mar 24, 2026
@SkyFan2002 SkyFan2002 changed the title fix: respect enable_parquet_prewhere for parquet prewhere fix: disable parquet prewhere by default Mar 24, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 24, 2026

🤖 CI Job Analysis

Workflow: 23493732860

📊 Summary

  • Total Jobs: 86
  • Failed Jobs: 13
  • Retryable: 0
  • Code Issues: 13

NO RETRY NEEDED

All failures appear to be code/test issues requiring manual fixes.

🔍 Job Details

  • linux / test_stateless_cluster: Not retryable (Code/Test)
  • linux / test_ee_standalone: Not retryable (Code/Test)
  • linux / test_stateless_standalone: Not retryable (Code/Test)
  • linux / sqllogic / standalone_no_table_meta_cache (no_table_meta_cache, http): Not retryable (Code/Test)
  • linux / sqllogic / ee (parquet): Not retryable (Code/Test)
  • linux / sqllogic / cluster (cluster, 2c, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (base, 2c, 2, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (cluster, 2c, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (standalone, 2c, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (base, 2c, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone (base, 2c, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (standalone, 2c, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (base, 2c, 2, http): Not retryable (Code/Test)

🤖 About

Automated analysis using job annotations to distinguish infrastructure issues (auto-retried) from code/test issues (manual fixes needed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-bugfix this PR patches a bug in codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants