45 public std::enable_shared_from_this<RestCatalog> {
59 Executor* metrics_executor =
nullptr);
61 std::string_view
name()
const override;
69 class TableScopedCatalog;
72 std::shared_ptr<HttpClient> client, std::unique_ptr<ResourcePaths> paths,
73 std::unordered_set<Endpoint> endpoints,
74 std::unique_ptr<auth::AuthManager> auth_manager,
75 std::shared_ptr<auth::AuthSession> catalog_session,
77 std::shared_ptr<MetricsReporter> reporter,
Executor* metrics_executor);
84 const std::unordered_map<std::string, std::string>& table_config,
85 std::shared_ptr<auth::AuthSession> contextual_session);
89 const std::unordered_map<std::string, std::string>& table_config,
90 const std::vector<StorageCredential>& storage_credentials)
const;
95 Status CreateNamespace(
const Namespace& ns,
96 const std::unordered_map<std::string, std::string>& properties,
106 Status UpdateNamespaceProperties(
107 const Namespace& ns,
const std::unordered_map<std::string, std::string>& updates,
114 const TableIdentifier& identifier,
const std::shared_ptr<Schema>& schema,
115 const std::shared_ptr<PartitionSpec>& spec,
const std::shared_ptr<SortOrder>& order,
116 const std::string& location,
117 const std::unordered_map<std::string, std::string>& properties,
119 std::shared_ptr<auth::AuthSession> contextual_session);
123 const std::vector<std::unique_ptr<TableRequirement>>& requirements,
124 const std::vector<std::unique_ptr<TableUpdate>>& updates,
126 std::shared_ptr<auth::AuthSession> contextual_session);
129 const TableIdentifier& identifier,
const std::shared_ptr<Schema>& schema,
130 const std::shared_ptr<PartitionSpec>& spec,
const std::shared_ptr<SortOrder>& order,
131 const std::string& location,
132 const std::unordered_map<std::string, std::string>& properties,
134 std::shared_ptr<auth::AuthSession> contextual_session);
147 std::shared_ptr<auth::AuthSession> request_session,
148 std::shared_ptr<auth::AuthSession> contextual_session);
151 const TableIdentifier& identifier,
const std::string& metadata_file_location,
153 std::shared_ptr<auth::AuthSession> contextual_session);
167 const std::shared_ptr<auth::AuthSession>& table_session)
const;
170 const TableIdentifier& identifier,
const std::shared_ptr<Schema>& schema,
171 const std::shared_ptr<PartitionSpec>& spec,
const std::shared_ptr<SortOrder>& order,
172 const std::string& location,
173 const std::unordered_map<std::string, std::string>& properties,
bool stage_create,
178 const std::vector<std::unique_ptr<TableRequirement>>& requirements,
179 const std::vector<std::unique_ptr<TableUpdate>>& updates,
185 std::shared_ptr<auth::AuthSession> contextual_session);
190 const std::unordered_map<std::string, std::string>& table_config,
191 std::shared_ptr<auth::AuthSession> table_session, std::shared_ptr<FileIO> table_io);
194 std::shared_ptr<FileIO> file_io_;
195 std::shared_ptr<HttpClient> client_;
196 std::unique_ptr<ResourcePaths> paths_;
198 std::unordered_set<Endpoint> supported_endpoints_;
199 std::unique_ptr<auth::AuthManager> auth_manager_;
200 std::shared_ptr<auth::AuthSession> catalog_session_;
203 std::weak_ptr<Catalog> default_catalog_;
204 std::shared_ptr<MetricsReporter> reporter_;
205 Executor* metrics_executor_ =
nullptr;
Define session context metadata.
Session state used to bind catalog operations to a caller context.
Definition session_context.h:42