lib/conceptql/nodes/casting_node.rb in conceptql-0.0.5 vs lib/conceptql/nodes/casting_node.rb in conceptql-0.0.6

- old
+ new

@@ -65,21 +65,23 @@ unless to_me_types.empty? # For each castable type in the stream, setup a query that # casts each type to a set of IDs, union those IDs and fetch # them from the source table - castable_type_queries = to_me_types.map do |source_type| + castable_type_query = to_me_types.map do |source_type| source_ids = db.from(stream_query) .where(criterion_type: source_type.to_s) .select_group(:criterion_id) source_table = make_table_name(source_type) source_type_id = type_id(source_type) db.from(source_table) .where(source_type_id => source_ids) .select(destination_type_id) + end.inject do |union_query, q| + union_query.union(q) end - wheres << Sequel.expr(destination_type_id => castable_type_queries) + wheres << Sequel.expr(destination_type_id => castable_type_query) end unless from_me_types.empty? from_me_types.each do |from_me_type| fk_type_id = type_id(from_me_type)