Skip to content

Exp/r6 pruningpredicate rates#13

Open
adriangb wants to merge 18 commits into
mainfrom
exp/r6-pruningpredicate-rates
Open

Exp/r6 pruningpredicate rates#13
adriangb wants to merge 18 commits into
mainfrom
exp/r6-pruningpredicate-rates

Conversation

@adriangb

Copy link
Copy Markdown
Owner

No description provided.

@adriangb

Copy link
Copy Markdown
Owner Author

run benchmarks

baseline:
    ref: main
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: false
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: false
changed:
    ref: HEAD
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: true

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4444249287-42-5csbw 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing HEAD (ada0472) to main diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4444249287-43-phv64 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing HEAD (ada0472) to main diff using: tpcds
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4444249287-44-vqb69 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing HEAD (ada0472) to main diff using: tpch
Results will be posted here when complete


File an issue against this benchmark runner

@github-actions

github-actions Bot commented May 13, 2026

Copy link
Copy Markdown

Thank you for opening this pull request!

Reviewer note: cargo-semver-checks reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch).

Details
     Cloning apache/main
    Building datafusion v53.1.0 (current)
error: running cargo-doc on crate 'datafusion' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling find-msvc-tools v0.1.9
   Compiling shlex v1.3.0
   Compiling autocfg v1.5.0
   Compiling libm v0.2.16
   Compiling num-traits v0.2.19
   Compiling syn v2.0.117
    Checking memchr v2.8.0
   Compiling jobserver v0.1.34
   Compiling version_check v0.9.5
   Compiling cc v1.2.62
   Compiling zerocopy v0.8.48
    Checking bytes v1.11.1
   Compiling serde_core v1.0.228
   Compiling getrandom v0.3.4
    Checking once_cell v1.21.4
    Checking itoa v1.0.18
   Compiling zmij v1.0.21
    Checking num-integer v0.1.46
   Compiling serde v1.0.228
   Compiling serde_json v1.0.149
    Checking num-bigint v0.4.6
    Checking allocator-api2 v0.2.21
   Compiling pkg-config v0.3.33
    Checking iana-time-zone v0.1.65
    Checking foldhash v0.2.0
    Checking equivalent v1.0.2
    Checking siphasher v1.0.3
    Checking hashbrown v0.17.1
    Checking phf_shared v0.12.1
    Checking chrono v0.4.44
   Compiling synstructure v0.13.2
   Compiling ahash v0.8.12
    Checking stable_deref_trait v1.2.1
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
    Checking num-complex v0.4.6
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking pin-project-lite v0.2.17
   Compiling zstd-safe v7.2.4
    Checking lexical-util v1.0.7
    Checking futures-sink v0.3.32
   Compiling object v0.37.3
   Compiling zerocopy-derive v0.8.48
   Compiling serde_derive v1.0.228
   Compiling zerofrom-derive v0.1.7
    Checking zerofrom v0.1.8
   Compiling yoke-derive v0.8.2
    Checking arrow-schema v58.3.0
    Checking half v2.7.1
    Checking yoke v0.8.2
    Checking arrow-buffer v58.3.0
   Compiling zerovec-derive v0.11.3
   Compiling displaydoc v0.2.5
    Checking litemap v0.8.2
    Checking arrow-data v58.3.0
    Checking writeable v0.6.3
    Checking smallvec v1.15.1
    Checking futures-core v0.3.32
    Checking zerotrie v0.2.4
    Checking arrow-array v58.3.0
    Checking zerovec v0.11.6
   Compiling icu_normalizer_data v2.2.0
    Checking tinystr v0.8.3
    Checking icu_locale_core v2.2.0
    Checking potential_utf v0.1.5
   Compiling icu_properties_data v2.2.0
    Checking utf8_iter v1.0.4
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
   Compiling tokio-macros v2.7.0
    Checking arrow-select v58.3.0
   Compiling crc32fast v1.5.0
   Compiling semver v1.0.28
   Compiling rustc_version v0.4.1
    Checking tokio v1.52.3
    Checking futures-channel v0.3.32
   Compiling futures-macro v0.3.32
    Checking lexical-parse-integer v1.0.6
    Checking lexical-write-integer v1.0.6
    Checking slab v0.4.12
    Checking simd-adler32 v0.3.9
    Checking bitflags v2.11.1
   Compiling parking_lot_core v0.9.12
    Checking futures-task v0.3.32
    Checking futures-io v0.3.32
    Checking adler2 v2.0.1
    Checking miniz_oxide v0.8.9
   Compiling ar_archive_writer v0.5.1
    Checking futures-util v0.3.32
    Checking lexical-write-float v1.0.6
    Checking lexical-parse-float v1.0.6
    Checking icu_properties v2.2.0
   Compiling psm v0.1.31
    Checking icu_normalizer v2.2.0
   Compiling flatbuffers v25.12.19
    Checking aho-corasick v1.1.4
    Checking base64 v0.22.1
    Checking zlib-rs v0.6.3
    Checking zstd v0.13.3
    Checking unicode-segmentation v1.13.2
    Checking regex-syntax v0.8.10
    Checking ryu v1.0.23
    Checking scopeguard v1.2.0
   Compiling getrandom v0.4.2
    Checking unicode-width v0.2.2
    Checking lock_api v0.4.14
    Checking comfy-table v7.2.2
    Checking idna_adapter v1.2.2
    Checking lexical-core v1.0.6
    Checking flate2 v1.1.9
    Checking arrow-ord v58.3.0
    Checking indexmap v2.14.0
   Compiling stacker v0.1.24
    Checking atoi v2.0.0
   Compiling thiserror v2.0.18
   Compiling snap v1.1.1
    Checking twox-hash v2.1.2
    Checking alloc-no-stdlib v2.0.4
    Checking percent-encoding v2.3.2
    Checking lz4_flex v0.13.1
    Checking alloc-stdlib v0.2.2
    Checking form_urlencoded v1.2.2
    Checking regex-automata v0.4.14
    Checking arrow-cast v58.3.0
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling thiserror-impl v2.0.18
   Compiling tracing-attributes v0.1.31
   Compiling ring v0.17.14
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
    Checking simdutf8 v0.1.5
    Checking regex v1.12.3
    Checking either v1.15.0
   Compiling paste v1.0.15
    Checking same-file v1.0.6
    Checking walkdir v2.5.0
    Checking itertools v0.14.0
    Checking tracing v0.1.44
    Checking csv v1.4.0
    Checking futures v0.3.32
    Checking url v2.5.8
    Checking arrow-ipc v58.3.0
    Checking brotli-decompressor v5.0.0
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
   Compiling recursive-proc-macro-impl v0.1.1
    Checking http v1.4.0
    Checking ordered-float v2.10.1
    Checking getrandom v0.2.17
    Checking integer-encoding v3.0.4
    Checking byteorder v1.5.0
    Checking untrusted v0.9.0
    Checking humantime v2.3.0
    Checking log v0.4.29
    Checking thrift v0.17.0
    Checking recursive v0.1.1
    Checking object_store v0.13.2
    Checking brotli v8.0.2
    Checking arrow-csv v58.3.0
    Checking arrow-string v58.3.0
    Checking arrow-json v58.3.0
    Checking uuid v1.23.1
    Checking arrow-arith v58.3.0
    Checking arrow-row v58.3.0
   Compiling sqlparser_derive v0.5.0
   Compiling seq-macro v0.3.6
    Checking arrow v58.3.0
    Checking hex v0.4.3
    Checking typenum v1.20.0
    Checking sqlparser v0.62.0
   Compiling pin-project-internal v1.1.13
   Compiling generic-array v0.14.7
    Checking datafusion-doc v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking hybrid-array v0.4.12
    Checking pin-project v1.1.13
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking foldhash v0.1.5
   Compiling rustix v1.1.4
   Compiling crossbeam-utils v0.8.21
    Checking parquet v58.3.0
    Checking hashbrown v0.15.5
    Checking rand_chacha v0.9.0
    Checking fixedbitset v0.5.7
    Checking linux-raw-sys v0.12.1
    Checking petgraph v0.8.3
    Checking rand v0.9.4
    Checking block-buffer v0.12.0
    Checking crypto-common v0.2.1
    Checking hashbrown v0.14.5
    Checking fastrand v2.4.1
    Checking const-oid v0.10.2
    Checking digest v0.11.3
    Checking tempfile v3.27.0
   Compiling datafusion-macros v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking dashmap v6.1.0
    Checking crypto-common v0.1.7
    Checking block-buffer v0.10.4
   Compiling blake3 v1.8.5
    Checking cpufeatures v0.3.0
    Checking subtle v2.6.1
    Checking digest v0.10.7
    Checking arrayvec v0.7.6
    Checking arrayref v0.3.9
    Checking constant_time_eq v0.4.2
    Checking blake2 v0.10.6
    Checking sha2 v0.11.0
    Checking md-5 v0.11.0
   Compiling liblzma-sys v0.4.6
    Checking libbz2-rs-sys v0.2.4
    Checking bzip2 v0.6.1
    Checking datafusion-common-runtime v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking compression-core v0.4.32
    Checking tokio-util v0.7.18
    Checking glob v0.3.3
   Compiling bigdecimal v0.4.10
   Compiling heck v0.5.0
    Checking crc-catalog v2.5.0
    Checking crc v3.4.0
   Compiling strum_macros v0.28.0
    Checking tokio-stream v0.1.18
    Checking liblzma v0.4.6
    Checking compression-codecs v0.4.38
    Checking arrow-avro v58.3.0
    Checking async-compression v0.4.42
    Checking datafusion-common v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
error[E0599]: no method named `set_column_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:161:22
    |
160 |                   builder = builder
    |  ___________________________-
161 | |                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
    | |_____________________-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_column_bloom_filter_ndv` with a similar name
    |
161 -                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
161 +                     .set_column_bloom_filter_ndv(path.clone(), bloom_filter_ndv);
    |

error[E0599]: no method named `set_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:241:31
    |
241 |             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_bloom_filter_ndv` with a similar name
    |
241 -             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
241 +             builder = builder.set_bloom_filter_ndv(*bloom_filter_ndv);
    |

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-common` (lib) due to 2 previous errors

-----

error: failed to build rustdoc for crate datafusion v53.1.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/core --features array_expressions,avro,backtrace,bzip2,compression,crypto_expressions,datafusion-datasource-avro,datafusion-datasource-parquet,datafusion-functions-nested,datafusion-sql,datetime_expressions,default,encoding_expressions,extended_tests,flate2,force_hash_collisions,liblzma,math_expressions,nested_expressions,parquet,parquet_encryption,recursive_protection,regex_expressions,serde,sql,sqlparser,string_expressions,unicode_expressions,zstd &&
          cargo check &&
          cargo doc

    Building datafusion-catalog-listing v53.1.0 (current)
       Built [  42.294s] (current)
     Parsing datafusion-catalog-listing v53.1.0 (current)
      Parsed [   0.013s] (current)
    Building datafusion-catalog-listing v53.1.0 (baseline)
       Built [  42.603s] (baseline)
     Parsing datafusion-catalog-listing v53.1.0 (baseline)
      Parsed [   0.013s] (baseline)
    Checking datafusion-catalog-listing v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.120s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  86.212s] datafusion-catalog-listing
    Building datafusion-cli v53.1.0 (current)
error: running cargo-doc on crate 'datafusion-cli' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
    Checking cfg-if v1.0.4
   Compiling libc v0.2.186
   Compiling shlex v1.3.0
   Compiling find-msvc-tools v0.1.9
    Checking bytes v1.11.1
    Checking memchr v2.8.0
   Compiling syn v2.0.117
   Compiling jobserver v0.1.34
   Compiling autocfg v1.5.0
   Compiling cc v1.2.62
    Checking itoa v1.0.18
   Compiling libm v0.2.16
   Compiling num-traits v0.2.19
    Checking smallvec v1.15.1
    Checking once_cell v1.21.4
    Checking pin-project-lite v0.2.17
    Checking futures-core v0.3.32
   Compiling parking_lot_core v0.9.12
    Checking scopeguard v1.2.0
    Checking lock_api v0.4.14
    Checking errno v0.3.14
    Checking futures-sink v0.3.32
    Checking signal-hook-registry v1.4.8
    Checking parking_lot v0.12.5
    Checking socket2 v0.6.3
    Checking mio v1.2.0
    Checking allocator-api2 v0.2.21
    Checking num-integer v0.1.46
    Checking foldhash v0.2.0
    Checking equivalent v1.0.2
   Compiling version_check v0.9.5
    Checking slab v0.4.12
    Checking hashbrown v0.17.1
    Checking futures-channel v0.3.32
    Checking http v1.4.0
   Compiling serde_core v1.0.228
    Checking ryu v1.0.23
    Checking futures-task v0.3.32
    Checking fnv v1.0.7
    Checking futures-io v0.3.32
    Checking zeroize v1.8.2
   Compiling zerocopy v0.8.48
    Checking http-body v1.0.1
    Checking typenum v1.20.0
    Checking tracing-core v0.1.36
   Compiling synstructure v0.13.2
   Compiling serde v1.0.228
   Compiling cmake v0.1.58
    Checking either v1.15.0
   Compiling dunce v1.0.5
   Compiling fs_extra v1.3.0
    Checking http-body-util v0.1.3
   Compiling getrandom v0.3.4
   Compiling aws-lc-sys v0.41.0
   Compiling zmij v1.0.21
    Checking indexmap v2.14.0
   Compiling serde_json v1.0.149
    Checking stable_deref_trait v1.2.1
    Checking percent-encoding v2.3.2
   Compiling tokio-macros v2.7.0
   Compiling futures-macro v0.3.32
   Compiling zerocopy-derive v0.8.48
   Compiling tracing-attributes v0.1.31
    Checking tokio v1.52.3
    Checking futures-util v0.3.32
    Checking tracing v0.1.44
   Compiling serde_derive v1.0.228
   Compiling zerofrom-derive v0.1.7
    Checking zerofrom v0.1.8
   Compiling yoke-derive v0.8.2
    Checking yoke v0.8.2
   Compiling ring v0.17.14
    Checking subtle v2.6.1
   Compiling aws-lc-rs v1.17.0
   Compiling zerovec-derive v0.11.3
    Checking num-bigint v0.4.6
    Checking siphasher v1.0.3
   Compiling pkg-config v0.3.33
    Checking base64 v0.22.1
    Checking iana-time-zone v0.1.65
    Checking chrono v0.4.44
    Checking phf_shared v0.12.1
    Checking zerovec v0.11.6
    Checking half v2.7.1
    Checking tokio-util v0.7.18
   Compiling displaydoc v0.2.5
    Checking rustls-pki-types v1.14.1
   Compiling ahash v0.8.12
    Checking getrandom v0.2.17
   Compiling semver v1.0.28
   Compiling chrono-tz v0.10.4
   Compiling httparse v1.10.1
    Checking untrusted v0.9.0
   Compiling rustc_version v0.4.1
    Checking arrow-buffer v58.3.0
    Checking phf v0.12.1
    Checking arrow-schema v58.3.0
    Checking tower-service v0.3.3
    Checking try-lock v0.2.5
   Compiling rustls v0.23.40
    Checking atomic-waker v1.1.2
    Checking h2 v0.4.14
    Checking arrow-data v58.3.0
    Checking want v0.3.1
    Checking num-complex v0.4.6
    Checking rand_core v0.10.1
   Compiling getrandom v0.4.2
    Checking hyper v1.9.0
    Checking tinystr v0.8.3
    Checking form_urlencoded v1.2.2
    Checking sync_wrapper v1.0.2
    Checking writeable v0.6.3
    Checking tower-layer v0.3.3
    Checking openssl-probe v0.2.1
    Checking litemap v0.8.2
    Checking ipnet v2.12.0
    Checking cpufeatures v0.3.0
    Checking icu_locale_core v2.2.0
    Checking hyper-util v0.1.20
    Checking rustls-native-certs v0.8.3
    Checking tower v0.5.3
    Checking zerotrie v0.2.4
    Checking potential_utf v0.1.5
   Compiling zstd-sys v2.0.16+zstd.1.5.7
   Compiling generic-array v0.14.7
    Checking utf8_iter v1.0.4
    Checking bitflags v2.11.1
   Compiling icu_normalizer_data v2.2.0
   Compiling icu_properties_data v2.2.0
    Checking arrow-array v58.3.0
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
    Checking lexical-util v1.0.7
   Compiling object v0.37.3
   Compiling zstd-safe v7.2.4
    Checking icu_normalizer v2.2.0
    Checking arrow-select v58.3.0
    Checking icu_properties v2.2.0
    Checking log v0.4.29
    Checking idna_adapter v1.2.2
    Checking crypto-common v0.1.7
    Checking block-buffer v0.10.4
    Checking aho-corasick v1.1.4
   Compiling crc32fast v1.5.0
    Checking regex-syntax v0.8.10
    Checking regex-automata v0.4.14
   Compiling ar_archive_writer v0.5.1
    Checking digest v0.10.7
    Checking idna v1.1.0
    Checking lexical-parse-integer v1.0.6
    Checking lexical-write-integer v1.0.6
    Checking uuid v1.23.1
    Checking unicode-segmentation v1.13.2
    Checking simd-adler32 v0.3.9
    Checking hex v0.4.3
    Checking adler2 v2.0.1
    Checking unicode-width v0.2.2
    Checking miniz_oxide v0.8.9
    Checking lexical-write-float v1.0.6
    Checking url v2.5.8
    Checking lexical-parse-float v1.0.6
   Compiling psm v0.1.31
    Checking regex v1.12.3
   Compiling flatbuffers v25.12.19
    Checking zlib-rs v0.6.3
    Checking lexical-core v1.0.6
    Checking comfy-table v7.2.2
    Checking arrow-ord v58.3.0
    Checking atoi v2.0.0
   Compiling stacker v0.1.24
    Checking twox-hash v2.1.2
    Checking alloc-no-stdlib v2.0.4
   Compiling snap v1.1.1
    Checking flate2 v1.1.9
   Compiling thiserror v2.0.18
    Checking alloc-stdlib v0.2.2
    Checking lz4_flex v0.13.1
    Checking arrow-cast v58.3.0
    Checking tower-http v0.6.10
    Checking chacha20 v0.10.0
    Checking serde_urlencoded v0.7.1
    Checking futures-executor v0.3.32
   Compiling thiserror-impl v2.0.18
    Checking csv-core v0.1.13
   Compiling paste v1.0.15
    Checking same-file v1.0.6
    Checking simdutf8 v0.1.5
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking futures v0.3.32
    Checking rand v0.10.1
    Checking brotli-decompressor v5.0.0
    Checking md-5 v0.10.6
    Checking quick-xml v0.39.4
    Checking zstd v0.13.3
   Compiling async-trait v0.1.89
    Checking arrow-ipc v58.3.0
   Compiling recursive-proc-macro-impl v0.1.1
    Checking itertools v0.14.0
    Checking ordered-float v2.10.1
    Checking byteorder v1.5.0
    Checking integer-encoding v3.0.4
    Checking humantime v2.3.0
    Checking thrift v0.17.0
    Checking recursive v0.1.1
    Checking brotli v8.0.2
    Checking arrow-csv v58.3.0
    Checking arrow-json v58.3.0
    Checking arrow-string v58.3.0
    Checking arrow-row v58.3.0
    Checking arrow-arith v58.3.0
   Compiling sqlparser_derive v0.5.0
    Checking hybrid-array v0.4.12
   Compiling seq-macro v0.3.6
    Checking sqlparser v0.62.0
    Checking arrow v58.3.0
    Checking cmov v0.5.3
    Checking block-buffer v0.12.0
    Checking ctutils v0.4.2
    Checking crypto-common v0.2.1
   Compiling pin-project-internal v1.1.13
    Checking const-oid v0.10.2
    Checking digest v0.11.3
    Checking fastrand v2.4.1
    Checking sha2 v0.11.0
    Checking pin-project v1.1.13
    Checking datafusion-doc v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
   Compiling rustix v1.1.4
   Compiling crossbeam-utils v0.8.21
    Checking foldhash v0.1.5
    Checking hashbrown v0.15.5
    Checking rand_chacha v0.9.0
    Checking linux-raw-sys v0.12.1
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
    Checking rand v0.9.4
    Checking hashbrown v0.14.5
   Compiling datafusion-macros v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking dashmap v6.1.0
    Checking tempfile v3.27.0
   Compiling blake3 v1.8.5
    Checking constant_time_eq v0.4.2
    Checking arrayvec v0.7.6
    Checking arrayref v0.3.9
    Checking md-5 v0.11.0
    Checking blake2 v0.10.6
   Compiling liblzma-sys v0.4.6
    Checking powerfmt v0.2.0
    Checking deranged v0.5.8
    Checking http v0.2.12
    Checking time-core v0.1.8
    Checking vsimd v0.8.0
    Checking outref v0.5.2
    Checking num-conv v0.2.1
    Checking time v0.3.47
    Checking base64-simd v0.8.0
    Checking http-body v0.4.6
    Checking bytes-utils v0.1.4
    Checking libbz2-rs-sys v0.2.4
    Checking pin-utils v0.1.0
    Checking aws-smithy-types v1.4.7
    Checking bzip2 v0.6.1
    Checking datafusion-common-runtime v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking compression-core v0.4.32
    Checking aws-smithy-async v1.2.14
   Compiling aws-smithy-runtime-api-macros v1.0.0
    Checking aws-smithy-runtime-api v1.12.0
    Checking glob v0.3.3
    Checking aws-smithy-http v0.63.6
    Checking aws-credential-types v1.2.14
   Compiling aws-types v1.3.15
    Checking aws-smithy-observability v0.2.6
    Checking hmac v0.13.0
   Compiling heck v0.5.0
    Checking utf8parse v0.2.2
    Checking aws-sigv4 v1.4.3
    Checking anstyle-parse v1.0.0
    Checking aws-smithy-json v0.62.5
   Compiling bigdecimal v0.4.10
    Checking is_terminal_polyfill v1.70.2
    Checking regex-lite v0.1.9
    Checking crc-catalog v2.5.0
   Compiling cfg_aliases v0.2.1
    Checking anstyle-query v1.1.5
    Checking colorchoice v1.0.5
    Checking anstyle v1.0.14
    Checking anstream v1.0.0
   Compiling nix v0.31.3
    Checking crc v3.4.0
   Compiling strum_macros v0.28.0
   Compiling libmimalloc-sys v0.1.47
    Checking urlencoding v2.1.3
    Checking xmlparser v0.13.6
    Checking aws-smithy-xml v0.60.15
    Checking aws-smithy-query v0.60.15
    Checking tokio-stream v0.1.18
    Checking nibble_vec v0.1.0
    Checking strsim v0.11.1
    Checking endian-type v0.2.0
    Checking cpufeatures v0.2.17
    Checking option-ext v0.2.0
    Checking clap_lex v1.1.0
    Checking dirs-sys v0.5.0
    Checking sha1 v0.10.6
    Checking clap_builder v4.6.0
    Checking radix_trie v0.3.0
    Checking liblzma v0.4.6
    Checking compression-codecs v0.4.38
    Checking arrow-avro v58.3.0
    Checking async-compression v0.4.42
   Compiling clap_derive v4.6.1
    Checking env_filter v1.0.1
    Checking home v0.5.12
    Checking jiff v0.2.24
    Checking rustyline v18.0.0
    Checking clap v4.6.1
    Checking mimalloc v0.1.50
    Checking dirs v6.0.0
    Checking env_logger v0.11.10
    Checking rustls-webpki v0.103.13
    Checking tokio-rustls v0.26.4
    Checking hyper-rustls v0.27.9
    Checking reqwest v0.12.28
    Checking aws-smithy-http-client v1.1.12
    Checking aws-smithy-runtime v1.11.1
    Checking object_store v0.13.2
    Checking aws-runtime v1.7.3
    Checking aws-sdk-sso v1.98.0
    Checking aws-sdk-ssooidc v1.100.0
    Checking aws-sdk-sts v1.103.0
    Checking aws-config v1.8.16
    Checking parquet v58.3.0
    Checking datafusion-common v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
error[E0599]: no method named `set_column_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:161:22
    |
