/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The amount of data scanned during the query execution and the amount of time
* that it took to execute, and the type of statement that was run.See
* Also:
AWS
* API Reference
The number of milliseconds that the query took to execute.
*/ inline long long GetEngineExecutionTimeInMillis() const{ return m_engineExecutionTimeInMillis; } /** *The number of milliseconds that the query took to execute.
*/ inline bool EngineExecutionTimeInMillisHasBeenSet() const { return m_engineExecutionTimeInMillisHasBeenSet; } /** *The number of milliseconds that the query took to execute.
*/ inline void SetEngineExecutionTimeInMillis(long long value) { m_engineExecutionTimeInMillisHasBeenSet = true; m_engineExecutionTimeInMillis = value; } /** *The number of milliseconds that the query took to execute.
*/ inline QueryExecutionStatistics& WithEngineExecutionTimeInMillis(long long value) { SetEngineExecutionTimeInMillis(value); return *this;} /** *The number of bytes in the data that was queried.
*/ inline long long GetDataScannedInBytes() const{ return m_dataScannedInBytes; } /** *The number of bytes in the data that was queried.
*/ inline bool DataScannedInBytesHasBeenSet() const { return m_dataScannedInBytesHasBeenSet; } /** *The number of bytes in the data that was queried.
*/ inline void SetDataScannedInBytes(long long value) { m_dataScannedInBytesHasBeenSet = true; m_dataScannedInBytes = value; } /** *The number of bytes in the data that was queried.
*/ inline QueryExecutionStatistics& WithDataScannedInBytes(long long value) { SetDataScannedInBytes(value); return *this;} /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline const Aws::String& GetDataManifestLocation() const{ return m_dataManifestLocation; } /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline bool DataManifestLocationHasBeenSet() const { return m_dataManifestLocationHasBeenSet; } /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline void SetDataManifestLocation(const Aws::String& value) { m_dataManifestLocationHasBeenSet = true; m_dataManifestLocation = value; } /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline void SetDataManifestLocation(Aws::String&& value) { m_dataManifestLocationHasBeenSet = true; m_dataManifestLocation = std::move(value); } /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline void SetDataManifestLocation(const char* value) { m_dataManifestLocationHasBeenSet = true; m_dataManifestLocation.assign(value); } /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline QueryExecutionStatistics& WithDataManifestLocation(const Aws::String& value) { SetDataManifestLocation(value); return *this;} /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline QueryExecutionStatistics& WithDataManifestLocation(Aws::String&& value) { SetDataManifestLocation(std::move(value)); return *this;} /** *The location and file name of a data manifest file. The manifest file is * saved to the Athena query results location in Amazon S3. The manifest file * tracks files that the query wrote to Amazon S3. If the query fails, the manifest * file also tracks files that the query intended to write. The manifest is useful * for identifying orphaned files resulting from a failed query. For more * information, see Working with * Query Results, Output Files, and Query History in the Amazon Athena User * Guide.
*/ inline QueryExecutionStatistics& WithDataManifestLocation(const char* value) { SetDataManifestLocation(value); return *this;} /** *The number of milliseconds that Athena took to run the query.
*/ inline long long GetTotalExecutionTimeInMillis() const{ return m_totalExecutionTimeInMillis; } /** *The number of milliseconds that Athena took to run the query.
*/ inline bool TotalExecutionTimeInMillisHasBeenSet() const { return m_totalExecutionTimeInMillisHasBeenSet; } /** *The number of milliseconds that Athena took to run the query.
*/ inline void SetTotalExecutionTimeInMillis(long long value) { m_totalExecutionTimeInMillisHasBeenSet = true; m_totalExecutionTimeInMillis = value; } /** *The number of milliseconds that Athena took to run the query.
*/ inline QueryExecutionStatistics& WithTotalExecutionTimeInMillis(long long value) { SetTotalExecutionTimeInMillis(value); return *this;} /** *The number of milliseconds that the query was in your query queue waiting for * resources. Note that if transient errors occur, Athena might automatically add * the query back to the queue.
*/ inline long long GetQueryQueueTimeInMillis() const{ return m_queryQueueTimeInMillis; } /** *The number of milliseconds that the query was in your query queue waiting for * resources. Note that if transient errors occur, Athena might automatically add * the query back to the queue.
*/ inline bool QueryQueueTimeInMillisHasBeenSet() const { return m_queryQueueTimeInMillisHasBeenSet; } /** *The number of milliseconds that the query was in your query queue waiting for * resources. Note that if transient errors occur, Athena might automatically add * the query back to the queue.
*/ inline void SetQueryQueueTimeInMillis(long long value) { m_queryQueueTimeInMillisHasBeenSet = true; m_queryQueueTimeInMillis = value; } /** *The number of milliseconds that the query was in your query queue waiting for * resources. Note that if transient errors occur, Athena might automatically add * the query back to the queue.
*/ inline QueryExecutionStatistics& WithQueryQueueTimeInMillis(long long value) { SetQueryQueueTimeInMillis(value); return *this;} /** *The number of milliseconds that Athena took to plan the query processing * flow. This includes the time spent retrieving table partitions from the data * source. Note that because the query engine performs the query planning, query * planning time is a subset of engine processing time.
*/ inline long long GetQueryPlanningTimeInMillis() const{ return m_queryPlanningTimeInMillis; } /** *The number of milliseconds that Athena took to plan the query processing * flow. This includes the time spent retrieving table partitions from the data * source. Note that because the query engine performs the query planning, query * planning time is a subset of engine processing time.
*/ inline bool QueryPlanningTimeInMillisHasBeenSet() const { return m_queryPlanningTimeInMillisHasBeenSet; } /** *The number of milliseconds that Athena took to plan the query processing * flow. This includes the time spent retrieving table partitions from the data * source. Note that because the query engine performs the query planning, query * planning time is a subset of engine processing time.
*/ inline void SetQueryPlanningTimeInMillis(long long value) { m_queryPlanningTimeInMillisHasBeenSet = true; m_queryPlanningTimeInMillis = value; } /** *The number of milliseconds that Athena took to plan the query processing * flow. This includes the time spent retrieving table partitions from the data * source. Note that because the query engine performs the query planning, query * planning time is a subset of engine processing time.
*/ inline QueryExecutionStatistics& WithQueryPlanningTimeInMillis(long long value) { SetQueryPlanningTimeInMillis(value); return *this;} /** *The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.
*/ inline long long GetServiceProcessingTimeInMillis() const{ return m_serviceProcessingTimeInMillis; } /** *The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.
*/ inline bool ServiceProcessingTimeInMillisHasBeenSet() const { return m_serviceProcessingTimeInMillisHasBeenSet; } /** *The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.
*/ inline void SetServiceProcessingTimeInMillis(long long value) { m_serviceProcessingTimeInMillisHasBeenSet = true; m_serviceProcessingTimeInMillis = value; } /** *The number of milliseconds that Athena took to finalize and publish the query * results after the query engine finished running the query.
*/ inline QueryExecutionStatistics& WithServiceProcessingTimeInMillis(long long value) { SetServiceProcessingTimeInMillis(value); return *this;} /** *Contains information about whether previous query results were reused for the * query.
*/ inline const ResultReuseInformation& GetResultReuseInformation() const{ return m_resultReuseInformation; } /** *Contains information about whether previous query results were reused for the * query.
*/ inline bool ResultReuseInformationHasBeenSet() const { return m_resultReuseInformationHasBeenSet; } /** *Contains information about whether previous query results were reused for the * query.
*/ inline void SetResultReuseInformation(const ResultReuseInformation& value) { m_resultReuseInformationHasBeenSet = true; m_resultReuseInformation = value; } /** *Contains information about whether previous query results were reused for the * query.
*/ inline void SetResultReuseInformation(ResultReuseInformation&& value) { m_resultReuseInformationHasBeenSet = true; m_resultReuseInformation = std::move(value); } /** *Contains information about whether previous query results were reused for the * query.
*/ inline QueryExecutionStatistics& WithResultReuseInformation(const ResultReuseInformation& value) { SetResultReuseInformation(value); return *this;} /** *Contains information about whether previous query results were reused for the * query.
*/ inline QueryExecutionStatistics& WithResultReuseInformation(ResultReuseInformation&& value) { SetResultReuseInformation(std::move(value)); return *this;} private: long long m_engineExecutionTimeInMillis; bool m_engineExecutionTimeInMillisHasBeenSet = false; long long m_dataScannedInBytes; bool m_dataScannedInBytesHasBeenSet = false; Aws::String m_dataManifestLocation; bool m_dataManifestLocationHasBeenSet = false; long long m_totalExecutionTimeInMillis; bool m_totalExecutionTimeInMillisHasBeenSet = false; long long m_queryQueueTimeInMillis; bool m_queryQueueTimeInMillisHasBeenSet = false; long long m_queryPlanningTimeInMillis; bool m_queryPlanningTimeInMillisHasBeenSet = false; long long m_serviceProcessingTimeInMillis; bool m_serviceProcessingTimeInMillisHasBeenSet = false; ResultReuseInformation m_resultReuseInformation; bool m_resultReuseInformationHasBeenSet = false; }; } // namespace Model } // namespace Athena } // namespace Aws