commonMain.aws.sdk.kotlin.services.athena.serde.QueryExecutionStatisticsDocumentDeserializer.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of athena-jvm Show documentation
Show all versions of athena-jvm Show documentation
The AWS SDK for Kotlin client for Athena
The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.athena.serde
import aws.sdk.kotlin.services.athena.model.QueryExecutionStatistics
import aws.smithy.kotlin.runtime.serde.Deserializer
import aws.smithy.kotlin.runtime.serde.SdkFieldDescriptor
import aws.smithy.kotlin.runtime.serde.SdkObjectDescriptor
import aws.smithy.kotlin.runtime.serde.SerialKind
import aws.smithy.kotlin.runtime.serde.asSdkSerializable
import aws.smithy.kotlin.runtime.serde.deserializeList
import aws.smithy.kotlin.runtime.serde.deserializeMap
import aws.smithy.kotlin.runtime.serde.deserializeStruct
import aws.smithy.kotlin.runtime.serde.field
import aws.smithy.kotlin.runtime.serde.json.JsonDeserializer
import aws.smithy.kotlin.runtime.serde.json.JsonSerialName
import aws.smithy.kotlin.runtime.serde.serializeList
import aws.smithy.kotlin.runtime.serde.serializeMap
import aws.smithy.kotlin.runtime.serde.serializeStruct
internal fun deserializeQueryExecutionStatisticsDocument(deserializer: Deserializer): QueryExecutionStatistics {
val builder = QueryExecutionStatistics.Builder()
val DATAMANIFESTLOCATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.String, JsonSerialName("DataManifestLocation"))
val DATASCANNEDINBYTES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("DataScannedInBytes"))
val ENGINEEXECUTIONTIMEINMILLIS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("EngineExecutionTimeInMillis"))
val QUERYPLANNINGTIMEINMILLIS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("QueryPlanningTimeInMillis"))
val QUERYQUEUETIMEINMILLIS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("QueryQueueTimeInMillis"))
val RESULTREUSEINFORMATION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, JsonSerialName("ResultReuseInformation"))
val SERVICEPREPROCESSINGTIMEINMILLIS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("ServicePreProcessingTimeInMillis"))
val SERVICEPROCESSINGTIMEINMILLIS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("ServiceProcessingTimeInMillis"))
val TOTALEXECUTIONTIMEINMILLIS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Long, JsonSerialName("TotalExecutionTimeInMillis"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(DATAMANIFESTLOCATION_DESCRIPTOR)
field(DATASCANNEDINBYTES_DESCRIPTOR)
field(ENGINEEXECUTIONTIMEINMILLIS_DESCRIPTOR)
field(QUERYPLANNINGTIMEINMILLIS_DESCRIPTOR)
field(QUERYQUEUETIMEINMILLIS_DESCRIPTOR)
field(RESULTREUSEINFORMATION_DESCRIPTOR)
field(SERVICEPREPROCESSINGTIMEINMILLIS_DESCRIPTOR)
field(SERVICEPROCESSINGTIMEINMILLIS_DESCRIPTOR)
field(TOTALEXECUTIONTIMEINMILLIS_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
DATAMANIFESTLOCATION_DESCRIPTOR.index -> builder.dataManifestLocation = deserializeString()
DATASCANNEDINBYTES_DESCRIPTOR.index -> builder.dataScannedInBytes = deserializeLong()
ENGINEEXECUTIONTIMEINMILLIS_DESCRIPTOR.index -> builder.engineExecutionTimeInMillis = deserializeLong()
QUERYPLANNINGTIMEINMILLIS_DESCRIPTOR.index -> builder.queryPlanningTimeInMillis = deserializeLong()
QUERYQUEUETIMEINMILLIS_DESCRIPTOR.index -> builder.queryQueueTimeInMillis = deserializeLong()
RESULTREUSEINFORMATION_DESCRIPTOR.index -> builder.resultReuseInformation = deserializeResultReuseInformationDocument(deserializer)
SERVICEPREPROCESSINGTIMEINMILLIS_DESCRIPTOR.index -> builder.servicePreProcessingTimeInMillis = deserializeLong()
SERVICEPROCESSINGTIMEINMILLIS_DESCRIPTOR.index -> builder.serviceProcessingTimeInMillis = deserializeLong()
TOTALEXECUTIONTIMEINMILLIS_DESCRIPTOR.index -> builder.totalExecutionTimeInMillis = deserializeLong()
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}