160 |                   builder = builder
    |  ___________________________-
161 | |                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
    | |_____________________-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_column_bloom_filter_ndv` with a similar name
    |
161 -                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
161 +                     .set_column_bloom_filter_ndv(path.clone(), bloom_filter_ndv);
    |

error[E0599]: no method named `set_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:241:31
    |
241 |             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_bloom_filter_ndv` with a similar name
    |
241 -             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
241 +             builder = builder.set_bloom_filter_ndv(*bloom_filter_ndv);
    |

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-common` (lib) due to 2 previous errors

-----

error: failed to build rustdoc for crate datafusion-cli v53.1.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion-cli --features backtrace,default &&
          cargo check &&
          cargo doc

    Building datafusion-common v53.1.0 (current)
       Built [  32.194s] (current)
     Parsing datafusion-common v53.1.0 (current)
      Parsed [   0.061s] (current)
    Building datafusion-common v53.1.0 (baseline)
       Built [  32.016s] (baseline)
     Parsing datafusion-common v53.1.0 (baseline)
      Parsed [   0.063s] (baseline)
    Checking datafusion-common v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.944s] 222 checks: 221 pass, 1 fail, 0 warn, 30 skip

--- failure constructible_struct_adds_field: externally-constructible struct adds field ---

Description:
A pub struct constructible with a struct literal has a new pub field. Existing struct literals must be updated to include the new field.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.47.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field ParquetOptions.filter_pushdown_min_bytes_per_sec in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:843
  field ParquetOptions.filter_collecting_byte_ratio_threshold in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:843
  field ParquetOptions.filter_confidence_z in /home/runner/work/datafusion/datafusion/datafusion/common/src/config.rs:843

     Summary semver requires new major version: 1 major and 0 minor checks failed
    Finished [  66.982s] datafusion-common
    Building datafusion-datasource v53.1.0 (current)
       Built [  34.777s] (current)
     Parsing datafusion-datasource v53.1.0 (current)
      Parsed [   0.032s] (current)
    Building datafusion-datasource v53.1.0 (baseline)
       Built [  34.846s] (baseline)
     Parsing datafusion-datasource v53.1.0 (baseline)
      Parsed [   0.034s] (baseline)
    Checking datafusion-datasource v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.329s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  71.218s] datafusion-datasource
    Building datafusion-datasource-parquet v53.1.0 (current)
error: running cargo-doc on crate 'datafusion-datasource-parquet' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling autocfg v1.5.0
   Compiling libm v0.2.16
   Compiling num-traits v0.2.19
    Checking memchr v2.8.0
   Compiling zerocopy v0.8.48
   Compiling syn v2.0.117
    Checking bytes v1.11.1
    Checking once_cell v1.21.4
   Compiling getrandom v0.3.4
   Compiling serde_core v1.0.228
    Checking itoa v1.0.18
   Compiling zmij v1.0.21
   Compiling serde_json v1.0.149
    Checking num-integer v0.1.46
    Checking equivalent v1.0.2
   Compiling version_check v0.9.5
    Checking iana-time-zone v0.1.65
    Checking foldhash v0.2.0
    Checking siphasher v1.0.3
    Checking allocator-api2 v0.2.21
    Checking stable_deref_trait v1.2.1
    Checking phf_shared v0.12.1
   Compiling ahash v0.8.12
    Checking hashbrown v0.17.1
    Checking chrono v0.4.44
    Checking num-bigint v0.4.6
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
   Compiling shlex v1.3.0
    Checking arrow-schema v58.3.0
   Compiling jobserver v0.1.34
   Compiling find-msvc-tools v0.1.9
   Compiling cc v1.2.62
   Compiling synstructure v0.13.2
    Checking num-complex v0.4.6
    Checking smallvec v1.15.1
   Compiling pkg-config v0.3.33
    Checking writeable v0.6.3
    Checking lexical-util v1.0.7
    Checking litemap v0.8.2
   Compiling zerocopy-derive v0.8.48
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
   Compiling zerovec-derive v0.11.3
    Checking zerofrom v0.1.8
    Checking yoke v0.8.2
   Compiling displaydoc v0.2.5
    Checking zerotrie v0.2.4
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking zerovec v0.11.6
    Checking pin-project-lite v0.2.17
    Checking utf8_iter v1.0.4
   Compiling icu_normalizer_data v2.2.0
   Compiling icu_properties_data v2.2.0
    Checking tinystr v0.8.3
    Checking icu_locale_core v2.2.0
    Checking potential_utf v0.1.5
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
   Compiling semver v1.0.28
    Checking futures-sink v0.3.32
    Checking futures-core v0.3.32
    Checking futures-channel v0.3.32
   Compiling rustc_version v0.4.1
    Checking lexical-parse-integer v1.0.6
    Checking lexical-write-integer v1.0.6
   Compiling futures-macro v0.3.32
    Checking futures-task v0.3.32
    Checking bitflags v2.11.1
   Compiling parking_lot_core v0.9.12
    Checking slab v0.4.12
    Checking futures-io v0.3.32
   Compiling zstd-safe v7.2.4
    Checking lexical-write-float v1.0.6
    Checking futures-util v0.3.32
    Checking lexical-parse-float v1.0.6
    Checking half v2.7.1
    Checking arrow-buffer v58.3.0
   Compiling flatbuffers v25.12.19
    Checking icu_properties v2.2.0
    Checking arrow-data v58.3.0
    Checking icu_normalizer v2.2.0
    Checking arrow-array v58.3.0
    Checking aho-corasick v1.1.4
    Checking scopeguard v1.2.0
    Checking unicode-segmentation v1.13.2
    Checking base64 v0.22.1
    Checking unicode-width v0.2.2
    Checking ryu v1.0.23
    Checking regex-syntax v0.8.10
    Checking comfy-table v7.2.2
    Checking lock_api v0.4.14
    Checking idna_adapter v1.2.2
    Checking lexical-core v1.0.6
    Checking arrow-select v58.3.0
   Compiling tokio-macros v2.7.0
    Checking atoi v2.0.0
    Checking percent-encoding v2.3.2
    Checking twox-hash v2.1.2
   Compiling thiserror v2.0.18
    Checking arrow-ord v58.3.0
    Checking regex-automata v0.4.14
    Checking alloc-no-stdlib v2.0.4
   Compiling getrandom v0.4.2
    Checking alloc-stdlib v0.2.2
    Checking arrow-cast v58.3.0
    Checking lz4_flex v0.13.1
    Checking form_urlencoded v1.2.2
    Checking tokio v1.52.3
    Checking regex v1.12.3
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling tracing-attributes v0.1.31
   Compiling thiserror-impl v2.0.18
   Compiling ring v0.17.14
    Checking indexmap v2.14.0
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
    Checking same-file v1.0.6
   Compiling paste v1.0.15
   Compiling snap v1.1.1
    Checking either v1.15.0
    Checking simdutf8 v0.1.5
    Checking itertools v0.14.0
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking tracing v0.1.44
    Checking url v2.5.8
    Checking futures v0.3.32
    Checking brotli-decompressor v5.0.0
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
    Checking ordered-float v2.10.1
    Checking http v1.4.0
    Checking getrandom v0.2.17
    Checking byteorder v1.5.0
    Checking humantime v2.3.0
    Checking zlib-rs v0.6.3
    Checking integer-encoding v3.0.4
    Checking untrusted v0.9.0
    Checking thrift v0.17.0
    Checking object_store v0.13.2
    Checking zstd v0.13.3
    Checking arrow-ipc v58.3.0
    Checking flate2 v1.1.9
    Checking brotli v8.0.2
    Checking arrow-csv v58.3.0
    Checking arrow-json v58.3.0
    Checking arrow-string v58.3.0
    Checking arrow-arith v58.3.0
    Checking arrow-row v58.3.0
    Checking log v0.4.29
   Compiling seq-macro v0.3.6
    Checking arrow v58.3.0
    Checking uuid v1.23.1
    Checking hex v0.4.3
   Compiling pin-project-internal v1.1.13
   Compiling crossbeam-utils v0.8.21
   Compiling rustix v1.1.4
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking datafusion-doc v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking parquet v58.3.0
    Checking linux-raw-sys v0.12.1
    Checking rand_chacha v0.9.0
    Checking pin-project v1.1.13
    Checking hashbrown v0.14.5
    Checking foldhash v0.1.5
    Checking fastrand v2.4.1
    Checking hashbrown v0.15.5
    Checking dashmap v6.1.0
    Checking rand v0.9.4
    Checking fixedbitset v0.5.7
   Compiling datafusion-macros v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking petgraph v0.8.3
    Checking tempfile v3.27.0
    Checking datafusion-common-runtime v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
    Checking datafusion-common v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
error[E0599]: no method named `set_column_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:161:22
    |
160 |                   builder = builder
    |  ___________________________-
161 | |                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
    | |_____________________-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_column_bloom_filter_ndv` with a similar name
    |
161 -                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
161 +                     .set_column_bloom_filter_ndv(path.clone(), bloom_filter_ndv);
    |

error[E0599]: no method named `set_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:241:31
    |
241 |             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_bloom_filter_ndv` with a similar name
    |
241 -             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
241 +             builder = builder.set_bloom_filter_ndv(*bloom_filter_ndv);
    |

For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-common` (lib) due to 2 previous errors

-----

error: failed to build rustdoc for crate datafusion-datasource-parquet v53.1.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/datasource-parquet --features parquet_encryption &&
          cargo check &&
          cargo doc

    Building datafusion-execution v53.1.0 (current)
       Built [  28.311s] (current)
     Parsing datafusion-execution v53.1.0 (current)
      Parsed [   0.026s] (current)
    Building datafusion-execution v53.1.0 (baseline)
       Built [  28.330s] (baseline)
     Parsing datafusion-execution v53.1.0 (baseline)
      Parsed [   0.027s] (baseline)
    Checking datafusion-execution v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.273s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  58.388s] datafusion-execution
    Building datafusion-expr v53.1.0 (current)
       Built [  25.257s] (current)
     Parsing datafusion-expr v53.1.0 (current)
      Parsed [   0.077s] (current)
    Building datafusion-expr v53.1.0 (baseline)
       Built [  25.372s] (baseline)
     Parsing datafusion-expr v53.1.0 (baseline)
      Parsed [   0.078s] (baseline)
    Checking datafusion-expr v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   1.628s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  53.469s] datafusion-expr
    Building datafusion-ffi v53.1.0 (current)
error: running cargo-doc on crate 'datafusion-ffi' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling autocfg v1.5.0
   Compiling libm v0.2.16
    Checking memchr v2.8.0
   Compiling num-traits v0.2.19
   Compiling syn v2.0.117
   Compiling zerocopy v0.8.48
    Checking bytes v1.11.1
   Compiling getrandom v0.3.4
    Checking itoa v1.0.18
   Compiling serde_core v1.0.228
    Checking once_cell v1.21.4
    Checking bitflags v2.11.1
   Compiling zmij v1.0.21
   Compiling serde_json v1.0.149
    Checking num-integer v0.1.46
    Checking iana-time-zone v0.1.65
   Compiling version_check v0.9.5
    Checking allocator-api2 v0.2.21
    Checking stable_deref_trait v1.2.1
    Checking siphasher v1.0.3
    Checking equivalent v1.0.2
    Checking foldhash v0.2.0
    Checking phf_shared v0.12.1
    Checking hashbrown v0.17.1
   Compiling ahash v0.8.12
    Checking chrono v0.4.44
    Checking num-bigint v0.4.6
   Compiling chrono-tz v0.10.4
    Checking phf v0.12.1
   Compiling synstructure v0.13.2
    Checking arrow-schema v58.3.0
    Checking num-complex v0.4.6
   Compiling semver v1.0.28
   Compiling jobserver v0.1.34
   Compiling rustc_version v0.4.1
   Compiling shlex v1.3.0
    Checking pin-project-lite v0.2.17
   Compiling find-msvc-tools v0.1.9
    Checking futures-core v0.3.32
    Checking smallvec v1.15.1
   Compiling cc v1.2.62
    Checking lexical-util v1.0.7
   Compiling zerocopy-derive v0.8.48
   Compiling zerofrom-derive v0.1.7
    Checking zerofrom v0.1.8
   Compiling yoke-derive v0.8.2
   Compiling zerovec-derive v0.11.3
    Checking yoke v0.8.2
   Compiling displaydoc v0.2.5
    Checking zerovec v0.11.6
    Checking litemap v0.8.2
    Checking tinystr v0.8.3
    Checking writeable v0.6.3
   Compiling pkg-config v0.3.33
    Checking futures-sink v0.3.32
    Checking icu_locale_core v2.2.0
    Checking zerotrie v0.2.4
    Checking potential_utf v0.1.5
    Checking utf8_iter v1.0.4
   Compiling zstd-sys v2.0.16+zstd.1.5.7
   Compiling icu_normalizer_data v2.2.0
   Compiling icu_properties_data v2.2.0
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
    Checking futures-channel v0.3.32
    Checking lexical-parse-integer v1.0.6
    Checking lexical-write-integer v1.0.6
   Compiling tokio-macros v2.7.0
   Compiling futures-macro v0.3.32
   Compiling zstd-safe v7.2.4
    Checking slab v0.4.12
    Checking futures-io v0.3.32
   Compiling parking_lot_core v0.9.12
    Checking futures-task v0.3.32
    Checking tokio v1.52.3
    Checking futures-util v0.3.32
    Checking half v2.7.1
    Checking arrow-buffer v58.3.0
    Checking arrow-data v58.3.0
    Checking arrow-array v58.3.0
    Checking lexical-write-float v1.0.6
    Checking lexical-parse-float v1.0.6
    Checking icu_properties v2.2.0
    Checking icu_normalizer v2.2.0
   Compiling flatbuffers v25.12.19
    Checking aho-corasick v1.1.4
    Checking unicode-width v0.2.2
    Checking arrow-select v58.3.0
    Checking scopeguard v1.2.0
    Checking regex-syntax v0.8.10
    Checking unicode-segmentation v1.13.2
    Checking ryu v1.0.23
    Checking base64 v0.22.1
    Checking arrow-ord v58.3.0
    Checking comfy-table v7.2.2
    Checking lock_api v0.4.14
    Checking idna_adapter v1.2.2
    Checking lexical-core v1.0.6
    Checking atoi v2.0.0
   Compiling getrandom v0.4.2
    Checking twox-hash v2.1.2
   Compiling thiserror v2.0.18
    Checking percent-encoding v2.3.2
    Checking alloc-no-stdlib v2.0.4
    Checking regex-automata v0.4.14
    Checking alloc-stdlib v0.2.2
    Checking form_urlencoded v1.2.2
    Checking lz4_flex v0.13.1
    Checking arrow-cast v58.3.0
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling thiserror-impl v2.0.18
   Compiling tracing-attributes v0.1.31
    Checking regex v1.12.3
    Checking indexmap v2.14.0
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
    Checking simdutf8 v0.1.5
   Compiling paste v1.0.15
    Checking same-file v1.0.6
    Checking either v1.15.0
   Compiling snap v1.1.1
    Checking itertools v0.14.0
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking tracing v0.1.44
    Checking futures v0.3.32
    Checking url v2.5.8
    Checking brotli-decompressor v5.0.0
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
    Checking http v1.4.0
    Checking ordered-float v2.10.1
    Checking zlib-rs v0.6.3
    Checking byteorder v1.5.0
    Checking humantime v2.3.0
    Checking integer-encoding v3.0.4
    Checking object_store v0.13.2
    Checking thrift v0.17.0
    Checking brotli v8.0.2
    Checking flate2 v1.1.9
    Checking arrow-csv v58.3.0
    Checking arrow-json v58.3.0
    Checking arrow-string v58.3.0
    Checking arrow-arith v58.3.0
    Checking arrow-row v58.3.0
   Compiling seq-macro v0.3.6
    Checking zstd v0.13.3
    Checking log v0.4.29
    Checking uuid v1.23.1
    Checking arrow-ipc v58.3.0
   Compiling pin-project-internal v1.1.13
    Checking datafusion-doc v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
   Compiling crossbeam-utils v0.8.21
   Compiling rustix v1.1.4
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.9.5
    Checking linux-raw-sys v0.12.1
    Checking foldhash v0.1.5
    Checking hashbrown v0.15.5
    Checking arrow v58.3.0
    Checking parquet v58.3.0
    Checking pin-project v1.1.13
    Checking rand_chacha v0.9.0
    Checking hashbrown v0.14.5
    Checking fastrand v2.4.1
    Checking fixedbitset v0.5.7
   Compiling datafusion-macros v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking petgraph v0.8.3
    Checking tempfile v3.27.0
    Checking dashmap v6.1.0
    Checking rand v0.9.4
    Checking hex v0.4.3
    Checking datafusion-common-runtime v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
   Compiling getrandom v0.2.17
   Compiling winnow v1.0.3
   Compiling anyhow v1.0.102
   Compiling rand_core v0.6.4
   Compiling toml_parser v1.1.2+spec-1.1.0
   Compiling toml_datetime v1.1.1+spec-1.1.0
   Compiling syn v1.0.109
   Compiling toml_edit v0.25.11+spec-1.1.0
    Checking datafusion-common v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
   Compiling stabby-macros v72.1.1
   Compiling rustversion v1.0.22
   Compiling prost-derive v0.14.3
   Compiling rand_chacha v0.3.1
   Compiling rand v0.8.6
error[E0599]: no method named `set_column_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:161:22
    |
160 |                   builder = builder
    |  ___________________________-
161 | |                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
    | |_____________________-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_column_bloom_filter_ndv` with a similar name
    |
161 -                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
161 +                     .set_column_bloom_filter_ndv(path.clone(), bloom_filter_ndv);
    |

error[E0599]: no method named `set_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:241:31
    |
