Skip to content

Commit

Permalink
Merge branch 'reduce_when_needed' of git://github.com/balinterdi/rela…
Browse files Browse the repository at this point in the history
…xdb into balinterdi/reduce_when_neede
  • Loading branch information
paulcarey committed Aug 14, 2009
2 parents 531859d + e66ddfb commit 314ba09
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
2 changes: 1 addition & 1 deletion lib/relaxdb/all_delegator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def initialize(class_name, params)

def __getobj__
unless @objs
@objs = RelaxDB.view "#{@class_name}_all", @params
@objs = RelaxDB.view "#{@class_name}_all", @params.merge(:reduce => false)
end
@objs
end
Expand Down
6 changes: 3 additions & 3 deletions lib/relaxdb/document.rb
Original file line number Diff line number Diff line change
Expand Up @@ -538,11 +538,11 @@ def self.view_by *atts
define_method by_name do |*params|
view_name = "#{self.name}_#{by_name}"
if params.empty?
res = RelaxDB.view view_name, opts
res = RelaxDB.view view_name, opts.merge(:reduce => false)
elsif params[0].is_a? Hash
res = RelaxDB.view view_name, opts.merge(params[0])
res = RelaxDB.view view_name, opts.merge(params[0].merge(:reduce => false))
else
res = RelaxDB.view(view_name, :key => params[0]).first
res = RelaxDB.view(view_name, :key => params[0], :reduce => false).first
end
end
end
Expand Down
5 changes: 4 additions & 1 deletion lib/relaxdb/query.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@ class Query
def initialize(view_name, params = {})
# CouchDB defaults reduce to true when a reduce func is present
# but returning the map view is typically more useful
reduce(false)
# only adding the reduce parameter if explicitly required
# since views with no reduce function give an error if the reduce param is set, see
# http://mail-archives.apache.org/mod_mbox/couchdb-dev/200906.mbox/%3C189019856.1245587047338.JavaMail.jira@brutus%3E
reduce(params[:reduce]) unless params[:reduce].nil?

@view_name = view_name
params.each { |k, v| send(k, v) }
Expand Down

0 comments on commit 314ba09

Please sign in to comment.