Skip to content

feat(flow-php/parquet): both engines cap row groups by rows and write the same footer - #2717

Merged
norberttech merged 1 commit into
1.xfrom
parquet-row-group-rows
Nov 1, 2026
Merged

norberttech merged 1 commit into
1.xfrom
parquet-row-group-rows

Conversation

@norberttech

Copy link
Copy Markdown
Member

Resolves: #xxx

Change Log


Added

  • flow-php/parquet - Option::ROW_GROUP_MAXIMUM_ROWS_COUNT caps row groups by rows on both engines

Fixed

  • flow-php/parquet - arrow engine writes Flow's created_by and no ARROW:schema key, like the PHP engine
  • flow-php/arrow-ext - filtered reads no longer hold a whole row group of decoded filter columns in memory
  • flow-php/etl - from_sequence_number() no longer builds the whole integer sequence in memory

Changed

  • flow-php/arrow-ext - FLOW_ARROW_ABI is 2, one bump since 0.46.0
  • flow-php/flow-php-ext - FLOW_PHP_ABI is 2, one bump since 0.46.0

Removed

Deprecated

Security

… the same footer

- new ROW_GROUP_MAXIMUM_ROWS_COUNT option, honoured exactly by both engines
- arrow engine writes Flow's created_by and no ARROW:schema key
- arrow reader no longer caches a whole row group of filter columns
- from_sequence_number() streams integer sequences
- extension ABIs back to 2, one bump since 0.46.0
@codecov

codecov Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.50%. Comparing base (2f53e9d) to head (1186bc4).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2717      +/-   ##
============================================
+ Coverage     87.00%   90.50%   +3.49%     
- Complexity     2230    31055   +28825     
============================================
  Files          2197     2178      -19     
  Lines         93874    89818    -4056     
============================================
- Hits          81679    81286     -393     
+ Misses        12195     8532    -3663     
Components Coverage Δ
etl 95.88% <100.00%> (+0.13%) ⬆️
cli 87.24% <ø> (+2.43%) ⬆️
lib-array-dot 96.52% <ø> (ø)
lib-azure-sdk 64.17% <ø> (+1.02%) ⬆️
lib-doctrine-dbal-bulk 94.25% <ø> (+0.66%) ⬆️
lib-filesystem 88.96% <ø> (+6.01%) ⬆️
lib-types 94.64% <ø> (ø)
lib-parquet 82.70% <100.00%> (-0.17%) ⬇️
lib-parquet-viewer 83.15% <ø> (ø)
lib-snappy 89.86% <ø> (ø)
lib-dremel 0.00% <ø> (ø)
lib-postgresql 89.44% <ø> (+4.52%) ⬆️
lib-telemetry 86.85% <ø> (+20.44%) ⬆️
bridge-filesystem-async-aws 96.12% <ø> (+12.36%) ⬆️
bridge-filesystem-azure 94.39% <ø> (+13.90%) ⬆️
bridge-filesystem-sftp 90.29% <ø> (+4.85%) ⬆️
bridge-monolog-http 96.84% <ø> (ø)
bridge-monolog-telemetry 92.85% <ø> (+13.03%) ⬆️
bridge-openapi-specification 91.95% <ø> (ø)
symfony-http-foundation 80.76% <ø> (+0.64%) ⬆️
bridge-psr18-telemetry 100.00% <ø> (ø)
bridge-psr3-telemetry 98.95% <ø> (+17.37%) ⬆️
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.11% <ø> (+10.24%) ⬆️
bridge-symfony-http-foundation-telemetry 92.85% <ø> (ø)
bridge-symfony-filesystem-bundle 90.72% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.35% <ø> (+1.29%) ⬆️
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 90.76% <ø> (+0.38%) ⬆️
adapter-chartjs 82.11% <ø> (ø)
adapter-csv 97.68% <ø> (+9.17%) ⬆️
adapter-doctrine 95.13% <ø> (ø)
adapter-google-sheet 97.49% <ø> (+28.31%) ⬆️
adapter-http 87.18% <ø> (ø)
adapter-json 90.59% <ø> (+4.39%) ⬆️
adapter-logger 47.05% <ø> (ø)
adapter-parquet 96.28% <ø> (+0.56%) ⬆️
adapter-text 97.70% <ø> (ø)
adapter-xml 98.01% <ø> (ø)
adapter-avro 6.25% <ø> (ø)
adapter-excel 96.78% <ø> (+9.55%) ⬆️
adapter-postgresql 97.34% <ø> (+0.10%) ⬆️
adapter-seal 89.91% <ø> (ø)
bridge-phpunit-postgresql 75.30% <ø> (ø)
bridge-phpunit-telemetry 87.36% <ø> (ø)
bridge-phpstan-types 0.00% <ø> (ø)
bridge-postgresql-valinor 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@norberttech
norberttech merged commit 96e6775 into 1.x Nov 1, 2026
31 checks passed
@norberttech
norberttech deleted the parquet-row-group-rows branch November 1, 2026 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant