Sha256: 568fcec50ff3ec87e0e80149395367993a61a9cffe1c41ea7f3565ad74cc23da
Contents?: true
Size: 822 Bytes
Versions: 3
Compression:
Stored size: 822 Bytes
Contents
module Cmap; class GraphToSql attr_reader :table_name, :schema_name, :graph, :subquery_gsubs def initialize(table_name, schema_name, graph, subquery_gsubs = []) @table_name = table_name @schema_name = schema_name @graph = graph @subquery_gsubs = subquery_gsubs end def queries sorted_grouped_edges.inject([]) do |memo, (_, edges)| memo += (EdgesToQueries.new(edges, table_name, schema_name, subquery_expander).queries) memo end end private def subquery_expander SubqueryExpander.new(table_name: table_name, schema_name: schema_name, subquery_gsubs: subquery_gsubs) end def sorted_grouped_edges Hash[grouped_edges.sort] end def grouped_edges graph.edges.group_by {|e| graph.longest_path(table_name, e.destination_vertex).length} end end; end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cmap-0.6.0 | lib/cmap/graph_to_sql.rb |
cmap-0.5.0 | lib/cmap/graph_to_sql.rb |
cmap-0.4.0 | lib/cmap/graph_to_sql.rb |