Looks like a rails (ActiveRecord) issue to me. The offending code is

@down_count = Todo.count(
          :all, 
          :conditions => ['todos.user_id = ? and todos.state = ? and 
contexts.hide = ? AND (projects.state = ? OR todos.project_id IS NULL)', 
current_user.id, 'active', false, 'active'], 
          :order => "todos.due IS NULL, todos.due ASC, todos.created_at ASC", 
          :include => [ :project, :context ])

Which generates the SELECT count(DISTINCT todos.id) AS count_all FROM todos 

The construct with count(distinct xx) needs a GROUP BY clause for postgresql.

You could try to add
  :group => "todos.id" 
after the :include

or perhaps adding 
:select => "todos.id" before :conditions works?

I do not have postgresql, so I cannot test. Perhaps you can try this and report 
success/failure?

Thanks,

Reinier

Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens Walter Cruz
Verzonden: zondag 6 april 2008 16:02
Aan: [email protected]
Onderwerp: [Tracks-discuss] problem with postgres and version

HI all. I'm using revision 802, and my database is postgres.

When I try do add a task, I get a error and this is logged on the porducion log:

Processing TodosController#create (for 201.88.83.235 at 2008-04-06 11:00:17) 
[POST]
  Session ID: 9d559312abf1e6c73199342bf84498cc
  Parameters: {"action"=>"create", "todo"=>{"show_from"=>"", "notes"=>"Terminar 
e colocar online", "description"=>"Tradução 2.4.1", "due"=>""}, 
"project_name"=>"b2evolution", "controller"=>"todos", 
"default_context_name"=>"@Computador", "tag_list"=>"b2evolution", 
"context_name"=>"@Computador", "_source_view"=>"todo"}


ActiveRecord::StatementInvalid (RuntimeError: ERROR     C42803  Mcolumn 
"todos.due" must appear in the GROUP BY clause or be used in an aggregate 
function  Fparse_agg.c     L330    Rcheck_ungrouped_columns_walker: SELECT 
count(DISTINCT todos.id) AS count_all FROM todos  LEFT OUTER JOIN projects ON 
projects.id = todos.project_id  LEFT OUTER JOIN contexts ON contexts.id = 
todos.context_id WHERE (todos.user_id = 1 and todos.state = 'active' and 
contexts.hide = 'f' AND (projects.state = 'active' OR todos.project_id IS 
NULL))  ORDER BY todos.due IS NULL, todos.due ASC, todos.created_at ASC ):
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:128:in
 `log'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:152:in
 `execute'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:433:in
 `select'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:13:in
 `select_one'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:19:in
 `select_value'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/calculations.rb:212:in
 `execute_simple_calculation'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/calculations.rb:121:in
 `calculate'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/calculations.rb:117:in
 `catch'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/calculations.rb:117:in
 `calculate'
    
/home/walter/rails/tracks/vendor/rails/activerecord/lib/active_record/calculations.rb:45:in
 `count'
    /home/walter/rails/tracks/app/controllers/todos_controller.rb:448:in 
`determine_down_count'
    /home/walter/rails/tracks/lib/source_view.rb:17:in `method_missing'
    /home/walter/rails/tracks/app/controllers/todos_controller.rb:447:in 
`determine_down_count'
    /home/walter/rails/tracks/lib/source_view.rb:39:in `source_view'
    /home/walter/rails/tracks/app/controllers/todos_controller.rb:446:in 
`determine_down_count'
    /home/walter/rails/tracks/app/controllers/todos_controller.rb:74:in `create'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:135:in
 `call'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:135:in
 `custom'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:167:in
 `call'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:167:in
 `respond'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:161:in
 `each'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:161:in
 `respond'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:105:in
 `respond_to'
    /home/walter/rails/tracks/app/controllers/todos_controller.rb:62:in `create'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/base.rb:1101:in
 `send'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/base.rb:1101:in
 `perform_action_without_filters'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/filters.rb:696:in
 `call_filters'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/filters.rb:688:in
 `perform_action_without_benchmark'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:66:in
 `perform_action_without_rescue'
    /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:66:in
 `perform_action_without_rescue'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/rescue.rb:83:in
 `perform_action'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/base.rb:435:in
 `send'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/base.rb:435:in
 `process_without_filters'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/filters.rb:684:in
 `process_without_session_management_support'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/session_management.rb:114:in
 `process'
    
/home/walter/rails/tracks/vendor/rails/actionpack/lib/action_controller/base.rb:334:in
 `process'
    /home/walter/rails/tracks/vendor/rails/railties/lib/dispatcher.rb:41:in 
`dispatch'
    dispatch.cgi:10

Thanks!

[]'s
- Walter

_______________________________________________
Tracks-discuss mailing list
[email protected]
http://lists.rousette.org.uk/mailman/listinfo/tracks-discuss

Reply via email to