1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/common/filename_pattern.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/common/file_system.hpp"
12#include "duckdb/common/types/uuid.hpp"
13
14namespace duckdb {
15
16class FilenamePattern {
17
18public:
19 FilenamePattern() : _base("data_"), _pos(_base.length()), _uuid(false) {
20 }
21 ~FilenamePattern() {
22 }
23
24public:
25 void SetFilenamePattern(const string &pattern);
26 string CreateFilename(const FileSystem &fs, const string &path, const string &extension, idx_t offset) const;
27
28private:
29 string _base;
30 idx_t _pos;
31 bool _uuid;
32};
33
34} // namespace duckdb
35