Few more tables issues (#6314)

* Few more tables issues

* comments

* clangs
This commit is contained in:
gearama 2025-01-08 13:19:16 -08:00 committed by GitHub
parent c4c7e6a983
commit dd69357281
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 6 additions and 71 deletions

View File

@ -568,20 +568,6 @@ namespace Azure { namespace Data { namespace Tables {
*/
UpsertKind UpsertType = UpsertKind::Update;
};
/**
* @brief Add Entity options.
*
*/
struct AddEntityOptions : public UpsertEntityOptions
{
AddEntityOptions() = default;
/**
* @brief Create Entity options constructor.
*
* @param other Upsert Entity options.
*/
explicit AddEntityOptions(UpsertEntityOptions const& other) { (void)other; }
};
/**
* @brief Add Entity result.
@ -595,25 +581,6 @@ namespace Azure { namespace Data { namespace Tables {
std::string ETag;
};
/**
* @brief Update Entity options.
*
*/
struct UpdateEntityOptions final
{
/**
* @brief Update Entity options default constructor.
*
*/
UpdateEntityOptions() = default;
/**
* @brief Update Entity options constructor.
*
* @param other Update Entity options.
*/
UpdateEntityOptions(UpsertEntityOptions const& other) { (void)other; }
};
/**
* @brief Update Entity result.
*
@ -626,25 +593,6 @@ namespace Azure { namespace Data { namespace Tables {
std::string ETag;
};
/**
* @brief Merge Entity options.
*
*/
struct MergeEntityOptions final
{
/**
* @brief Merge Entity options default constructor.
*
*/
MergeEntityOptions() = default;
/**
* @brief Merge Entity options constructor.
*
* @param other Upsert Entity options.
*/
MergeEntityOptions(UpsertEntityOptions const& other) { (void)other; }
};
/**
* @brief Merge Entity result.
*

View File

@ -90,39 +90,33 @@ namespace Azure { namespace Data { namespace Tables {
* @brief Add entity in a table.
*
* @param tableEntity The TableEntity to set.
* @param options Optional parameters to execute this function.
* @param context for canceling long running operations.
* @return Add entity result.
*/
Response<Models::AddEntityResult> AddEntity(
Models::TableEntity const& tableEntity,
Models::AddEntityOptions const& options = {},
Core::Context const& context = {});
/**
* @brief Update entity in a table.
*
* @param tableEntity The TableEntity to set.
* @param options Optional parameters to execute this function.
* @param context for canceling long running operations.
* @return Update entity result.
*/
Response<Models::UpdateEntityResult> UpdateEntity(
Models::TableEntity const& tableEntity,
Models::UpdateEntityOptions const& options = {},
Core::Context const& context = {});
/**
* @brief Merge entity in a table.
*
* @param tableEntity The TableEntity to merge.
* @param options Optional parameters to execute this function.
* @param context for canceling long running operations.
* @return Merge entity result.
*/
Response<Models::MergeEntityResult> MergeEntity(
Models::TableEntity const& tableEntity,
Models::MergeEntityOptions const& options = {},
Core::Context const& context = {});
/**

View File

@ -421,10 +421,8 @@ Azure::Response<Models::DeleteTableResult> TableServiceClient::DeleteTable(
Azure::Response<Models::AddEntityResult> TableClient::AddEntity(
Models::TableEntity const& tableEntity,
Models::AddEntityOptions const& options,
Core::Context const& context)
{
(void)options;
auto url = m_url;
url.AppendPath(m_tableName);
@ -453,10 +451,8 @@ Azure::Response<Models::AddEntityResult> TableClient::AddEntity(
Azure::Response<Models::UpdateEntityResult> TableClient::UpdateEntity(
Models::TableEntity const& tableEntity,
Models::UpdateEntityOptions const& options,
Core::Context const& context)
{
(void)options;
auto url = m_url;
url.AppendPath(
m_tableName + PartitionKeyFragment
@ -498,10 +494,8 @@ Azure::Response<Models::UpdateEntityResult> TableClient::UpdateEntity(
Azure::Response<Models::MergeEntityResult> TableClient::MergeEntity(
Models::TableEntity const& tableEntity,
Models::MergeEntityOptions const& options,
Core::Context const& context)
{
(void)options;
auto url = m_url;
url.AppendPath(
m_tableName + PartitionKeyFragment
@ -578,18 +572,17 @@ Azure::Response<Models::UpsertEntityResult> TableClient::UpsertEntity(
Models::UpsertEntityOptions const& options,
Core::Context const& context)
{
(void)options;
try
{
switch (options.UpsertType)
{
case Models::UpsertKind::Merge: {
auto response = MergeEntity(tableEntity, Models::MergeEntityOptions(options), context);
auto response = MergeEntity(tableEntity, context);
return Azure::Response<Models::UpsertEntityResult>(
Models::UpsertEntityResult(response.Value), std::move(response.RawResponse));
}
default: {
auto response = UpdateEntity(tableEntity, Models::UpdateEntityOptions(options), context);
auto response = UpdateEntity(tableEntity, context);
return Azure::Response<Models::UpsertEntityResult>(
Models::UpsertEntityResult(response.Value), std::move(response.RawResponse));
}
@ -597,7 +590,7 @@ Azure::Response<Models::UpsertEntityResult> TableClient::UpsertEntity(
}
catch (const Azure::Core::RequestFailedException&)
{
auto response = AddEntity(tableEntity, Models::AddEntityOptions(options), context);
auto response = AddEntity(tableEntity, context);
return Azure::Response<Models::UpsertEntityResult>(
Models::UpsertEntityResult(response.Value), std::move(response.RawResponse));
}
@ -860,7 +853,7 @@ std::string TableClient::PrepDeleteEntity(
+ entity.GetRowKey().Value + ClosingFragment);
returnValue += "DELETE " + url.GetAbsoluteUrl() + " HTTP/1.1\n";
returnValue += "Accept: application/json;odata=minimalmetadata\n";
// returnValue += "Prefer: return-no-content\n";
returnValue += "Prefer: return-no-content\n";
returnValue += "DataServiceVersion: 3.0;\n";
if (!entity.GetETag().Value.empty())
{

View File

@ -348,7 +348,7 @@ namespace Azure { namespace Data { namespace Test {
options.UpsertType = Azure::Data::Tables::Models::UpsertKind::Update;
entity.Properties["Product"] = TableEntityProperty("Tables2");
auto updateResponse = m_tableClient->MergeEntity(entity, options);
auto updateResponse = m_tableClient->MergeEntity(entity);
EXPECT_EQ(
updateResponse.RawResponse->GetStatusCode(), Azure::Core::Http::HttpStatusCode::NoContent);
@ -358,7 +358,7 @@ namespace Azure { namespace Data { namespace Test {
options2.UpsertType = Azure::Data::Tables::Models::UpsertKind::Merge;
entity.Properties["Product3"] = TableEntityProperty("Tables3");
entity.SetETag(updateResponse.Value.ETag);
auto updateResponse2 = m_tableClient->MergeEntity(entity, options2);
auto updateResponse2 = m_tableClient->MergeEntity(entity);
EXPECT_EQ(
updateResponse2.RawResponse->GetStatusCode(), Azure::Core::Http::HttpStatusCode::NoContent);