Skip to content

Commit 52f30c1

Browse files
dfa1claude
andcommitted
refactor(core)!: nest all packages under io.github.dfa1.vortex.core.*
Everything the vortex-core module ships now lives under a single `io.github.dfa1.vortex.core.*` namespace, so the artifact maps cleanly to its package root, and the formerly-flat `core`/`encoding`/`extension` packages are regrouped by concern: core.model DType, PType, TimeUnit, EncodingId, ExtensionId, Time{,stamp}Dtype core.io IoBounds, PTypeIO, VortexFormat core.error VortexException (room for an exception hierarchy, future ADR) core.compute FastLanes, PrimitiveArrays core.fbs generated FlatBuffers + Fbs* runtime core.proto generated Protobuf + Proto* runtime The `.fbs` namespaces and `.proto` java_package options moved with them, so regeneration reproduces the wire codecs in the new location (byte-identical). pom regenerate-sources out-paths, the javadoc excludePackageNames, and the pitest target classes are repointed; CLAUDE.md and the docs/ADR references are updated. BREAKING CHANGE: consumers importing core types must update imports, e.g. io.github.dfa1.vortex.core.DType -> io.github.dfa1.vortex.core.model.DType. Verified: full build, all unit tests, 275 Rust-oracle integration tests green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 6dbc8db commit 52f30c1

494 files changed

Lines changed: 1463 additions & 1445 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Vortex now ships with **no FlatBuffers or Protobuf runtime dependency**: the `.f
1515

1616
### Changed
1717

18+
- **Breaking:** every `vortex-core` type now lives under `io.github.dfa1.vortex.core.*``core.model` (`DType`, `PType`, `TimeUnit`, `EncodingId`, `ExtensionId`, `TimeDtype`, `TimestampDtype`), `core.io` (`IoBounds`, `PTypeIO`, `VortexFormat`), `core.error` (`VortexException`), `core.compute` (`FastLanes`, `PrimitiveArrays`), and `core.fbs` / `core.proto` for the wire codecs. Update imports accordingly (e.g. `io.github.dfa1.vortex.core.DType``io.github.dfa1.vortex.core.model.DType`).
1819
- Removed the `com.google.flatbuffers:flatbuffers-java` runtime dependency. The `.fbs`/`.proto` schemas are now compiled in-house to `MemorySegment`-native Java, dropping the last automatic-module dependency so a named JPMS `module-info` is viable (ADR 0017).
1920
- Generated FlatBuffers/Protobuf wire classes are prefixed `Fbs*`/`Proto*`, so the generic type names (`Array`, `Buffer`, `DType`, `Null`, …) no longer collide on the consumer classpath.
2021

CLAUDE.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,12 @@ Benchmark classes follow this: `JavaVsJni{Read,Write,Filter}Benchmark`,
2222
## Module structure
2323

2424
```
25-
core — DType, PType, VortexException, VortexFormat + generated fbs/proto
26-
encoding: EncodingId, TimeUnit, PTypeIO extension: ExtensionId
25+
core — everything lives under `io.github.dfa1.vortex.core.*`:
26+
core.model DType, PType, TimeUnit, EncodingId, ExtensionId, TimeDtype, TimestampDtype
27+
core.io IoBounds, PTypeIO, VortexFormat
28+
core.error VortexException
29+
core.compute FastLanes, PrimitiveArrays
30+
core.fbs / core.proto — generated wire codecs + their runtimes
2731
reader — VortexReader, VortexHttpReader, VortexHandle, ReadRegistry, ExtensionDecoder,
2832
Chunk, ArrayStats, ScanOptions, RowFilter; file internals (Footer, Layout, Trailer,
2933
PostscriptParser, …)
@@ -71,7 +75,7 @@ Both schema languages are compiled in-process to MemorySegment-native Java, with
7175
`flatc`/`protoc` and no `com.google.flatbuffers`/`protobuf-java` runtime (ADR 0017):
7276
- **`.fbs``fbs-gen`** (`io.github.dfa1.vortex.fbsgen`): generates readers extending
7377
`FbsTable`/`FbsStruct` and builders over `FbsBuilder`, all in the same generated package
74-
`io.github.dfa1.vortex.fbs`. The runtime base classes `FbsTable`/`FbsStruct` are
78+
`io.github.dfa1.vortex.core.fbs`. The runtime base classes `FbsTable`/`FbsStruct` are
7579
package-private (only generated readers extend them); `FbsBuilder` is public because the
7680
writer module assembles FlatBuffers with it.
7781
- **`.proto``proto-gen`**: one record per message with static `decode(MemorySegment, long,
@@ -246,7 +250,7 @@ MemorySegment metaSeg = MemorySegment.ofBuffer(ctx.metadata().duplicate());
246250
FooMetadata meta = FooMetadata.decode(metaSeg, 0, metaSeg.byteSize());
247251
```
248252

