88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/presto/client/models.rb', line 88
def self.decode(hash)
model_class = case hash["type"]
when "output" then OutputNode
when "project" then ProjectNode
when "tablescan" then TableScanNode
when "values" then ValuesNode
when "aggregation" then AggregationNode
when "markDistinct" then MarkDistinctNode
when "materializeSample" then MaterializeSampleNode
when "filter" then FilterNode
when "window" then WindowNode
when "limit" then LimitNode
when "distinctlimit" then DistinctLimitNode
when "topn" then TopNNode
when "sample" then SampleNode
when "sort" then SortNode
when "exchange" then ExchangeNode
when "sink" then SinkNode
when "join" then JoinNode
when "INNER" then JoinNode
when "LEFT" then JoinNode
when "RIGHT" then JoinNode
when "CROSS" then JoinNode
when "semijoin" then SemiJoinNode
when "indexjoin" then IndexJoinNode
when "indexsource" then IndexSourceNode
when "tablewriter" then TableWriterNode
when "tablecommit" then TableCommitNode
end
model_class.decode(hash) if model_class
end
|