Skip to content

Commit 35d5c49

Browse files
tsafinclaude
andcommitted
Phase 5: implement all 14 remaining TPC-DS dimension tables
Adds support for all 24 TPC-DS tables to tpcds_benchmark: call_center, catalog_page, web_page, web_site, warehouse, ship_mode, household_demographics, customer_demographics, customer_address, income_band, reason, time_dim, promotion, store. Key changes: - tpcds_dsdgen.h: fix ds_addr_t (add missing plus4 field); add structs and TPCDS_* constants for all 14 new tables - dsdgen_wrapper.hpp/.cpp: TPCDS_SIMPLE_GENERATE macro + 14 new generators - dsdgen_converter.cpp: append_*_to_builders + dispatcher for 14 tables; append_addr_fields() helper for ds_addr_t (street/city/state/zip/etc.) - tpcds_main.cpp: parse_table() + generation dispatch for all 24 tables Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 6b0d16b commit 35d5c49

5 files changed

Lines changed: 1216 additions & 23 deletions

File tree

include/tpch/dsdgen_wrapper.hpp

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,66 @@ class DSDGenWrapper {
145145
std::function<void(const void* row)> callback,
146146
long max_rows = -1);
147147

148+
// -----------------------------------------------------------------------
149+
// Phase 5 dimension table generators
150+
// -----------------------------------------------------------------------
151+
152+
void generate_call_center(
153+
std::function<void(const void* row)> callback,
154+
long max_rows = -1);
155+
156+
void generate_catalog_page(
157+
std::function<void(const void* row)> callback,
158+
long max_rows = -1);
159+
160+
void generate_web_page(
161+
std::function<void(const void* row)> callback,
162+
long max_rows = -1);
163+
164+
void generate_web_site(
165+
std::function<void(const void* row)> callback,
166+
long max_rows = -1);
167+
168+
void generate_warehouse(
169+
std::function<void(const void* row)> callback,
170+
long max_rows = -1);
171+
172+
void generate_ship_mode(
173+
std::function<void(const void* row)> callback,
174+
long max_rows = -1);
175+
176+
void generate_household_demographics(
177+
std::function<void(const void* row)> callback,
178+
long max_rows = -1);
179+
180+
void generate_customer_demographics(
181+
std::function<void(const void* row)> callback,
182+
long max_rows = -1);
183+
184+
void generate_customer_address(
185+
std::function<void(const void* row)> callback,
186+
long max_rows = -1);
187+
188+
void generate_income_band(
189+
std::function<void(const void* row)> callback,
190+
long max_rows = -1);
191+
192+
void generate_reason(
193+
std::function<void(const void* row)> callback,
194+
long max_rows = -1);
195+
196+
void generate_time_dim(
197+
std::function<void(const void* row)> callback,
198+
long max_rows = -1);
199+
200+
void generate_promotion(
201+
std::function<void(const void* row)> callback,
202+
long max_rows = -1);
203+
204+
void generate_store(
205+
std::function<void(const void* row)> callback,
206+
long max_rows = -1);
207+
148208
long scale_factor() const { return scale_factor_; }
149209

150210
/**

0 commit comments

Comments
 (0)