241 |             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_bloom_filter_ndv` with a similar name
    |
241 -             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
241 +             builder = builder.set_bloom_filter_ndv(*bloom_filter_ndv);
    |

   Compiling proc-macro-crate v3.5.0
    Checking tokio-util v0.7.18
   Compiling stabby-abi v72.1.1
    Checking tokio-stream v0.1.18
    Checking prost v0.14.3
    Checking sha2-const-stable v0.1.0
   Compiling stabby v72.1.1
    Checking libloading v0.9.0
    Checking async-ffi v0.5.0
For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-common` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-ffi v53.1.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/ffi --features datafusion-functions,datafusion-functions-aggregate,datafusion-functions-table,datafusion-functions-window,integration-tests,tarpaulin_include &&
          cargo check &&
          cargo doc

    Building datafusion-functions v53.1.0 (current)
       Built [  28.319s] (current)
     Parsing datafusion-functions v53.1.0 (current)
      Parsed [   0.081s] (current)
    Building datafusion-functions v53.1.0 (baseline)
       Built [  28.418s] (baseline)
     Parsing datafusion-functions v53.1.0 (baseline)
      Parsed [   0.085s] (baseline)
    Checking datafusion-functions v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.546s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  59.130s] datafusion-functions
    Building datafusion-functions-aggregate v53.1.0 (current)
       Built [  29.019s] (current)
     Parsing datafusion-functions-aggregate v53.1.0 (current)
      Parsed [   0.047s] (current)
    Building datafusion-functions-aggregate v53.1.0 (baseline)
       Built [  28.740s] (baseline)
     Parsing datafusion-functions-aggregate v53.1.0 (baseline)
      Parsed [   0.053s] (baseline)
    Checking datafusion-functions-aggregate v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.251s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  59.941s] datafusion-functions-aggregate
    Building datafusion-functions-aggregate-common v53.1.0 (current)
       Built [  19.125s] (current)
     Parsing datafusion-functions-aggregate-common v53.1.0 (current)
      Parsed [   0.019s] (current)
    Building datafusion-functions-aggregate-common v53.1.0 (baseline)
       Built [  19.267s] (baseline)
     Parsing datafusion-functions-aggregate-common v53.1.0 (baseline)
      Parsed [   0.020s] (baseline)
    Checking datafusion-functions-aggregate-common v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.184s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  40.130s] datafusion-functions-aggregate-common
    Building datafusion-functions-nested v53.1.0 (current)
       Built [  33.629s] (current)
     Parsing datafusion-functions-nested v53.1.0 (current)
      Parsed [   0.036s] (current)
    Building datafusion-functions-nested v53.1.0 (baseline)
       Built [  33.764s] (baseline)
     Parsing datafusion-functions-nested v53.1.0 (baseline)
      Parsed [   0.039s] (baseline)
    Checking datafusion-functions-nested v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.257s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  68.926s] datafusion-functions-nested
    Building datafusion-functions-window v53.1.0 (current)
       Built [  24.375s] (current)
     Parsing datafusion-functions-window v53.1.0 (current)
      Parsed [   0.015s] (current)
    Building datafusion-functions-window v53.1.0 (baseline)
       Built [  24.328s] (baseline)
     Parsing datafusion-functions-window v53.1.0 (baseline)
      Parsed [   0.014s] (baseline)
    Checking datafusion-functions-window v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.124s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  49.945s] datafusion-functions-window
    Building datafusion-optimizer v53.1.0 (current)
       Built [  25.313s] (current)
     Parsing datafusion-optimizer v53.1.0 (current)
      Parsed [   0.030s] (current)
    Building datafusion-optimizer v53.1.0 (baseline)
       Built [  25.540s] (baseline)
     Parsing datafusion-optimizer v53.1.0 (baseline)
      Parsed [   0.032s] (baseline)
    Checking datafusion-optimizer v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.209s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  52.228s] datafusion-optimizer
    Building datafusion-physical-expr v53.1.0 (current)
       Built [  24.041s] (current)
     Parsing datafusion-physical-expr v53.1.0 (current)
      Parsed [   0.045s] (current)
    Building datafusion-physical-expr v53.1.0 (baseline)
       Built [  23.985s] (baseline)
     Parsing datafusion-physical-expr v53.1.0 (baseline)
      Parsed [   0.047s] (baseline)
    Checking datafusion-physical-expr v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.443s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  50.260s] datafusion-physical-expr
    Building datafusion-physical-expr-common v53.1.0 (current)
       Built [  18.932s] (current)
     Parsing datafusion-physical-expr-common v53.1.0 (current)
      Parsed [   0.021s] (current)
    Building datafusion-physical-expr-common v53.1.0 (baseline)
       Built [  18.812s] (baseline)
     Parsing datafusion-physical-expr-common v53.1.0 (baseline)
      Parsed [   0.020s] (baseline)
    Checking datafusion-physical-expr-common v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.298s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  39.066s] datafusion-physical-expr-common
    Building datafusion-physical-optimizer v53.1.0 (current)
       Built [  35.884s] (current)
     Parsing datafusion-physical-optimizer v53.1.0 (current)
      Parsed [   0.022s] (current)
    Building datafusion-physical-optimizer v53.1.0 (baseline)
       Built [  35.696s] (baseline)
     Parsing datafusion-physical-optimizer v53.1.0 (baseline)
      Parsed [   0.023s] (baseline)
    Checking datafusion-physical-optimizer v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.158s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  73.059s] datafusion-physical-optimizer
    Building datafusion-physical-plan v53.1.0 (current)
       Built [  31.458s] (current)
     Parsing datafusion-physical-plan v53.1.0 (current)
      Parsed [   0.133s] (current)
    Building datafusion-physical-plan v53.1.0 (baseline)
       Built [  31.589s] (baseline)
     Parsing datafusion-physical-plan v53.1.0 (baseline)
      Parsed [   0.134s] (baseline)
    Checking datafusion-physical-plan v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.922s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  65.795s] datafusion-physical-plan
    Building datafusion-proto v53.1.0 (current)
error: running cargo-doc on crate 'datafusion-proto' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling quote v1.0.45
   Compiling unicode-ident v1.0.24
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
   Compiling libm v0.2.16
   Compiling autocfg v1.5.0
   Compiling num-traits v0.2.19
   Compiling syn v2.0.117
    Checking memchr v2.8.0
   Compiling zerocopy v0.8.48
    Checking bytes v1.11.1
   Compiling serde_core v1.0.228
    Checking itoa v1.0.18
   Compiling getrandom v0.3.4
    Checking once_cell v1.21.4
   Compiling zmij v1.0.21
   Compiling serde_json v1.0.149
    Checking num-integer v0.1.46
    Checking allocator-api2 v0.2.21
   Compiling version_check v0.9.5
    Checking iana-time-zone v0.1.65
    Checking foldhash v0.2.0
    Checking siphasher v1.0.3
    Checking equivalent v1.0.2
    Checking hashbrown v0.17.1
   Compiling jobserver v0.1.34
    Checking phf_shared v0.12.1
    Checking chrono v0.4.44
   Compiling ahash v0.8.12
    Checking num-bigint v0.4.6
   Compiling find-msvc-tools v0.1.9
   Compiling chrono-tz v0.10.4
    Checking stable_deref_trait v1.2.1
   Compiling shlex v1.3.0
    Checking arrow-schema v58.3.0
   Compiling synstructure v0.13.2
   Compiling cc v1.2.62
    Checking phf v0.12.1
   Compiling pkg-config v0.3.33
    Checking num-complex v0.4.6
    Checking pin-project-lite v0.2.17
    Checking litemap v0.8.2
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking writeable v0.6.3
    Checking smallvec v1.15.1
   Compiling zerocopy-derive v0.8.48
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
   Compiling zerovec-derive v0.11.3
    Checking zerofrom v0.1.8
    Checking yoke v0.8.2
   Compiling displaydoc v0.2.5
    Checking lexical-util v1.0.7
    Checking zerovec v0.11.6
    Checking futures-core v0.3.32
    Checking futures-sink v0.3.32
    Checking zerotrie v0.2.4
    Checking tinystr v0.8.3
    Checking potential_utf v0.1.5
    Checking icu_locale_core v2.2.0
    Checking utf8_iter v1.0.4
   Compiling icu_normalizer_data v2.2.0
   Compiling icu_properties_data v2.2.0
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
   Compiling zstd-safe v7.2.4
   Compiling semver v1.0.28
   Compiling rustc_version v0.4.1
    Checking futures-channel v0.3.32
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling tokio-macros v2.7.0
   Compiling futures-macro v0.3.32
    Checking futures-io v0.3.32
    Checking half v2.7.1
    Checking futures-task v0.3.32
    Checking slab v0.4.12
   Compiling parking_lot_core v0.9.12
    Checking bitflags v2.11.1
    Checking base64 v0.22.1
    Checking arrow-buffer v58.3.0
    Checking futures-util v0.3.32
    Checking tokio v1.52.3
    Checking arrow-data v58.3.0
    Checking arrow-array v58.3.0
    Checking lexical-parse-float v1.0.6
    Checking lexical-write-float v1.0.6
   Compiling flatbuffers v25.12.19
    Checking icu_properties v2.2.0
    Checking arrow-select v58.3.0
    Checking icu_normalizer v2.2.0
    Checking aho-corasick v1.1.4
    Checking ryu v1.0.23
    Checking scopeguard v1.2.0
   Compiling getrandom v0.4.2
   Compiling crc32fast v1.5.0
    Checking regex-syntax v0.8.10
    Checking unicode-segmentation v1.13.2
    Checking unicode-width v0.2.2
    Checking lock_api v0.4.14
    Checking comfy-table v7.2.2
    Checking arrow-ord v58.3.0
    Checking idna_adapter v1.2.2
    Checking lexical-core v1.0.6
    Checking indexmap v2.14.0
    Checking atoi v2.0.0
    Checking percent-encoding v2.3.2
    Checking twox-hash v2.1.2
    Checking simd-adler32 v0.3.9
   Compiling snap v1.1.1
   Compiling thiserror v2.0.18
    Checking adler2 v2.0.1
    Checking alloc-no-stdlib v2.0.4
    Checking regex-automata v0.4.14
    Checking alloc-stdlib v0.2.2
    Checking miniz_oxide v0.8.9
    Checking lz4_flex v0.13.1
    Checking form_urlencoded v1.2.2
    Checking arrow-cast v58.3.0
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling thiserror-impl v2.0.18
   Compiling tracing-attributes v0.1.31
    Checking regex v1.12.3
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
    Checking zlib-rs v0.6.3
    Checking same-file v1.0.6
    Checking simdutf8 v0.1.5
    Checking either v1.15.0
   Compiling paste v1.0.15
    Checking tracing v0.1.44
    Checking itertools v0.14.0
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking futures v0.3.32
    Checking url v2.5.8
    Checking flate2 v1.1.9
    Checking brotli-decompressor v5.0.0
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
    Checking http v1.4.0
    Checking ordered-float v2.10.1
    Checking humantime v2.3.0
    Checking integer-encoding v3.0.4
    Checking byteorder v1.5.0
    Checking object_store v0.13.2
    Checking brotli v8.0.2
    Checking thrift v0.17.0
    Checking arrow-csv v58.3.0
    Checking zstd v0.13.3
    Checking arrow-ipc v58.3.0
    Checking arrow-json v58.3.0
    Checking arrow-string v58.3.0
    Checking uuid v1.23.1
    Checking arrow-row v58.3.0
    Checking arrow-arith v58.3.0
    Checking log v0.4.29
   Compiling seq-macro v0.3.6
   Compiling pin-project-internal v1.1.13
    Checking ppv-lite86 v0.2.21
    Checking arrow v58.3.0
    Checking rand_core v0.9.5
   Compiling rustix v1.1.4
   Compiling crossbeam-utils v0.8.21
    Checking rand_chacha v0.9.0
    Checking parquet v58.3.0
    Checking linux-raw-sys v0.12.1
    Checking datafusion-doc v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking rand v0.9.4
    Checking pin-project v1.1.13
    Checking foldhash v0.1.5
    Checking hashbrown v0.14.5
    Checking fastrand v2.4.1
    Checking hashbrown v0.15.5
    Checking dashmap v6.1.0
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
   Compiling datafusion-macros v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking tempfile v3.27.0
    Checking hex v0.4.3
    Checking datafusion-common-runtime v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
    Checking glob v0.3.3
   Compiling serde v1.0.228
   Compiling serde_derive v1.0.228
   Compiling liblzma-sys v0.4.6
   Compiling anyhow v1.0.102
    Checking libbz2-rs-sys v0.2.4
   Compiling heck v0.5.0
    Checking crc-catalog v2.5.0
    Checking crc v3.4.0
   Compiling strum_macros v0.28.0
    Checking datafusion-common v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
    Checking bzip2 v0.6.1
   Compiling prost-derive v0.14.3
error[E0599]: no method named `set_column_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:161:22
    |
160 |                   builder = builder
    |  ___________________________-
161 | |                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
    | |_____________________-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_column_bloom_filter_ndv` with a similar name
    |
161 -                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
161 +                     .set_column_bloom_filter_ndv(path.clone(), bloom_filter_ndv);
    |

error[E0599]: no method named `set_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:241:31
    |
241 |             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_bloom_filter_ndv` with a similar name
    |
241 -             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
241 +             builder = builder.set_bloom_filter_ndv(*bloom_filter_ndv);
    |

    Checking tokio-util v0.7.18
    Checking tokio-stream v0.1.18
    Checking prost v0.14.3
    Checking pbjson v0.9.0
For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-common` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-proto v53.1.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/proto --features avro,datafusion-datasource-avro,datafusion-datasource-parquet,default,json,parquet,pbjson,serde,serde_json &&
          cargo check &&
          cargo doc

    Building datafusion-proto-common v53.1.0 (current)
       Built [  20.242s] (current)
     Parsing datafusion-proto-common v53.1.0 (current)
      Parsed [   0.047s] (current)
    Building datafusion-proto-common v53.1.0 (baseline)
       Built [  20.201s] (baseline)
     Parsing datafusion-proto-common v53.1.0 (baseline)
      Parsed [   0.050s] (baseline)
    Checking datafusion-proto-common v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   1.433s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  42.989s] datafusion-proto-common
    Building datafusion-pruning v53.1.0 (current)
       Built [  35.239s] (current)
     Parsing datafusion-pruning v53.1.0 (current)
      Parsed [   0.013s] (current)
    Building datafusion-pruning v53.1.0 (baseline)
       Built [  35.561s] (baseline)
     Parsing datafusion-pruning v53.1.0 (baseline)
      Parsed [   0.013s] (baseline)
    Checking datafusion-pruning v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.099s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  72.059s] datafusion-pruning
    Building datafusion-spark v53.1.0 (current)
       Built [  53.383s] (current)
     Parsing datafusion-spark v53.1.0 (current)
      Parsed [   0.059s] (current)
    Building datafusion-spark v53.1.0 (baseline)
       Built [  53.621s] (baseline)
     Parsing datafusion-spark v53.1.0 (baseline)
      Parsed [   0.061s] (baseline)
    Checking datafusion-spark v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.438s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [ 109.307s] datafusion-spark
    Building datafusion-sql v53.1.0 (current)
       Built [  40.201s] (current)
     Parsing datafusion-sql v53.1.0 (current)
      Parsed [   0.031s] (current)
    Building datafusion-sql v53.1.0 (baseline)
       Built [  40.842s] (baseline)
     Parsing datafusion-sql v53.1.0 (baseline)
      Parsed [   0.031s] (baseline)
    Checking datafusion-sql v53.1.0 -> v53.1.0 (no change; assume patch)
     Checked [   0.299s] 222 checks: 222 pass, 30 skip
     Summary no semver update required
    Finished [  83.039s] datafusion-sql
    Building datafusion-sqllogictest v53.1.0 (current)
error: running cargo-doc on crate 'datafusion-sqllogictest' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling quote v1.0.45
   Compiling unicode-ident v1.0.24
   Compiling libc v0.2.186
    Checking cfg-if v1.0.4
    Checking bytes v1.11.1
    Checking memchr v2.8.0
   Compiling serde_core v1.0.228
   Compiling syn v2.0.117
   Compiling autocfg v1.5.0
   Compiling jobserver v0.1.34
   Compiling shlex v1.3.0
   Compiling find-msvc-tools v0.1.9
    Checking itoa v1.0.18
   Compiling cc v1.2.62
   Compiling libm v0.2.16
   Compiling num-traits v0.2.19
    Checking allocator-api2 v0.2.21
    Checking foldhash v0.2.0
    Checking once_cell v1.21.4
    Checking equivalent v1.0.2
    Checking hashbrown v0.17.1
    Checking indexmap v2.14.0
    Checking pin-project-lite v0.2.17
   Compiling zmij v1.0.21
    Checking futures-core v0.3.32
   Compiling zerocopy v0.8.48
    Checking futures-sink v0.3.32
    Checking errno v0.3.14
    Checking signal-hook-registry v1.4.8
    Checking socket2 v0.6.3
    Checking mio v1.2.0
   Compiling version_check v0.9.5
   Compiling serde v1.0.228
    Checking num-integer v0.1.46
   Compiling serde_json v1.0.149
    Checking slab v0.4.12
    Checking futures-channel v0.3.32
    Checking smallvec v1.15.1
   Compiling getrandom v0.3.4
    Checking num-bigint v0.4.6
   Compiling synstructure v0.13.2
    Checking http v1.4.0
    Checking base64 v0.22.1
    Checking futures-task v0.3.32
    Checking futures-io v0.3.32
    Checking iana-time-zone v0.1.65
    Checking chrono v0.4.44
    Checking tracing-core v0.1.36
   Compiling zerocopy-derive v0.8.48
   Compiling tokio-macros v2.7.0
    Checking tokio v1.52.3
   Compiling serde_derive v1.0.228
   Compiling futures-macro v0.3.32
    Checking futures-util v0.3.32
   Compiling zerofrom-derive v0.1.7
   Compiling tracing-attributes v0.1.31
    Checking siphasher v1.0.3
    Checking zerofrom v0.1.8
   Compiling yoke-derive v0.8.2
    Checking stable_deref_trait v1.2.1
    Checking num-complex v0.4.6
   Compiling zerovec-derive v0.11.3
    Checking tracing v0.1.44
    Checking getrandom v0.2.17
   Compiling pkg-config v0.3.33
    Checking half v2.7.1
    Checking phf_shared v0.12.1
   Compiling displaydoc v0.2.5
    Checking yoke v0.8.2
   Compiling ahash v0.8.12
    Checking percent-encoding v2.3.2
   Compiling thiserror v2.0.18
   Compiling chrono-tz v0.10.4
    Checking zerovec v0.11.6
    Checking phf v0.12.1
    Checking arrow-buffer v58.3.0
   Compiling thiserror-impl v2.0.18
    Checking arrow-schema v58.3.0
   Compiling ring v0.17.14
    Checking arrow-data v58.3.0
   Compiling semver v1.0.28
    Checking rand_core v0.10.1
   Compiling getrandom v0.4.2
    Checking log v0.4.29
    Checking tinystr v0.8.3
    Checking writeable v0.6.3
    Checking bitflags v2.11.1
    Checking litemap v0.8.2
    Checking untrusted v0.9.0
    Checking icu_locale_core v2.2.0
    Checking potential_utf v0.1.5
    Checking zerotrie v0.2.4
   Compiling zstd-sys v2.0.16+zstd.1.5.7
   Compiling async-trait v0.1.89
   Compiling icu_properties_data v2.2.0
   Compiling icu_normalizer_data v2.2.0
    Checking utf8_iter v1.0.4
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
    Checking aho-corasick v1.1.4
   Compiling object v0.37.3
    Checking ryu v1.0.23
   Compiling zstd-safe v7.2.4
    Checking lexical-util v1.0.7
    Checking regex-syntax v0.8.10
    Checking arrow-array v58.3.0
    Checking regex-automata v0.4.14
    Checking icu_normalizer v2.2.0
    Checking icu_properties v2.2.0
    Checking arrow-select v58.3.0
   Compiling rustix v1.1.4
    Checking regex v1.12.3
    Checking idna_adapter v1.2.2
    Checking form_urlencoded v1.2.2
   Compiling parking_lot_core v0.9.12
   Compiling crc32fast v1.5.0
    Checking unicode-width v0.2.2
    Checking typenum v1.20.0
    Checking either v1.15.0
    Checking idna v1.1.0
    Checking lexical-write-integer v1.0.6
    Checking lexical-parse-integer v1.0.6
   Compiling rustc_version v0.4.1
    Checking futures-executor v0.3.32
   Compiling pin-project-internal v1.1.13
    Checking simd-adler32 v0.3.9
    Checking scopeguard v1.2.0
    Checking adler2 v2.0.1
    Checking miniz_oxide v0.8.9
    Checking lock_api v0.4.14
    Checking futures v0.3.32
   Compiling flatbuffers v25.12.19
    Checking lexical-parse-float v1.0.6
    Checking pin-project v1.1.13
    Checking lexical-write-float v1.0.6
    Checking url v2.5.8
    Checking zlib-rs v0.6.3
    Checking byteorder v1.5.0
    Checking unicode-segmentation v1.13.2
    Checking comfy-table v7.2.2
   Compiling ar_archive_writer v0.5.1
    Checking lexical-core v1.0.6
    Checking itertools v0.14.0
    Checking flate2 v1.1.9
    Checking arrow-ord v58.3.0
   Compiling psm v0.1.31
    Checking atoi v2.0.0
   Compiling stacker v0.1.24
    Checking twox-hash v2.1.2
    Checking alloc-no-stdlib v2.0.4
    Checking hex v0.4.3
   Compiling snap v1.1.1
    Checking alloc-stdlib v0.2.2
    Checking lz4_flex v0.13.1
    Checking arrow-cast v58.3.0
    Checking parking_lot v0.12.5
    Checking csv-core v0.1.13
    Checking humantime v2.3.0
   Compiling paste v1.0.15
    Checking simdutf8 v0.1.5
    Checking same-file v1.0.6
    Checking csv v1.4.0
    Checking walkdir v2.5.0
    Checking brotli-decompressor v5.0.0
   Compiling recursive-proc-macro-impl v0.1.1
    Checking ordered-float v2.10.1
    Checking integer-encoding v3.0.4
    Checking subtle v2.6.1
    Checking thrift v0.17.0
    Checking recursive v0.1.1
    Checking arrow-csv v58.3.0
    Checking arrow-json v58.3.0
    Checking object_store v0.13.2
    Checking brotli v8.0.2
    Checking arrow-string v58.3.0
    Checking zstd v0.13.3
    Checking arrow-arith v58.3.0
    Checking arrow-ipc v58.3.0
    Checking arrow-row v58.3.0
    Checking uuid v1.23.1
    Checking tokio-util v0.7.18
   Compiling sqlparser_derive v0.5.0
   Compiling seq-macro v0.3.6
    Checking arrow v58.3.0
    Checking ppv-lite86 v0.2.21
    Checking cpufeatures v0.3.0
    Checking sqlparser v0.62.0
    Checking hybrid-array v0.4.12
    Checking parquet v58.3.0
    Checking linux-raw-sys v0.12.1
    Checking cmov v0.5.3
    Checking block-buffer v0.12.0
    Checking ctutils v0.4.2
    Checking crypto-common v0.2.1
    Checking rand_core v0.9.5
   Compiling generic-array v0.14.7
    Checking const-oid v0.10.2
    Checking digest v0.11.3
    Checking rand_chacha v0.9.0
    Checking rand v0.9.4
    Checking datafusion-doc v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
   Compiling crossbeam-utils v0.8.21
    Checking foldhash v0.1.5
    Checking hashbrown v0.15.5
    Checking block-buffer v0.10.4
    Checking crypto-common v0.1.7
    Checking fixedbitset v0.5.7
    Checking fastrand v2.4.1
   Compiling heck v0.5.0
    Checking petgraph v0.8.3
    Checking tempfile v3.27.0
    Checking digest v0.10.7
    Checking sha2 v0.11.0
    Checking md-5 v0.11.0
    Checking hashbrown v0.14.5
   Compiling datafusion-macros v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking dashmap v6.1.0
   Compiling blake3 v1.8.5
   Compiling anyhow v1.0.102
    Checking arrayref v0.3.9
    Checking constant_time_eq v0.4.2
    Checking arrayvec v0.7.6
    Checking blake2 v0.10.6
   Compiling liblzma-sys v0.4.6
    Checking libbz2-rs-sys v0.2.4
    Checking bzip2 v0.6.1
    Checking datafusion-common-runtime v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
   Compiling httparse v1.10.1
    Checking compression-core v0.4.32
   Compiling prost-derive v0.14.3
    Checking http-body v1.0.1
    Checking glob v0.3.3
    Checking tower-service v0.3.3
    Checking atomic-waker v1.1.2
    Checking fnv v1.0.7
    Checking try-lock v0.2.5
    Checking want v0.3.1
    Checking h2 v0.4.14
    Checking tokio-stream v0.1.18
    Checking zeroize v1.8.2
    Checking httpdate v1.0.3
    Checking hyper v1.9.0
    Checking rustls-pki-types v1.14.1
    Checking datafusion-common v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
   Compiling prost v0.14.3
    Checking hyper-util v0.1.20
    Checking http-body-util v0.1.3
error[E0599]: no method named `set_column_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:161:22
    |
