module Trino::Client::ModelVersions::V303::SemiJoinNode

Public Class Methods

decode(hash) click to toggle source
# File lib/trino/client/model_versions/303.rb, line 1814
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["source"] && PlanNode.decode(hash["source"]),
    hash["filteringSource"] && PlanNode.decode(hash["filteringSource"]),
    hash["sourceJoinSymbol"],
    hash["filteringSourceJoinSymbol"],
    hash["semiJoinOutput"],
    hash["sourceHashSymbol"],
    hash["filteringSourceHashSymbol"],
    hash["distributionType"] && hash["distributionType"].downcase.to_sym,
  )
  obj
end