Commit 5cde819
feat: dsdgen compatibility mode (with
* feat: dsdgen compatibility
* chore: Use pre-generated C data files, unify comparison scripts (#257)
* chore: Use pre-generated C data files, unify comparison scripts
* chore: make scripts self-documenting; collapse scripts/README
Move per-script docs (usage, flags, env vars, output, exit codes) into the
top-of-file header comment of each script. The README's `## Scripts`
section becomes a one-line-per-script roadmap pointing readers at the
script files for details.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore: fold bootstrap-c.sh into generate-fixtures.sh; centralize usage in print_usage()
- Add `--compat trino|c` to generate-fixtures.sh:
- `--compat trino` (default): existing Java generation behavior.
- `--compat c`: download alamb/tpcds-data sfN with `git clone --depth 1`
and extract into tests/fixtures/scale-N-c/. Supports `--rebuild` and
`--verify`. Replaces bootstrap-c.sh, which is removed.
- Per-script header is now a one-liner + "see print_usage() below for
details"; print_usage() sits immediately after the header with the
full usage block (flags, env vars, examples, exit codes). Renamed
`usage` -> `print_usage` everywhere.
- Update tpcdsgen/README.md, scripts/README.md, and the CI workflow
(`tpcdsgen-conformance.yml`) to call generate-fixtures.sh --compat c
instead of bootstrap-c.sh.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* ci: only run tpcdsgen conformance on tpcdsgen/ or .github/ changes
Adds a `paths` filter to both the push and pull_request triggers so the
suite no longer fires for unrelated changes (e.g. tpchgen-* edits, doc
tweaks at the repo root).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor: rename return_reasons.dst to return_reasons_trino.dst
Pair the inherited Java/Trino distribution with the corrected C variant
so both filenames advertise their compat mode at a glance:
return_reasons_trino.dst <-- old return_reasons.dst (carries the
"reason 30 missing, reason 31
duplicated" bug, kept for byte-for-byte
Trino fixture stability)
return_reasons_c.dst <-- corrected, used by --compat c
Updates the embedded_data.rs lookup table, the distribution loader,
and the doc-comment references in scaling.rs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore: consolidate MD5SUMS into scale-N-{java,c}/ fixture dirs
Move the canonical Java reference hashes from
tests/fixtures/java/scale-{1,10}/MD5SUMS
to
tests/fixtures/scale-{1,10}-java/MD5SUMS
and generate a fresh
tests/fixtures/scale-1-c/MD5SUMS
from the current alamb/tpcds-data sf1 download (post-regeneration).
The old tests/fixtures/rust/scale-{1,10}/MD5SUMS files are removed:
they were byte-identical to the Java set apart from dbgen_version, which
contains a generation timestamp and is always excluded from comparison.
The empty tests/fixtures/java/ parent directory is gone too.
README references already use the new scale-N-java/ paths (from
the earlier rename); no further doc updates were needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor: use 'trino' (not 'java') consistently for the Trino TPC-DS port
'java' is ambiguous — there may be multiple Java TPC-DS implementations.
The reference we target is specifically the Trino library, so name
everything after it for clarity:
- tests/fixtures/scale-N-java/ -> tests/fixtures/scale-N-trino/
- scripts/bootstrap-java.sh -> scripts/bootstrap-trino.sh
- TPCDS_JAVA_REPO env var -> TPCDS_TRINO_REPO
- JAVA_DIR / JAVA_REPO_URL vars -> TRINO_DIR / TRINO_REPO_URL
- find_java_jar / clone_java_repo / build_java / test_java
-> find_trino_jar / clone_trino_repo / build_trino / test_trino
- CI artifact `test-fixtures-java` -> `test-fixtures-trino`
- "Java fixture" log labels -> "Trino fixture"
- Doc references throughout READMEs and script headers updated.
Kept as-is: `actions/setup-java@v5`, `Java 11+` requirement, `java -jar`
/ `java -version` invocations, and `mvn`/`openjdk` references — those
refer to the Java language/runtime, not the Trino implementation.
The CLI flag and Rust `CompatMode::Trino` were already named `trino`;
this commit aligns the rest of the codebase.
Verified: `./scripts/test-all-tables.sh` passes 24/24 vs Trino, and
`./scripts/test-all-tables.sh --compat c` passes 23/23 vs C dsdgen
(customer.dat still skipped pending alamb/tpcds-data regeneration).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix: add references to documented bugs
---------
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>C) (#253)1 parent 81b3c9b commit 5cde819
26 files changed
Lines changed: 1077 additions & 688 deletions
File tree
- .github/workflows
- tpcdsgen
- data
- scripts
- src
- bin
- config
- distribution
- row
- tests/fixtures
- rust/scale-10
- scale-1-c
- scale-1-trino
- scale-10-trino
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
6 | 9 | | |
7 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
8 | 14 | | |
9 | 15 | | |
10 | 16 | | |
11 | 17 | | |
12 | 18 | | |
13 | 19 | | |
14 | | - | |
| 20 | + | |
15 | 21 | | |
16 | | - | |
| 22 | + | |
17 | 23 | | |
18 | 24 | | |
19 | 25 | | |
| |||
45 | 51 | | |
46 | 52 | | |
47 | 53 | | |
48 | | - | |
| 54 | + | |
49 | 55 | | |
50 | 56 | | |
51 | 57 | | |
| |||
65 | 71 | | |
66 | 72 | | |
67 | 73 | | |
68 | | - | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
69 | 128 | | |
70 | 129 | | |
71 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
Whitespace-only changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
38 | 35 | | |
39 | 36 | | |
40 | | - | |
41 | | - | |
42 | | - | |
| 37 | + | |
43 | 38 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
60 | 42 | | |
61 | | - | |
| 43 | + | |
62 | 44 | | |
63 | 45 | | |
64 | | - | |
65 | | - | |
| 46 | + | |
| 47 | + | |
66 | 48 | | |
67 | | - | |
68 | | - | |
| 49 | + | |
| 50 | + | |
69 | 51 | | |
70 | | - | |
71 | | - | |
| 52 | + | |
| 53 | + | |
72 | 54 | | |
73 | 55 | | |
74 | | - | |
75 | | - | |
76 | | - | |
| 56 | + | |
77 | 57 | | |
78 | 58 | | |
79 | | - | |
80 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
81 | 62 | | |
82 | | - | |
83 | | - | |
| 63 | + | |
| 64 | + | |
84 | 65 | | |
85 | 66 | | |
86 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
87 | 73 | | |
88 | 74 | | |
89 | 75 | | |
90 | 76 | | |
91 | 77 | | |
92 | 78 | | |
93 | 79 | | |
94 | | - | |
| 80 | + | |
95 | 81 | | |
96 | 82 | | |
97 | 83 | | |
98 | 84 | | |
99 | 85 | | |
100 | | - | |
| 86 | + | |
101 | 87 | | |
102 | 88 | | |
103 | 89 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
File renamed without changes.
0 commit comments