module Trino::Client::ModelVersions::V351::TaskStatus

Public Class Methods

decode(hash) click to toggle source
# File lib/trino/client/model_versions/351.rb, line 2510
def decode(hash)
  unless hash.is_a?(Hash)
    raise TypeError, "Can't convert #{hash.class} to Hash"
  end
  obj = allocate
  obj.send(:initialize_struct,
    hash["taskId"] && TaskId.new(hash["taskId"]),
    hash["taskInstanceId"],
    hash["version"],
    hash["state"] && hash["state"].downcase.to_sym,
    hash["self"],
    hash["nodeId"],
    hash["completedDriverGroups"] && hash["completedDriverGroups"].map {|h| Lifespan.new(h) },
    hash["failures"] && hash["failures"].map {|h| ExecutionFailureInfo.decode(h) },
    hash["queuedPartitionedDrivers"],
    hash["runningPartitionedDrivers"],
    hash["outputBufferOverutilized"],
    hash["physicalWrittenDataSize"],
    hash["memoryReservation"],
    hash["systemMemoryReservation"],
    hash["revocableMemoryReservation"],
    hash["fullGcCount"],
    hash["fullGcTime"],
    hash["dynamicFiltersVersion"],
  )
  obj
end