MCPcopy Create free account
hub / github.com/apache/datafusion / get_tpch_table_schema

Function get_tpch_table_schema

benchmarks/src/tpch/mod.rs:46–139  ·  view source on GitHub ↗

Get the schema for the benchmarks derived from TPC-H

(table: &str)

Source from the content-addressed store, hash-verified

44
45/// Get the schema for the benchmarks derived from TPC-H
46pub fn get_tpch_table_schema(table: &str) -> Schema {
47 // note that the schema intentionally uses signed integers so that any generated Parquet
48 // files can also be used to benchmark tools that only support signed integers, such as
49 // Apache Spark
50
51 match table {
52 "part" => Schema::new(vec![
53 Field::new("p_partkey", DataType::Int64, false),
54 Field::new("p_name", DataType::Utf8, false),
55 Field::new("p_mfgr", DataType::Utf8, false),
56 Field::new("p_brand", DataType::Utf8, false),
57 Field::new("p_type", DataType::Utf8, false),
58 Field::new("p_size", DataType::Int32, false),
59 Field::new("p_container", DataType::Utf8, false),
60 Field::new("p_retailprice", DataType::Decimal128(15, 2), false),
61 Field::new("p_comment", DataType::Utf8, false),
62 ]),
63
64 "supplier" => Schema::new(vec![
65 Field::new("s_suppkey", DataType::Int64, false),
66 Field::new("s_name", DataType::Utf8, false),
67 Field::new("s_address", DataType::Utf8, false),
68 Field::new("s_nationkey", DataType::Int64, false),
69 Field::new("s_phone", DataType::Utf8, false),
70 Field::new("s_acctbal", DataType::Decimal128(15, 2), false),
71 Field::new("s_comment", DataType::Utf8, false),
72 ]),
73
74 "partsupp" => Schema::new(vec![
75 Field::new("ps_partkey", DataType::Int64, false),
76 Field::new("ps_suppkey", DataType::Int64, false),
77 Field::new("ps_availqty", DataType::Int32, false),
78 Field::new("ps_supplycost", DataType::Decimal128(15, 2), false),
79 Field::new("ps_comment", DataType::Utf8, false),
80 ]),
81
82 "customer" => Schema::new(vec![
83 Field::new("c_custkey", DataType::Int64, false),
84 Field::new("c_name", DataType::Utf8, false),
85 Field::new("c_address", DataType::Utf8, false),
86 Field::new("c_nationkey", DataType::Int64, false),
87 Field::new("c_phone", DataType::Utf8, false),
88 Field::new("c_acctbal", DataType::Decimal128(15, 2), false),
89 Field::new("c_mktsegment", DataType::Utf8, false),
90 Field::new("c_comment", DataType::Utf8, false),
91 ]),
92
93 "orders" => Schema::new(vec![
94 Field::new("o_orderkey", DataType::Int64, false),
95 Field::new("o_custkey", DataType::Int64, false),
96 Field::new("o_orderstatus", DataType::Utf8, false),
97 Field::new("o_totalprice", DataType::Decimal128(15, 2), false),
98 Field::new("o_orderdate", DataType::Date32, false),
99 Field::new("o_orderpriority", DataType::Utf8, false),
100 Field::new("o_clerk", DataType::Utf8, false),
101 Field::new("o_shippriority", DataType::Int32, false),
102 Field::new("o_comment", DataType::Utf8, false),
103 ]),

Callers 2

get_tableMethod · 0.70

Calls 1

newFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…