benchbox 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- benchbox/__init__.py +1 -1
- benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query72.tpl +1 -1
- benchbox/_binaries/tpc-ds/{darwin-x86_64/query_templates/ansi.tpl → templates/query_templates/sqlserver.tpl} +1 -1
- benchbox/_binaries/tpc-ds/templates/query_variants/README +6 -0
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query10.tpl → templates/query_variants/query10a.tpl} +13 -14
- benchbox/_binaries/tpc-ds/{darwin-x86_64/query_templates/query14.tpl → templates/query_variants/query14a.tpl} +30 -26
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query18.tpl → templates/query_variants/query18a.tpl} +40 -19
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query22.tpl → templates/query_variants/query22a.tpl} +31 -9
- benchbox/_binaries/tpc-ds/{darwin-x86_64/query_templates/query27.tpl → templates/query_variants/query27a.tpl} +23 -10
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query35.tpl → templates/query_variants/query35a.tpl} +9 -8
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query36.tpl → templates/query_variants/query36a.tpl} +24 -12
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query51.tpl → templates/query_variants/query51a.tpl} +37 -20
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query5.tpl → templates/query_variants/query5a.tpl} +15 -10
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query67.tpl → templates/query_variants/query67a.tpl} +46 -18
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query70.tpl → templates/query_variants/query70a.tpl} +31 -27
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query77.tpl → templates/query_variants/query77a.tpl} +22 -15
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query80.tpl → templates/query_variants/query80a.tpl} +22 -8
- benchbox/_binaries/tpc-ds/{linux-arm64/query_templates/query86.tpl → templates/query_variants/query86a.tpl} +22 -13
- benchbox/_binaries/tpc-h/templates/dists.dss +836 -0
- benchbox/_binaries/tpc-h/templates/queries/1.sql +28 -0
- benchbox/_binaries/tpc-h/templates/queries/10.sql +38 -0
- benchbox/_binaries/tpc-h/templates/queries/11.sql +34 -0
- benchbox/_binaries/tpc-h/templates/queries/12.sql +35 -0
- benchbox/_binaries/tpc-h/templates/queries/13.sql +27 -0
- benchbox/_binaries/tpc-h/templates/queries/14.sql +20 -0
- benchbox/_binaries/tpc-h/templates/queries/15.sql +40 -0
- benchbox/_binaries/tpc-h/templates/queries/16.sql +37 -0
- benchbox/_binaries/tpc-h/templates/queries/17.sql +24 -0
- benchbox/_binaries/tpc-h/templates/queries/18.sql +39 -0
- benchbox/_binaries/tpc-h/templates/queries/19.sql +42 -0
- benchbox/_binaries/tpc-h/templates/queries/2.sql +50 -0
- benchbox/_binaries/tpc-h/templates/queries/20.sql +44 -0
- benchbox/_binaries/tpc-h/templates/queries/21.sql +46 -0
- benchbox/_binaries/tpc-h/templates/queries/22.sql +44 -0
- benchbox/_binaries/tpc-h/templates/queries/3.sql +29 -0
- benchbox/_binaries/tpc-h/templates/queries/4.sql +28 -0
- benchbox/_binaries/tpc-h/templates/queries/5.sql +31 -0
- benchbox/_binaries/tpc-h/templates/queries/6.sql +16 -0
- benchbox/_binaries/tpc-h/templates/queries/7.sql +46 -0
- benchbox/_binaries/tpc-h/templates/queries/8.sql +44 -0
- benchbox/_binaries/tpc-h/templates/queries/9.sql +39 -0
- benchbox/_binaries/tpc-h/templates/variants/12a.sql +27 -0
- benchbox/_binaries/tpc-h/templates/variants/13a.sql +30 -0
- benchbox/_binaries/tpc-h/templates/variants/14a.sql +18 -0
- benchbox/_binaries/tpc-h/templates/variants/15a.sql +39 -0
- benchbox/_binaries/tpc-h/templates/variants/8a.sql +77 -0
- benchbox/base.py +88 -121
- benchbox/cli/benchmarks.py +3 -3
- benchbox/cli/commands/calculate_qphh.py +55 -14
- benchbox/cli/commands/checks.py +1 -4
- benchbox/cli/commands/convert.py +8 -3
- benchbox/cli/commands/metrics.py +55 -14
- benchbox/cli/commands/results.py +131 -3
- benchbox/cli/commands/run.py +157 -22
- benchbox/cli/commands/visualize.py +3 -3
- benchbox/cli/composite_params.py +1 -1
- benchbox/cli/config.py +13 -3
- benchbox/cli/database.py +3 -3
- benchbox/cli/dryrun.py +30 -4
- benchbox/cli/exceptions.py +2 -1
- benchbox/cli/execution_pipeline.py +2 -1
- benchbox/cli/orchestrator.py +25 -71
- benchbox/cli/tuning.py +1 -1
- benchbox/core/ai_primitives/benchmark.py +53 -0
- benchbox/core/ai_primitives/dataframe_operations.py +1217 -0
- benchbox/core/base_benchmark.py +90 -68
- benchbox/core/coffeeshop/queries.py +1 -1
- benchbox/core/coffeeshop/schema.py +1 -1
- benchbox/core/comparison/plotter.py +5 -4
- benchbox/core/dataframe/__init__.py +26 -0
- benchbox/core/dataframe/benchmark_suite.py +5 -4
- benchbox/core/dataframe/context.py +45 -0
- benchbox/core/dataframe/data_loader.py +180 -79
- benchbox/core/dataframe/maintenance_interface.py +866 -0
- benchbox/core/dryrun.py +152 -22
- benchbox/core/expected_results/registry.py +22 -5
- benchbox/core/manifest/io.py +4 -3
- benchbox/core/metadata_primitives/__init__.py +31 -0
- benchbox/core/metadata_primitives/benchmark.py +337 -0
- benchbox/core/metadata_primitives/dataframe_operations.py +1824 -0
- benchbox/core/platform_registry.py +134 -45
- benchbox/core/read_primitives/benchmark.py +56 -4
- benchbox/core/read_primitives/dataframe_queries.py +6547 -0
- benchbox/core/results/__init__.py +47 -6
- benchbox/core/results/builder.py +909 -0
- benchbox/core/results/database.py +5 -5
- benchbox/core/results/exporter.py +58 -96
- benchbox/core/results/filenames.py +102 -0
- benchbox/core/results/loader.py +10 -9
- benchbox/core/results/metrics.py +211 -0
- benchbox/core/results/models.py +3 -1
- benchbox/core/results/normalizer.py +346 -0
- benchbox/core/results/platform_info.py +235 -0
- benchbox/core/results/query_normalizer.py +200 -0
- benchbox/core/results/schema.py +368 -69
- benchbox/core/runner/conversion.py +2 -0
- benchbox/core/runner/dataframe_runner.py +135 -131
- benchbox/core/runner/runner.py +111 -18
- benchbox/core/schemas.py +145 -3
- benchbox/core/ssb/generator.py +14 -2
- benchbox/core/tpc_compliance.py +4 -4
- benchbox/core/tpc_metrics.py +9 -4
- benchbox/core/tpcdi/generator/manifest.py +15 -2
- benchbox/core/tpcds/benchmark/runner.py +3 -7
- benchbox/core/tpcds/c_tools.py +34 -28
- benchbox/core/tpcds/dataframe_queries/queries.py +44 -21
- benchbox/core/tpcds/generator/filesystem.py +23 -11
- benchbox/core/tpcds/generator/manager.py +3 -2
- benchbox/core/tpcds/maintenance_test.py +281 -0
- benchbox/core/tpcds/power_test.py +21 -11
- benchbox/core/tpcds/throughput_test.py +27 -9
- benchbox/core/tpcds_obt/etl/transformer.py +24 -5
- benchbox/core/tpch/dataframe_queries.py +46 -43
- benchbox/core/tpch/generator.py +21 -8
- benchbox/core/tpch/maintenance_test.py +87 -0
- benchbox/core/tpch/power_test.py +21 -5
- benchbox/core/tpch/queries.py +2 -7
- benchbox/core/tpch/streams.py +3 -19
- benchbox/core/transaction_primitives/benchmark.py +99 -0
- benchbox/core/transaction_primitives/dataframe_operations.py +1294 -0
- benchbox/core/transaction_primitives/generator.py +11 -4
- benchbox/core/visualization/__init__.py +2 -2
- benchbox/core/visualization/charts.py +4 -4
- benchbox/core/visualization/dependencies.py +1 -12
- benchbox/core/visualization/exporters.py +15 -26
- benchbox/core/visualization/result_plotter.py +90 -49
- benchbox/core/visualization/templates.py +6 -6
- benchbox/core/write_primitives/__init__.py +13 -0
- benchbox/core/write_primitives/benchmark.py +66 -0
- benchbox/core/write_primitives/dataframe_operations.py +912 -0
- benchbox/core/write_primitives/generator.py +11 -4
- benchbox/mcp/__init__.py +5 -1
- benchbox/mcp/errors.py +29 -0
- benchbox/mcp/resources/registry.py +12 -7
- benchbox/mcp/schemas.py +62 -0
- benchbox/mcp/server.py +17 -14
- benchbox/mcp/tools/__init__.py +3 -0
- benchbox/mcp/tools/analytics.py +550 -582
- benchbox/mcp/tools/benchmark.py +603 -611
- benchbox/mcp/tools/discovery.py +156 -205
- benchbox/mcp/tools/results.py +332 -533
- benchbox/mcp/tools/visualization.py +449 -0
- benchbox/platforms/__init__.py +740 -622
- benchbox/platforms/adapter_factory.py +6 -6
- benchbox/platforms/azure_synapse.py +3 -7
- benchbox/platforms/base/adapter.py +189 -49
- benchbox/platforms/base/cloud_spark/config.py +8 -0
- benchbox/platforms/base/cloud_spark/mixins.py +96 -0
- benchbox/platforms/base/cloud_spark/session.py +4 -2
- benchbox/platforms/base/cloud_spark/staging.py +15 -7
- benchbox/platforms/base/data_loading.py +315 -1
- benchbox/platforms/base/format_capabilities.py +37 -2
- benchbox/platforms/base/utils.py +6 -4
- benchbox/platforms/bigquery.py +5 -6
- benchbox/platforms/clickhouse_cloud.py +263 -0
- benchbox/platforms/databricks/adapter.py +16 -15
- benchbox/platforms/databricks/dataframe_adapter.py +4 -1
- benchbox/platforms/dataframe/__init__.py +31 -0
- benchbox/platforms/dataframe/benchmark_mixin.py +779 -0
- benchbox/platforms/dataframe/cudf_df.py +3 -3
- benchbox/platforms/dataframe/dask_df.py +3 -3
- benchbox/platforms/dataframe/datafusion_df.py +152 -15
- benchbox/platforms/dataframe/delta_lake_maintenance.py +341 -0
- benchbox/platforms/dataframe/ducklake_maintenance.py +402 -0
- benchbox/platforms/dataframe/expression_family.py +47 -8
- benchbox/platforms/dataframe/hudi_maintenance.py +437 -0
- benchbox/platforms/dataframe/iceberg_maintenance.py +605 -0
- benchbox/platforms/dataframe/modin_df.py +3 -3
- benchbox/platforms/dataframe/pandas_df.py +3 -3
- benchbox/platforms/dataframe/pandas_family.py +59 -8
- benchbox/platforms/dataframe/platform_checker.py +16 -49
- benchbox/platforms/dataframe/polars_df.py +14 -12
- benchbox/platforms/dataframe/polars_maintenance.py +630 -0
- benchbox/platforms/dataframe/pyspark_df.py +15 -0
- benchbox/platforms/dataframe/pyspark_maintenance.py +613 -0
- benchbox/platforms/datafusion.py +5 -6
- benchbox/platforms/duckdb.py +2 -1
- benchbox/platforms/fabric_warehouse.py +15 -15
- benchbox/platforms/firebolt.py +3 -2
- benchbox/platforms/influxdb/adapter.py +7 -3
- benchbox/platforms/motherduck.py +3 -2
- benchbox/platforms/onehouse/__init__.py +39 -0
- benchbox/platforms/onehouse/onehouse_client.py +509 -0
- benchbox/platforms/onehouse/quanton_adapter.py +646 -0
- benchbox/platforms/postgresql.py +5 -9
- benchbox/platforms/presto.py +2 -2
- benchbox/platforms/pyspark/session.py +3 -3
- benchbox/platforms/pyspark/sql_adapter.py +2 -3
- benchbox/platforms/redshift.py +7 -7
- benchbox/platforms/snowflake.py +4 -4
- benchbox/platforms/snowpark_connect.py +2 -1
- benchbox/platforms/trino.py +2 -2
- benchbox/release/__init__.py +17 -0
- benchbox/release/content_validation.py +745 -0
- benchbox/release/workflow.py +17 -0
- benchbox/utils/VERSION_MANAGEMENT.md +1 -1
- benchbox/utils/cloud_storage.py +7 -5
- benchbox/utils/compression.py +8 -8
- benchbox/utils/compression_mixin.py +2 -1
- benchbox/utils/data_validation.py +23 -14
- benchbox/utils/dependencies.py +47 -7
- benchbox/utils/file_format.py +407 -0
- benchbox/utils/format_converters/__init__.py +5 -1
- benchbox/utils/format_converters/ducklake_converter.py +227 -0
- benchbox/utils/format_converters/vortex_converter.py +168 -0
- benchbox/utils/tpc_compilation.py +43 -0
- benchbox/utils/version.py +14 -2
- {benchbox-0.1.0.dist-info → benchbox-0.1.1.dist-info}/METADATA +15 -15
- benchbox-0.1.1.dist-info/RECORD +839 -0
- {benchbox-0.1.0.dist-info → benchbox-0.1.1.dist-info}/WHEEL +1 -1
- benchbox/_binaries/tpc-ds/darwin-arm64/query_templates/sqlserver.tpl +0 -37
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/README +0 -4
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/db2.tpl +0 -38
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/netezza.tpl +0 -38
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/oracle.tpl +0 -38
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query1.tpl +0 -62
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query10.tpl +0 -98
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query11.tpl +0 -119
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query12.tpl +0 -72
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query13.tpl +0 -89
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query15.tpl +0 -56
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query16.tpl +0 -76
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query17.tpl +0 -80
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query18.tpl +0 -73
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query19.tpl +0 -64
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query2.tpl +0 -94
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query20.tpl +0 -67
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query21.tpl +0 -65
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query22.tpl +0 -54
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query23.tpl +0 -144
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query24.tpl +0 -147
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query25.tpl +0 -84
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query26.tpl +0 -61
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query28.tpl +0 -90
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query29.tpl +0 -85
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query3.tpl +0 -58
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query30.tpl +0 -66
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query31.tpl +0 -88
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query32.tpl +0 -65
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query33.tpl +0 -113
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query34.tpl +0 -77
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query35.tpl +0 -98
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query36.tpl +0 -74
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query37.tpl +0 -57
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query38.tpl +0 -58
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query39.tpl +0 -93
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query4.tpl +0 -154
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query40.tpl +0 -63
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query41.tpl +0 -90
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query42.tpl +0 -64
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query43.tpl +0 -55
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query44.tpl +0 -72
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query45.tpl +0 -56
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query46.tpl +0 -78
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query47.tpl +0 -89
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query48.tpl +0 -104
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query49.tpl +0 -164
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query5.tpl +0 -165
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query50.tpl +0 -96
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query51.tpl +0 -80
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query52.tpl +0 -59
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query53.tpl +0 -64
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query54.tpl +0 -95
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query55.tpl +0 -52
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query56.tpl +0 -108
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query57.tpl +0 -87
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query58.tpl +0 -101
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query59.tpl +0 -79
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query6.tpl +0 -62
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query60.tpl +0 -115
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query61.tpl +0 -83
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query62.tpl +0 -71
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query63.tpl +0 -64
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query64.tpl +0 -157
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query65.tpl +0 -62
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query66.tpl +0 -261
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query67.tpl +0 -81
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query68.tpl +0 -82
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query69.tpl +0 -85
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query7.tpl +0 -60
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query70.tpl +0 -73
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query71.tpl +0 -74
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query72.tpl +0 -67
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query73.tpl +0 -69
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query74.tpl +0 -99
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query75.tpl +0 -107
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query76.tpl +0 -64
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query77.tpl +0 -145
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query78.tpl +0 -94
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query79.tpl +0 -60
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query8.tpl +0 -144
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query80.tpl +0 -131
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query81.tpl +0 -68
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query82.tpl +0 -56
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query83.tpl +0 -104
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query84.tpl +0 -58
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query85.tpl +0 -121
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query86.tpl +0 -60
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query87.tpl +0 -56
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query88.tpl +0 -128
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query89.tpl +0 -75
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query9.tpl +0 -88
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query90.tpl +0 -58
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query91.tpl +0 -68
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query92.tpl +0 -68
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query93.tpl +0 -53
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query94.tpl +0 -67
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query95.tpl +0 -71
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query96.tpl +0 -52
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query97.tpl +0 -62
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query98.tpl +0 -70
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/query99.tpl +0 -69
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/sqlserver.tpl +0 -37
- benchbox/_binaries/tpc-ds/darwin-x86_64/query_templates/templates.lst +0 -99
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/README +0 -4
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/ansi.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/db2.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/netezza.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/oracle.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query1.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query11.tpl +0 -119
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query12.tpl +0 -72
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query13.tpl +0 -89
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query14.tpl +0 -247
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query15.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query16.tpl +0 -76
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query17.tpl +0 -80
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query19.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query2.tpl +0 -94
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query20.tpl +0 -67
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query21.tpl +0 -65
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query23.tpl +0 -144
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query24.tpl +0 -147
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query25.tpl +0 -84
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query26.tpl +0 -61
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query27.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query28.tpl +0 -90
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query29.tpl +0 -85
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query3.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query30.tpl +0 -66
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query31.tpl +0 -88
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query32.tpl +0 -65
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query33.tpl +0 -113
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query34.tpl +0 -77
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query37.tpl +0 -57
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query38.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query39.tpl +0 -93
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query4.tpl +0 -154
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query40.tpl +0 -63
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query41.tpl +0 -90
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query42.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query43.tpl +0 -55
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query44.tpl +0 -72
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query45.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query46.tpl +0 -78
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query47.tpl +0 -89
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query48.tpl +0 -104
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query49.tpl +0 -164
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query50.tpl +0 -96
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query52.tpl +0 -59
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query53.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query54.tpl +0 -95
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query55.tpl +0 -52
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query56.tpl +0 -108
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query57.tpl +0 -87
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query58.tpl +0 -101
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query59.tpl +0 -79
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query6.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query60.tpl +0 -115
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query61.tpl +0 -83
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query62.tpl +0 -71
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query63.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query64.tpl +0 -157
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query65.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query66.tpl +0 -261
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query68.tpl +0 -82
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query69.tpl +0 -85
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query7.tpl +0 -60
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query71.tpl +0 -74
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query72.tpl +0 -67
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query73.tpl +0 -69
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query74.tpl +0 -99
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query75.tpl +0 -107
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query76.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query78.tpl +0 -94
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query79.tpl +0 -60
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query8.tpl +0 -144
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query81.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query82.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query83.tpl +0 -104
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query84.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query85.tpl +0 -121
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query87.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query88.tpl +0 -128
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query89.tpl +0 -75
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query9.tpl +0 -88
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query90.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query91.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query92.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query93.tpl +0 -53
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query94.tpl +0 -67
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query95.tpl +0 -71
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query96.tpl +0 -52
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query97.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query98.tpl +0 -70
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/query99.tpl +0 -69
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/sqlserver.tpl +0 -37
- benchbox/_binaries/tpc-ds/linux-arm64/query_templates/templates.lst +0 -99
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/README +0 -4
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/ansi.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/db2.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/netezza.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/oracle.tpl +0 -38
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query1.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query10.tpl +0 -98
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query11.tpl +0 -119
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query12.tpl +0 -72
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query13.tpl +0 -89
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query14.tpl +0 -247
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query15.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query16.tpl +0 -76
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query17.tpl +0 -80
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query18.tpl +0 -73
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query19.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query2.tpl +0 -94
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query20.tpl +0 -67
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query21.tpl +0 -65
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query22.tpl +0 -54
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query23.tpl +0 -144
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query24.tpl +0 -147
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query25.tpl +0 -84
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query26.tpl +0 -61
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query27.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query28.tpl +0 -90
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query29.tpl +0 -85
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query3.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query30.tpl +0 -66
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query31.tpl +0 -88
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query32.tpl +0 -65
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query33.tpl +0 -113
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query34.tpl +0 -77
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query35.tpl +0 -98
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query36.tpl +0 -74
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query37.tpl +0 -57
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query38.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query39.tpl +0 -93
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query4.tpl +0 -154
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query40.tpl +0 -63
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query41.tpl +0 -90
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query42.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query43.tpl +0 -55
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query44.tpl +0 -72
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query45.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query46.tpl +0 -78
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query47.tpl +0 -89
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query48.tpl +0 -104
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query49.tpl +0 -164
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query5.tpl +0 -165
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query50.tpl +0 -96
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query51.tpl +0 -80
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query52.tpl +0 -59
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query53.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query54.tpl +0 -95
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query55.tpl +0 -52
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query56.tpl +0 -108
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query57.tpl +0 -87
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query58.tpl +0 -101
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query59.tpl +0 -79
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query6.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query60.tpl +0 -115
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query61.tpl +0 -83
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query62.tpl +0 -71
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query63.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query64.tpl +0 -157
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query65.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query66.tpl +0 -261
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query67.tpl +0 -81
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query68.tpl +0 -82
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query69.tpl +0 -85
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query7.tpl +0 -60
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query70.tpl +0 -73
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query71.tpl +0 -74
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query72.tpl +0 -67
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query73.tpl +0 -69
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query74.tpl +0 -99
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query75.tpl +0 -107
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query76.tpl +0 -64
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query77.tpl +0 -145
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query78.tpl +0 -94
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query79.tpl +0 -60
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query8.tpl +0 -144
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query80.tpl +0 -131
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query81.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query82.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query83.tpl +0 -104
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query84.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query85.tpl +0 -121
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query86.tpl +0 -60
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query87.tpl +0 -56
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query88.tpl +0 -128
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query89.tpl +0 -75
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query9.tpl +0 -88
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query90.tpl +0 -58
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query91.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query92.tpl +0 -68
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query93.tpl +0 -53
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query94.tpl +0 -67
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query95.tpl +0 -71
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query96.tpl +0 -52
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query97.tpl +0 -62
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query98.tpl +0 -70
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/query99.tpl +0 -69
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/sqlserver.tpl +0 -37
- benchbox/_binaries/tpc-ds/linux-x86_64/query_templates/templates.lst +0 -99
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/README +0 -4
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/ansi.tpl +0 -38
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/db2.tpl +0 -38
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/netezza.tpl +0 -38
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/oracle.tpl +0 -38
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query1.tpl +0 -62
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query10.tpl +0 -98
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query11.tpl +0 -119
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query12.tpl +0 -72
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query13.tpl +0 -89
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query14.tpl +0 -247
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query15.tpl +0 -56
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query16.tpl +0 -76
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query17.tpl +0 -80
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query18.tpl +0 -73
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query19.tpl +0 -64
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query2.tpl +0 -94
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query20.tpl +0 -67
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query21.tpl +0 -65
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query22.tpl +0 -54
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query23.tpl +0 -144
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query24.tpl +0 -147
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query25.tpl +0 -84
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query26.tpl +0 -61
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query27.tpl +0 -68
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query28.tpl +0 -90
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query29.tpl +0 -85
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query3.tpl +0 -58
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query30.tpl +0 -66
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query31.tpl +0 -88
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query32.tpl +0 -65
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query33.tpl +0 -113
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query34.tpl +0 -77
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query35.tpl +0 -98
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query36.tpl +0 -74
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query37.tpl +0 -57
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query38.tpl +0 -58
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query39.tpl +0 -93
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query4.tpl +0 -154
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query40.tpl +0 -63
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query41.tpl +0 -90
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query42.tpl +0 -64
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query43.tpl +0 -55
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query44.tpl +0 -72
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query45.tpl +0 -56
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query46.tpl +0 -78
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query47.tpl +0 -89
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query48.tpl +0 -104
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query49.tpl +0 -164
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query5.tpl +0 -165
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query50.tpl +0 -96
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query51.tpl +0 -80
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query52.tpl +0 -59
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query53.tpl +0 -64
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query54.tpl +0 -95
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query55.tpl +0 -52
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query56.tpl +0 -108
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query57.tpl +0 -87
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query58.tpl +0 -101
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query59.tpl +0 -79
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query6.tpl +0 -62
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query60.tpl +0 -115
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query61.tpl +0 -83
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query62.tpl +0 -71
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query63.tpl +0 -64
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query64.tpl +0 -157
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query65.tpl +0 -62
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query66.tpl +0 -261
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query67.tpl +0 -81
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query68.tpl +0 -82
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query69.tpl +0 -85
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query7.tpl +0 -60
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query70.tpl +0 -73
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query71.tpl +0 -74
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query72.tpl +0 -67
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query73.tpl +0 -69
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query74.tpl +0 -99
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query75.tpl +0 -107
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query76.tpl +0 -64
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query77.tpl +0 -145
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query78.tpl +0 -94
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query79.tpl +0 -60
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query8.tpl +0 -144
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query80.tpl +0 -131
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query81.tpl +0 -68
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query82.tpl +0 -56
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query83.tpl +0 -104
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query84.tpl +0 -58
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query85.tpl +0 -121
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query86.tpl +0 -60
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query87.tpl +0 -56
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query88.tpl +0 -128
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query89.tpl +0 -75
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query9.tpl +0 -88
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query90.tpl +0 -58
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query91.tpl +0 -68
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query92.tpl +0 -68
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query93.tpl +0 -53
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query94.tpl +0 -67
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query95.tpl +0 -71
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query96.tpl +0 -52
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query97.tpl +0 -62
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query98.tpl +0 -70
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/query99.tpl +0 -69
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/sqlserver.tpl +0 -37
- benchbox/_binaries/tpc-ds/windows-x86_64/query_templates/templates.lst +0 -99
- benchbox-0.1.0.dist-info/RECORD +0 -1192
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/README +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/ansi.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/db2.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/netezza.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/oracle.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query1.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query10.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query11.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query12.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query13.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query14.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query15.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query16.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query17.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query18.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query19.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query2.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query20.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query21.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query22.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query23.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query24.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query25.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query26.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query27.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query28.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query29.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query3.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query30.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query31.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query32.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query33.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query34.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query35.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query36.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query37.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query38.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query39.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query4.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query40.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query41.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query42.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query43.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query44.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query45.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query46.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query47.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query48.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query49.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query5.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query50.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query51.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query52.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query53.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query54.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query55.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query56.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query57.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query58.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query59.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query6.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query60.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query61.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query62.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query63.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query64.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query65.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query66.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query67.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query68.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query69.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query7.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query70.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query71.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query73.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query74.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query75.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query76.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query77.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query78.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query79.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query8.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query80.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query81.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query82.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query83.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query84.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query85.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query86.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query87.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query88.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query89.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query9.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query90.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query91.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query92.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query93.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query94.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query95.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query96.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query97.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query98.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/query99.tpl +0 -0
- /benchbox/_binaries/tpc-ds/{darwin-arm64 → templates}/query_templates/templates.lst +0 -0
- {benchbox-0.1.0.dist-info → benchbox-0.1.1.dist-info}/entry_points.txt +0 -0
- {benchbox-0.1.0.dist-info → benchbox-0.1.1.dist-info}/licenses/LICENSE +0 -0
- {benchbox-0.1.0.dist-info → benchbox-0.1.1.dist-info}/top_level.txt +0 -0
benchbox/core/results/schema.py
CHANGED
|
@@ -22,13 +22,70 @@ from dataclasses import asdict, is_dataclass
|
|
|
22
22
|
from datetime import datetime
|
|
23
23
|
from typing import TYPE_CHECKING, Any
|
|
24
24
|
|
|
25
|
+
from benchbox.core.results.builder import normalize_benchmark_id
|
|
26
|
+
from benchbox.core.results.query_normalizer import normalize_query_id
|
|
27
|
+
|
|
25
28
|
if TYPE_CHECKING:
|
|
26
29
|
from benchbox.core.results.models import BenchmarkResults
|
|
27
30
|
|
|
28
|
-
SCHEMA_VERSION = "2.
|
|
31
|
+
SCHEMA_VERSION = "2.1"
|
|
29
32
|
|
|
30
33
|
logger = logging.getLogger(__name__)
|
|
31
34
|
|
|
35
|
+
CANONICAL_KEY_ORDER = [
|
|
36
|
+
"version",
|
|
37
|
+
"run",
|
|
38
|
+
"benchmark",
|
|
39
|
+
"platform",
|
|
40
|
+
"config",
|
|
41
|
+
"summary",
|
|
42
|
+
"phases",
|
|
43
|
+
"queries",
|
|
44
|
+
"tables",
|
|
45
|
+
"validation",
|
|
46
|
+
"cost",
|
|
47
|
+
"execution",
|
|
48
|
+
"environment",
|
|
49
|
+
"export",
|
|
50
|
+
"errors",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
QUERY_KEY_ORDER = ["id", "ms", "rows", "iter", "stream", "run_type", "status"]
|
|
54
|
+
CONFIG_KEY_ORDER = [
|
|
55
|
+
"compression",
|
|
56
|
+
"seed",
|
|
57
|
+
"phases",
|
|
58
|
+
"query_subset",
|
|
59
|
+
"parallelism",
|
|
60
|
+
"tuning_mode",
|
|
61
|
+
"tuning_config",
|
|
62
|
+
"platform_options",
|
|
63
|
+
"mode",
|
|
64
|
+
"test_type",
|
|
65
|
+
]
|
|
66
|
+
PHASE_KEY_ORDER = [
|
|
67
|
+
"data_generation",
|
|
68
|
+
"schema_creation",
|
|
69
|
+
"data_loading",
|
|
70
|
+
"validation",
|
|
71
|
+
"power_test",
|
|
72
|
+
"throughput_test",
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def order_dict(d: dict[str, Any], key_order: list[str]) -> dict[str, Any]:
|
|
77
|
+
"""Return dict with keys ordered for stable JSON diffs."""
|
|
78
|
+
from collections import OrderedDict
|
|
79
|
+
|
|
80
|
+
ordered: OrderedDict[str, Any] = OrderedDict()
|
|
81
|
+
for key in key_order:
|
|
82
|
+
if key in d:
|
|
83
|
+
ordered[key] = d[key]
|
|
84
|
+
for key in sorted(d.keys()):
|
|
85
|
+
if key not in ordered:
|
|
86
|
+
ordered[key] = d[key]
|
|
87
|
+
return ordered
|
|
88
|
+
|
|
32
89
|
|
|
33
90
|
def _normalize_query_result(qr: Any) -> dict[str, Any]:
|
|
34
91
|
"""Normalize a query result entry to a dictionary.
|
|
@@ -57,6 +114,7 @@ def _normalize_query_result(qr: Any) -> dict[str, Any]:
|
|
|
57
114
|
"iteration",
|
|
58
115
|
"stream_id",
|
|
59
116
|
"error_message",
|
|
117
|
+
"run_type",
|
|
60
118
|
"error",
|
|
61
119
|
"error_type",
|
|
62
120
|
"query_plan",
|
|
@@ -81,7 +139,7 @@ class SchemaV2Validator:
|
|
|
81
139
|
"""
|
|
82
140
|
|
|
83
141
|
REQUIRED_KEYS = ("version", "run", "benchmark", "platform", "summary", "queries")
|
|
84
|
-
OPTIONAL_KEYS = ("environment", "tables", "errors", "cost", "export", "tuning")
|
|
142
|
+
OPTIONAL_KEYS = ("environment", "tables", "errors", "cost", "export", "tuning", "execution", "config", "phases")
|
|
85
143
|
|
|
86
144
|
RUN_REQUIRED = ("id", "timestamp", "total_duration_ms", "query_time_ms")
|
|
87
145
|
BENCHMARK_REQUIRED = ("id", "name", "scale_factor")
|
|
@@ -95,10 +153,11 @@ class SchemaV2Validator:
|
|
|
95
153
|
if missing_top:
|
|
96
154
|
raise SchemaV2ValidationError(f"schema v2.0 payload missing keys: {missing_top}")
|
|
97
155
|
|
|
98
|
-
# Validate version
|
|
99
|
-
|
|
156
|
+
# Validate version (accept 2.0 and 2.1 as valid)
|
|
157
|
+
valid_versions = ("2.0", "2.1")
|
|
158
|
+
if payload.get("version") not in valid_versions:
|
|
100
159
|
raise SchemaV2ValidationError(
|
|
101
|
-
f"invalid schema version {payload.get('version')} (expected {
|
|
160
|
+
f"invalid schema version {payload.get('version')} (expected one of {valid_versions})"
|
|
102
161
|
)
|
|
103
162
|
|
|
104
163
|
# Validate run block
|
|
@@ -165,8 +224,6 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
165
224
|
errors_list: list[dict[str, Any]] = []
|
|
166
225
|
|
|
167
226
|
# Determine if we have multi-iteration or multi-stream runs
|
|
168
|
-
has_iterations = False
|
|
169
|
-
has_streams = False
|
|
170
227
|
iterations_set: set[int] = set()
|
|
171
228
|
streams_set: set[int] = set()
|
|
172
229
|
|
|
@@ -174,21 +231,16 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
174
231
|
normalized_results = [_normalize_query_result(qr) for qr in (result.query_results or [])]
|
|
175
232
|
|
|
176
233
|
for qr in normalized_results:
|
|
177
|
-
iteration = qr.get("iteration")
|
|
178
|
-
stream_id = qr.get("stream_id")
|
|
179
|
-
if iteration is not None
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
iterations_set.add(1)
|
|
184
|
-
if stream_id is not None and stream_id != 1:
|
|
185
|
-
has_streams = True
|
|
186
|
-
streams_set.add(stream_id)
|
|
187
|
-
if stream_id == 1:
|
|
188
|
-
streams_set.add(1)
|
|
234
|
+
iteration = qr.get("iteration", 1)
|
|
235
|
+
stream_id = qr.get("stream_id", 0)
|
|
236
|
+
if iteration is not None:
|
|
237
|
+
iterations_set.add(int(iteration))
|
|
238
|
+
if stream_id is not None:
|
|
239
|
+
streams_set.add(int(stream_id))
|
|
189
240
|
|
|
190
241
|
for qr in normalized_results:
|
|
191
|
-
|
|
242
|
+
raw_id = qr.get("query_id") or qr.get("id") or qr.get("query") or ""
|
|
243
|
+
query_id = normalize_query_id(raw_id)
|
|
192
244
|
status = qr.get("status", "UNKNOWN")
|
|
193
245
|
|
|
194
246
|
# Get execution time in ms
|
|
@@ -197,30 +249,18 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
197
249
|
if exec_time_ms is None and exec_time is not None:
|
|
198
250
|
exec_time_ms = exec_time * 1000
|
|
199
251
|
|
|
200
|
-
rows = qr.get("rows_returned")
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
entry: dict[str, Any] = {"id": str(query_id)}
|
|
207
|
-
entry["ms"] = round(exec_time_ms, 1)
|
|
208
|
-
if rows is not None:
|
|
209
|
-
entry["rows"] = rows
|
|
210
|
-
|
|
211
|
-
# Add optional fields only when non-default
|
|
212
|
-
iteration = qr.get("iteration")
|
|
213
|
-
if has_iterations and iteration is not None:
|
|
214
|
-
entry["iter"] = iteration
|
|
252
|
+
rows = qr.get("rows_returned") or qr.get("rows") or qr.get("result_count")
|
|
253
|
+
iteration = int(qr.get("iteration", 1))
|
|
254
|
+
stream_id = int(qr.get("stream_id", 0))
|
|
255
|
+
run_type = qr.get("run_type")
|
|
256
|
+
if not run_type:
|
|
257
|
+
run_type = "warmup" if iteration == 0 else "measurement"
|
|
215
258
|
|
|
216
|
-
|
|
217
|
-
if
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
queries_list.append(entry)
|
|
259
|
+
if status == "SUCCESS":
|
|
260
|
+
if exec_time_ms is not None and run_type == "measurement":
|
|
261
|
+
query_times_ms.append(exec_time_ms)
|
|
221
262
|
else:
|
|
222
263
|
failed_count += 1
|
|
223
|
-
# Add to errors array
|
|
224
264
|
error_entry = {
|
|
225
265
|
"phase": "query",
|
|
226
266
|
"query_id": str(query_id),
|
|
@@ -234,9 +274,23 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
234
274
|
error_entry["message"] = qr.get("error_message") or qr.get("error") or "Query failed"
|
|
235
275
|
errors_list.append(error_entry)
|
|
236
276
|
|
|
277
|
+
entry: dict[str, Any] = {"id": str(query_id)}
|
|
278
|
+
if exec_time_ms is not None:
|
|
279
|
+
entry["ms"] = round(exec_time_ms, 1)
|
|
280
|
+
if rows is not None:
|
|
281
|
+
entry["rows"] = rows
|
|
282
|
+
entry["iter"] = iteration
|
|
283
|
+
entry["stream"] = stream_id
|
|
284
|
+
entry["run_type"] = run_type
|
|
285
|
+
entry["status"] = status
|
|
286
|
+
|
|
287
|
+
queries_list.append(order_dict(entry, QUERY_KEY_ORDER))
|
|
288
|
+
|
|
237
289
|
# Compute timing statistics
|
|
238
|
-
|
|
239
|
-
|
|
290
|
+
measurement_queries = [q for q in queries_list if q.get("run_type") == "measurement"]
|
|
291
|
+
total_queries = len(measurement_queries)
|
|
292
|
+
successful_queries = len([q for q in measurement_queries if q.get("status") == "SUCCESS"])
|
|
293
|
+
failed_count = total_queries - successful_queries
|
|
240
294
|
|
|
241
295
|
timing_stats = _compute_timing_stats(query_times_ms)
|
|
242
296
|
|
|
@@ -277,29 +331,29 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
277
331
|
"query_time_ms": round(sum(query_times_ms)),
|
|
278
332
|
}
|
|
279
333
|
|
|
280
|
-
#
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
if len(streams_set) > 1:
|
|
284
|
-
run["streams"] = max(streams_set)
|
|
334
|
+
# Always include iterations and streams
|
|
335
|
+
run["iterations"] = max(iterations_set) if iterations_set else 1
|
|
336
|
+
run["streams"] = max(streams_set) if streams_set else 1
|
|
285
337
|
if result.query_subset:
|
|
286
338
|
run["query_subset"] = result.query_subset
|
|
287
339
|
|
|
288
340
|
# Build benchmark block
|
|
341
|
+
benchmark_name = _shorten_benchmark_name(result.benchmark_name)
|
|
289
342
|
benchmark: dict[str, Any] = {
|
|
290
343
|
"id": result.benchmark_id,
|
|
291
|
-
"name":
|
|
344
|
+
"name": benchmark_name,
|
|
292
345
|
"scale_factor": result.scale_factor,
|
|
346
|
+
"test_type": result.test_execution_type,
|
|
293
347
|
}
|
|
294
|
-
if result.test_execution_type and result.test_execution_type != "standard":
|
|
295
|
-
benchmark["mode"] = result.test_execution_type
|
|
296
348
|
|
|
297
349
|
# Build platform block
|
|
298
|
-
platform
|
|
350
|
+
platform_name = str(result.platform).replace(" (DataFrame)", "")
|
|
351
|
+
platform: dict[str, Any] = {"name": platform_name}
|
|
299
352
|
if result.platform_info:
|
|
300
|
-
version = result.platform_info.get("version")
|
|
301
|
-
|
|
302
|
-
|
|
353
|
+
version = result.platform_info.get("platform_version") or result.platform_info.get("version")
|
|
354
|
+
client_version = result.platform_info.get("client_library_version")
|
|
355
|
+
platform["version"] = version or "unknown"
|
|
356
|
+
platform["client_version"] = client_version or "unknown"
|
|
303
357
|
variant = result.platform_info.get("variant")
|
|
304
358
|
if variant:
|
|
305
359
|
platform["variant"] = variant
|
|
@@ -308,6 +362,10 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
308
362
|
config = _extract_platform_config(result.platform_info)
|
|
309
363
|
if config:
|
|
310
364
|
platform["config"] = config
|
|
365
|
+
if "version" not in platform:
|
|
366
|
+
platform["version"] = "unknown"
|
|
367
|
+
if "client_version" not in platform:
|
|
368
|
+
platform["client_version"] = "unknown"
|
|
311
369
|
|
|
312
370
|
# Add tuning summary if available
|
|
313
371
|
tuning = _build_tuning_summary(result)
|
|
@@ -320,6 +378,10 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
320
378
|
# Build tables block (compact)
|
|
321
379
|
tables = _build_tables_block(result.table_statistics)
|
|
322
380
|
|
|
381
|
+
# Build config and phases blocks
|
|
382
|
+
config_block = _build_config_block(result)
|
|
383
|
+
phases_block = _build_phases_block(result)
|
|
384
|
+
|
|
323
385
|
# Add table loading errors if present
|
|
324
386
|
if result.execution_phases:
|
|
325
387
|
table_errors = _extract_table_errors(result.execution_phases)
|
|
@@ -328,10 +390,14 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
328
390
|
# Build the payload
|
|
329
391
|
payload: dict[str, Any] = {
|
|
330
392
|
"version": SCHEMA_VERSION,
|
|
331
|
-
"run":
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
"
|
|
393
|
+
"run": order_dict(
|
|
394
|
+
run, ["id", "timestamp", "total_duration_ms", "query_time_ms", "iterations", "streams", "query_subset"]
|
|
395
|
+
),
|
|
396
|
+
"benchmark": order_dict(benchmark, ["id", "name", "scale_factor", "test_type"]),
|
|
397
|
+
"platform": order_dict(platform, ["name", "version", "client_version", "variant", "config", "tuning"]),
|
|
398
|
+
"config": order_dict(config_block, CONFIG_KEY_ORDER),
|
|
399
|
+
"summary": order_dict(summary, ["queries", "timing", "data", "validation", "tpc_metrics"]),
|
|
400
|
+
"phases": order_dict(phases_block, PHASE_KEY_ORDER),
|
|
335
401
|
"queries": queries_list,
|
|
336
402
|
}
|
|
337
403
|
|
|
@@ -341,6 +407,7 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
341
407
|
if tables:
|
|
342
408
|
payload["tables"] = tables
|
|
343
409
|
if errors_list:
|
|
410
|
+
errors_list.sort(key=lambda e: (e.get("phase", ""), e.get("query_id", ""), e.get("type", "")))
|
|
344
411
|
payload["errors"] = errors_list
|
|
345
412
|
|
|
346
413
|
# Add cost summary if available
|
|
@@ -352,7 +419,213 @@ def build_result_payload(result: BenchmarkResults) -> dict[str, Any]:
|
|
|
352
419
|
if cost_block:
|
|
353
420
|
payload["cost"] = cost_block
|
|
354
421
|
|
|
355
|
-
|
|
422
|
+
# Add execution context for reproducibility (v2.1+)
|
|
423
|
+
if result.execution_context:
|
|
424
|
+
exec_block: dict[str, Any] = {}
|
|
425
|
+
ctx = result.execution_context
|
|
426
|
+
|
|
427
|
+
# Always include entry point
|
|
428
|
+
if ctx.get("entry_point"):
|
|
429
|
+
exec_block["entry_point"] = ctx["entry_point"]
|
|
430
|
+
|
|
431
|
+
# Timestamp
|
|
432
|
+
if ctx.get("invocation_timestamp"):
|
|
433
|
+
exec_block["timestamp"] = ctx["invocation_timestamp"]
|
|
434
|
+
|
|
435
|
+
# Phases (only if non-default)
|
|
436
|
+
phases = ctx.get("phases")
|
|
437
|
+
if phases and phases != ["power"]:
|
|
438
|
+
exec_block["phases"] = phases
|
|
439
|
+
|
|
440
|
+
# Seed (only if set)
|
|
441
|
+
if ctx.get("seed") is not None:
|
|
442
|
+
exec_block["seed"] = ctx["seed"]
|
|
443
|
+
|
|
444
|
+
# Compression (only if enabled)
|
|
445
|
+
if ctx.get("compression_enabled"):
|
|
446
|
+
compression = {"type": ctx.get("compression_type", "none")}
|
|
447
|
+
if ctx.get("compression_level"):
|
|
448
|
+
compression["level"] = ctx["compression_level"]
|
|
449
|
+
exec_block["compression"] = compression
|
|
450
|
+
|
|
451
|
+
# Mode (always sql or dataframe)
|
|
452
|
+
mode_value = None
|
|
453
|
+
if ctx.get("mode"):
|
|
454
|
+
mode_value = ctx["mode"]
|
|
455
|
+
elif isinstance(result.execution_metadata, Mapping):
|
|
456
|
+
mode_value = result.execution_metadata.get("mode")
|
|
457
|
+
elif result.platform_info:
|
|
458
|
+
mode_value = result.platform_info.get("execution_mode")
|
|
459
|
+
if mode_value:
|
|
460
|
+
exec_block["mode"] = mode_value
|
|
461
|
+
|
|
462
|
+
# Official TPC mode
|
|
463
|
+
if ctx.get("official"):
|
|
464
|
+
exec_block["official"] = True
|
|
465
|
+
|
|
466
|
+
# Validation mode
|
|
467
|
+
if ctx.get("validation_mode"):
|
|
468
|
+
exec_block["validation_mode"] = ctx["validation_mode"]
|
|
469
|
+
|
|
470
|
+
# Force flags
|
|
471
|
+
force_flags = []
|
|
472
|
+
if ctx.get("force_datagen"):
|
|
473
|
+
force_flags.append("datagen")
|
|
474
|
+
if ctx.get("force_upload"):
|
|
475
|
+
force_flags.append("upload")
|
|
476
|
+
if force_flags:
|
|
477
|
+
exec_block["force"] = force_flags
|
|
478
|
+
|
|
479
|
+
# Query subset (also in run block, but include here for complete context)
|
|
480
|
+
if ctx.get("query_subset"):
|
|
481
|
+
exec_block["query_subset"] = ctx["query_subset"]
|
|
482
|
+
|
|
483
|
+
# Plan capture
|
|
484
|
+
if ctx.get("capture_plans"):
|
|
485
|
+
exec_block["capture_plans"] = True
|
|
486
|
+
if ctx.get("strict_plan_capture"):
|
|
487
|
+
exec_block["strict_plan_capture"] = True
|
|
488
|
+
|
|
489
|
+
# Non-interactive
|
|
490
|
+
if ctx.get("non_interactive"):
|
|
491
|
+
exec_block["non_interactive"] = True
|
|
492
|
+
|
|
493
|
+
# Tuning
|
|
494
|
+
if ctx.get("tuning_mode"):
|
|
495
|
+
exec_block["tuning_mode"] = ctx["tuning_mode"]
|
|
496
|
+
|
|
497
|
+
if exec_block:
|
|
498
|
+
payload["execution"] = exec_block
|
|
499
|
+
|
|
500
|
+
if "execution" not in payload:
|
|
501
|
+
exec_block: dict[str, Any] = {}
|
|
502
|
+
mode_value = None
|
|
503
|
+
if isinstance(result.execution_metadata, Mapping):
|
|
504
|
+
mode_value = result.execution_metadata.get("mode")
|
|
505
|
+
if not mode_value and result.platform_info:
|
|
506
|
+
mode_value = result.platform_info.get("execution_mode")
|
|
507
|
+
if mode_value:
|
|
508
|
+
exec_block["mode"] = mode_value
|
|
509
|
+
if exec_block:
|
|
510
|
+
payload["execution"] = exec_block
|
|
511
|
+
|
|
512
|
+
return order_dict(payload, CANONICAL_KEY_ORDER)
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
def _shorten_benchmark_name(name: str) -> str:
|
|
516
|
+
if name.lower().endswith(" benchmark"):
|
|
517
|
+
return name[: -len(" benchmark")]
|
|
518
|
+
return name
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
def _build_config_block(result: BenchmarkResults) -> dict[str, Any]:
|
|
522
|
+
config: dict[str, Any] = {}
|
|
523
|
+
ctx = result.execution_context or {}
|
|
524
|
+
run_cfg = {}
|
|
525
|
+
if isinstance(result.execution_metadata, Mapping):
|
|
526
|
+
run_cfg = result.execution_metadata.get("run_config") or {}
|
|
527
|
+
|
|
528
|
+
compression = None
|
|
529
|
+
if ctx.get("compression_type") or run_cfg.get("compression"):
|
|
530
|
+
if ctx.get("compression_type"):
|
|
531
|
+
compression = {"type": ctx.get("compression_type"), "level": ctx.get("compression_level")}
|
|
532
|
+
else:
|
|
533
|
+
compression = run_cfg.get("compression")
|
|
534
|
+
if compression:
|
|
535
|
+
config["compression"] = compression
|
|
536
|
+
|
|
537
|
+
if ctx.get("seed") is not None:
|
|
538
|
+
config["seed"] = ctx.get("seed")
|
|
539
|
+
elif run_cfg.get("seed") is not None:
|
|
540
|
+
config["seed"] = run_cfg.get("seed")
|
|
541
|
+
|
|
542
|
+
if ctx.get("phases"):
|
|
543
|
+
config["phases"] = ctx.get("phases")
|
|
544
|
+
elif run_cfg.get("phases"):
|
|
545
|
+
config["phases"] = run_cfg.get("phases")
|
|
546
|
+
|
|
547
|
+
if ctx.get("query_subset"):
|
|
548
|
+
config["query_subset"] = ctx.get("query_subset")
|
|
549
|
+
elif run_cfg.get("query_subset"):
|
|
550
|
+
config["query_subset"] = run_cfg.get("query_subset")
|
|
551
|
+
|
|
552
|
+
if run_cfg.get("platform_options"):
|
|
553
|
+
config["platform_options"] = run_cfg.get("platform_options")
|
|
554
|
+
|
|
555
|
+
if run_cfg.get("tuning_mode"):
|
|
556
|
+
config["tuning_mode"] = run_cfg.get("tuning_mode")
|
|
557
|
+
if run_cfg.get("tuning_config"):
|
|
558
|
+
config["tuning_config"] = run_cfg.get("tuning_config")
|
|
559
|
+
|
|
560
|
+
# Execution mode and test type for reproducibility
|
|
561
|
+
exec_mode = None
|
|
562
|
+
if isinstance(result.execution_metadata, Mapping):
|
|
563
|
+
exec_mode = result.execution_metadata.get("mode")
|
|
564
|
+
if not exec_mode and result.platform_info:
|
|
565
|
+
exec_mode = result.platform_info.get("execution_mode")
|
|
566
|
+
if exec_mode:
|
|
567
|
+
config["mode"] = exec_mode
|
|
568
|
+
# test_type is in benchmark block, not needed here
|
|
569
|
+
|
|
570
|
+
return config
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
def _build_phases_block(result: BenchmarkResults) -> dict[str, Any]:
|
|
574
|
+
phases: dict[str, Any] = {}
|
|
575
|
+
standard = [
|
|
576
|
+
"data_generation",
|
|
577
|
+
"schema_creation",
|
|
578
|
+
"data_loading",
|
|
579
|
+
"validation",
|
|
580
|
+
"power_test",
|
|
581
|
+
"throughput_test",
|
|
582
|
+
]
|
|
583
|
+
|
|
584
|
+
setup = getattr(result.execution_phases, "setup", None) if result.execution_phases else None
|
|
585
|
+
if setup:
|
|
586
|
+
if setup.data_generation:
|
|
587
|
+
phases["data_generation"] = {
|
|
588
|
+
"status": setup.data_generation.status,
|
|
589
|
+
"duration_ms": setup.data_generation.duration_ms,
|
|
590
|
+
}
|
|
591
|
+
if setup.schema_creation:
|
|
592
|
+
phases["schema_creation"] = {
|
|
593
|
+
"status": setup.schema_creation.status,
|
|
594
|
+
"duration_ms": setup.schema_creation.duration_ms,
|
|
595
|
+
}
|
|
596
|
+
if setup.data_loading:
|
|
597
|
+
phases["data_loading"] = {
|
|
598
|
+
"status": setup.data_loading.status,
|
|
599
|
+
"duration_ms": setup.data_loading.duration_ms,
|
|
600
|
+
}
|
|
601
|
+
if setup.validation:
|
|
602
|
+
phases["validation"] = {
|
|
603
|
+
"status": setup.validation.row_count_validation,
|
|
604
|
+
"duration_ms": setup.validation.duration_ms,
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
if result.execution_phases and result.execution_phases.power_test:
|
|
608
|
+
phases["power_test"] = {
|
|
609
|
+
"status": "COMPLETED",
|
|
610
|
+
"duration_ms": result.execution_phases.power_test.duration_ms,
|
|
611
|
+
}
|
|
612
|
+
if result.execution_phases and result.execution_phases.throughput_test:
|
|
613
|
+
phases["throughput_test"] = {
|
|
614
|
+
"status": "COMPLETED",
|
|
615
|
+
"duration_ms": result.execution_phases.throughput_test.duration_ms,
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
if isinstance(result.execution_metadata, Mapping):
|
|
619
|
+
phase_status = result.execution_metadata.get("phase_status") or {}
|
|
620
|
+
for name, status in phase_status.items():
|
|
621
|
+
if name not in phases:
|
|
622
|
+
phases[name] = status
|
|
623
|
+
|
|
624
|
+
for phase in standard:
|
|
625
|
+
if phase not in phases:
|
|
626
|
+
phases[phase] = {"status": "NOT_RUN"}
|
|
627
|
+
|
|
628
|
+
return phases
|
|
356
629
|
|
|
357
630
|
|
|
358
631
|
def build_plans_payload(result: BenchmarkResults) -> dict[str, Any] | None:
|
|
@@ -535,10 +808,15 @@ def _build_tpc_metrics(result: BenchmarkResults) -> dict[str, Any] | None:
|
|
|
535
808
|
metrics["power_at_size"] = result.power_at_size
|
|
536
809
|
if result.throughput_at_size is not None:
|
|
537
810
|
metrics["throughput_at_size"] = result.throughput_at_size
|
|
538
|
-
if result.
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
811
|
+
if result.qph_at_size is not None:
|
|
812
|
+
# Output with benchmark-specific key name based on benchmark_name
|
|
813
|
+
benchmark_id = normalize_benchmark_id(result.benchmark_name or "")
|
|
814
|
+
if benchmark_id == "tpcds":
|
|
815
|
+
metrics["qphds_at_size"] = result.qph_at_size
|
|
816
|
+
else:
|
|
817
|
+
metrics["qphh_at_size"] = result.qph_at_size
|
|
818
|
+
# Note: geometric_mean_ms is in summary.timing (computed from query times),
|
|
819
|
+
# not here. TPC metrics block contains only TPC-specific metrics.
|
|
542
820
|
|
|
543
821
|
return metrics if metrics else None
|
|
544
822
|
|
|
@@ -622,7 +900,8 @@ def _build_tables_block(table_statistics: dict[str, Any] | None) -> dict[str, An
|
|
|
622
900
|
return {}
|
|
623
901
|
|
|
624
902
|
tables: dict[str, Any] = {}
|
|
625
|
-
for table_name
|
|
903
|
+
for table_name in sorted(table_statistics.keys()):
|
|
904
|
+
stats = table_statistics[table_name]
|
|
626
905
|
if isinstance(stats, dict):
|
|
627
906
|
entry: dict[str, Any] = {}
|
|
628
907
|
if "rows" in stats:
|
|
@@ -688,16 +967,36 @@ def _extract_platform_config(platform_info: dict[str, Any]) -> dict[str, Any]:
|
|
|
688
967
|
if not platform_info:
|
|
689
968
|
return {}
|
|
690
969
|
|
|
691
|
-
exclude_keys = {
|
|
970
|
+
exclude_keys = {
|
|
971
|
+
"version",
|
|
972
|
+
"variant",
|
|
973
|
+
"name",
|
|
974
|
+
"platform",
|
|
975
|
+
"adapter_name",
|
|
976
|
+
"adapter_version",
|
|
977
|
+
"platform_version",
|
|
978
|
+
"client_library_version",
|
|
979
|
+
"client_version",
|
|
980
|
+
"platform_name",
|
|
981
|
+
"platform_type",
|
|
982
|
+
}
|
|
692
983
|
config: dict[str, Any] = {}
|
|
693
984
|
|
|
694
|
-
|
|
695
|
-
|
|
985
|
+
def extract_recursive(d: dict[str, Any]) -> None:
|
|
986
|
+
"""Recursively extract config, flattening nested 'configuration' keys."""
|
|
987
|
+
for key, value in d.items():
|
|
988
|
+
if key.lower() in exclude_keys or value is None:
|
|
989
|
+
continue
|
|
696
990
|
# Skip empty values
|
|
697
991
|
if isinstance(value, str) and not value:
|
|
698
992
|
continue
|
|
699
993
|
if isinstance(value, (list, dict)) and not value:
|
|
700
994
|
continue
|
|
701
|
-
|
|
995
|
+
# Flatten nested configuration
|
|
996
|
+
if key == "configuration" and isinstance(value, dict):
|
|
997
|
+
extract_recursive(value)
|
|
998
|
+
else:
|
|
999
|
+
config[key] = value
|
|
702
1000
|
|
|
1001
|
+
extract_recursive(platform_info)
|
|
703
1002
|
return config
|
|
@@ -24,6 +24,7 @@ from benchbox.utils.format_converters import (
|
|
|
24
24
|
DeltaConverter,
|
|
25
25
|
IcebergConverter,
|
|
26
26
|
ParquetConverter,
|
|
27
|
+
VortexConverter,
|
|
27
28
|
)
|
|
28
29
|
|
|
29
30
|
logger = logging.getLogger(__name__)
|
|
@@ -38,6 +39,7 @@ class FormatConversionOrchestrator:
|
|
|
38
39
|
"parquet": ParquetConverter(),
|
|
39
40
|
"delta": DeltaConverter(),
|
|
40
41
|
"iceberg": IcebergConverter(),
|
|
42
|
+
"vortex": VortexConverter(),
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
def convert_benchmark_tables(
|