- Timestamp:
- 11/17/08 13:28:38 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
activerdf-1.6.10/lib/active_rdf/federation/federation_manager.rb
r146 r151 30 30 # and aggregating the results 31 31 def FederationManager.query(q, options={:flatten => true}) 32 32 33 33 if ConnectionPool.read_adapters.empty? 34 34 raise ActiveRdfError, "cannot execute query without data sources" … … 38 38 # and yield them consequtively 39 39 if block_given? 40 ConnectionPool.read_adapters.each do |source| 41 40 ConnectionPool.read_adapters.each do |source| 42 41 source.query(q) do |*clauses| 43 42 yield(*clauses) … … 50 49 # were filtered out when doing results.union) 51 50 results = [] 52 ConnectionPool.read_adapters.each do |source| 53 51 ConnectionPool.read_adapters.each do |source| 54 52 source_results = source.query(q) 55 53 source_results.each do |clauses| 56 54 results << clauses 57 end58 55 end 59 56 end 57 60 58 # filter the empty results 61 59 results.reject {|ary| ary.empty? } … … 70 68 # to prevent unnecessarily nested array [[eyal],[renaud],...] 71 69 results.flatten! if q.select_clauses.size == 1 or q.ask? 72 70 73 71 # remove array (return single value or nil) if asked to 74 72 if options[:flatten] or q.count?