249-
Generated proto records live in `io.github.dfa1.vortex.proto`; the runtime (`ProtoReader`,
253+
Generated proto records live in `io.github.dfa1.vortex.core.proto`; the runtime (`ProtoReader`,
250254
`ProtoWriter`) is package-private. For oneof messages (e.g. `ScalarValue`) prefer the static
251255
`ofXxxValue(v)` factory over the multi-arg constructor.
252256

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Maven Central metadata.
3434
In scope:
3535

3636
- Any malformed `.vortex` input that causes the reader to throw an exception other than
37-
`io.github.dfa1.vortex.core.VortexException` (e.g. `IndexOutOfBoundsException`,
37+
`io.github.dfa1.vortex.core.error.VortexException` (e.g. `IndexOutOfBoundsException`,
3838
`NegativeArraySizeException`, `OutOfMemoryError`, `StackOverflowError`, raw FlatBuffer
3939
runtime exceptions, raw `IOException` from the proto3 reader, or a JVM crash via the FFM layer).
4040
- Any malformed `.vortex` input that causes the reader to allocate memory disproportionate

cli/src/main/java/io/github/dfa1/vortex/cli/FilterCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static int run(String[] args) {
5656
CsvExporter.exportCsvFiltered(path, stdout, ExportOptions.defaults(), scanOptions, rowPred);
5757
stdout.flush();
5858
return ExitStatus.OK;
59-
} catch (IOException | io.github.dfa1.vortex.core.VortexException e) {
59+
} catch (IOException | io.github.dfa1.vortex.core.error.VortexException e) {
6060
// VortexException is unchecked but surfaces user-facing failures (e.g. unknown
6161
// column on a typo'd filter); catching it here keeps the CLI from dumping a
6262
// stack trace and lets shell pipelines branch on the exit code.

cli/src/main/java/io/github/dfa1/vortex/cli/SchemaCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.github.dfa1.vortex.cli;
22

3-
import io.github.dfa1.vortex.core.DType;
3+
import io.github.dfa1.vortex.core.model.DType;
44
import io.github.dfa1.vortex.reader.VortexReader;
55

66
import java.io.IOException;

cli/src/main/java/io/github/dfa1/vortex/cli/StatsCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.dfa1.vortex.cli;
22

33
import io.github.dfa1.vortex.reader.ArrayStats;
4-
import io.github.dfa1.vortex.core.DType;
4+
import io.github.dfa1.vortex.core.model.DType;
55
import io.github.dfa1.vortex.reader.VortexReader;
66

77
import java.io.IOException;

cli/src/main/java/io/github/dfa1/vortex/cli/tui/GridRender.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.dfa1.vortex.cli.tui;
22

3-
import io.github.dfa1.vortex.core.DType;
4-
import io.github.dfa1.vortex.extension.ExtensionId;
3+
import io.github.dfa1.vortex.core.model.DType;
4+
import io.github.dfa1.vortex.core.model.ExtensionId;
55
import io.github.dfa1.vortex.reader.array.Array;
66
import io.github.dfa1.vortex.reader.array.BoolArray;
77
import io.github.dfa1.vortex.reader.array.ByteArray;

cli/src/main/java/io/github/dfa1/vortex/cli/tui/InspectorRender.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.dfa1.vortex.cli.tui;
22

3-
import io.github.dfa1.vortex.core.DType;
4-
import io.github.dfa1.vortex.extension.ExtensionId;
3+
import io.github.dfa1.vortex.core.model.DType;
4+
import io.github.dfa1.vortex.core.model.ExtensionId;
55
import io.github.dfa1.vortex.reader.array.Array;
66
import io.github.dfa1.vortex.reader.array.BoolArray;
77
import io.github.dfa1.vortex.reader.array.ByteArray;

cli/src/main/java/io/github/dfa1/vortex/cli/tui/LazyGridSource.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.dfa1.vortex.cli.tui;
22

3-
import io.github.dfa1.vortex.core.DType;
4-
import io.github.dfa1.vortex.core.VortexException;
3+
import io.github.dfa1.vortex.core.model.DType;
4+
import io.github.dfa1.vortex.core.error.VortexException;
55
import io.github.dfa1.vortex.reader.Chunk;
66
import io.github.dfa1.vortex.reader.ScanIterator;
77
import io.github.dfa1.vortex.reader.ScanOptions;

cli/src/main/java/io/github/dfa1/vortex/cli/tui/VortexInspectorTui.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.github.dfa1.vortex.reader.Layout;
44
import io.github.dfa1.vortex.reader.SegmentSpec;
5-
import io.github.dfa1.vortex.core.DType;
5+
import io.github.dfa1.vortex.core.model.DType;
66
import io.github.dfa1.vortex.reader.array.Array;
77
import io.github.dfa1.vortex.cli.tui.term.Ansi;
88
import io.github.dfa1.vortex.cli.tui.term.Key;

0 commit comments

Comments
 (0)