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