Repository navigation
Conversation
aca3c1e to
aa42a70
Compare
aa42a70 to
cb0591b
Compare
ee3adca to
33b6f30
Compare
Merging this PR will regress 3 benchmarks4 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
ce57a1c to
aad6a9d
Compare
|
@claude review |
|
Claude finished @danking's task in 1m 7s —— View job Review: PCO selection contract tests
The tests are well-scoped and test-only. They cover nested slices, repeated and out-of-order indices, nullable indices, stride-0 and zero-length 1. The expected values are not independent of the code under test (main point)The PR body says the results are checked against "independent PrimitiveArray results". But PCO has no The protection only kicks in once a later PR adds a PCO-specific take path. That is the stated goal, so it's fine, but the small cases are cheap to pin down as literals: // invalid_indices_under_nulls_are_ignored
assert_arrays_eq!(
compressed.take(indices)?,
PrimitiveArray::from_option_iter([Some(11i32), None, None, Some(33)]),
&mut ctx
);The same applies to the 8-element take in 2. No test crosses a PCO chunk boundary
3. Smaller points
CodSpeedThe reported changes are ChecksI did not run any builds or tests. Following AGENTS.md, verification is left to you. The narrow commands would be |
c69fd1c to
41a0e9e
Compare
…rnels Signed-off-by: Daniel King <dan@spiraldb.com>
…change Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
41a0e9e to
39dadb2
Compare
|
@claude review |
|
Claude finished @danking's task in 54s —— View job Review: PCO selection contract tests (second pass, through 39dadb2)
The new commits fix the two main points from my last review. The expected values are now written out as literals, and there is a test that crosses a chunk boundary. I checked every hand-written expected value and found no errors. All 6 commits have Expected values I checked
1. No nullable input crosses a chunk boundary (main remaining gap)
Suggested test: a nullable input of about 400k rows with roughly ⅓ nulls, so the dense boundary lands at a logical row that is not a round number. Select indices on both sides of the row whose dense index is 262 143 / 262 144, and add a slice and a few probes across that row. The expected values stay easy to write by hand if values and validity are both formulas of 2. Smaller points
CodSpeedThe PR adds only ChecksI didn't run any builds or tests; AGENTS.md leaves that to you. The narrowest checks are |
Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
Add format-independent public PCO selection, slice, dtype, null, floating-point-bit and retained-probe semantics before the optimization changes. Expected results are literal or arithmetic oracles; the tests neither inspect nor mutate compressed metadata, assert an encoding/layout strategy, nor add latent invalid-request bug expectations. Existing upstream tests remain.
All 63 PCO library tests pass on this PR's unchanged production reader/writer, and all-target/all-feature Clippy passes with warnings denied. The public compressed-validity oracle and external file writer/reader compatibility harness also live here; subsequent feature PRs only switch public session initialization where needed to exercise their registered kernels.
Second replacement for #10771, after #10824. The external file harness passed both directions: the current PR3 writer was read by unchanged base33675, and files written by that base were read by current PR6. Nullable unsliced and explicitly normalized sliced values/nulls agree. The compressed-validity array oracle and scoped file Clippy also passed. Current GitHub CI and human review remain separate gates.
Existing CI and CodSpeed are reused; no new workflow. AI-assisted development with OpenAI Codex. Normal CI and the required human reviews remain necessary before merge; this PR remains draft.
Final CI audit: source/platform/formatting/TSAN checks have passed; remaining performance gates are CodSpeed and required human review. All PRs remain draft; no performance waiver or merge approval is claimed.