| 465 | } |
| 466 | |
| 467 | void InterpretedBenchmark::LoadBenchmark() { |
| 468 | if (is_loaded) { |
| 469 | return; |
| 470 | } |
| 471 | |
| 472 | ProcessFile(benchmark_path); |
| 473 | // throw an error if an argument was not handled |
| 474 | auto &instance = BenchmarkRunner::GetInstance(); |
| 475 | for (auto &entry : instance.custom_arguments) { |
| 476 | auto &custom_arg = entry.first; |
| 477 | if (handled_arguments.count(custom_arg) == 0) { |
| 478 | throw InvalidInputException("Invalid benchmark argument %s: argument was not specified in benchmark %s", |
| 479 | custom_arg, benchmark_path); |
| 480 | } |
| 481 | } |
| 482 | // set up the queries |
| 483 | if (queries.find("run") == queries.end()) { |
| 484 | throw InvalidInputException("Invalid benchmark file: no \"run\" query specified"); |
| 485 | } |
| 486 | run_query = queries["run"]; |
| 487 | is_loaded = true; |
| 488 | } |
| 489 | |
| 490 | void InterpretedBenchmark::LoadExtensions(InterpretedBenchmarkState &state, bool is_load_set) { |
| 491 | auto &map = is_load_set ? load_extensions_map : extensions_map; |
nothing calls this directly
no test coverage detected