Module: Trino::Client::ModelVersions::V0_178::OperatorInfo

Defined in:
lib/trino/client/model_versions/0.178.rb

Overview

Inner classes

Class Method Summary collapse

Class Method Details

.decode(hash) ⇒ Object



195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'lib/trino/client/model_versions/0.178.rb', line 195

def self.decode(hash)
  unless hash.is_a?(Hash)
    raise TypeError, "Can't convert #{hash.class} to Hash"
  end
  model_class = case hash["@type"]
    when "exchangeClientStatus"   then ExchangeClientStatus
    when "localExchangeBuffer"    then LocalExchangeBufferInfo
    when "tableFinish"            then TableFinishInfo
    when "splitOperator"          then SplitOperatorInfo
    when "hashCollisionsInfo"     then HashCollisionsInfo
    when "partitionedOutput"      then PartitionedOutputInfo
  end
  if model_class
     model_class.decode(hash)
  end
end