module Presto::Client::ModelVersions::V0_205::JoinNode

Public Class Methods

decode(hash) click to toggle source
# File lib/presto/client/model_versions/0.205.rb, line 903
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["id"],
    hash["type"],
    hash["left"] && PlanNode.decode(hash["left"]),
    hash["right"] && PlanNode.decode(hash["right"]),
    hash["criteria"] && hash["criteria"].map {|h| EquiJoinClause.decode(h) },
    hash["outputSymbols"],
    hash["filter"],
    hash["leftHashSymbol"],
    hash["rightHashSymbol"],
    hash["distributionType"] && hash["distributionType"].downcase.to_sym,
  )
  obj
end