160 |                   builder = builder
    |  ___________________________-
161 | |                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
    | |_____________________-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_column_bloom_filter_ndv` with a similar name
    |
161 -                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
161 +                     .set_column_bloom_filter_ndv(path.clone(), bloom_filter_ndv);
    |

error[E0599]: no method named `set_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:241:31
    |
241 |             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_bloom_filter_ndv` with a similar name
    |
241 -             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
241 +             builder = builder.set_bloom_filter_ndv(*bloom_filter_ndv);
    |

   Compiling rustls v0.23.40
    Checking sync_wrapper v1.0.2
   Compiling prettyplease v0.2.37
    Checking tower-layer v0.3.3
   Compiling prost-types v0.14.3
    Checking liblzma v0.4.6
    Checking compression-codecs v0.4.38
For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-common` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-sqllogictest v53.1.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/sqllogictest --features avro,backtrace,bytes,chrono,datafusion-substrait,parquet_encryption,postgres,postgres-types,substrait,testcontainers-modules,tokio-postgres &&
          cargo check &&
          cargo doc

    Building datafusion-substrait v53.1.0 (current)
error: running cargo-doc on crate 'datafusion-substrait' failed with output:
-----
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
   Compiling libc v0.2.186
   Compiling autocfg v1.5.0
   Compiling libm v0.2.16
    Checking cfg-if v1.0.4
    Checking memchr v2.8.0
   Compiling num-traits v0.2.19
   Compiling zmij v1.0.21
   Compiling syn v2.0.117
    Checking bytes v1.11.1
   Compiling serde_core v1.0.228
    Checking foldhash v0.2.0
    Checking equivalent v1.0.2
   Compiling zerocopy v0.8.48
    Checking allocator-api2 v0.2.21
    Checking itoa v1.0.18
    Checking hashbrown v0.17.1
    Checking once_cell v1.21.4
   Compiling getrandom v0.3.4
   Compiling jobserver v0.1.34
   Compiling serde_json v1.0.149
   Compiling find-msvc-tools v0.1.9
    Checking iana-time-zone v0.1.65
    Checking indexmap v2.14.0
   Compiling shlex v1.3.0
   Compiling cc v1.2.62
   Compiling synstructure v0.13.2
    Checking chrono v0.4.44
    Checking num-integer v0.1.46
    Checking num-bigint v0.4.6
   Compiling version_check v0.9.5
    Checking siphasher v1.0.3
    Checking stable_deref_trait v1.2.1
    Checking phf_shared v0.12.1
   Compiling ahash v0.8.12
   Compiling chrono-tz v0.10.4
   Compiling zerocopy-derive v0.8.48
   Compiling zerofrom-derive v0.1.7
   Compiling yoke-derive v0.8.2
    Checking arrow-schema v58.3.0
   Compiling zerovec-derive v0.11.3
    Checking phf v0.12.1
    Checking zerofrom v0.1.8
   Compiling semver v1.0.28
    Checking yoke v0.8.2
   Compiling getrandom v0.4.2
   Compiling displaydoc v0.2.5
    Checking zerovec v0.11.6
    Checking num-complex v0.4.6
   Compiling thiserror v2.0.18
   Compiling thiserror-impl v2.0.18
    Checking pin-project-lite v0.2.17
    Checking tinystr v0.8.3
    Checking futures-core v0.3.32
   Compiling pkg-config v0.3.33
    Checking lexical-util v1.0.7
    Checking writeable v0.6.3
    Checking litemap v0.8.2
    Checking futures-sink v0.3.32
    Checking smallvec v1.15.1
    Checking icu_locale_core v2.2.0
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking potential_utf v0.1.5
    Checking zerotrie v0.2.4
    Checking utf8_iter v1.0.4
   Compiling icu_normalizer_data v2.2.0
    Checking base64 v0.22.1
   Compiling icu_properties_data v2.2.0
    Checking icu_collections v2.2.0
    Checking icu_provider v2.2.0
    Checking futures-channel v0.3.32
    Checking lexical-write-integer v1.0.6
    Checking half v2.7.1
    Checking lexical-parse-integer v1.0.6
    Checking arrow-buffer v58.3.0
   Compiling rustc_version v0.4.1
   Compiling futures-macro v0.3.32
    Checking arrow-data v58.3.0
   Compiling tokio-macros v2.7.0
    Checking futures-task v0.3.32
    Checking arrow-array v58.3.0
    Checking futures-io v0.3.32
   Compiling zstd-safe v7.2.4
   Compiling parking_lot_core v0.9.12
    Checking slab v0.4.12
    Checking bitflags v2.11.1
    Checking futures-util v0.3.32
    Checking tokio v1.52.3
    Checking arrow-select v58.3.0
   Compiling flatbuffers v25.12.19
    Checking lexical-parse-float v1.0.6
    Checking lexical-write-float v1.0.6
    Checking icu_properties v2.2.0
    Checking icu_normalizer v2.2.0
    Checking aho-corasick v1.1.4
    Checking ryu v1.0.23
    Checking unicode-segmentation v1.13.2
    Checking scopeguard v1.2.0
    Checking regex-syntax v0.8.10
    Checking unicode-width v0.2.2
    Checking comfy-table v7.2.2
    Checking idna_adapter v1.2.2
    Checking lock_api v0.4.14
    Checking lexical-core v1.0.6
    Checking arrow-ord v58.3.0
    Checking atoi v2.0.0
    Checking twox-hash v2.1.2
    Checking percent-encoding v2.3.2
    Checking alloc-no-stdlib v2.0.4
    Checking alloc-stdlib v0.2.2
    Checking form_urlencoded v1.2.2
    Checking arrow-cast v58.3.0
    Checking lz4_flex v0.13.1
    Checking regex-automata v0.4.14
    Checking idna v1.1.0
    Checking futures-executor v0.3.32
   Compiling tracing-attributes v0.1.31
    Checking tracing-core v0.1.36
    Checking csv-core v0.1.13
    Checking same-file v1.0.6
    Checking either v1.15.0
   Compiling paste v1.0.15
   Compiling snap v1.1.1
    Checking simdutf8 v0.1.5
   Compiling rustix v1.1.4
    Checking regex v1.12.3
    Checking tracing v0.1.44
    Checking itertools v0.14.0
    Checking walkdir v2.5.0
    Checking csv v1.4.0
    Checking futures v0.3.32
    Checking url v2.5.8
    Checking brotli-decompressor v5.0.0
    Checking parking_lot v0.12.5
   Compiling async-trait v0.1.89
    Checking http v1.4.0
    Checking ordered-float v2.10.1
    Checking log v0.4.29
    Checking byteorder v1.5.0
    Checking zlib-rs v0.6.3
    Checking integer-encoding v3.0.4
    Checking humantime v2.3.0
    Checking thrift v0.17.0
    Checking object_store v0.13.2
    Checking brotli v8.0.2
    Checking flate2 v1.1.9
    Checking arrow-csv v58.3.0
    Checking arrow-string v58.3.0
    Checking arrow-json v58.3.0
    Checking arrow-row v58.3.0
    Checking arrow-arith v58.3.0
    Checking zstd v0.13.3
   Compiling sqlparser_derive v0.5.0
    Checking arrow-ipc v58.3.0
   Compiling seq-macro v0.3.6
    Checking uuid v1.23.1
    Checking sqlparser v0.62.0
   Compiling pin-project-internal v1.1.13
    Checking datafusion-doc v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/doc)
    Checking foldhash v0.1.5
   Compiling crossbeam-utils v0.8.21
    Checking arrow v58.3.0
    Checking parquet v58.3.0
    Checking hashbrown v0.15.5
    Checking ppv-lite86 v0.2.21
    Checking pin-project v1.1.13
    Checking rand_core v0.9.5
    Checking linux-raw-sys v0.12.1
    Checking fixedbitset v0.5.7
    Checking petgraph v0.8.3
    Checking rand_chacha v0.9.0
    Checking hashbrown v0.14.5
    Checking fastrand v2.4.1
    Checking dashmap v6.1.0
   Compiling datafusion-macros v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/macros)
    Checking tempfile v3.27.0
    Checking rand v0.9.4
    Checking hex v0.4.3
   Compiling anyhow v1.0.102
   Compiling serde v1.0.228
    Checking datafusion-common-runtime v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common-runtime)
   Compiling serde_derive v1.0.228
    Checking glob v0.3.3
   Compiling prost-derive v0.14.3
   Compiling heck v0.5.0
   Compiling prost v0.14.3
   Compiling prettyplease v0.2.37
   Compiling prost-types v0.14.3
   Compiling serde_derive_internals v0.29.1
   Compiling schemars v0.8.22
    Checking datafusion-common v53.1.0 (/home/runner/work/datafusion/datafusion/datafusion/common)
   Compiling hashbrown v0.16.1
   Compiling schemars_derive v0.8.22
error[E0599]: no method named `set_column_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:161:22
    |
160 |                   builder = builder
    |  ___________________________-
161 | |                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
    | |_____________________-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_column_bloom_filter_ndv` with a similar name
    |
161 -                     .set_column_bloom_filter_max_ndv(path.clone(), bloom_filter_ndv);
161 +                     .set_column_bloom_filter_ndv(path.clone(), bloom_filter_ndv);
    |

error[E0599]: no method named `set_bloom_filter_max_ndv` found for struct `WriterPropertiesBuilder` in the current scope
   --> /home/runner/work/datafusion/datafusion/datafusion/common/src/file_options/parquet_writer.rs:241:31
    |
241 |             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^
    |
help: there is a method `set_bloom_filter_ndv` with a similar name
    |
241 -             builder = builder.set_bloom_filter_max_ndv(*bloom_filter_ndv);
241 +             builder = builder.set_bloom_filter_ndv(*bloom_filter_ndv);
    |

   Compiling dyn-clone v1.0.20
   Compiling multimap v0.10.1
   Compiling regress v0.10.5
   Compiling prost-build v0.14.3
   Compiling pbjson-build v0.8.0
For more information about this error, try `rustc --explain E0599`.
error: could not compile `datafusion-common` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

-----

error: failed to build rustdoc for crate datafusion-substrait v53.1.0
note: this is usually due to a compilation error in the crate,
      and is unlikely to be a bug in cargo-semver-checks
note: the following command can be used to reproduce the error:
      cargo new --lib example &&
          cd example &&
          echo '[workspace]' >> Cargo.toml &&
          cargo add --path /home/runner/work/datafusion/datafusion/datafusion/substrait --features default,physical,protoc &&
          cargo check &&
          cargo doc

error: aborting due to failure to build rustdoc for crate datafusion v53.1.0

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and exp_r6-pruningpredicate-rates
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃     exp_r6-pruningpredicate-rates ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 38.89 / 40.20 ±1.27 / 41.83 ms │    38.54 / 39.16 ±0.92 / 40.99 ms │     no change │
│ QQuery 2  │ 20.82 / 21.09 ±0.23 / 21.51 ms │    24.14 / 24.40 ±0.36 / 25.13 ms │  1.16x slower │
│ QQuery 3  │ 35.43 / 36.70 ±1.46 / 38.65 ms │    54.92 / 56.93 ±2.47 / 61.59 ms │  1.55x slower │
│ QQuery 4  │ 17.69 / 17.93 ±0.29 / 18.47 ms │    19.51 / 20.05 ±0.53 / 20.78 ms │  1.12x slower │
│ QQuery 5  │ 43.77 / 45.63 ±1.50 / 47.15 ms │    75.42 / 79.55 ±2.73 / 82.80 ms │  1.74x slower │
│ QQuery 6  │ 16.57 / 16.77 ±0.16 / 17.02 ms │    14.25 / 14.33 ±0.07 / 14.46 ms │ +1.17x faster │
│ QQuery 7  │ 50.02 / 51.61 ±1.89 / 55.12 ms │    76.70 / 77.49 ±0.94 / 79.28 ms │  1.50x slower │
│ QQuery 8  │ 46.06 / 46.63 ±0.41 / 47.12 ms │    88.10 / 88.99 ±1.28 / 91.52 ms │  1.91x slower │
│ QQuery 9  │ 51.82 / 52.80 ±0.50 / 53.26 ms │ 147.12 / 150.14 ±1.54 / 151.27 ms │  2.84x slower │
│ QQuery 10 │ 65.04 / 65.83 ±0.93 / 67.63 ms │    69.25 / 70.34 ±1.19 / 72.31 ms │  1.07x slower │
│ QQuery 11 │ 13.93 / 14.56 ±1.02 / 16.59 ms │    14.36 / 14.73 ±0.33 / 15.29 ms │     no change │
│ QQuery 12 │ 25.60 / 25.86 ±0.34 / 26.52 ms │    33.95 / 35.22 ±1.36 / 37.72 ms │  1.36x slower │
│ QQuery 13 │ 36.29 / 37.39 ±0.78 / 38.71 ms │    48.17 / 48.68 ±0.33 / 49.16 ms │  1.30x slower │
│ QQuery 14 │ 26.42 / 26.69 ±0.19 / 26.98 ms │    40.26 / 41.77 ±1.36 / 43.48 ms │  1.56x slower │
│ QQuery 15 │ 32.56 / 32.81 ±0.14 / 33.00 ms │    33.26 / 33.82 ±0.49 / 34.67 ms │     no change │
│ QQuery 16 │ 15.17 / 15.33 ±0.15 / 15.52 ms │    18.96 / 19.72 ±0.73 / 21.07 ms │  1.29x slower │
│ QQuery 17 │ 78.44 / 79.90 ±1.69 / 83.02 ms │ 154.97 / 157.47 ±1.88 / 159.69 ms │  1.97x slower │
│ QQuery 18 │ 69.10 / 70.64 ±0.90 / 71.57 ms │    78.25 / 79.36 ±1.13 / 80.95 ms │  1.12x slower │
│ QQuery 19 │ 35.81 / 36.01 ±0.19 / 36.38 ms │    39.96 / 40.32 ±0.20 / 40.55 ms │  1.12x slower │
│ QQuery 20 │ 39.14 / 39.56 ±0.21 / 39.72 ms │    73.61 / 73.92 ±0.29 / 74.32 ms │  1.87x slower │
│ QQuery 21 │ 59.47 / 61.79 ±2.61 / 66.90 ms │    79.83 / 82.12 ±2.34 / 86.34 ms │  1.33x slower │
│ QQuery 22 │ 23.81 / 24.02 ±0.13 / 24.21 ms │    30.51 / 30.74 ±0.15 / 30.94 ms │  1.28x slower │
└───────────┴────────────────────────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Benchmark Summary                            ┃           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ Total Time (HEAD)                            │  859.76ms │
│ Total Time (exp_r6-pruningpredicate-rates)   │ 1279.25ms │
│ Average Time (HEAD)                          │   39.08ms │
│ Average Time (exp_r6-pruningpredicate-rates) │   58.15ms │
│ Queries Faster                               │         1 │
│ Queries Slower                               │        18 │
│ Queries with No Change                       │         3 │
│ Queries with Failure                         │         0 │
└──────────────────────────────────────────────┴───────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 5.6 GiB
Avg memory 5.1 GiB
CPU user 31.9s
CPU sys 2.2s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 10.0s
Peak memory 5.8 GiB
Avg memory 5.0 GiB
CPU user 50.1s
CPU sys 2.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and exp_r6-pruningpredicate-rates
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃         exp_r6-pruningpredicate-rates ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           6.63 / 7.16 ±0.84 / 8.83 ms │           6.26 / 6.81 ±0.79 / 8.37 ms │     no change │
│ QQuery 2  │        84.01 / 84.32 ±0.24 / 84.70 ms │        50.70 / 51.09 ±0.32 / 51.56 ms │ +1.65x faster │
│ QQuery 3  │        30.02 / 30.24 ±0.21 / 30.63 ms │        33.71 / 34.51 ±0.89 / 35.79 ms │  1.14x slower │
│ QQuery 4  │     563.58 / 570.16 ±3.71 / 573.23 ms │     352.60 / 354.47 ±1.49 / 356.35 ms │ +1.61x faster │
│ QQuery 5  │        53.96 / 54.40 ±0.30 / 54.89 ms │        82.54 / 83.85 ±0.71 / 84.46 ms │  1.54x slower │
│ QQuery 6  │        36.98 / 37.63 ±0.44 / 38.20 ms │        34.55 / 34.81 ±0.27 / 35.31 ms │ +1.08x faster │
│ QQuery 7  │     112.46 / 113.00 ±0.50 / 113.85 ms │     147.27 / 149.25 ±2.37 / 153.86 ms │  1.32x slower │
│ QQuery 8  │        40.34 / 40.42 ±0.08 / 40.55 ms │        20.52 / 20.69 ±0.13 / 20.91 ms │ +1.95x faster │
│ QQuery 9  │        55.26 / 57.02 ±1.49 / 59.64 ms │        55.54 / 56.32 ±0.83 / 57.82 ms │     no change │
│ QQuery 10 │        82.69 / 83.84 ±1.93 / 87.68 ms │     112.66 / 113.59 ±1.13 / 115.73 ms │  1.35x slower │
│ QQuery 11 │     354.35 / 357.30 ±1.77 / 359.84 ms │     223.23 / 224.80 ±1.44 / 227.18 ms │ +1.59x faster │
│ QQuery 12 │        30.07 / 30.54 ±0.43 / 31.31 ms │        25.27 / 25.45 ±0.17 / 25.74 ms │ +1.20x faster │
│ QQuery 13 │     131.41 / 132.17 ±0.51 / 132.80 ms │     214.81 / 216.52 ±1.85 / 220.11 ms │  1.64x slower │
│ QQuery 14 │     524.46 / 529.36 ±2.52 / 531.71 ms │     516.92 / 517.65 ±0.75 / 518.94 ms │     no change │
│ QQuery 15 │        68.00 / 68.63 ±0.70 / 69.90 ms │        30.57 / 31.15 ±0.62 / 32.29 ms │ +2.20x faster │
│ QQuery 16 │           7.47 / 7.59 ±0.10 / 7.71 ms │           6.81 / 6.90 ±0.09 / 7.07 ms │ +1.10x faster │
│ QQuery 17 │        85.80 / 86.81 ±1.00 / 88.72 ms │     151.87 / 152.43 ±0.62 / 153.62 ms │  1.76x slower │
│ QQuery 18 │     160.65 / 161.53 ±0.96 / 163.27 ms │     304.40 / 306.75 ±1.47 / 309.04 ms │  1.90x slower │
│ QQuery 19 │        42.69 / 43.13 ±0.35 / 43.65 ms │        55.48 / 56.06 ±0.41 / 56.69 ms │  1.30x slower │
│ QQuery 20 │        37.05 / 37.62 ±0.51 / 38.53 ms │        29.35 / 29.52 ±0.14 / 29.71 ms │ +1.27x faster │
│ QQuery 21 │        19.12 / 19.24 ±0.09 / 19.36 ms │        18.82 / 19.27 ±0.70 / 20.65 ms │     no change │
│ QQuery 22 │        66.00 / 66.76 ±0.53 / 67.47 ms │        69.73 / 70.19 ±0.45 / 70.79 ms │  1.05x slower │
│ QQuery 23 │     503.36 / 509.27 ±3.31 / 513.49 ms │     369.13 / 373.29 ±3.82 / 380.45 ms │ +1.36x faster │
│ QQuery 24 │     249.24 / 254.30 ±4.37 / 262.25 ms │     526.27 / 527.50 ±0.99 / 528.90 ms │  2.07x slower │
│ QQuery 25 │     121.69 / 122.02 ±0.19 / 122.23 ms │     173.43 / 174.67 ±0.88 / 176.02 ms │  1.43x slower │
│ QQuery 26 │        72.85 / 73.30 ±0.28 / 73.65 ms │        92.59 / 93.27 ±0.45 / 93.84 ms │  1.27x slower │
│ QQuery 27 │           7.42 / 7.62 ±0.11 / 7.75 ms │           7.18 / 7.34 ±0.11 / 7.52 ms │     no change │
│ QQuery 28 │        64.18 / 64.36 ±0.21 / 64.69 ms │        63.52 / 64.49 ±0.89 / 65.67 ms │     no change │
│ QQuery 29 │     104.89 / 106.60 ±2.17 / 110.75 ms │     183.94 / 185.00 ±0.94 / 186.64 ms │  1.74x slower │
│ QQuery 30 │        31.43 / 32.45 ±0.91 / 33.93 ms │        35.62 / 35.84 ±0.12 / 35.95 ms │  1.10x slower │
│ QQuery 31 │     115.07 / 116.62 ±1.60 / 119.65 ms │     150.16 / 151.69 ±1.27 / 153.84 ms │  1.30x slower │
│ QQuery 32 │        22.26 / 22.37 ±0.10 / 22.54 ms │        21.25 / 21.50 ±0.17 / 21.70 ms │     no change │
│ QQuery 33 │        40.68 / 40.93 ±0.21 / 41.23 ms │        50.24 / 51.30 ±0.72 / 52.32 ms │  1.25x slower │
│ QQuery 34 │        10.41 / 10.79 ±0.35 / 11.31 ms │        11.07 / 11.56 ±0.35 / 12.12 ms │  1.07x slower │
│ QQuery 35 │        82.59 / 83.84 ±1.45 / 86.66 ms │     117.90 / 118.37 ±0.37 / 119.00 ms │  1.41x slower │
│ QQuery 36 │           6.82 / 6.89 ±0.06 / 6.99 ms │           6.68 / 6.84 ±0.09 / 6.94 ms │     no change │
│ QQuery 37 │           7.67 / 7.70 ±0.03 / 7.75 ms │           9.38 / 9.49 ±0.06 / 9.56 ms │  1.23x slower │
│ QQuery 38 │        72.72 / 73.51 ±0.76 / 74.94 ms │        91.81 / 93.16 ±0.89 / 94.61 ms │  1.27x slower │
│ QQuery 39 │     108.18 / 109.78 ±1.61 / 112.88 ms │     103.82 / 105.90 ±1.32 / 107.52 ms │     no change │
│ QQuery 40 │        24.48 / 25.00 ±0.35 / 25.40 ms │        20.63 / 20.93 ±0.20 / 21.26 ms │ +1.19x faster │
│ QQuery 41 │        14.73 / 15.21 ±0.29 / 15.54 ms │        16.78 / 16.94 ±0.11 / 17.08 ms │  1.11x slower │
│ QQuery 42 │        24.78 / 25.21 ±0.27 / 25.52 ms │        32.93 / 33.37 ±0.37 / 34.02 ms │  1.32x slower │
│ QQuery 43 │           5.65 / 5.76 ±0.09 / 5.91 ms │           5.22 / 5.35 ±0.10 / 5.51 ms │ +1.08x faster │
│ QQuery 44 │        11.66 / 11.88 ±0.12 / 11.99 ms │        11.13 / 11.29 ±0.09 / 11.39 ms │     no change │
│ QQuery 45 │        45.73 / 46.99 ±0.75 / 48.06 ms │        32.50 / 32.97 ±0.34 / 33.50 ms │ +1.43x faster │
│ QQuery 46 │        14.19 / 14.66 ±0.50 / 15.62 ms │        14.87 / 15.25 ±0.26 / 15.54 ms │     no change │
│ QQuery 47 │     258.56 / 261.21 ±2.09 / 264.68 ms │     249.28 / 251.22 ±1.19 / 252.40 ms │     no change │
│ QQuery 48 │     106.39 / 107.39 ±0.97 / 109.19 ms │     181.69 / 182.72 ±0.74 / 183.85 ms │  1.70x slower │
│ QQuery 49 │        84.50 / 84.82 ±0.24 / 85.20 ms │        84.32 / 85.10 ±0.59 / 86.09 ms │     no change │
│ QQuery 50 │        64.16 / 64.78 ±0.91 / 66.58 ms │     147.95 / 150.35 ±2.49 / 154.67 ms │  2.32x slower │
│ QQuery 51 │        94.61 / 96.49 ±1.80 / 98.78 ms │     100.73 / 102.09 ±1.80 / 105.58 ms │  1.06x slower │
│ QQuery 52 │        25.61 / 25.85 ±0.20 / 26.19 ms │        33.25 / 33.43 ±0.18 / 33.72 ms │  1.29x slower │
│ QQuery 53 │        31.45 / 31.91 ±0.41 / 32.63 ms │        40.71 / 42.34 ±2.05 / 46.35 ms │  1.33x slower │
│ QQuery 54 │        56.05 / 57.87 ±2.65 / 63.14 ms │        35.20 / 37.37 ±1.46 / 38.65 ms │ +1.55x faster │
│ QQuery 55 │        24.80 / 25.43 ±0.43 / 26.01 ms │        32.12 / 32.44 ±0.30 / 32.93 ms │  1.28x slower │
│ QQuery 56 │        41.17 / 41.61 ±0.57 / 42.73 ms │        55.17 / 55.50 ±0.24 / 55.87 ms │  1.33x slower │
│ QQuery 57 │     183.56 / 186.76 ±2.07 / 189.06 ms │     170.13 / 171.45 ±0.69 / 172.01 ms │ +1.09x faster │
│ QQuery 58 │     121.38 / 122.70 ±1.09 / 124.52 ms │        84.81 / 85.21 ±0.32 / 85.74 ms │ +1.44x faster │
│ QQuery 59 │     121.86 / 122.89 ±0.79 / 124.14 ms │        79.73 / 80.61 ±1.45 / 83.50 ms │ +1.52x faster │
│ QQuery 60 │        41.49 / 41.64 ±0.13 / 41.84 ms │        50.49 / 51.39 ±0.78 / 52.68 ms │  1.23x slower │
│ QQuery 61 │        14.66 / 14.75 ±0.07 / 14.82 ms │        13.66 / 13.74 ±0.09 / 13.92 ms │ +1.07x faster │
│ QQuery 62 │        48.77 / 49.63 ±1.32 / 52.25 ms │        41.42 / 42.02 ±0.33 / 42.36 ms │ +1.18x faster │
│ QQuery 63 │        31.46 / 31.73 ±0.17 / 31.97 ms │        40.31 / 41.23 ±1.28 / 43.74 ms │  1.30x slower │
│ QQuery 64 │     486.47 / 491.27 ±3.96 / 495.32 ms │     830.76 / 834.78 ±3.62 / 839.70 ms │  1.70x slower │
│ QQuery 65 │     148.31 / 149.76 ±1.34 / 151.91 ms │ 1094.56 / 1127.84 ±20.88 / 1159.18 ms │  7.53x slower │
│ QQuery 66 │        87.09 / 87.33 ±0.19 / 87.62 ms │        76.58 / 77.33 ±0.69 / 78.48 ms │ +1.13x faster │
│ QQuery 67 │     268.50 / 274.59 ±6.12 / 286.38 ms │     273.93 / 277.14 ±2.52 / 280.05 ms │     no change │
│ QQuery 68 │        14.21 / 14.39 ±0.13 / 14.61 ms │        14.83 / 14.97 ±0.10 / 15.09 ms │     no change │
│ QQuery 69 │        78.09 / 79.20 ±1.38 / 81.74 ms │     104.88 / 105.51 ±0.57 / 106.34 ms │  1.33x slower │
│ QQuery 70 │     109.20 / 114.58 ±8.83 / 132.15 ms │     118.39 / 122.03 ±4.11 / 130.04 ms │  1.06x slower │
│ QQuery 71 │        36.98 / 38.12 ±1.63 / 41.33 ms │        44.30 / 44.89 ±0.32 / 45.17 ms │  1.18x slower │
│ QQuery 72 │ 2374.74 / 2450.06 ±49.51 / 2524.09 ms │     247.23 / 250.11 ±3.43 / 256.66 ms │ +9.80x faster │
│ QQuery 73 │        10.08 / 10.29 ±0.17 / 10.54 ms │        10.67 / 10.80 ±0.12 / 10.96 ms │     no change │
│ QQuery 74 │     200.86 / 204.02 ±2.90 / 209.25 ms │     146.14 / 146.79 ±0.74 / 147.88 ms │ +1.39x faster │
│ QQuery 75 │     154.09 / 156.91 ±2.32 / 160.64 ms │     199.22 / 200.67 ±1.44 / 203.16 ms │  1.28x slower │
│ QQuery 76 │        36.93 / 37.09 ±0.19 / 37.44 ms │        38.65 / 39.85 ±2.02 / 43.88 ms │  1.07x slower │
│ QQuery 77 │        64.06 / 64.77 ±0.50 / 65.60 ms │        73.11 / 73.46 ±0.44 / 74.29 ms │  1.13x slower │
│ QQuery 78 │     202.28 / 205.53 ±3.25 / 211.36 ms │     165.82 / 167.08 ±0.89 / 168.33 ms │ +1.23x faster │
│ QQuery 79 │        69.94 / 70.61 ±0.36 / 71.00 ms │        83.66 / 84.69 ±0.62 / 85.53 ms │  1.20x slower │
│ QQuery 80 │     106.92 / 109.22 ±3.06 / 115.22 ms │      99.31 / 101.05 ±2.49 / 105.93 ms │ +1.08x faster │
│ QQuery 81 │        25.82 / 26.18 ±0.31 / 26.71 ms │        28.78 / 29.40 ±0.50 / 30.27 ms │  1.12x slower │
│ QQuery 82 │        17.80 / 17.99 ±0.21 / 18.38 ms │        21.70 / 21.91 ±0.17 / 22.15 ms │  1.22x slower │
│ QQuery 83 │        38.83 / 39.47 ±0.35 / 39.86 ms │        39.19 / 39.62 ±0.30 / 40.00 ms │     no change │
│ QQuery 84 │        44.44 / 45.27 ±0.92 / 47.05 ms │        58.84 / 59.86 ±0.82 / 60.66 ms │  1.32x slower │
│ QQuery 85 │     139.88 / 141.20 ±1.93 / 145.04 ms │     355.93 / 358.32 ±1.76 / 361.39 ms │  2.54x slower │
│ QQuery 86 │        26.28 / 27.04 ±0.48 / 27.62 ms │        30.27 / 30.86 ±0.45 / 31.66 ms │  1.14x slower │
│ QQuery 87 │        73.32 / 74.15 ±0.92 / 75.90 ms │        94.30 / 95.56 ±1.29 / 97.76 ms │  1.29x slower │
│ QQuery 88 │        67.00 / 68.17 ±1.97 / 72.09 ms │        73.66 / 74.06 ±0.32 / 74.51 ms │  1.09x slower │
│ QQuery 89 │        37.71 / 38.00 ±0.23 / 38.31 ms │        45.56 / 46.17 ±0.63 / 47.31 ms │  1.22x slower │
│ QQuery 90 │        18.49 / 18.91 ±0.45 / 19.77 ms │        21.63 / 21.70 ±0.04 / 21.75 ms │  1.15x slower │
│ QQuery 91 │        53.28 / 53.70 ±0.33 / 54.09 ms │        70.91 / 72.00 ±1.22 / 74.33 ms │  1.34x slower │
│ QQuery 92 │        30.93 / 31.44 ±0.34 / 31.98 ms │        38.72 / 39.50 ±0.83 / 41.05 ms │  1.26x slower │
│ QQuery 93 │        54.43 / 55.70 ±0.84 / 57.01 ms │        52.59 / 53.43 ±0.62 / 54.50 ms │     no change │
│ QQuery 94 │        39.27 / 39.49 ±0.15 / 39.67 ms │        50.37 / 51.27 ±1.03 / 53.18 ms │  1.30x slower │
│ QQuery 95 │        93.11 / 94.82 ±1.54 / 97.19 ms │     136.97 / 137.81 ±0.62 / 138.36 ms │  1.45x slower │
│ QQuery 96 │        24.97 / 25.29 ±0.21 / 25.48 ms │        31.36 / 31.43 ±0.05 / 31.49 ms │  1.24x slower │
│ QQuery 97 │        48.08 / 49.28 ±1.93 / 53.14 ms │        53.23 / 53.74 ±0.38 / 54.21 ms │  1.09x slower │
│ QQuery 98 │        44.07 / 44.81 ±0.46 / 45.48 ms │        35.80 / 36.46 ±0.57 / 37.49 ms │ +1.23x faster │
│ QQuery 99 │        72.42 / 73.04 ±0.49 / 73.77 ms │        59.44 / 59.96 ±0.40 / 60.43 ms │ +1.22x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                            ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                            │ 11295.04ms │
│ Total Time (exp_r6-pruningpredicate-rates)   │ 11179.65ms │
│ Average Time (HEAD)                          │   114.09ms │
│ Average Time (exp_r6-pruningpredicate-rates) │   112.93ms │
│ Queries Faster                               │         26 │
│ Queries Slower                               │         55 │
│ Queries with No Change                       │         18 │
│ Queries with Failure                         │          0 │
└──────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 60.0s
Peak memory 7.1 GiB
Avg memory 6.2 GiB
CPU user 262.9s
CPU sys 6.9s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 60.0s
Peak memory 7.0 GiB
Avg memory 6.4 GiB
CPU user 152.9s
CPU sys 5.1s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and exp_r6-pruningpredicate-rates
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃         exp_r6-pruningpredicate-rates ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.20 / 4.61 ±6.72 / 18.05 ms │          1.21 / 4.65 ±6.78 / 18.21 ms │      no change │
│ QQuery 1  │        12.74 / 12.82 ±0.12 / 13.05 ms │        14.08 / 14.70 ±0.32 / 14.97 ms │   1.15x slower │
│ QQuery 2  │        35.75 / 36.19 ±0.30 / 36.47 ms │        38.84 / 39.51 ±0.53 / 40.26 ms │   1.09x slower │
│ QQuery 3  │        30.57 / 31.62 ±0.92 / 32.86 ms │        31.54 / 32.21 ±0.52 / 32.97 ms │      no change │
│ QQuery 4  │     235.26 / 237.68 ±2.34 / 240.99 ms │     236.27 / 238.74 ±2.05 / 241.51 ms │      no change │
│ QQuery 5  │     279.93 / 280.29 ±0.28 / 280.70 ms │     279.98 / 282.66 ±2.49 / 286.55 ms │      no change │
│ QQuery 6  │           7.19 / 7.60 ±0.30 / 8.01 ms │           5.62 / 6.26 ±0.68 / 7.15 ms │  +1.21x faster │
│ QQuery 7  │        13.65 / 13.78 ±0.08 / 13.88 ms │        15.69 / 16.01 ±0.23 / 16.41 ms │   1.16x slower │
│ QQuery 8  │     315.76 / 319.31 ±2.26 / 322.22 ms │     318.05 / 320.95 ±3.09 / 325.50 ms │      no change │
│ QQuery 9  │    447.98 / 459.38 ±12.61 / 482.73 ms │     455.01 / 465.72 ±8.16 / 474.68 ms │      no change │
│ QQuery 10 │        68.92 / 70.40 ±1.28 / 72.62 ms │        71.07 / 72.44 ±0.88 / 73.67 ms │      no change │
│ QQuery 11 │        80.47 / 80.90 ±0.25 / 81.22 ms │        82.63 / 84.89 ±3.02 / 90.72 ms │      no change │
│ QQuery 12 │     272.83 / 277.43 ±4.32 / 285.57 ms │     266.56 / 271.97 ±3.71 / 276.53 ms │      no change │
│ QQuery 13 │     382.30 / 392.96 ±8.75 / 401.43 ms │     404.85 / 410.39 ±4.30 / 415.77 ms │      no change │
│ QQuery 14 │     278.61 / 281.11 ±2.76 / 285.60 ms │     270.37 / 274.64 ±2.50 / 277.33 ms │      no change │
│ QQuery 15 │     277.90 / 279.93 ±1.66 / 282.91 ms │    274.39 / 284.73 ±11.10 / 306.06 ms │      no change │
│ QQuery 16 │     599.92 / 606.17 ±4.98 / 613.53 ms │     601.01 / 607.13 ±4.07 / 613.38 ms │      no change │
│ QQuery 17 │     606.49 / 611.41 ±2.60 / 613.64 ms │    602.29 / 609.34 ±11.12 / 631.34 ms │      no change │
│ QQuery 18 │ 1202.08 / 1218.25 ±16.11 / 1247.44 ms │ 1188.22 / 1206.21 ±13.38 / 1226.64 ms │      no change │
│ QQuery 19 │        31.76 / 36.60 ±6.06 / 47.99 ms │       28.47 / 35.58 ±10.09 / 54.60 ms │      no change │
│ QQuery 20 │    520.11 / 552.52 ±17.76 / 572.50 ms │     515.63 / 520.82 ±4.43 / 528.84 ms │  +1.06x faster │
│ QQuery 21 │     594.83 / 600.21 ±3.79 / 603.81 ms │    623.02 / 647.13 ±16.73 / 673.77 ms │   1.08x slower │
│ QQuery 22 │ 1058.97 / 1068.75 ±11.22 / 1090.61 ms │     902.76 / 905.74 ±2.39 / 909.39 ms │  +1.18x faster │
│ QQuery 23 │ 3140.06 / 3175.65 ±22.78 / 3208.88 ms │     165.30 / 170.41 ±5.24 / 179.40 ms │ +18.64x faster │
│ QQuery 24 │        41.48 / 44.74 ±4.53 / 53.61 ms │        31.76 / 35.03 ±3.82 / 42.30 ms │  +1.28x faster │
│ QQuery 25 │     111.60 / 114.27 ±4.20 / 122.61 ms │     116.62 / 118.36 ±1.70 / 120.45 ms │      no change │
│ QQuery 26 │        41.95 / 43.57 ±1.94 / 46.05 ms │        50.61 / 51.11 ±0.38 / 51.67 ms │   1.17x slower │
│ QQuery 27 │     665.48 / 673.30 ±6.27 / 683.42 ms │     643.15 / 652.26 ±6.06 / 661.72 ms │      no change │
│ QQuery 28 │  3008.41 / 3014.64 ±7.62 / 3028.92 ms │ 2997.31 / 3009.84 ±11.14 / 3028.33 ms │      no change │
│ QQuery 29 │        41.37 / 41.95 ±0.65 / 43.17 ms │        43.04 / 47.69 ±6.62 / 60.47 ms │   1.14x slower │
│ QQuery 30 │     298.86 / 304.44 ±7.31 / 318.87 ms │     308.05 / 311.99 ±4.54 / 320.63 ms │      no change │
│ QQuery 31 │     290.52 / 295.09 ±3.33 / 298.63 ms │     363.41 / 368.01 ±3.29 / 373.57 ms │   1.25x slower │
│ QQuery 32 │     921.23 / 924.67 ±3.05 / 930.37 ms │    910.98 / 924.58 ±11.57 / 945.49 ms │      no change │
│ QQuery 33 │  1429.36 / 1435.76 ±5.16 / 1443.05 ms │  1423.66 / 1431.74 ±8.57 / 1447.95 ms │      no change │
│ QQuery 34 │ 1436.95 / 1460.03 ±17.52 / 1489.32 ms │ 1427.20 / 1443.09 ±10.66 / 1459.63 ms │      no change │
│ QQuery 35 │     280.11 / 288.35 ±4.79 / 293.66 ms │    283.41 / 299.67 ±11.86 / 311.70 ms │      no change │
│ QQuery 36 │        65.05 / 69.72 ±3.67 / 75.67 ms │        57.19 / 62.97 ±6.58 / 73.68 ms │  +1.11x faster │
│ QQuery 37 │        35.05 / 35.60 ±0.62 / 36.49 ms │        31.85 / 36.31 ±3.51 / 40.42 ms │      no change │
│ QQuery 38 │        40.86 / 44.06 ±2.71 / 47.61 ms │        35.17 / 40.29 ±6.52 / 52.77 ms │  +1.09x faster │
│ QQuery 39 │     125.22 / 136.84 ±6.97 / 144.79 ms │     116.80 / 121.56 ±4.86 / 130.76 ms │  +1.13x faster │
│ QQuery 40 │        14.44 / 14.61 ±0.10 / 14.72 ms │        13.30 / 14.20 ±1.13 / 16.39 ms │      no change │
│ QQuery 41 │        13.74 / 14.04 ±0.21 / 14.37 ms │        13.01 / 15.05 ±2.26 / 18.30 ms │   1.07x slower │
│ QQuery 42 │        13.30 / 13.47 ±0.18 / 13.77 ms │        12.92 / 13.14 ±0.22 / 13.41 ms │      no change │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                            ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                            │ 19624.73ms │
│ Total Time (exp_r6-pruningpredicate-rates)   │ 16519.71ms │
│ Average Time (HEAD)                          │   456.39ms │
│ Average Time (exp_r6-pruningpredicate-rates) │   384.18ms │
│ Queries Faster                               │          8 │
│ Queries Slower                               │          8 │
│ Queries with No Change                       │         27 │
│ Queries with Failure                         │          0 │
└──────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 30.7 GiB
Avg memory 23.2 GiB
CPU user 1035.8s
CPU sys 61.2s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 85.0s
Peak memory 30.5 GiB
Avg memory 23.5 GiB
CPU user 875.7s
CPU sys 49.5s
Peak spill 0 B

