48 public std::enable_shared_from_this<RestCatalog> {
72 ClientFactory client_factory = {},
74 Executor* metrics_executor =
nullptr);
76 std::string_view
name()
const override;
84 class TableScopedCatalog;
87 std::shared_ptr<HttpClient> client, std::shared_ptr<ResourcePaths> paths,
88 std::unordered_set<Endpoint> endpoints,
89 std::unique_ptr<auth::AuthManager> auth_manager,
90 std::shared_ptr<auth::AuthSession> catalog_session,
92 std::optional<ScanPlanningMode> client_scan_planning_mode,
93 SessionContext default_context, std::shared_ptr<MetricsReporter> reporter,
101 const std::unordered_map<std::string, std::string>& table_config,
102 std::shared_ptr<auth::AuthSession> contextual_session);
106 const std::unordered_map<std::string, std::string>& table_config,
107 const std::vector<StorageCredential>& storage_credentials,
108 std::shared_ptr<auth::AuthSession> table_session)
const;
114 const TableIdentifier& identifier, std::shared_ptr<auth::AuthSession> table_session,
115 std::optional<std::string> plan_id = std::nullopt)
const;
121 const std::unordered_map<std::string, std::string>& properties,
131 Status UpdateNamespaceProperties(
132 const Namespace& ns,
const std::unordered_map<std::string, std::string>& updates,
139 const TableIdentifier& identifier,
const std::shared_ptr<Schema>& schema,
140 const std::shared_ptr<PartitionSpec>& spec,
const std::shared_ptr<SortOrder>& order,
141 const std::string& location,
142 const std::unordered_map<std::string, std::string>& properties,
144 std::shared_ptr<auth::AuthSession> contextual_session);
148 const std::vector<std::unique_ptr<TableRequirement>>& requirements,
149 const std::vector<std::unique_ptr<TableUpdate>>& updates,
151 std::shared_ptr<auth::AuthSession> contextual_session);
154 const TableIdentifier& identifier,
const std::shared_ptr<Schema>& schema,
155 const std::shared_ptr<PartitionSpec>& spec,
const std::shared_ptr<SortOrder>& order,
156 const std::string& location,
157 const std::unordered_map<std::string, std::string>& properties,
159 std::shared_ptr<auth::AuthSession> contextual_session);
172 std::shared_ptr<auth::AuthSession> request_session,
173 std::shared_ptr<auth::AuthSession> contextual_session);
176 const TableIdentifier& identifier,
const std::string& metadata_file_location,
178 std::shared_ptr<auth::AuthSession> contextual_session);
192 const std::shared_ptr<auth::AuthSession>& table_session)
const;
195 const TableIdentifier& identifier,
const std::shared_ptr<Schema>& schema,
196 const std::shared_ptr<PartitionSpec>& spec,
const std::shared_ptr<SortOrder>& order,
197 const std::string& location,
198 const std::unordered_map<std::string, std::string>& properties,
bool stage_create,
203 const std::vector<std::unique_ptr<TableRequirement>>& requirements,
204 const std::vector<std::unique_ptr<TableUpdate>>& updates,
210 std::shared_ptr<auth::AuthSession> contextual_session);
215 const std::unordered_map<std::string, std::string>& table_config,
216 std::shared_ptr<auth::AuthSession> table_session, std::shared_ptr<FileIO> table_io);
220 const TableIdentifier& identifier, std::shared_ptr<TableMetadata> metadata,
221 std::string metadata_location, std::shared_ptr<FileIO> table_io,
222 std::shared_ptr<Catalog> table_catalog, std::shared_ptr<MetricsReporter> reporter,
223 const std::unordered_map<std::string, std::string>& table_config,
224 std::shared_ptr<auth::AuthSession> table_session,
225 std::unique_ptr<Labels> labels =
nullptr);
228 std::shared_ptr<FileIO> file_io_;
229 std::shared_ptr<HttpClient> client_;
230 std::shared_ptr<ResourcePaths> paths_;
232 std::unordered_set<Endpoint> supported_endpoints_;
233 std::unique_ptr<auth::AuthManager> auth_manager_;
234 std::shared_ptr<auth::AuthSession> catalog_session_;
236 std::optional<ScanPlanningMode> client_scan_planning_mode_;
238 std::weak_ptr<Catalog> default_catalog_;
239 std::shared_ptr<MetricsReporter> reporter_;
240 Executor* metrics_executor_ =
nullptr;
Define session context metadata.
Session state used to bind catalog operations to a caller context.
Definition session_context.h:42