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
|
@@ -18,9 +18,7 @@ from __future__ import annotations
|
|
|
18
18
|
|
|
19
19
|
import logging
|
|
20
20
|
import time
|
|
21
|
-
import uuid
|
|
22
21
|
from dataclasses import dataclass
|
|
23
|
-
from datetime import datetime
|
|
24
22
|
from pathlib import Path
|
|
25
23
|
from typing import Any
|
|
26
24
|
|
|
@@ -35,11 +33,15 @@ from benchbox.core.dataframe import (
|
|
|
35
33
|
validate_scale_factor,
|
|
36
34
|
)
|
|
37
35
|
from benchbox.core.dataframe.data_loader import DataFrameDataLoader, get_tpch_column_names
|
|
36
|
+
from benchbox.core.results import (
|
|
37
|
+
BenchmarkInfoInput,
|
|
38
|
+
ResultBuilder,
|
|
39
|
+
build_platform_info,
|
|
40
|
+
normalize_query_result,
|
|
41
|
+
)
|
|
42
|
+
from benchbox.core.results.builder import RunConfigInput, normalize_benchmark_id
|
|
38
43
|
from benchbox.core.results.models import (
|
|
39
44
|
BenchmarkResults,
|
|
40
|
-
DataLoadingPhase,
|
|
41
|
-
ExecutionPhases,
|
|
42
|
-
SetupPhase,
|
|
43
45
|
TableLoadingStats,
|
|
44
46
|
)
|
|
45
47
|
from benchbox.monitoring import PerformanceMonitor
|
|
@@ -67,6 +69,8 @@ class DataFrameRunOptions:
|
|
|
67
69
|
force_regenerate: bool = False
|
|
68
70
|
prefer_parquet: bool = True
|
|
69
71
|
cache_dir: Path | None = None
|
|
72
|
+
verbose: bool = False
|
|
73
|
+
very_verbose: bool = False
|
|
70
74
|
|
|
71
75
|
|
|
72
76
|
def run_dataframe_benchmark(
|
|
@@ -98,22 +102,64 @@ def run_dataframe_benchmark(
|
|
|
98
102
|
BenchmarkResults with execution details
|
|
99
103
|
"""
|
|
100
104
|
phases = phases or DataFramePhases()
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
+
if isinstance(options, dict):
|
|
106
|
+
options = DataFrameRunOptions(**options)
|
|
107
|
+
else:
|
|
108
|
+
options = options or DataFrameRunOptions()
|
|
109
|
+
verbosity = verbosity or VerbositySettings.default()
|
|
105
110
|
|
|
106
111
|
platform_name = adapter.platform_name
|
|
107
112
|
scale_factor = getattr(benchmark_config, "scale_factor", 1.0)
|
|
113
|
+
test_execution_type = getattr(benchmark_config, "test_execution_type", "standard")
|
|
114
|
+
|
|
115
|
+
# Check for unsupported maintenance phase
|
|
116
|
+
if test_execution_type in ("maintenance", "combined"):
|
|
117
|
+
raise NotImplementedError(
|
|
118
|
+
f"Maintenance phase is not yet implemented for DataFrame mode.\n\n"
|
|
119
|
+
f"DataFrame platforms like Spark (Delta Lake, Iceberg), Polars, and others "
|
|
120
|
+
f"can support maintenance operations (INSERT/UPDATE/DELETE), but this "
|
|
121
|
+
f"functionality has not been implemented yet.\n\n"
|
|
122
|
+
f"For now, please use SQL mode (e.g., --platform duckdb) for maintenance "
|
|
123
|
+
f"phase benchmarks.\n\n"
|
|
124
|
+
f"Requested: test_execution_type={test_execution_type}, platform={platform_name}"
|
|
125
|
+
)
|
|
108
126
|
|
|
109
127
|
logger.info(f"Starting DataFrame benchmark: {benchmark_config.name}")
|
|
110
128
|
logger.info(f"Platform: {platform_name}, Scale Factor: {scale_factor}")
|
|
111
129
|
|
|
130
|
+
# Build platform info using standardized extractor
|
|
131
|
+
platform_info = build_platform_info(adapter, execution_mode="dataframe")
|
|
132
|
+
|
|
133
|
+
# Create result builder
|
|
134
|
+
builder = ResultBuilder(
|
|
135
|
+
benchmark=BenchmarkInfoInput(
|
|
136
|
+
name=benchmark_config.name,
|
|
137
|
+
scale_factor=scale_factor,
|
|
138
|
+
test_type=test_execution_type if test_execution_type != "standard" else "power",
|
|
139
|
+
benchmark_id=normalize_benchmark_id(benchmark_config.name),
|
|
140
|
+
display_name=getattr(benchmark_config, "display_name", benchmark_config.name),
|
|
141
|
+
),
|
|
142
|
+
platform=platform_info,
|
|
143
|
+
)
|
|
144
|
+
builder.mark_started()
|
|
145
|
+
|
|
146
|
+
options_map = getattr(benchmark_config, "options", {}) or {}
|
|
147
|
+
builder.set_run_config(
|
|
148
|
+
RunConfigInput(
|
|
149
|
+
compression_type=options_map.get("compression_type"),
|
|
150
|
+
compression_level=options_map.get("compression_level"),
|
|
151
|
+
seed=options_map.get("seed"),
|
|
152
|
+
phases=options_map.get("phases"),
|
|
153
|
+
query_subset=getattr(benchmark_config, "queries", None),
|
|
154
|
+
tuning_mode=options_map.get("tuning_mode"),
|
|
155
|
+
tuning_config=options_map.get("df_tuning_config"),
|
|
156
|
+
)
|
|
157
|
+
)
|
|
158
|
+
|
|
112
159
|
# Initialize result tracking
|
|
113
160
|
query_results: list[dict[str, Any]] = []
|
|
114
161
|
table_stats: dict[str, int] = {}
|
|
115
162
|
load_time = 0.0
|
|
116
|
-
setup_phase = None
|
|
117
163
|
|
|
118
164
|
try:
|
|
119
165
|
# Pre-execution memory check
|
|
@@ -146,15 +192,17 @@ def run_dataframe_benchmark(
|
|
|
146
192
|
load_time = time.time() - load_start
|
|
147
193
|
logger.info(f"Data loading completed in {load_time:.2f}s")
|
|
148
194
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
195
|
+
# Add table stats to builder
|
|
196
|
+
for table_name, stats in per_table_stats.items():
|
|
197
|
+
builder.add_table_stats(
|
|
198
|
+
table_name,
|
|
199
|
+
stats.rows,
|
|
200
|
+
load_time_ms=stats.load_time_ms,
|
|
201
|
+
status=stats.status,
|
|
202
|
+
error_message=stats.error_message,
|
|
156
203
|
)
|
|
157
|
-
)
|
|
204
|
+
builder.set_loading_time(load_time * 1000)
|
|
205
|
+
builder.set_phase_status("data_loading", "COMPLETED", load_time * 1000)
|
|
158
206
|
|
|
159
207
|
# Execute phase
|
|
160
208
|
if phases.execute:
|
|
@@ -166,62 +214,23 @@ def run_dataframe_benchmark(
|
|
|
166
214
|
monitor=monitor,
|
|
167
215
|
)
|
|
168
216
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
217
|
+
# Add query results to builder
|
|
218
|
+
for qr in query_results:
|
|
219
|
+
builder.add_query_result(normalize_query_result(qr))
|
|
220
|
+
builder.set_phase_status("power_test", "COMPLETED")
|
|
173
221
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
return BenchmarkResults(
|
|
178
|
-
benchmark_name=getattr(benchmark_config, "display_name", benchmark_config.name),
|
|
179
|
-
platform=f"{platform_name} (DataFrame)",
|
|
180
|
-
scale_factor=scale_factor,
|
|
181
|
-
execution_id=execution_id,
|
|
182
|
-
timestamp=datetime.now(),
|
|
183
|
-
duration_seconds=total_time,
|
|
184
|
-
total_queries=len(query_results),
|
|
185
|
-
successful_queries=successful,
|
|
186
|
-
failed_queries=failed,
|
|
187
|
-
query_results=query_results,
|
|
188
|
-
total_execution_time=total_exec_time,
|
|
189
|
-
average_query_time=avg_time,
|
|
190
|
-
data_loading_time=load_time,
|
|
191
|
-
total_rows_loaded=sum(table_stats.values()),
|
|
192
|
-
table_statistics=table_stats,
|
|
193
|
-
execution_phases=ExecutionPhases(setup=setup_phase) if setup_phase else None,
|
|
194
|
-
execution_metadata={
|
|
195
|
-
"execution_mode": "dataframe",
|
|
196
|
-
"dataframe_platform": platform_name,
|
|
197
|
-
"adapter_info": adapter.get_platform_info() if hasattr(adapter, "get_platform_info") else {},
|
|
198
|
-
},
|
|
199
|
-
validation_status="PASSED" if failed == 0 else "FAILED",
|
|
200
|
-
platform_info=adapter.get_platform_info() if hasattr(adapter, "get_platform_info") else {},
|
|
201
|
-
test_execution_type=getattr(benchmark_config, "test_execution_type", "standard"),
|
|
202
|
-
)
|
|
222
|
+
builder.mark_completed()
|
|
223
|
+
return builder.build()
|
|
203
224
|
|
|
204
225
|
except Exception as e:
|
|
205
226
|
logger.error(f"DataFrame benchmark failed: {e}")
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
scale_factor=scale_factor,
|
|
210
|
-
execution_id=execution_id,
|
|
211
|
-
timestamp=datetime.now(),
|
|
212
|
-
duration_seconds=time.time() - start_time,
|
|
213
|
-
total_queries=0,
|
|
214
|
-
successful_queries=0,
|
|
215
|
-
failed_queries=0,
|
|
216
|
-
query_results=[],
|
|
217
|
-
validation_status="FAILED",
|
|
218
|
-
validation_details={"error": str(e), "error_type": type(e).__name__},
|
|
219
|
-
execution_metadata={
|
|
220
|
-
"execution_mode": "dataframe",
|
|
221
|
-
"dataframe_platform": platform_name,
|
|
222
|
-
"error": str(e),
|
|
223
|
-
},
|
|
227
|
+
builder.set_validation_status(
|
|
228
|
+
"FAILED",
|
|
229
|
+
{"error": str(e), "error_type": type(e).__name__},
|
|
224
230
|
)
|
|
231
|
+
builder.add_execution_metadata("error", str(e))
|
|
232
|
+
builder.mark_completed()
|
|
233
|
+
return builder.build()
|
|
225
234
|
|
|
226
235
|
|
|
227
236
|
def _load_dataframe_data(
|
|
@@ -250,9 +259,12 @@ def _load_dataframe_data(
|
|
|
250
259
|
# Get data paths
|
|
251
260
|
if benchmark_instance and hasattr(benchmark_instance, "tables") and benchmark_instance.tables:
|
|
252
261
|
# Use benchmark's pre-generated data
|
|
253
|
-
data_paths = {
|
|
254
|
-
|
|
255
|
-
|
|
262
|
+
data_paths: dict[str, list[Path]] = {}
|
|
263
|
+
for name, path in benchmark_instance.tables.items():
|
|
264
|
+
if isinstance(path, list):
|
|
265
|
+
data_paths[name] = [Path(p) if not isinstance(p, Path) else p for p in path]
|
|
266
|
+
else:
|
|
267
|
+
data_paths[name] = [Path(path) if not isinstance(path, Path) else path]
|
|
256
268
|
logger.info(f"Using benchmark-provided data: {len(data_paths)} tables")
|
|
257
269
|
elif data_dir and data_dir.exists():
|
|
258
270
|
# Use provided data directory
|
|
@@ -262,18 +274,18 @@ def _load_dataframe_data(
|
|
|
262
274
|
raise ValueError("No data source available. Either provide data_dir or generate data first.")
|
|
263
275
|
|
|
264
276
|
# Get schema info for column names
|
|
265
|
-
|
|
266
|
-
column_names_map = get_tpch_column_names() if
|
|
277
|
+
benchmark_id = normalize_benchmark_id(benchmark_config.name)
|
|
278
|
+
column_names_map = get_tpch_column_names() if benchmark_id == "tpch" else {}
|
|
267
279
|
|
|
268
280
|
# Load tables
|
|
269
281
|
table_stats: dict[str, int] = {}
|
|
270
282
|
per_table_stats: dict[str, TableLoadingStats] = {}
|
|
271
283
|
|
|
272
|
-
for table_name,
|
|
284
|
+
for table_name, file_paths in data_paths.items():
|
|
273
285
|
load_start = time.time()
|
|
274
286
|
try:
|
|
275
287
|
column_names = column_names_map.get(table_name.lower())
|
|
276
|
-
row_count = adapter.load_table(ctx, table_name.lower(),
|
|
288
|
+
row_count = adapter.load_table(ctx, table_name.lower(), file_paths, column_names=column_names)
|
|
277
289
|
load_time_ms = int((time.time() - load_start) * 1000)
|
|
278
290
|
|
|
279
291
|
table_stats[table_name] = row_count
|
|
@@ -308,15 +320,15 @@ def _execute_dataframe_queries(
|
|
|
308
320
|
"""Execute DataFrame queries with warmup and measurement iterations.
|
|
309
321
|
|
|
310
322
|
Follows TPC power test methodology:
|
|
311
|
-
1. Warmup iterations (default 1): Prime caches,
|
|
312
|
-
2. Measurement iterations (default 3): Timed runs, results
|
|
323
|
+
1. Warmup iterations (default 1): Prime caches, emitted as warmup results
|
|
324
|
+
2. Measurement iterations (default 3): Timed runs, results emitted per iteration
|
|
313
325
|
|
|
314
326
|
Each iteration uses a different stream_id for query permutation, matching
|
|
315
327
|
the SQL runner behavior. This ensures each iteration executes queries in
|
|
316
328
|
a different order per TPC-H/TPC-DS specification.
|
|
317
329
|
|
|
318
330
|
Returns:
|
|
319
|
-
List of query result dictionaries with
|
|
331
|
+
List of query result dictionaries with warmup + measurement iterations
|
|
320
332
|
"""
|
|
321
333
|
# Get warmup and iteration counts from config options
|
|
322
334
|
options = getattr(benchmark_config, "options", {}) or {}
|
|
@@ -333,12 +345,21 @@ def _execute_dataframe_queries(
|
|
|
333
345
|
query_subset = getattr(benchmark_config, "queries", None)
|
|
334
346
|
query_filter: set[str] | None = None
|
|
335
347
|
if query_subset:
|
|
336
|
-
|
|
348
|
+
normalized: set[str] = set()
|
|
349
|
+
for q in query_subset:
|
|
350
|
+
q_str = str(q).strip().upper()
|
|
351
|
+
if q_str.startswith("Q"):
|
|
352
|
+
normalized.add(q_str)
|
|
353
|
+
normalized.add(q_str[1:])
|
|
354
|
+
else:
|
|
355
|
+
normalized.add(q_str)
|
|
356
|
+
normalized.add(f"Q{q_str}")
|
|
357
|
+
query_filter = normalized
|
|
337
358
|
|
|
338
359
|
# Get initial query set to determine total count
|
|
339
360
|
initial_queries = _get_queries_for_benchmark(benchmark_config, benchmark_instance, stream_id=0)
|
|
340
361
|
if query_filter:
|
|
341
|
-
initial_queries = [q for q in initial_queries if q.query_id in query_filter]
|
|
362
|
+
initial_queries = [q for q in initial_queries if q.query_id.upper() in query_filter]
|
|
342
363
|
|
|
343
364
|
if not initial_queries:
|
|
344
365
|
logger.warning("No queries found for execution")
|
|
@@ -348,7 +369,9 @@ def _execute_dataframe_queries(
|
|
|
348
369
|
logger.info(f"Executing {total_queries} queries")
|
|
349
370
|
logger.info(f"Warmup iterations: {warmup_iterations}, Measurement iterations: {measurement_iterations}")
|
|
350
371
|
|
|
351
|
-
|
|
372
|
+
query_results: list[dict[str, Any]] = []
|
|
373
|
+
|
|
374
|
+
# Execute warmup iterations (emit results)
|
|
352
375
|
# Each warmup uses a different stream_id (0, 1, 2, ...)
|
|
353
376
|
if warmup_iterations > 0:
|
|
354
377
|
console.print(f"\n[yellow]Running {warmup_iterations} warmup iteration(s)...[/yellow]")
|
|
@@ -358,14 +381,25 @@ def _execute_dataframe_queries(
|
|
|
358
381
|
benchmark_config, benchmark_instance, stream_id=warmup_stream_id
|
|
359
382
|
)
|
|
360
383
|
if query_filter:
|
|
361
|
-
warmup_queries = [q for q in warmup_queries if q.query_id in query_filter]
|
|
384
|
+
warmup_queries = [q for q in warmup_queries if q.query_id.upper() in query_filter]
|
|
362
385
|
|
|
363
386
|
console.print(f"[dim]Warmup {warmup_iter + 1}/{warmup_iterations} (stream {warmup_stream_id})[/dim]")
|
|
364
387
|
for query in warmup_queries:
|
|
365
388
|
try:
|
|
366
|
-
adapter.execute_query(ctx, query)
|
|
389
|
+
result = adapter.execute_query(ctx, query)
|
|
390
|
+
result = dict(result)
|
|
367
391
|
except Exception as e:
|
|
368
392
|
logger.warning(f"Warmup query {query.query_id} failed: {e}")
|
|
393
|
+
result = {
|
|
394
|
+
"query_id": query.query_id,
|
|
395
|
+
"status": "FAILED",
|
|
396
|
+
"error": str(e),
|
|
397
|
+
"execution_time_seconds": 0.0,
|
|
398
|
+
}
|
|
399
|
+
result["iteration"] = 0
|
|
400
|
+
result["stream_id"] = warmup_stream_id
|
|
401
|
+
result["run_type"] = "warmup"
|
|
402
|
+
query_results.append(result)
|
|
369
403
|
|
|
370
404
|
# Execute measurement iterations
|
|
371
405
|
# Each measurement iteration uses a different stream_id (continues from warmup)
|
|
@@ -373,11 +407,6 @@ def _execute_dataframe_queries(
|
|
|
373
407
|
f"\n[cyan]Running {measurement_iterations} measurement iteration(s) with {total_queries} queries each...[/cyan]"
|
|
374
408
|
)
|
|
375
409
|
|
|
376
|
-
# Collect results across all measurement iterations
|
|
377
|
-
all_iteration_results: dict[str, list[dict[str, Any]]] = {}
|
|
378
|
-
for q in initial_queries:
|
|
379
|
-
all_iteration_results[q.query_id] = []
|
|
380
|
-
|
|
381
410
|
for iteration in range(measurement_iterations):
|
|
382
411
|
# Each measurement iteration uses a unique stream_id
|
|
383
412
|
# Stream IDs continue from where warmup left off
|
|
@@ -386,30 +415,33 @@ def _execute_dataframe_queries(
|
|
|
386
415
|
benchmark_config, benchmark_instance, stream_id=measurement_stream_id
|
|
387
416
|
)
|
|
388
417
|
if query_filter:
|
|
389
|
-
measurement_queries = [q for q in measurement_queries if q.query_id in query_filter]
|
|
418
|
+
measurement_queries = [q for q in measurement_queries if q.query_id.upper() in query_filter]
|
|
390
419
|
|
|
391
420
|
console.print(
|
|
392
421
|
f"\n[green]Iteration {iteration + 1}/{measurement_iterations} (stream {measurement_stream_id})[/green]"
|
|
393
422
|
)
|
|
394
423
|
|
|
395
424
|
for i, query in enumerate(measurement_queries, 1):
|
|
396
|
-
|
|
425
|
+
if options.get("verbose") or options.get("very_verbose"):
|
|
426
|
+
console.print(f"[blue]Executing query {i}/{total_queries}: {query.query_id}[/blue]")
|
|
397
427
|
|
|
398
428
|
def execute_single_query(q=query):
|
|
399
429
|
"""Execute a single query and return the result."""
|
|
400
430
|
try:
|
|
401
431
|
result = adapter.execute_query(ctx, q)
|
|
402
|
-
|
|
432
|
+
result = dict(result)
|
|
403
433
|
except Exception as e:
|
|
404
434
|
logger.error(f"Query {q.query_id} failed: {e}")
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
435
|
+
result = {
|
|
436
|
+
"query_id": q.query_id,
|
|
437
|
+
"status": "FAILED",
|
|
438
|
+
"error": str(e),
|
|
439
|
+
"execution_time_seconds": 0.0,
|
|
440
|
+
}
|
|
441
|
+
result["iteration"] = iteration + 1
|
|
442
|
+
result["stream_id"] = measurement_stream_id
|
|
443
|
+
result["run_type"] = "measurement"
|
|
444
|
+
query_results.append(result)
|
|
413
445
|
|
|
414
446
|
# Use time_operation context manager for consistent monitoring
|
|
415
447
|
if monitor:
|
|
@@ -418,34 +450,6 @@ def _execute_dataframe_queries(
|
|
|
418
450
|
else:
|
|
419
451
|
execute_single_query()
|
|
420
452
|
|
|
421
|
-
# Aggregate results: use minimum time across iterations (TPC methodology)
|
|
422
|
-
query_results: list[dict[str, Any]] = []
|
|
423
|
-
for query in initial_queries:
|
|
424
|
-
iteration_results = all_iteration_results[query.query_id]
|
|
425
|
-
if not iteration_results:
|
|
426
|
-
continue
|
|
427
|
-
|
|
428
|
-
# Find the best (fastest successful) run
|
|
429
|
-
successful_runs = [r for r in iteration_results if r.get("status") == "SUCCESS"]
|
|
430
|
-
|
|
431
|
-
if successful_runs:
|
|
432
|
-
# Use minimum execution time (TPC standard)
|
|
433
|
-
best_run = min(successful_runs, key=lambda r: r.get("execution_time_seconds", float("inf")))
|
|
434
|
-
best_run = dict(best_run) # Copy to avoid modifying original
|
|
435
|
-
|
|
436
|
-
# Add iteration metadata
|
|
437
|
-
times = [r.get("execution_time_seconds", 0) for r in successful_runs]
|
|
438
|
-
best_run["iterations"] = measurement_iterations
|
|
439
|
-
best_run["iteration_times"] = times
|
|
440
|
-
best_run["min_time"] = min(times) if times else 0
|
|
441
|
-
best_run["max_time"] = max(times) if times else 0
|
|
442
|
-
best_run["avg_time"] = sum(times) / len(times) if times else 0
|
|
443
|
-
|
|
444
|
-
query_results.append(best_run)
|
|
445
|
-
else:
|
|
446
|
-
# All iterations failed - report the last failure
|
|
447
|
-
query_results.append(iteration_results[-1])
|
|
448
|
-
|
|
449
453
|
return query_results
|
|
450
454
|
|
|
451
455
|
|
|
@@ -469,14 +473,14 @@ def _get_queries_for_benchmark(
|
|
|
469
473
|
Returns:
|
|
470
474
|
List of DataFrameQuery objects in execution order for the given stream.
|
|
471
475
|
"""
|
|
472
|
-
|
|
476
|
+
benchmark_id = normalize_benchmark_id(benchmark_config.name)
|
|
473
477
|
|
|
474
478
|
# Use provided stream_id, or fall back to config, or default to 0
|
|
475
479
|
if stream_id is None:
|
|
476
480
|
stream_id = getattr(benchmark_config, "stream_id", 0)
|
|
477
481
|
|
|
478
482
|
# Check registry for pre-defined queries
|
|
479
|
-
if
|
|
483
|
+
if benchmark_id == "tpch":
|
|
480
484
|
from benchbox.core.tpch.dataframe_queries import TPCH_DATAFRAME_QUERIES
|
|
481
485
|
from benchbox.core.tpch.streams import TPCHStreams
|
|
482
486
|
|
|
@@ -494,7 +498,7 @@ def _get_queries_for_benchmark(
|
|
|
494
498
|
logger.warning(f"Query {query_id} not found in TPC-H DataFrame registry")
|
|
495
499
|
return queries
|
|
496
500
|
|
|
497
|
-
elif
|
|
501
|
+
elif benchmark_id == "tpcds":
|
|
498
502
|
from benchbox.core.tpcds.dataframe_queries import TPCDS_DATAFRAME_QUERIES
|
|
499
503
|
from benchbox.core.tpcds.streams import PermutationMode, TPCDSPermutationGenerator
|
|
500
504
|
|
benchbox/core/runner/runner.py
CHANGED
|
@@ -11,6 +11,7 @@ from __future__ import annotations
|
|
|
11
11
|
import contextlib
|
|
12
12
|
import json
|
|
13
13
|
import logging
|
|
14
|
+
import uuid
|
|
14
15
|
from collections.abc import Mapping
|
|
15
16
|
from dataclasses import dataclass
|
|
16
17
|
from typing import Any
|
|
@@ -32,9 +33,11 @@ from benchbox.core.results.models import (
|
|
|
32
33
|
BenchmarkResults,
|
|
33
34
|
)
|
|
34
35
|
from benchbox.core.runner.conversion import FormatConversionOrchestrator
|
|
36
|
+
from benchbox.core.schemas import ExecutionContext
|
|
35
37
|
from benchbox.core.validation import ValidationResult
|
|
36
38
|
from benchbox.monitoring import PerformanceMonitor, ResourceMonitor, attach_snapshot_to_result
|
|
37
39
|
from benchbox.platforms import get_platform_adapter
|
|
40
|
+
from benchbox.platforms.dataframe.benchmark_mixin import DataFramePhases, DataFrameRunOptions
|
|
38
41
|
from benchbox.utils.cloud_storage import create_path_handler
|
|
39
42
|
from benchbox.utils.format_converters import ConversionOptions
|
|
40
43
|
from benchbox.utils.verbosity import VerbosityMixin, VerbositySettings
|
|
@@ -375,7 +378,7 @@ def _run_format_conversion(
|
|
|
375
378
|
return None
|
|
376
379
|
|
|
377
380
|
# Validate format
|
|
378
|
-
allowed_formats = {"parquet", "delta", "iceberg"}
|
|
381
|
+
allowed_formats = {"parquet", "vortex", "delta", "iceberg"}
|
|
379
382
|
if convert_format.lower() not in allowed_formats:
|
|
380
383
|
logger.error(f"Invalid format: {convert_format}. Allowed: {allowed_formats}")
|
|
381
384
|
return None
|
|
@@ -455,6 +458,7 @@ def run_benchmark_lifecycle(
|
|
|
455
458
|
verbosity: VerbositySettings | None = None,
|
|
456
459
|
monitor: PerformanceMonitor | None = None,
|
|
457
460
|
enable_resource_monitoring: bool = True,
|
|
461
|
+
execution_context: ExecutionContext | None = None,
|
|
458
462
|
) -> BenchmarkResults:
|
|
459
463
|
"""Run the complete benchmark lifecycle in core, returning BenchmarkResults.
|
|
460
464
|
|
|
@@ -544,14 +548,24 @@ def run_benchmark_lifecycle(
|
|
|
544
548
|
_run_format_conversion(benchmark, benchmark_config)
|
|
545
549
|
|
|
546
550
|
if test_type == "data_only":
|
|
551
|
+
execution_id = uuid.uuid4().hex[:8]
|
|
547
552
|
result_obj = benchmark.create_enhanced_benchmark_result(
|
|
548
553
|
platform="data_only",
|
|
549
554
|
query_results=[],
|
|
550
555
|
duration_seconds=0.0,
|
|
551
556
|
phases={"data_generation": {"status": "COMPLETED"}},
|
|
552
|
-
execution_metadata={
|
|
557
|
+
execution_metadata={
|
|
558
|
+
"mode": "datagen",
|
|
559
|
+
"benchmark_id": benchmark_config.name,
|
|
560
|
+
"phase_status": {"data_generation": {"status": "COMPLETED"}},
|
|
561
|
+
},
|
|
562
|
+
execution_id=execution_id,
|
|
553
563
|
)
|
|
554
|
-
|
|
564
|
+
result_obj._benchmark_id_override = benchmark_config.name
|
|
565
|
+
result_obj = _finalize_validation_metadata(result_obj, validation_records)
|
|
566
|
+
if execution_context is not None:
|
|
567
|
+
result_obj.execution_context = execution_context.model_dump()
|
|
568
|
+
return result_obj
|
|
555
569
|
|
|
556
570
|
adapter = platform_adapter
|
|
557
571
|
if adapter is None and database_config is not None:
|
|
@@ -570,6 +584,11 @@ def run_benchmark_lifecycle(
|
|
|
570
584
|
if adapter is not None and isinstance(adapter, VerbosityMixin):
|
|
571
585
|
adapter.apply_verbosity(verbosity_settings)
|
|
572
586
|
|
|
587
|
+
options = getattr(benchmark_config, "options", {}) or {}
|
|
588
|
+
|
|
589
|
+
# Detect DataFrame adapter by checking for 'family' attribute
|
|
590
|
+
is_dataframe_adapter = hasattr(adapter, "family") and adapter.family in ("expression", "pandas")
|
|
591
|
+
|
|
573
592
|
# Check if we should run load-only mode:
|
|
574
593
|
# - Explicit test_type == "load_only" OR
|
|
575
594
|
# - Phases indicate load without execute (e.g., --phases generate,load)
|
|
@@ -579,18 +598,49 @@ def run_benchmark_lifecycle(
|
|
|
579
598
|
if adapter is None:
|
|
580
599
|
raise RuntimeError("Load-only mode requires a platform adapter and database configuration")
|
|
581
600
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
601
|
+
if is_dataframe_adapter:
|
|
602
|
+
from pathlib import Path
|
|
603
|
+
|
|
604
|
+
data_dir = getattr(benchmark, "output_dir", None)
|
|
605
|
+
if data_dir is None and output_root:
|
|
606
|
+
data_dir = Path(output_root)
|
|
607
|
+
elif isinstance(data_dir, str):
|
|
608
|
+
data_dir = Path(data_dir)
|
|
609
|
+
|
|
610
|
+
df_phases = DataFramePhases(load=True, execute=False)
|
|
611
|
+
df_options = DataFrameRunOptions(
|
|
612
|
+
ignore_memory_warnings=bool(options.get("ignore_memory_warnings", False)),
|
|
613
|
+
force_regenerate=bool(options.get("force_regenerate", False)),
|
|
614
|
+
prefer_parquet=bool(options.get("prefer_parquet", True)),
|
|
615
|
+
verbose=verbosity_settings.verbose,
|
|
616
|
+
very_verbose=verbosity_settings.very_verbose,
|
|
617
|
+
)
|
|
589
618
|
|
|
590
|
-
|
|
591
|
-
|
|
619
|
+
result_obj = adapter.run_benchmark(
|
|
620
|
+
benchmark,
|
|
621
|
+
benchmark_config=benchmark_config,
|
|
622
|
+
system_profile=system_profile,
|
|
623
|
+
data_dir=data_dir,
|
|
624
|
+
phases=df_phases,
|
|
625
|
+
options=df_options,
|
|
626
|
+
monitor=monitor,
|
|
627
|
+
)
|
|
628
|
+
else:
|
|
629
|
+
result_obj, postload_result = _execute_load_only_mode(
|
|
630
|
+
benchmark=benchmark,
|
|
631
|
+
benchmark_config=benchmark_config,
|
|
632
|
+
adapter=adapter,
|
|
633
|
+
platform_config=platform_config,
|
|
634
|
+
validation_opts=validation_opts,
|
|
635
|
+
)
|
|
592
636
|
|
|
593
|
-
|
|
637
|
+
if postload_result is not None:
|
|
638
|
+
validation_records.append(("post_load", postload_result))
|
|
639
|
+
|
|
640
|
+
result_obj = _finalize_validation_metadata(result_obj, validation_records)
|
|
641
|
+
if execution_context is not None:
|
|
642
|
+
result_obj.execution_context = execution_context.model_dump()
|
|
643
|
+
return result_obj
|
|
594
644
|
|
|
595
645
|
# Only return early for setup-only scenarios (no loading, no execution)
|
|
596
646
|
# This prevents skipping schema creation when phases.load=True
|
|
@@ -610,9 +660,11 @@ def run_benchmark_lifecycle(
|
|
|
610
660
|
phases={"setup": {"status": "COMPLETED"}},
|
|
611
661
|
execution_metadata={"mode": "setup_only"},
|
|
612
662
|
)
|
|
613
|
-
|
|
663
|
+
result_obj = _finalize_validation_metadata(result_obj, validation_records)
|
|
664
|
+
if execution_context is not None:
|
|
665
|
+
result_obj.execution_context = execution_context.model_dump()
|
|
666
|
+
return result_obj
|
|
614
667
|
|
|
615
|
-
options = getattr(benchmark_config, "options", {}) or {}
|
|
616
668
|
iterations = int(
|
|
617
669
|
options.get("power_iterations", GENERIC_POWER_DEFAULT_MEASUREMENT_ITERATIONS)
|
|
618
670
|
or GENERIC_POWER_DEFAULT_MEASUREMENT_ITERATIONS
|
|
@@ -643,10 +695,47 @@ def run_benchmark_lifecycle(
|
|
|
643
695
|
power_fail_fast=fail_fast,
|
|
644
696
|
)
|
|
645
697
|
|
|
646
|
-
|
|
647
|
-
|
|
698
|
+
if is_dataframe_adapter:
|
|
699
|
+
# DataFrame adapter execution path
|
|
700
|
+
from pathlib import Path
|
|
701
|
+
|
|
702
|
+
# Get data directory from benchmark or output_root
|
|
703
|
+
data_dir = getattr(benchmark, "output_dir", None)
|
|
704
|
+
if data_dir is None and output_root:
|
|
705
|
+
data_dir = Path(output_root)
|
|
706
|
+
elif isinstance(data_dir, str):
|
|
707
|
+
data_dir = Path(data_dir)
|
|
708
|
+
|
|
709
|
+
# Create DataFrame-specific phases and options
|
|
710
|
+
df_phases = DataFramePhases(
|
|
711
|
+
load=True, # DataFrame always loads from files
|
|
712
|
+
execute=phases.execute,
|
|
713
|
+
)
|
|
714
|
+
df_options = DataFrameRunOptions(
|
|
715
|
+
ignore_memory_warnings=bool(options.get("ignore_memory_warnings", False)),
|
|
716
|
+
force_regenerate=bool(options.get("force_regenerate", False)),
|
|
717
|
+
prefer_parquet=bool(options.get("prefer_parquet", True)),
|
|
718
|
+
verbose=verbosity_settings.verbose,
|
|
719
|
+
very_verbose=verbosity_settings.very_verbose,
|
|
720
|
+
)
|
|
648
721
|
|
|
649
|
-
|
|
722
|
+
# Call DataFrame adapter's run_benchmark
|
|
723
|
+
result_obj = adapter.run_benchmark(
|
|
724
|
+
benchmark,
|
|
725
|
+
benchmark_config=benchmark_config,
|
|
726
|
+
system_profile=system_profile,
|
|
727
|
+
data_dir=data_dir,
|
|
728
|
+
phases=df_phases,
|
|
729
|
+
options=df_options,
|
|
730
|
+
monitor=monitor,
|
|
731
|
+
)
|
|
732
|
+
else:
|
|
733
|
+
# SQL adapter execution path (existing behavior)
|
|
734
|
+
kwargs = {k: v for k, v in run_config.__dict__.items() if k != "benchmark"}
|
|
735
|
+
result_obj = adapter.run_benchmark(benchmark, **kwargs)
|
|
736
|
+
|
|
737
|
+
# Postload validation only applies to SQL adapters (database validation)
|
|
738
|
+
if validation_opts.enable_postload_validation and not is_dataframe_adapter:
|
|
650
739
|
postload_result = _run_postload_validation(adapter, benchmark_config, platform_config)
|
|
651
740
|
if postload_result is not None:
|
|
652
741
|
validation_records.append(("post_load", postload_result))
|
|
@@ -662,6 +751,10 @@ def run_benchmark_lifecycle(
|
|
|
662
751
|
snapshot = monitor.snapshot()
|
|
663
752
|
attach_snapshot_to_result(result_with_validation, snapshot)
|
|
664
753
|
|
|
754
|
+
# Attach execution context for reproducibility
|
|
755
|
+
if execution_context is not None:
|
|
756
|
+
result_with_validation.execution_context = execution_context.model_dump()
|
|
757
|
+
|
|
665
758
|
return result_with_validation
|
|
666
759
|
|
|
667
760
|
|