| 459 | }; |
| 460 | |
| 461 | Status ValidateBasenameTemplate(std::string_view basename_template) { |
| 462 | if (basename_template.find(fs::internal::kSep) != std::string_view::npos) { |
| 463 | return Status::Invalid("basename_template contained '/'"); |
| 464 | } |
| 465 | size_t token_start = basename_template.find(kIntegerToken); |
| 466 | if (token_start == std::string_view::npos) { |
| 467 | return Status::Invalid("basename_template did not contain '", kIntegerToken, "'"); |
| 468 | } |
| 469 | size_t next_token_start = basename_template.find(kIntegerToken, token_start + 1); |
| 470 | if (next_token_start != std::string_view::npos) { |
| 471 | return Status::Invalid("basename_template contained '", kIntegerToken, |
| 472 | "' more than once"); |
| 473 | } |
| 474 | return Status::OK(); |
| 475 | } |
| 476 | |
| 477 | Status ValidateOptions(const FileSystemDatasetWriteOptions& options) { |
| 478 | ARROW_RETURN_NOT_OK(ValidateBasenameTemplate(options.basename_template)); |
no test coverage detected