File an issue against this benchmark runner

paleolimbot and others added 3 commits May 13, 2026 21:21
…UE window functions (apache#22112)

## Which issue does this PR close?

- Closes apache#22108

## Rationale for this change

lead and lag both preserve metadata from the input field but nth_value,
first_value, and last_value do not.

## What changes are included in this PR?

The mechanism to calcluate the return field for nth_value was changed to
match lead/lag (which had already been fixed).

## Are these changes tested?

Yes, I added tests to metadata.slt

## Are there any user-facing changes?

No
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#22137 .

 ## Rationale for this change

`RANGE` window frames with a value offset (e.g. `RANGE BETWEEN 4
PRECEDING AND 4 FOLLOWING`) panicked with `attempt to add/subtract with
overflow` whenever the boundary target (`value ± delta`) wrapped
past the type's representable range. Affected inputs include values
close to `i64::MAX`/`i64::MIN`, `u64::MAX`, and any analogous boundary
for other integer/decimal/timestamp types.

Two `// TODO: Handle ... overflows.` markers in
`WindowFrameStateRange::calculate_index_of_row` had been left for this
case; the unchecked `ScalarValue::add` / `sub` silently wrapped the
target, after
which `search_in_slice` was handed a nonsensical (wrapped) value and
downstream code tripped a debug-assert subtraction in
`functions-window/src/nth_value.rs`.

Semantically, an overflowed boundary is *unbounded* with respect to the
data in the partition — every real value lies strictly inside the
wrapped sentinel — so the correct behavior is to collapse the
search to the appropriate partition edge rather than to search with a
wrapped target.

  ## What changes are included in this PR?

  `datafusion/expr/src/window_state.rs`

- Replace `ScalarValue::add` / `sub` with their `*_checked` counterparts
in the boundary computation.
- On overflow, short-circuit to the correct partition edge:
`search_start` for `PRECEDING`-direction searches, `length` for
`FOLLOWING`-direction searches. The collapse direction depends only on
the
const-generic `SEARCH_SIDE` (the add branch and sub branch both reduce
to `!SEARCH_SIDE` once you expand the `SEARCH_SIDE == is_descending`
invariant that selects each arithmetic branch).
- The pre-existing `value.is_unsigned() && value < delta` clamp-to-zero
path for unsigned subtraction is preserved — it produces a valid
polymorphic zero, not an overflow sentinel.
  - No behavior change on the non-overflow path.

  `datafusion/sqllogictest/test_files/window.slt`

  Regression coverage for positive and negative overflow, across:
- `ASC` + `FOLLOWING` / `ASC` + `PRECEDING` / `DESC` + `PRECEDING` /
`DESC` + `FOLLOWING` (each overflow direction occurs on both sort orders
depending on which arithmetic branch is taken)
- Symmetric `N PRECEDING AND N FOLLOWING` frames where only one side
overflows
  - Signed (`i64`) and unsigned (`u64`) ordering columns
- `first_value` and `last_value` both exercised to verify both frame
edges
- `ROWS` frame regression guard to document that the pre-existing
`saturating_sub` / `min(length)` saturation behavior is unchanged.
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#22138 .

 ## Rationale for this change

`AVG` used as a window aggregate can return `NaN` (and, for `Decimal` /
`Duration`, panic on integer division by zero) when every value in the
window frame is NULL.

  ```sql
  SELECT i,
AVG(v) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED
FOLLOWING)
  FROM (VALUES (1,1), (2,2), (3,NULL), (4,NULL)) t(i,v);
  ```

  | i | current output | expected (DuckDB/PgSQL) |
  |---|----------------|-------------------|
  | 1 | 1.5            | 1.5               |
  | 2 | 2.0            | 2.0               |
  | 3 | **NaN**        | **NULL**          |
  | 4 | **NaN**        | **NULL**          |

Root cause: sliding-window execution calls `Accumulator::retract_batch`
as rows leave the frame. Once every contributing value has been
retracted, `self.count` drops back to `0` but `self.sum` stays
`Some(0.0)` (or a tiny floating-point residual). `evaluate()` then
computes `sum / 0`, which yields `NaN` on `Float64`, and would panic
with integer division by zero on `DecimalAvgAccumulator` and
  `DurationAvgAccumulator`.
  
The non-sliding aggregation path is unaffected because there `sum`
becomes `Some(_)` only after at least one non-NULL value has been added,
so `count == 0` implies `sum == None`.

  ## What changes are included in this PR?

`datafusion/functions-aggregate/src/average.rs` — guard all three
affected `evaluate()` implementations with an explicit `count == 0 →
None` short-circuit:

  - `AvgAccumulator::evaluate` (Float64)
  - `DecimalAvgAccumulator::evaluate` (Decimal32/64/128/256)
  - `DurationAvgAccumulator::evaluate` (Duration*)

This matches the idiom already used by sibling retractable accumulators
(`variance.rs` uses an explicit `match self.count` before division;
`sum.rs` uses a `(self.count != 0).then_some(..)` guard).
@adriangb

Copy link
Copy Markdown
Owner Author

run benchmarks

baseline:
    ref: main
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: false
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: false
changed:
    ref: HEAD
    env:
       DATAFUSION_EXECUTION_PARQUET_PUSHDOWN_FILTERS: true
       DATAFUSION_EXECUTION_PARQUET_REORDER_FILTERS: true

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4447205265-55-6hhdv 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing HEAD (cae5fe6) to main diff using: clickbench_partitioned
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4447205265-56-tpfqj 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing HEAD (cae5fe6) to main diff using: tpcds
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark running (GKE) | trigger
Instance: c4a-highmem-16 (12 vCPU / 65 GiB) | Linux bench-c4447205265-57-bbl9w 6.12.68+ #1 SMP Wed Apr 1 02:23:28 UTC 2026 aarch64 GNU/Linux

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected

Comparing HEAD (cae5fe6) to main diff using: tpch
Results will be posted here when complete


File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and exp_r6-pruningpredicate-rates
--------------------
Benchmark tpch_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                           HEAD ┃  exp_r6-pruningpredicate-rates ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │ 39.41 / 40.82 ±1.56 / 43.32 ms │ 38.39 / 39.69 ±1.54 / 41.63 ms │     no change │
│ QQuery 2  │ 21.05 / 21.57 ±0.83 / 23.22 ms │ 23.82 / 24.18 ±0.29 / 24.70 ms │  1.12x slower │
│ QQuery 3  │ 34.75 / 37.75 ±1.83 / 39.92 ms │ 35.61 / 36.73 ±1.33 / 39.09 ms │     no change │
│ QQuery 4  │ 17.09 / 17.41 ±0.23 / 17.79 ms │ 17.47 / 17.81 ±0.20 / 18.10 ms │     no change │
│ QQuery 5  │ 42.23 / 43.87 ±1.31 / 45.63 ms │ 42.70 / 43.79 ±1.05 / 45.76 ms │     no change │
│ QQuery 6  │ 16.55 / 17.04 ±0.53 / 17.85 ms │ 14.01 / 14.28 ±0.28 / 14.66 ms │ +1.19x faster │
│ QQuery 7  │ 51.60 / 53.24 ±1.34 / 55.29 ms │ 40.95 / 41.73 ±0.48 / 42.44 ms │ +1.28x faster │
│ QQuery 8  │ 46.70 / 47.03 ±0.27 / 47.44 ms │ 51.39 / 51.78 ±0.47 / 52.65 ms │  1.10x slower │
│ QQuery 9  │ 52.55 / 53.46 ±1.16 / 55.72 ms │ 64.70 / 65.60 ±0.47 / 66.09 ms │  1.23x slower │
│ QQuery 10 │ 64.10 / 65.52 ±1.13 / 66.80 ms │ 63.86 / 64.90 ±1.05 / 66.61 ms │     no change │
│ QQuery 11 │ 14.27 / 14.84 ±0.87 / 16.55 ms │ 14.21 / 14.46 ±0.15 / 14.69 ms │     no change │
│ QQuery 12 │ 25.77 / 25.93 ±0.20 / 26.31 ms │ 25.77 / 27.14 ±1.32 / 29.14 ms │     no change │
│ QQuery 13 │ 35.57 / 37.02 ±0.93 / 38.24 ms │ 37.03 / 37.68 ±0.81 / 39.23 ms │     no change │
│ QQuery 14 │ 25.95 / 26.39 ±0.39 / 26.92 ms │ 29.84 / 30.35 ±0.37 / 30.71 ms │  1.15x slower │
│ QQuery 15 │ 31.55 / 32.22 ±0.71 / 33.50 ms │ 30.79 / 31.33 ±0.65 / 32.60 ms │     no change │
│ QQuery 16 │ 14.85 / 15.18 ±0.29 / 15.67 ms │ 18.18 / 18.30 ±0.09 / 18.43 ms │  1.21x slower │
│ QQuery 17 │ 75.46 / 80.31 ±3.27 / 85.69 ms │ 82.15 / 83.99 ±1.34 / 86.27 ms │     no change │
│ QQuery 18 │ 70.77 / 71.84 ±0.66 / 72.70 ms │ 56.99 / 57.77 ±0.61 / 58.49 ms │ +1.24x faster │
│ QQuery 19 │ 35.93 / 36.54 ±0.45 / 37.18 ms │ 37.98 / 38.16 ±0.13 / 38.31 ms │     no change │
│ QQuery 20 │ 38.16 / 38.90 ±0.76 / 40.19 ms │ 40.22 / 40.88 ±0.45 / 41.52 ms │  1.05x slower │
│ QQuery 21 │ 60.47 / 61.46 ±0.98 / 63.16 ms │ 47.79 / 48.69 ±0.78 / 49.81 ms │ +1.26x faster │
│ QQuery 22 │ 24.14 / 24.34 ±0.14 / 24.53 ms │ 29.77 / 30.02 ±0.17 / 30.26 ms │  1.23x slower │
└───────────┴────────────────────────────────┴────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Benchmark Summary                            ┃          ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ Total Time (HEAD)                            │ 862.67ms │
│ Total Time (exp_r6-pruningpredicate-rates)   │ 859.27ms │
│ Average Time (HEAD)                          │  39.21ms │
│ Average Time (exp_r6-pruningpredicate-rates) │  39.06ms │
│ Queries Faster                               │        4 │
│ Queries Slower                               │        7 │
│ Queries with No Change                       │       11 │
│ Queries with Failure                         │        0 │
└──────────────────────────────────────────────┴──────────┘

Resource Usage

tpch — base (merge-base)

Metric Value
Wall time 5.0s
Peak memory 5.6 GiB
Avg memory 5.1 GiB
CPU user 31.8s
CPU sys 2.5s
Peak spill 0 B

tpch — branch

Metric Value
Wall time 5.0s
Peak memory 5.5 GiB
Avg memory 5.1 GiB
CPU user 30.2s
CPU sys 2.0s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and exp_r6-pruningpredicate-rates
--------------------
Benchmark tpcds_sf1.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃     exp_r6-pruningpredicate-rates ┃        Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ QQuery 1  │           6.80 / 7.24 ±0.74 / 8.71 ms │       6.32 / 6.80 ±0.85 / 8.50 ms │ +1.06x faster │
│ QQuery 2  │        83.81 / 84.09 ±0.32 / 84.70 ms │    50.74 / 51.21 ±0.33 / 51.77 ms │ +1.64x faster │
│ QQuery 3  │        30.02 / 30.24 ±0.17 / 30.51 ms │    30.91 / 31.40 ±0.36 / 31.84 ms │     no change │
│ QQuery 4  │     559.30 / 563.79 ±4.70 / 572.88 ms │ 533.74 / 537.55 ±2.37 / 541.23 ms │     no change │
│ QQuery 5  │        54.38 / 54.58 ±0.29 / 55.16 ms │    55.01 / 55.71 ±0.50 / 56.53 ms │     no change │
│ QQuery 6  │        37.26 / 38.15 ±0.65 / 38.99 ms │    37.96 / 38.36 ±0.33 / 38.85 ms │     no change │
│ QQuery 7  │     112.65 / 114.58 ±1.61 / 117.28 ms │ 120.22 / 121.76 ±1.41 / 123.76 ms │  1.06x slower │
│ QQuery 8  │        40.62 / 40.77 ±0.13 / 40.98 ms │    19.23 / 19.39 ±0.09 / 19.48 ms │ +2.10x faster │
│ QQuery 9  │        53.02 / 56.02 ±1.64 / 57.71 ms │    55.33 / 56.71 ±1.31 / 59.02 ms │     no change │
│ QQuery 10 │        82.58 / 83.73 ±1.32 / 86.23 ms │    87.37 / 88.36 ±1.07 / 90.33 ms │  1.06x slower │
│ QQuery 11 │     358.09 / 361.21 ±2.89 / 366.21 ms │ 349.01 / 351.34 ±1.89 / 354.60 ms │     no change │
│ QQuery 12 │        30.30 / 31.05 ±0.69 / 32.15 ms │    33.29 / 33.76 ±0.51 / 34.57 ms │  1.09x slower │
│ QQuery 13 │     133.81 / 134.54 ±0.64 / 135.72 ms │ 160.48 / 161.37 ±0.91 / 162.96 ms │  1.20x slower │
│ QQuery 14 │     526.82 / 531.44 ±2.58 / 533.65 ms │ 539.84 / 543.34 ±3.52 / 548.86 ms │     no change │
│ QQuery 15 │        67.78 / 70.12 ±1.76 / 72.74 ms │    27.77 / 28.24 ±0.27 / 28.59 ms │ +2.48x faster │
│ QQuery 16 │           7.48 / 7.61 ±0.10 / 7.73 ms │       6.82 / 6.95 ±0.14 / 7.22 ms │ +1.10x faster │
│ QQuery 17 │        86.16 / 87.07 ±0.81 / 88.51 ms │    91.88 / 94.02 ±1.78 / 97.25 ms │  1.08x slower │
│ QQuery 18 │     159.53 / 160.57 ±0.83 / 161.93 ms │ 164.52 / 166.52 ±1.07 / 167.45 ms │     no change │
│ QQuery 19 │        42.76 / 43.07 ±0.19 / 43.27 ms │    44.04 / 44.82 ±0.65 / 45.82 ms │     no change │
│ QQuery 20 │        36.85 / 37.14 ±0.36 / 37.83 ms │    27.60 / 28.17 ±0.43 / 28.89 ms │ +1.32x faster │
│ QQuery 21 │        18.70 / 18.86 ±0.11 / 18.99 ms │    17.46 / 17.89 ±0.33 / 18.39 ms │ +1.05x faster │
│ QQuery 22 │        63.59 / 64.30 ±0.56 / 65.12 ms │    68.40 / 70.00 ±1.24 / 72.12 ms │  1.09x slower │
│ QQuery 23 │     501.70 / 507.67 ±4.26 / 513.67 ms │ 425.35 / 432.11 ±5.79 / 440.01 ms │ +1.17x faster │
│ QQuery 24 │     250.51 / 252.97 ±2.37 / 257.43 ms │ 190.45 / 192.03 ±1.41 / 194.57 ms │ +1.32x faster │
│ QQuery 25 │     121.15 / 122.37 ±0.87 / 123.63 ms │ 115.74 / 116.78 ±0.76 / 117.91 ms │     no change │
│ QQuery 26 │        72.72 / 73.23 ±0.44 / 73.84 ms │    81.99 / 82.97 ±0.72 / 83.86 ms │  1.13x slower │
│ QQuery 27 │           7.71 / 7.84 ±0.09 / 7.97 ms │       7.30 / 7.36 ±0.09 / 7.54 ms │ +1.06x faster │
│ QQuery 28 │        60.90 / 64.20 ±1.68 / 65.57 ms │    59.06 / 63.07 ±2.16 / 65.31 ms │     no change │
│ QQuery 29 │     103.71 / 105.78 ±1.93 / 108.53 ms │ 105.08 / 107.97 ±1.88 / 110.30 ms │     no change │
│ QQuery 30 │        32.06 / 32.88 ±0.59 / 33.75 ms │    31.87 / 32.62 ±0.50 / 33.22 ms │     no change │
│ QQuery 31 │     116.86 / 118.50 ±1.18 / 120.00 ms │ 122.40 / 124.65 ±1.70 / 127.33 ms │  1.05x slower │
│ QQuery 32 │        21.93 / 22.30 ±0.27 / 22.71 ms │    22.10 / 22.26 ±0.12 / 22.43 ms │     no change │
│ QQuery 33 │        41.21 / 41.60 ±0.43 / 42.24 ms │    43.05 / 43.59 ±0.31 / 43.87 ms │     no change │
│ QQuery 34 │        10.96 / 11.10 ±0.11 / 11.25 ms │    10.81 / 10.95 ±0.13 / 11.19 ms │     no change │
│ QQuery 35 │        83.31 / 84.84 ±0.92 / 85.82 ms │    87.83 / 89.35 ±0.86 / 90.20 ms │  1.05x slower │
│ QQuery 36 │           7.07 / 7.15 ±0.11 / 7.37 ms │       6.74 / 6.83 ±0.06 / 6.91 ms │     no change │
│ QQuery 37 │           7.78 / 7.82 ±0.03 / 7.86 ms │       9.32 / 9.43 ±0.07 / 9.51 ms │  1.21x slower │
│ QQuery 38 │        73.54 / 74.84 ±0.80 / 75.82 ms │    81.18 / 82.47 ±1.22 / 84.20 ms │  1.10x slower │
│ QQuery 39 │     107.50 / 109.65 ±1.39 / 111.53 ms │   97.70 / 99.20 ±2.16 / 103.46 ms │ +1.11x faster │
│ QQuery 40 │        24.52 / 24.97 ±0.34 / 25.56 ms │    20.79 / 21.11 ±0.20 / 21.40 ms │ +1.18x faster │
│ QQuery 41 │        15.16 / 15.51 ±0.47 / 16.42 ms │    16.61 / 16.85 ±0.25 / 17.20 ms │  1.09x slower │
│ QQuery 42 │        25.00 / 25.41 ±0.40 / 26.05 ms │    25.50 / 25.71 ±0.23 / 26.14 ms │     no change │
│ QQuery 43 │           5.84 / 5.90 ±0.09 / 6.07 ms │       5.30 / 5.38 ±0.10 / 5.56 ms │ +1.10x faster │
│ QQuery 44 │        11.65 / 11.84 ±0.15 / 12.01 ms │    11.19 / 11.43 ±0.19 / 11.74 ms │     no change │
│ QQuery 45 │        45.20 / 47.16 ±1.09 / 48.48 ms │    48.17 / 49.37 ±0.87 / 50.83 ms │     no change │
│ QQuery 46 │        14.10 / 14.71 ±0.60 / 15.82 ms │    14.76 / 15.08 ±0.26 / 15.55 ms │     no change │
│ QQuery 47 │     253.23 / 263.19 ±5.91 / 269.97 ms │ 278.69 / 282.83 ±2.88 / 286.92 ms │  1.07x slower │
│ QQuery 48 │     106.79 / 107.65 ±0.83 / 109.23 ms │ 133.91 / 135.19 ±0.79 / 136.16 ms │  1.26x slower │
│ QQuery 49 │        84.10 / 85.65 ±0.86 / 86.47 ms │    86.93 / 88.52 ±1.02 / 89.79 ms │     no change │
│ QQuery 50 │        63.38 / 64.71 ±1.89 / 68.42 ms │    63.78 / 65.13 ±1.23 / 67.16 ms │     no change │
│ QQuery 51 │        94.80 / 96.51 ±1.44 / 98.28 ms │  99.86 / 101.50 ±1.07 / 103.23 ms │  1.05x slower │
│ QQuery 52 │        25.65 / 26.00 ±0.36 / 26.68 ms │    26.60 / 26.91 ±0.23 / 27.20 ms │     no change │
│ QQuery 53 │        31.45 / 31.62 ±0.16 / 31.93 ms │    34.26 / 34.59 ±0.31 / 35.15 ms │  1.09x slower │
│ QQuery 54 │        55.91 / 57.74 ±2.22 / 61.96 ms │    56.99 / 57.94 ±0.50 / 58.46 ms │     no change │
│ QQuery 55 │        24.70 / 24.90 ±0.15 / 25.15 ms │    24.94 / 25.60 ±0.41 / 25.99 ms │     no change │
│ QQuery 56 │        41.48 / 41.83 ±0.24 / 42.23 ms │    43.14 / 43.61 ±0.47 / 44.41 ms │     no change │
│ QQuery 57 │     183.89 / 185.74 ±1.36 / 187.52 ms │ 157.77 / 159.52 ±1.41 / 161.33 ms │ +1.16x faster │
│ QQuery 58 │     120.71 / 122.60 ±1.09 / 123.86 ms │    83.39 / 84.96 ±0.97 / 86.40 ms │ +1.44x faster │
│ QQuery 59 │     122.35 / 122.95 ±0.65 / 124.13 ms │    68.31 / 68.72 ±0.32 / 69.22 ms │ +1.79x faster │
│ QQuery 60 │        41.52 / 42.07 ±0.30 / 42.36 ms │    43.39 / 43.72 ±0.32 / 44.28 ms │     no change │
│ QQuery 61 │        14.46 / 14.80 ±0.20 / 15.06 ms │    13.52 / 13.80 ±0.25 / 14.21 ms │ +1.07x faster │
│ QQuery 62 │        49.06 / 50.19 ±1.27 / 52.65 ms │    50.76 / 52.03 ±1.30 / 54.53 ms │     no change │
│ QQuery 63 │        31.89 / 32.12 ±0.21 / 32.50 ms │    34.48 / 34.71 ±0.21 / 35.05 ms │  1.08x slower │
│ QQuery 64 │     487.28 / 494.00 ±3.85 / 498.70 ms │ 492.27 / 497.16 ±2.72 / 499.74 ms │     no change │
│ QQuery 65 │     149.02 / 151.21 ±1.76 / 154.41 ms │ 164.09 / 166.85 ±2.37 / 170.27 ms │  1.10x slower │
│ QQuery 66 │        86.35 / 88.59 ±2.19 / 92.73 ms │    89.72 / 91.96 ±2.99 / 97.84 ms │     no change │
│ QQuery 67 │     267.85 / 270.97 ±4.11 / 278.55 ms │ 271.82 / 277.70 ±4.55 / 283.33 ms │     no change │
│ QQuery 68 │        14.57 / 14.75 ±0.22 / 15.17 ms │    14.68 / 14.94 ±0.15 / 15.14 ms │     no change │
│ QQuery 69 │        79.33 / 80.37 ±1.68 / 83.70 ms │    83.53 / 85.06 ±1.64 / 88.20 ms │  1.06x slower │
│ QQuery 70 │     109.91 / 115.24 ±7.60 / 130.20 ms │ 112.56 / 114.71 ±2.12 / 117.33 ms │     no change │
│ QQuery 71 │        37.06 / 38.82 ±2.85 / 44.50 ms │    36.28 / 36.71 ±0.31 / 37.15 ms │ +1.06x faster │
│ QQuery 72 │ 2363.01 / 2417.42 ±44.09 / 2491.08 ms │ 430.19 / 433.87 ±4.76 / 443.15 ms │ +5.57x faster │
│ QQuery 73 │        10.46 / 10.66 ±0.18 / 10.98 ms │    10.43 / 10.58 ±0.21 / 10.98 ms │     no change │
│ QQuery 74 │     203.06 / 206.92 ±2.92 / 211.74 ms │ 199.89 / 202.61 ±1.53 / 204.49 ms │     no change │
│ QQuery 75 │     155.98 / 156.89 ±0.85 / 158.20 ms │ 149.62 / 151.95 ±3.85 / 159.63 ms │     no change │
│ QQuery 76 │        37.28 / 38.51 ±1.84 / 42.14 ms │    39.13 / 39.54 ±0.36 / 40.15 ms │     no change │
│ QQuery 77 │        64.75 / 65.89 ±2.10 / 70.08 ms │    65.40 / 66.36 ±1.14 / 68.61 ms │     no change │
│ QQuery 78 │     203.33 / 208.36 ±3.80 / 214.40 ms │ 187.84 / 191.56 ±3.26 / 196.17 ms │ +1.09x faster │
│ QQuery 79 │        70.15 / 70.78 ±0.44 / 71.40 ms │    71.68 / 72.83 ±0.95 / 74.18 ms │     no change │
│ QQuery 80 │     106.97 / 108.07 ±0.96 / 109.81 ms │ 106.32 / 107.61 ±2.03 / 111.65 ms │     no change │
│ QQuery 81 │        26.31 / 28.05 ±2.58 / 33.19 ms │    26.48 / 27.13 ±0.48 / 27.73 ms │     no change │
│ QQuery 82 │        18.24 / 18.48 ±0.14 / 18.62 ms │    20.23 / 20.55 ±0.17 / 20.69 ms │  1.11x slower │
│ QQuery 83 │        39.50 / 39.92 ±0.36 / 40.42 ms │    39.50 / 39.83 ±0.23 / 40.05 ms │     no change │
│ QQuery 84 │        44.65 / 45.67 ±1.44 / 48.47 ms │    45.59 / 45.91 ±0.31 / 46.49 ms │     no change │
│ QQuery 85 │     140.45 / 141.71 ±2.05 / 145.80 ms │ 174.11 / 177.02 ±3.45 / 183.81 ms │  1.25x slower │
│ QQuery 86 │        26.76 / 27.19 ±0.35 / 27.54 ms │    27.53 / 27.82 ±0.24 / 28.16 ms │     no change │
│ QQuery 87 │        73.71 / 74.36 ±0.52 / 75.08 ms │    82.04 / 82.96 ±0.81 / 83.95 ms │  1.12x slower │
│ QQuery 88 │        67.00 / 69.37 ±2.22 / 73.37 ms │    64.33 / 65.39 ±0.72 / 66.55 ms │ +1.06x faster │
│ QQuery 89 │        38.11 / 38.64 ±0.28 / 38.91 ms │    39.45 / 40.19 ±0.55 / 41.09 ms │     no change │
│ QQuery 90 │        18.77 / 18.99 ±0.14 / 19.20 ms │    18.30 / 18.53 ±0.16 / 18.72 ms │     no change │
│ QQuery 91 │        53.75 / 54.15 ±0.31 / 54.51 ms │    66.09 / 66.87 ±1.03 / 68.85 ms │  1.23x slower │
│ QQuery 92 │        31.83 / 32.23 ±0.36 / 32.82 ms │    33.55 / 34.21 ±0.49 / 35.08 ms │  1.06x slower │
│ QQuery 93 │        55.68 / 57.74 ±1.57 / 59.60 ms │    53.30 / 55.92 ±1.66 / 57.52 ms │     no change │
│ QQuery 94 │        39.81 / 39.98 ±0.11 / 40.13 ms │    41.39 / 42.15 ±0.49 / 42.75 ms │  1.05x slower │
│ QQuery 95 │        91.52 / 93.52 ±1.03 / 94.45 ms │    93.19 / 93.93 ±0.47 / 94.62 ms │     no change │
│ QQuery 96 │        25.40 / 25.65 ±0.19 / 25.87 ms │    25.89 / 26.26 ±0.35 / 26.81 ms │     no change │
│ QQuery 97 │        48.52 / 48.82 ±0.25 / 49.22 ms │    51.04 / 52.19 ±1.59 / 55.33 ms │  1.07x slower │
│ QQuery 98 │        44.70 / 45.77 ±0.67 / 46.49 ms │    47.89 / 48.73 ±0.68 / 49.67 ms │  1.06x slower │
│ QQuery 99 │        73.14 / 73.65 ±0.76 / 75.16 ms │    51.31 / 52.03 ±1.03 / 54.06 ms │ +1.42x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────┴───────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                            ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                            │ 11291.99ms │
│ Total Time (exp_r6-pruningpredicate-rates)   │  9121.16ms │
│ Average Time (HEAD)                          │   114.06ms │
│ Average Time (exp_r6-pruningpredicate-rates) │    92.13ms │
│ Queries Faster                               │         22 │
│ Queries Slower                               │         27 │
│ Queries with No Change                       │         50 │
│ Queries with Failure                         │          0 │
└──────────────────────────────────────────────┴────────────┘

Resource Usage

tpcds — base (merge-base)

Metric Value
Wall time 60.0s
Peak memory 6.9 GiB
Avg memory 6.2 GiB
CPU user 263.2s
CPU sys 6.6s
Peak spill 0 B

tpcds — branch

Metric Value
Wall time 50.0s
Peak memory 7.1 GiB
Avg memory 6.3 GiB
CPU user 145.5s
CPU sys 5.9s
Peak spill 0 B

File an issue against this benchmark runner

@adriangbot

Copy link
Copy Markdown

🤖 Benchmark completed (GKE) | trigger

Instance: c4a-highmem-16 (12 vCPU / 65 GiB)

CPU Details (lscpu)
Architecture:                            aarch64
CPU op-mode(s):                          64-bit
Byte Order:                              Little Endian
CPU(s):                                  16
On-line CPU(s) list:                     0-15
Vendor ID:                               ARM
Model name:                              Neoverse-V2
Model:                                   1
Thread(s) per core:                      1
Core(s) per cluster:                     16
Socket(s):                               -
Cluster(s):                              1
Stepping:                                r0p1
BogoMIPS:                                2000.00
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh rng bti
L1d cache:                               1 MiB (16 instances)
L1i cache:                               1 MiB (16 instances)
L2 cache:                                32 MiB (16 instances)
L3 cache:                                80 MiB (1 instance)
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-15
Vulnerability Gather data sampling:      Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Mitigation; CSV2, BHB
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
Details

Comparing HEAD and exp_r6-pruningpredicate-rates
--------------------
Benchmark clickbench_partitioned.json
--------------------
┏━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Query     ┃                                  HEAD ┃         exp_r6-pruningpredicate-rates ┃         Change ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ QQuery 0  │          1.30 / 4.92 ±7.01 / 18.95 ms │          1.24 / 4.83 ±7.00 / 18.82 ms │      no change │
│ QQuery 1  │        13.12 / 13.31 ±0.23 / 13.63 ms │        13.73 / 14.43 ±0.36 / 14.68 ms │   1.08x slower │
│ QQuery 2  │        35.84 / 36.57 ±0.64 / 37.65 ms │        36.15 / 36.60 ±0.46 / 37.34 ms │      no change │
│ QQuery 3  │        31.70 / 32.13 ±0.60 / 33.30 ms │        31.17 / 31.60 ±0.38 / 32.10 ms │      no change │
│ QQuery 4  │    245.97 / 265.69 ±10.08 / 273.77 ms │     244.25 / 250.59 ±4.14 / 255.83 ms │  +1.06x faster │
│ QQuery 5  │     274.29 / 289.71 ±8.50 / 296.78 ms │     290.74 / 292.84 ±1.46 / 294.80 ms │      no change │
│ QQuery 6  │           6.75 / 7.24 ±0.42 / 7.83 ms │           5.61 / 6.09 ±0.51 / 6.90 ms │  +1.19x faster │
│ QQuery 7  │        13.92 / 14.09 ±0.13 / 14.26 ms │        15.75 / 15.90 ±0.12 / 16.12 ms │   1.13x slower │
│ QQuery 8  │     313.15 / 314.34 ±0.73 / 314.96 ms │     328.63 / 333.52 ±4.39 / 340.86 ms │   1.06x slower │
│ QQuery 9  │     446.53 / 453.95 ±6.20 / 461.90 ms │     450.00 / 460.01 ±8.35 / 471.76 ms │      no change │
│ QQuery 10 │        67.65 / 69.28 ±1.48 / 71.93 ms │        72.89 / 76.37 ±4.76 / 85.72 ms │   1.10x slower │
│ QQuery 11 │        77.60 / 80.58 ±3.60 / 87.54 ms │        83.50 / 84.43 ±0.59 / 85.03 ms │      no change │
│ QQuery 12 │     268.54 / 273.58 ±4.20 / 279.46 ms │     284.94 / 289.84 ±3.11 / 293.35 ms │   1.06x slower │
│ QQuery 13 │     380.46 / 390.37 ±9.79 / 407.70 ms │     425.47 / 432.66 ±5.33 / 441.55 ms │   1.11x slower │
│ QQuery 14 │     274.58 / 277.48 ±3.74 / 284.71 ms │     276.69 / 283.77 ±5.69 / 292.27 ms │      no change │
│ QQuery 15 │    272.42 / 304.65 ±24.94 / 331.19 ms │     271.65 / 276.07 ±3.55 / 282.57 ms │  +1.10x faster │
│ QQuery 16 │    603.41 / 624.77 ±23.08 / 667.52 ms │    592.42 / 622.22 ±30.59 / 672.06 ms │      no change │
│ QQuery 17 │     595.37 / 602.61 ±4.58 / 609.29 ms │    595.82 / 630.59 ±30.21 / 676.50 ms │      no change │
│ QQuery 18 │ 1182.81 / 1197.22 ±10.80 / 1210.15 ms │ 1183.05 / 1238.92 ±41.85 / 1303.33 ms │      no change │
│ QQuery 19 │        27.60 / 28.03 ±0.47 / 28.84 ms │        27.92 / 37.60 ±8.67 / 50.79 ms │   1.34x slower │
│ QQuery 20 │    510.03 / 519.03 ±10.23 / 538.59 ms │    512.36 / 537.55 ±37.74 / 612.44 ms │      no change │
│ QQuery 21 │     589.14 / 594.52 ±6.18 / 606.60 ms │    620.64 / 634.29 ±21.36 / 676.70 ms │   1.07x slower │
│ QQuery 22 │ 1046.82 / 1072.72 ±13.62 / 1084.50 ms │    880.39 / 898.12 ±14.98 / 922.36 ms │  +1.19x faster │
│ QQuery 23 │ 3152.98 / 3244.82 ±57.90 / 3316.53 ms │     163.43 / 168.63 ±5.29 / 177.62 ms │ +19.24x faster │
│ QQuery 24 │        40.94 / 43.85 ±3.85 / 51.37 ms │        31.45 / 33.98 ±4.42 / 42.80 ms │  +1.29x faster │
│ QQuery 25 │     110.10 / 111.32 ±1.03 / 112.85 ms │     115.53 / 119.62 ±3.87 / 124.84 ms │   1.07x slower │
│ QQuery 26 │        41.50 / 41.73 ±0.27 / 42.23 ms │        50.66 / 53.02 ±2.85 / 58.55 ms │   1.27x slower │
│ QQuery 27 │     655.66 / 663.69 ±6.65 / 672.93 ms │     645.55 / 649.84 ±2.95 / 653.21 ms │      no change │
│ QQuery 28 │ 3012.31 / 3043.16 ±29.12 / 3095.19 ms │ 2974.70 / 3019.76 ±36.29 / 3084.10 ms │      no change │
│ QQuery 29 │        42.88 / 44.59 ±3.11 / 50.81 ms │       42.64 / 48.92 ±11.82 / 72.56 ms │   1.10x slower │
│ QQuery 30 │    301.90 / 327.44 ±14.57 / 345.11 ms │     320.39 / 325.94 ±3.93 / 330.63 ms │      no change │
│ QQuery 31 │     287.54 / 294.18 ±6.61 / 305.00 ms │     375.89 / 380.97 ±2.78 / 383.95 ms │   1.30x slower │
│ QQuery 32 │    907.51 / 921.03 ±10.82 / 936.54 ms │    909.13 / 942.64 ±26.71 / 973.13 ms │      no change │
│ QQuery 33 │ 1420.82 / 1436.97 ±11.01 / 1449.86 ms │ 1410.54 / 1517.40 ±60.66 / 1574.52 ms │   1.06x slower │
│ QQuery 34 │ 1431.98 / 1480.22 ±33.22 / 1529.20 ms │ 1409.55 / 1476.98 ±95.68 / 1666.92 ms │      no change │
│ QQuery 35 │    310.11 / 318.32 ±11.58 / 340.76 ms │    312.24 / 324.50 ±13.82 / 350.72 ms │      no change │
│ QQuery 36 │        64.66 / 68.41 ±3.14 / 72.80 ms │        59.63 / 64.37 ±4.11 / 70.16 ms │  +1.06x faster │
│ QQuery 37 │        36.58 / 39.61 ±3.03 / 43.95 ms │        31.46 / 35.64 ±3.58 / 42.19 ms │  +1.11x faster │
│ QQuery 38 │        43.08 / 45.50 ±2.19 / 49.54 ms │        33.86 / 38.91 ±5.00 / 46.17 ms │  +1.17x faster │
│ QQuery 39 │     133.31 / 137.34 ±2.45 / 140.08 ms │     119.73 / 123.01 ±2.72 / 127.75 ms │  +1.12x faster │
│ QQuery 40 │        14.71 / 18.78 ±6.21 / 30.80 ms │        13.55 / 15.56 ±1.92 / 18.22 ms │  +1.21x faster │
│ QQuery 41 │        14.00 / 15.81 ±1.80 / 18.35 ms │        12.82 / 13.19 ±0.32 / 13.61 ms │  +1.20x faster │
│ QQuery 42 │        14.01 / 17.57 ±4.06 / 24.21 ms │        12.56 / 13.16 ±0.46 / 13.95 ms │  +1.34x faster │
└───────────┴───────────────────────────────────────┴───────────────────────────────────────┴────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Benchmark Summary                            ┃            ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Total Time (HEAD)                            │ 19781.14ms │
│ Total Time (exp_r6-pruningpredicate-rates)   │ 16854.89ms │
│ Average Time (HEAD)                          │   460.03ms │
│ Average Time (exp_r6-pruningpredicate-rates) │   391.97ms │
│ Queries Faster                               │         13 │
│ Queries Slower                               │         13 │
│ Queries with No Change                       │         17 │
│ Queries with Failure                         │          0 │
└──────────────────────────────────────────────┴────────────┘

Resource Usage

clickbench_partitioned — base (merge-base)

Metric Value
Wall time 100.0s
Peak memory 29.4 GiB
Avg memory 22.9 GiB
CPU user 1044.7s
CPU sys 60.9s
Peak spill 0 B

clickbench_partitioned — branch

Metric Value
Wall time 85.0s
Peak memory 30.5 GiB
Avg memory 23.8 GiB
CPU user 895.8s
CPU sys 49.2s
Peak spill 0 B

File an issue against this benchmark runner

gstvg and others added 4 commits May 14, 2026 08:04
## Which issue does this PR close?

Part of apache#22091.

## Rationale for this change

Current async udfs in lambdas fail with generic errors

## What changes are included in this PR?

Report an explicit error when trying to create a lambda with async
functions

## Are these changes tested?

One sqllogictest added to assert the friendly error

## Are there any user-facing changes?

What failed before still fail but with a better error
## Which issue does this PR close?

- Closes apache#22135 

## Rationale for this change

`FFI_ExecutionPlan` exposes most of the `ExecutionPlan` trait but does
not
expose `metrics()`. As a result, `ForeignExecutionPlan::metrics()` falls
through to the trait default (`None`), so anything downstream of an FFI
boundary loses metrics. The most visible breakage is `EXPLAIN ANALYZE`,
which renders empty metric blocks for foreign plans; anything calling
`DisplayableExecutionPlan::with_metrics(...)` on a plan tree containing
foreign nodes is similarly affected.

This PR makes foreign plans behave the same as local plans for metric
reporting. Metrics are passed as a snapshot, and all atomic-backed
counters/gauges/timers are read into plain integer fields at marshal
time.
Correct because none of the in-tree consumers (`AnalyzeExec`,
`DisplayableExecutionPlan`) poll metrics
during streaming.

## What changes are included in this PR?

- New module `datafusion/ffi/src/metrics.rs` with FFI-stable mirrors of
  `MetricsSet`, `Metric`, `MetricValue` (all 16 variants), `Label`,
  `MetricType`, `MetricCategory`, `PruningMetrics`, `RatioMetrics`, and
  `RatioMergeStrategy`, plus bidirectional `From` conversions.
- `MetricValue::Custom { value: Arc<dyn CustomMetricValue> }` is
marshalled
  as `(name, Display output, as_usize())`. On the consumer side it is
  reconstructed as a small `FfiCustomMetricValue` shim that preserves
  `Display` and `as_usize()`. `aggregate` becomes a no-op (snapshots are
  not mergeable) and `as_any` only downcasts to the shim — this is the
  documented compromise.
- `FFI_ExecutionPlan` gains a new `metrics` function pointer (appended
after `repartitioned`). `ForeignExecutionPlan::metrics()` is implemented
  to call through it.
- Two trivial accessors added to `RatioMetrics`: `merge_strategy()` and
`display_raw_values()` — needed to marshal these otherwise-private
fields.
- `chrono` added as a direct dependency of `datafusion-ffi` (used for
  `Timestamp` ↔ unix-nanos conversion).

## Are these changes tested?

Yes. New tests, all passing:

- 7 unit tests in `datafusion/ffi/src/metrics.rs` round-trip every
  `MetricValue` variant individually, plus a full `Metric`
  (value + labels + partition + type + category) and a `MetricsSet`.
- `test_ffi_execution_plan_metrics_round_trip` in
  `datafusion/ffi/src/execution_plan.rs` exercises the full FFI path:
  builds an `ExecutionPlan` with a `MetricsSet`, wraps it in
`FFI_ExecutionPlan`, retrieves metrics via
`ForeignExecutionPlan::metrics()`
through `mock_foreign_marker_id`, and asserts the aggregated value
matches.
- `EmptyExec` test helper extended with `with_metrics(MetricsSet)`.

Existing test suites still pass: `cargo test -p datafusion-ffi
--all-features` and `cargo test -p datafusion-ffi --features
integration-tests`.

## Are there any user-facing changes?

Yes — this PR adds public API and makes a binary-incompatible change to
`FFI_ExecutionPlan`. Please add the `api change` label.

- **New public types** in `datafusion_ffi::metrics`: `FFI_MetricsSet`,
  `FFI_Metric`, `FFI_MetricValue`, `FFI_Label`, `FFI_MetricType`,
  `FFI_MetricCategory`, `FFI_PruningMetrics`, `FFI_RatioMetrics`,
  `FFI_RatioMergeStrategy`, and `FfiCustomMetricValue`.
- **ABI break for `FFI_ExecutionPlan`**: a new `metrics` function
pointer
field is appended. Producers and consumers must be rebuilt together, as
  is already enforced by the major-version check via
  `datafusion_ffi::version()`.
- **New public accessors** on `RatioMetrics`: `merge_strategy()` and
  `display_raw_values()`. Non-breaking additions.
- **`MetricValue::Custom` across FFI is lossy by design**: the
underlying
`dyn CustomMetricValue` is not preserved; only its `Display` output and
  `as_usize()` snapshot survive. Documented on `FfiCustomMetricValue`.
…22029)

