vortex-data/vortex - Open Source PR Review Scorecard

An extensible, state-of-the-art framework for columnar compression, and the fastest FOSS columnar file format. Formerly at @spiraldb, now an Incubation Stage project at LFAI&Data, part of the Linux Foundation.

C-Rank Grade: S (Elite) - 71/100

External PR Merge Rate: 63%

Response Time: -

First Timer Success: 61%

Frequently Asked Questions

Is vortex-data/vortex welcoming to first-time open-source contributors?

vortex-data/vortex has a recorded first-timer success rate of 61.3%. Repositories ranked S typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in vortex-data/vortex respond to incoming external pull requests in approximately 0.0 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 70.7 C-Rank™ score (S Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 70.7 places vortex-data/vortex in the S tier.

What is the external contributor pull request merge rate for vortex-data/vortex?

The external contributor pull request merge rate for vortex-data/vortex is 62.9%, based on public PR activity from non-core contributors.

Are there Good First Issues available in vortex-data/vortex?

vortex-data/vortex currently has 5 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

vortex-data
vortex-data/vortexS•Elite3.3k
GitHub
Back to Explorer
vortex-data

vortex-data/vortex

3,259
Active (30d)S•Elite(71/100)Rust

An extensible, state-of-the-art framework for columnar compression, and the fastest FOSS columnar file format. Formerly at @spiraldb, now an Incubation Stage project at LFAI&Data, part of the Linux Foundation.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Strict Quality Architect

Warmth Score
7.1/10
Patience Score
7.6/10
Nitpick Rate
36%

Active Rust repository in vortex-data/vortex with ongoing community development and issue triage.

Top PR Submission Do's

  • •Ensure code complies with Rust style conventions
  • •Keep PRs scoped and well-documented
  • •Include relevant test coverage for changes

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit unlinked PRs without context
  • •Do not break existing automated test suites
  • •Do not mix unrelated refactors with feature work
Response Velocity
-
No reviewer activity recorded

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
62.9%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
61.3%
Strong first-timer PR acceptance rate

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
36 core
Highly collaborative maintainer core
Diagnostic Health HUD
62.9%
Merge Gauge
61.3%
1st-Timer
Community Vibe44/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for vortex-data/vortex
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/vortex-data/vortex)](https://getmerged.abhishekco.de/vortex-data/vortex?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

Duckdb has nested struct accessors like x.y.z. This generally produces a get_item expression which we handle in filters, so WHERE x.y.z = 1 will not read x into memory, but will read only x.y.z. However, projection pushdown doesn't support this, so SELECT x.y.z reads x. Duckdb has another mechanism to optimize this which is a TableFunction callback supports_pushdown_extract. If you define it, you get special ColumnIndex with type STRUCT_EXTRACT. In order to support this, we need to: Teach Projection::new and Filter::new how to handle extract column indices. We need to convert these to a chain of get_item expressions. We also need to generate unique names when packing the output struct. Handle casts inside struct extract columns if extracted column type differs from a LogicalType for this column. Return no stats for extracted columns since Vortex doesn't support nested stats (yet). Forbid struct extract columns in aggregation (preferred) or change aggregation optimizer pass to support

📅 Opened Oct 5, 2026💬 5 comments
Quality: 50/100Contribute

DATE_TRUNC is evaluated entirely by the query engine today. It appears in ClickBench Q42 and SpatialBench Q3/Q5. Vortex should support it so engines can push it into the scan and prune zones with it. Approach: function plus comparison rewrite date_trunc(u, ts) is a step function that never decreases, so comparing it with a constant is exactly a range check on ts. The bounds are computed once, at planning time: date_trunc(u, ts) = X -> ts >= X AND ts < next(X) (X aligned to u) -> false, null for null ts (X not aligned) date_trunc(u, ts) < X -> ts < ceil(X) date_trunc(u, ts) <= X -> ts < next(floor(X)) date_trunc(u, ts) >= X -> ts >= ceil(X) date_trunc(u, ts) > X -> ts >= next(floor(X)) IN / <> -> OR of ranges / negated range Filters against a constant use the rewrite. Pruning comes for free from the existing min/max rules. Comparisons are cheaper than truncation and can run on compressed data. Zoned timestamps a

📅 Opened Sep 23, 2026💬 1 comment
Quality: 50/100Contribute

scalar_at receives only an ArrayView, so it doesn't cache anything — validity, child wrappers and any decode are rebuilt on every row. probe_scalar receives a ProbeState, which carries the encoding's own retained state plus a child probe per slot, so a repeated read keeps its preparation. Example migration: #9905 Writing a probe_scalar Cache in type ProbeState anything the encoding owns itself — a decoded page, a rebuilt array, a cursor. Use () when there's nothing. Don't cache anything owned by a child. Read children through state.slot(..), which hands back that child's own probe and so uses the child's cache. Leave scalar_at as Self::probe_scalar(&mut ProbeState::once(array), index, ctx) until the vtable method is removed. Encodings to migrate Bool Constant Decimal Filter FixedSizeList Interleave List ListView Map Null Patched PiecewiseSequence ScalarFn Union VarBin VarBinView Variant ALPRD BitPacked ByteBool DecimalByteParts Delta OnPair ParquetVariant

📅 Opened Sep 21, 2026💬 2 comments
Quality: 50/100Contribute

We have a different bloom filter type so we need to carefully extract duckdb's parameters.

📅 Opened Sep 14, 2026💬 2 comments
Quality: 35/100Contribute

We support function pushdown from #7727. In our benchmarks, we also have prefix/starts_with and suffix/ends_with. We should push down these functions as well. For that we need to implement Vortex's prefix/suffix/substring expressions. Our contains() function is pushed down as %pattern% (LIKE) which has bad performance. We should have a separate expression for that as well.

📅 Opened Apr 30, 2026💬 1 comment
Quality: 30/100Contribute
Looking for more Rust beginner tasks?Explore Rust GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for vortex-data/vortex

When evaluating whether to contribute to vortex-data/vortex, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of vortex-data/vortex acknowledge new external contributions in approximately -. Out of all submitted pull requests from non-core authors in the last 180-day window, 62.9% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to vortex-data/vortex

01

Is vortex-data/vortex welcoming to first-time open-source contributors?

vortex-data/vortex has a recorded first-timer success rate of 61.3%. Repositories ranked Elite typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~-. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 70.7 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 70.7 places vortex-data/vortex in the Elite tier.

04

What is the external contributor pull request merge rate for vortex-data/vortex?

The external pull request merge rate is 62.9%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in vortex-data/vortex?

Yes, vortex-data/vortex currently has 5 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for vortex-data/vortex are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.