27#include <olp/core/porting/optional.h>
28#include <olp/dataservice/read/DataServiceReadApi.h>
29#include <olp/dataservice/read/FetchOptions.h>
32namespace dataservice {
45 static constexpr const char* kDataSize =
"dataSize";
48 static constexpr const char* kChecksum =
"checksum";
52 static constexpr const char* kCompressedDataSize =
"compressedDataSize";
55 static constexpr const char* kCrc =
"crc";
72 partition_ids_ = std::move(partition_ids);
98 additional_fields_ = std::move(additional_fields);
108 return additional_fields_;
134 template <
class T = porting::optional<std::
string>>
136 billing_tag_ = std::forward<T>(billingTag);
161 fetch_option_ = fetch_option;
174 const std::string& layer_id,
175 porting::optional<int64_t> version = porting::none)
const {
176 std::stringstream out;
179 out <<
"@" << *version;
181 if (GetBillingTag()) {
182 out <<
"$" << *GetBillingTag();
184 out <<
"^" << GetFetchOption();
189 PartitionIds partition_ids_;
190 AdditionalFields additional_fields_;
191 porting::optional<std::string> billing_tag_;
192 FetchOptions fetch_option_{OnlineIfNotFound};
Encapsulates the fields required to request a list of partitions for the given catalog and layer.
Definition PartitionsRequest.h:39
PartitionsRequest & WithFetchOption(FetchOptions fetch_option)
Sets the fetch option that you can use to set the source from which data should be fetched.
Definition PartitionsRequest.h:160
PartitionsRequest & WithBillingTag(T &&billingTag)
Sets the billing tag for the request.
Definition PartitionsRequest.h:135
std::vector< std::string > AdditionalFields
An alias for the set of additional fields.
Definition PartitionsRequest.h:58
PartitionsRequest & WithAdditionalFields(AdditionalFields additional_fields)
Sets the list of additional fields.
Definition PartitionsRequest.h:97
const PartitionIds & GetPartitionIds() const
Gets the list of the partitions.
Definition PartitionsRequest.h:81
std::vector< std::string > PartitionIds
An alias for the vector of partitions IDs.
Definition PartitionsRequest.h:42
const porting::optional< std::string > & GetBillingTag() const
Gets the billing tag to group billing records together.
Definition PartitionsRequest.h:121
std::string CreateKey(const std::string &layer_id, porting::optional< int64_t > version=porting::none) const
Creates a readable format for the request.
Definition PartitionsRequest.h:173
const AdditionalFields & GetAdditionalFields() const
Gets the list of additional fields.
Definition PartitionsRequest.h:107
PartitionsRequest & WithPartitionIds(PartitionIds partition_ids)
Sets the list of partitions.
Definition PartitionsRequest.h:71
FetchOptions GetFetchOption() const
Gets the fetch option that controls how requests are handled.
Definition PartitionsRequest.h:148
Rules all the other namespaces.
Definition AppleSignInProperties.h:24