## Which issue does this PR close?

- Closes apache#21997 (potentially).

## Rationale for this change

This PR adds two new APIs to `GenericStringArrayBuilder` and
`StringViewArrayBuilder`:

1. `append_with` appends a row whose bytes are produced by invoking a
closure that is passed a `StringWriter`
2. `append_byte_map` appends a row whose bytes are produced by mapping
each byte of the input with a byte-to-byte map closure.

For `StringViewArrayBuilder`, `StringWriter` is an append-only string
writer that switches between writing to a new inline view (for short
strings) or to the in-progress data block automatically. For
`GenericStringArrayBuilder`, `StringWriter` just appends to the value
buffer directly.

(We need two new APIs because `append_byte_map` vectorizes a lot better
than `append_with`, so callers that fit the byte-to-byte map pattern
should prefer it.)

Both of these new APIs allow string UDFs to avoid creating an
intermediate data copy in many cases. To illustrate this, this PR adopts
the new APIs in `replace`.

Benchmarks (Arm64):

  Group 1: ASCII single-byte fast path (StringArray)

  - size=1024 str_len=32 nulls=0.0 : 16.27 µs -> 12.83 µs (−21.1%)
  - size=1024 str_len=32 nulls=0.2 : 14.23 µs -> 12.10 µs (−15.0%)
  - size=1024 str_len=128 nulls=0.0 : 11.28 µs -> 8.21 µs (−27.3%)
  - size=1024 str_len=128 nulls=0.2 : 10.37 µs -> 7.79 µs (−24.9%)
  - size=4096 str_len=32 nulls=0.0 : 62.48 µs -> 49.50 µs (−20.8%)
  - size=4096 str_len=32 nulls=0.2 : 55.74 µs -> 46.66 µs (−16.3%)
  - size=4096 str_len=128 nulls=0.0 : 42.26 µs -> 29.06 µs (−31.2%)
  - size=4096 str_len=128 nulls=0.2 : 39.17 µs -> 28.52 µs (−27.2%)

  Group 2: Multi-byte StringArray — general writer path

  - size=1024 str_len=32 nulls=0.0 : 23.58 µs -> 21.75 µs (−7.8%)
  - size=1024 str_len=32 nulls=0.2 : 18.92 µs -> 17.41 µs (−8.0%)
  - size=1024 str_len=128 nulls=0.0 : 37.56 µs -> 35.33 µs (−5.9%)
  - size=1024 str_len=128 nulls=0.2 : 29.62 µs -> 28.71 µs (−3.1%)
  - size=4096 str_len=32 nulls=0.0 : 97.15 µs -> 88.92 µs (−8.5%)
  - size=4096 str_len=32 nulls=0.2 : 77.03 µs -> 71.43 µs (−7.3%)
  - size=4096 str_len=128 nulls=0.0 : 173.66 µs -> 163.68 µs (−5.7%)
  - size=4096 str_len=128 nulls=0.2 : 134.98 µs -> 128.56 µs (−4.8%)

  Group 3: Multi-byte StringViewArray — general writer path

  - size=1024 str_len=32 nulls=0.0 : 24.46 µs -> 22.18 µs (−9.3%)
  - size=1024 str_len=32 nulls=0.2 : 20.04 µs -> 17.71 µs (−11.7%)
  - size=1024 str_len=128 nulls=0.0 : 36.43 µs -> 35.79 µs (−1.8%)
  - size=1024 str_len=128 nulls=0.2 : 29.73 µs -> 28.70 µs (−3.5%)
  - size=4096 str_len=32 nulls=0.0 : 99.07 µs -> 89.68 µs (−9.5%)
  - size=4096 str_len=32 nulls=0.2 : 84.38 µs -> 72.46 µs (−14.1%)
- size=4096 str_len=128 nulls=0.0 : 169.27 µs -> 164.80 µs (−2.6%, n.s.)
- size=4096 str_len=128 nulls=0.2 : 133.79 µs -> 130.20 µs (−2.7%, n.s.)

  Group 4: Empty-from StringArray

  - size=1024 str_len=32 : 87.75 µs -> 50.64 µs (−42.3%)
  - size=1024 str_len=128 : 313.00 µs -> 187.77 µs (−40.0%)

  Group 5: Empty-from StringViewArray

  - size=1024 str_len=32 : 87.01 µs -> 50.10 µs (−42.4%)
  - size=1024 str_len=128 : 313.99 µs -> 190.17 µs (−39.4%)

## What changes are included in this PR?

* Add `append_byte_map` and `append_with` to both of the bulk-NULL
string builders
* Add unit tests
* Adopt the new APIs in `replace`

## Are these changes tested?

Yes; new tests added.

## Are there any user-facing changes?

No.
## Which issue does this PR close?

- Closes #.

## Rationale for this change

`rand()` is a common alias for `random()` in SQL engines. Supporting it
improves compatibility and lets users write `rand()` as an equivalent
zero-argument volatile random function.

## What changes are included in this PR?

- Adds `rand` as an alias for the existing `random()` scalar function.
- Adds a sqllogictest case verifying that `rand()` resolves successfully
and returns a `Float64` value in the expected `[0, 1)` range.

## Are these changes tested?

Yes.

- `cargo fmt --all`
- `cargo test --package datafusion-functions random --lib`
- `cargo test --features backtrace,parquet_encryption --profile ci
--package datafusion-sqllogictest --test sqllogictests -- functions.slt`

## Are there any user-facing changes?

Yes. Users can now call `rand()` as an alias for `random()`.
dependabot Bot and others added 10 commits May 14, 2026 12:44
Bumps [runs-on/action](https://github.com/runs-on/action) from 2.1.0 to
2.1.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/runs-on/action/releases">runs-on/action's
releases</a>.</em></p>
<blockquote>
<h2>v2.1.2</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/runs-on/action/compare/v2.1.1...v2.1.2">https://github.com/runs-on/action/compare/v2.1.1...v2.1.2</a></p>
<h2>v2.1.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Upgrade go, deps, and sanitize values better by <a
href="https://github.com/crohr"><code>@​crohr</code></a> in <a
href="https://redirect.github.com/runs-on/action/pull/30">runs-on/action#30</a></li>
<li>Propagate actions runtime token by <a
href="https://github.com/crohr"><code>@​crohr</code></a> in <a
href="https://redirect.github.com/runs-on/action/pull/34">runs-on/action#34</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/runs-on/action/compare/v2.1.0...v2.1.1">https://github.com/runs-on/action/compare/v2.1.0...v2.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/runs-on/action/commit/d141ef83eb66d096ce8afc767e09115a65c63b60"><code>d141ef8</code></a>
dist: rebuild binaries for v2.1.2</li>
<li><a
href="https://github.com/runs-on/action/commit/c5df5533f2cf2dec19ef109dcd2a6d28fae8928f"><code>c5df553</code></a>
Add manual release workflow with gpg signing and checksums</li>
<li><a
href="https://github.com/runs-on/action/commit/e46a3c6d62a5df0b0e0f8b5fdc50f04c5ecf147f"><code>e46a3c6</code></a>
dist: rebuild binaries</li>
<li><a
href="https://github.com/runs-on/action/commit/88629fc77cb7a6a251ccdf8290a55cd08928794e"><code>88629fc</code></a>
Send runtime token to Magic Cache config</li>
<li><a
href="https://github.com/runs-on/action/commit/6e9cb2b901c5953075dbcd45edf77b0192c8e6b1"><code>6e9cb2b</code></a>
Update actions</li>
<li><a
href="https://github.com/runs-on/action/commit/408de89233b56a743b98d68195bb1923d60543aa"><code>408de89</code></a>
dist: rebuild binaries</li>
<li><a
href="https://github.com/runs-on/action/commit/e8a2e6d65ae450e212faf12b84577c012cf764ab"><code>e8a2e6d</code></a>
Remove dead code: unused MetricSummary fields and
calculateMin/calculateMax f...</li>
<li><a
href="https://github.com/runs-on/action/commit/3a86586805f7eeb1ef42293156a97c326ff040fd"><code>3a86586</code></a>
dist: rebuild binaries</li>
<li><a
href="https://github.com/runs-on/action/commit/61a7be1daf74b5271d1238f1d4158fa3a5545ae6"><code>61a7be1</code></a>
build: upgrade to go 1.26</li>
<li>See full diff in <a
href="https://github.com/runs-on/action/compare/742bf56072eb4845a0f94b3394673e4903c90ff0...d141ef83eb66d096ce8afc767e09115a65c63b60">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=runs-on/action&package-manager=github_actions&previous-version=2.1.0&new-version=2.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… bits (apache#22158)

## Which issue does this PR close?

N/A

## Rationale for this change

1. instead of counting set bits to check if there is at least 1 set
bits, we can use the existing helpers on `BooleanArray` that check if
there is at least 1 set bit
2. Avoid unnecessary `BooleanBuffer` bitwise operations and reuse mask 

## What changes are included in this PR?

reused mask, and use helper to check if at least one false

## Are these changes tested?

Existing tests

## Are there any user-facing changes?

No

------

Cc @gstvg, @comphead
… hashing work during physical planning. (apache#22175)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#22173.

## Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

Explained in issue

## What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

1. Removed derived Hash & Eq
2. implemented manual Hash & Eq
3. manual impl excludes redudant & recursive hash `eval_method` field

## Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

A unit test was added

## Are there any user-facing changes?

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

Pathologically nested CASE/WHEN queries will plan significantly faster.

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#22121

## Rationale for this change

`array_replace.rs` already covers `array_replace`, `array_replace_n`,
and `array_replace_all` through the public UDF path, and includes the
relevant int64 benchmark sizes plus broader nested, string, boolean, and
fixed-size-binary cases.

Keeping both benchmark targets would duplicate maintenance and make
ownership unclear.

<!--
Why are you proposing this change? If this is already explained clearly
in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand
your changes and offer better suggestions for fixes.
-->

## What changes are included in this PR?

This removes the stale `array_expression` benchmark target.

The dedicated `array_replace` benchmark remains the single benchmark
owner for array replacement performance.

<!--
There is no need to duplicate the description in the issue here but it
is sometimes worth providing a summary of the individual changes in this
PR.
-->

## Are these changes tested?

Yes, locally

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

## Are there any user-facing changes?

No

<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
-->

<!--
If there are any breaking changes to public APIs, please add the `api
change` label.
-->
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#22113 .

## Rationale for this change
  
`RANGE` window frames with a `DECIMAL` `ORDER BY` column crash at
runtime:

  ```sql
  SELECT COUNT(*) OVER (
    PARTITION BY 1
    ORDER BY cast(1 as decimal(10, 0)) DESC
    RANGE BETWEEN CURRENT ROW AND 1 FOLLOWING
  ) FROM (SELECT 1);
-- Internal error: Uncomparable values: Decimal128(Some(0),11,0),
Decimal128(Some(1),10,0).
  ```

Frame-bound arithmetic (`value ± delta`) widens the decimal result
precision by 1 (`Decimal(10,0) ± Decimal(10,0) → Decimal(11,0)`).
`search_in_slice` then compares the widened target against the
original `ORDER BY` column, and `ScalarValue::partial_cmp` rejects
decimals whose precision differs — even when the scale matches and the
underlying integer representation is directly comparable.

That precision-equality gate is also inconsistent with SQL semantics:
`DEC(10,0) 1` and `DEC(20,0) 1` represent the same number and should
compare equal.

  ## What changes are included in this PR?
  
  **`datafusion/common/src/scalar/mod.rs`**
- `ScalarValue::partial_cmp` for `Decimal32` / `Decimal64` /
`Decimal128` / `Decimal256`: compare underlying values whenever scales
match, regardless of declared precision. Different scales still
  return `None` (rescaling would be required).

  **`datafusion/sqllogictest/test_files/window.slt`**
- Regression block covering the reporter query verbatim plus
`ASC`/`DESC` × `PRECEDING`/`FOLLOWING`, symmetric `N PRECEDING AND N
FOLLOWING`, and a non-zero-scale `DECIMAL(10,2)` case over multi-row
  partitions.
…2101)

## Which issue does this PR close?

Part of apache#21172 

## Rationale for this change

This has been pulled out from main lambda PR to reduce it's size.
Currently, the `LambdaVariable` field is an `Option<FieldRef>` but must
be set manually for `expr_api` users (see below, passing `None` would
result in planning/execution errors). This is similar to
`Expr::Placeholder` field and its helper `Expr::infer_placeholder_types`


https://github.com/apache/datafusion/blob/7f2f78d48b6d3d6aee2ce2fd29910bb4c11b1012/datafusion/functions-nested/src/array_transform.rs#L328-L341

Now it can be omitted and later resolved by the new helpers:


https://github.com/apache/datafusion/blob/7c266c10e806cf87edfe5a2eccccccf639fdb2fe/datafusion/functions-nested/src/array_transform.rs#L326-L330

## What changes are included in this PR?

This PR adds the method `resolve_lambda_variables` to `Expr` and
`LogicalPlan` to automatically resolve all variables of the given expr
or logical plan. Nothing changes for sql planning

## Are these changes tested?

There's a unit test which should cover all edge cases. Is not trivial to
test via sqllogictests because sql planning produces already resolved
lambda variables.

## Are there any user-facing changes?

New methods added only
…21637)

## Which issue does this PR close?

- Closes apache#19028.

## Rationale for this change

When DataFusion evaluates a Parquet scan with filter pushdown, it uses
row group statistics to determine which row groups contain matching
rows. The `RowGroupAccessPlanFilter` already tracks which row groups are
"fully matched" — where statistics prove that **all** rows satisfy the
predicate (via `is_fully_matched`).

However, this information was not propagated downstream. Even for fully
matched row groups:
1. **Page index pruning** still evaluated page-level statistics (wasted
work since no pages can be pruned)
2. **RowFilter evaluation** still decoded filter columns and evaluated
the predicate for every row (wasted work since every row passes)

This is especially costly when filter columns are expensive to decode
(e.g., large strings) or when predicates are complex. Common real-world
examples include time-range filters where entire row groups fall within
the range, or `WHERE status != 'DELETED'` on data with no deleted rows.

## What changes are included in this PR?

### DataFusion changes (this PR)

1. **`row_group_filter.rs`**: `RowGroupAccessPlanFilter::build()` now
returns `(ParquetAccessPlan, Vec<usize>)` — the access plan plus the
indices of fully matched row groups.

2. **`page_filter.rs`**: `prune_plan_with_page_index()` accepts a
`fully_matched_row_groups` parameter and skips page-level pruning for
those row groups.

3. **`opener.rs`**: Wires fully matched row groups through the pipeline
— passes them to page pruning and to the `ParquetPushDecoderBuilder` via
`with_fully_matched_row_groups()`.

### Arrow-rs dependency (apache/arrow-rs#9694)

The new `ArrowReaderBuilder::with_fully_matched_row_groups()` API in
arrow-rs allows skipping `RowFilter` evaluation during Parquet decoding
for specified row groups. This PR uses `[patch.crates-io]` pointing to
the arrow-rs fork branch until that PR is merged and released.

### Benchmark

Includes a criterion benchmark (`parquet_fully_matched_filter`) using
`ParquetPushDecoder` directly — the same code path DataFusion's async
opener uses. Dataset: 20 row groups × 50K rows, with a 1KB string
payload column and predicate `x < 200` (all row groups fully matched).

| Scenario | Time | vs. baseline |
|----------|------|-------------|
| Filter pushdown, no skip | ~43 ms | baseline |
| **Filter pushdown, with skip** | **~20 ms** | **~2.2x faster** |
| No pushdown at all | ~24 ms | — |

## Are these changes tested?

- All 82 existing non-submodule `datafusion-datasource-parquet` tests
pass (16 failures are pre-existing, caused by missing `parquet-testing`
submodule)
- The benchmark verifies correctness by asserting the expected row count
- Clippy and fmt pass

## Are there any user-facing changes?

No user-facing API changes. This is a transparent performance
optimization — queries that previously worked will now be faster when
row group statistics prove all rows match the predicate.

~~**Note:** This PR depends on apache/arrow-rs#9694. The
`[patch.crates-io]` in `Cargo.toml` will be removed once that arrow-rs
change is released.~~ all logic is on df side now

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
## Which issue does this PR close?

- Closes apache#22184.

## Rationale for this change

The SQL planner should return an error for unsupported user SQL rather
than panic. Unknown compound identifiers with six or more parts could
reach an unchecked `unwrap()` after failing schema lookup.

## What changes are included in this PR?

Updates compound identifier handling so unmatched identifiers with five
or more parts return the existing `not_impl_err!` path instead of
falling through to `form_identifier`.

Adds a regression test for `SELECT a.b.c.d.e.f` to verify planning
returns an unsupported compound identifier error.

## Are these changes tested?

Yes:

- `cargo fmt --all`
- `cargo test -p datafusion-sql --test sql_integration
select_unknown_deep_compound_identifier_returns_error`
- `cargo clippy --all-targets --all-features -- -D warnings`

## Are there any user-facing changes?

No API changes. Invalid deeply nested compound identifiers now return a
planner error instead of panicking.
## Which issue does this PR close?

- Closes: apache#22178

## Rationale for this change

Update the pinned Rust toolchain to 1.95.0 and keep the workspace
passing the required formatting and clippy checks with the new
toolchain.

## What changes are included in this PR?

- Bump rust-toolchain.toml from 1.94.0 to 1.95.0.
- Update the contributor docs rust-analyzer example to reference 1.95.0.
- Apply the minimal clippy and compile fixes needed under Rust 1.95.0.

## Are these changes tested?

- cargo fmt --all
- cargo clippy --all-targets --all-features -- -D warnings

## Are there any user-facing changes?

No user-facing runtime changes. This updates the project toolchain and
related developer-facing docs.
## Which issue does this PR close?

No issue reported

## Rationale for this change

`Statistics::with_fetch` unconditionally returned `Precision::Exact(0)`
when the input had `nr <= skip`, even when the input was `Inexact(nr)` —
promoting an estimated upper bound into an exact zero. The exactness
flag then misleads downstream consumers (notably `AggregateStatistics`
via `Count::value_from_stats`) into trusting a derived "0" and folding
the count subtree to a literal.

Concrete user-visible symptom reported on TPC-H Q22:

```rust
let df = ctx.sql(q22_sql).await?;
df.clone().show().await?;   // prints 7 rows (correct)
df.count().await?;          // returns 0 (wrong)
```

`EXPLAIN` for the count plan shows the outer count aggregate collapsed
to `ProjectionExec([lit(0)]) -> PlaceholderRowExec`.

After PR apache#21240 left uncorrelated scalar subqueries in the filter rather
than rewriting them to joins, `FilterExec` can't use interval analysis
on `ScalarSubqueryExpr`, falls back to the 20% default selectivity, and
produces a small `Inexact` row estimate. A `LeftAnti` join whose
estimated semi-overlap covers the outer estimate then yields
`Inexact(0)`. That zero propagates through grouped aggregates whose
`estimate_num_rows` returns the child stats unchanged when `value == 0`.
The pre-existing `with_fetch` bug on a downstream `SortExec` finally
promotes it to `Exact(0)`, which `AggregateStatistics` trusts.

The root cause is the precision promotion in `with_fetch`. The PR fixes
that; the surrounding plan-shape changes after apache#21240 just made it
reachable.

## What changes are included in this PR?

- `Statistics::with_fetch`: when `nr <= skip`, preserve the exactness of
the input via `check_num_rows(Some(0),
self.num_rows.is_exact().unwrap())` instead of always returning
`Exact(0)`.
- `datafusion-common`: new unit test
`test_with_fetch_skip_all_rows_inexact` pinning the new behaviour.
- `datafusion-physical-plan`: update the existing
`test_row_number_statistics_for_global_limit` expectation that encoded
the old (incorrect) promotion to expect `Inexact(0)` now.
- `datafusion/sqllogictest/test_files/subquery.slt`: SLT regression test
reproducing the user-visible `count(*)` symptom over a query that
contains a scalar subquery, `not exists`, and a group-by on a derived
column, backed by parquet sources so the data sources report Exact
statistics.

## Are these changes tested?

Yes:
- Unit test in `datafusion-common` for the precision-preserving
behaviour.
- Updated unit test in `datafusion-physical-plan/limit.rs`.
- SLT regression test in `subquery.slt` that fails without the fix
(`count(*)` returns `0` instead of `2`) and passes with it.

## Are there any user-facing changes?

Only the bug fix. No public API changes.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@adriangb adriangb force-pushed the exp/r6-pruningpredicate-rates branch from b8dd5b6 to 5b0c491 Compare May 15, 2026 08:26
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.