#721: Crash when clicking on username
-----------------------+--------------------
 Reporter:  joat       |      Owner:  nobody
     Type:  defect     |     Status:  new
 Priority:  major      |  Milestone:
Component:  trac core  |    Version:  0.7.0
 Keywords:             |
-----------------------+--------------------
 When on a ticket, clicking on a username (after Reported by:, Owned by:,
 whatever) crashes with:
 {{{
 Trac detected an internal error:
 ProgrammingError: column t.product does not exist LINE 1: ...ECT COUNT(*)
 FROM (SELECT DISTINCT * FROM (SELECT t.product ... ^
 }}}
 debug_sql doesn't log the statement in this case so I extracted it from PG
 logs:
 {{{
 SELECT COUNT(*) FROM (SELECT DISTINCT * FROM (SELECT t.product AS
 product,t.id AS id,t.summary AS summary,t.status AS status,t.owner AS
 owner,t.type AS type,t.priority AS priority,t.milestone AS
 milestone,t.time AS time,t.changetime AS changetime,t.reporter AS
 reporter,priority.value AS priority_value
         FROM ticket AS t
           LEFT OUTER JOIN enum AS priority ON (priority.type='priority'
 AND priority.name=priority)
         WHERE ((COALESCE(t.status,'')!=E'closed') AND
 (COALESCE(t.reporter,'')=E'chrusch'))
         ORDER BY COALESCE(priority.value,'')='',CAST(priority.value AS
 int),t.id) AS subquery) AS x
 }}}
 Python traceback:
 {{{
 File "/usr/local/bloodhound/trac/trac/web/main.py", line 477, in
 _dispatch_request
   dispatcher.dispatch(req)
 File "/usr/local/bloodhound/trac/trac/web/main.py", line 214, in dispatch
   resp = chosen_handler.process_request(req)
 File "/usr/local/bloodhound/trac/trac/ticket/query.py", line 968, in
 process_request
   return self.display_html(req, query)
 File "/usr/local/bloodhound/trac/trac/ticket/query.py", line 1066, in
 display_html
   tickets = query.execute(req)
 File
 "/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/ticket/query.py",
 line 103, in execute
   self.num_items = self._count(sql, args)
 File
 "/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/ticket/query.py",
 line 61, in _count
   % sql, args)[0][0]
 File
 "/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/dbcursor.py",
 line 185, in __call__
   return self.db_context(*args, **kwargs)
 File "/usr/local/bloodhound/trac/trac/db/api.py", line 122, in execute
   return db.execute(query, params)
 File "/usr/local/bloodhound/trac/trac/db/util.py", line 121, in execute
   cursor.execute(query, params)
 File
 "/usr/local/bloodhound/bloodhound_multiproduct/multiproduct/dbcursor.py",
 line 85, in execute
   return super(BloodhoundIterableCursor,
 self).execute(translate_sql(self.env, sql), args=args)
 File "/usr/local/bloodhound/trac/trac/db/util.py", line 54, in execute
   r = self.cursor.execute(sql_escape_percent(sql), args)
 }}}
 System Information:

 User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,
 like Gecko) Chrome/31.0.1650.57 Safari/537.36

 Babel   0.9.6
 Genshi  0.6.1 (without speedups)
 GIT     1.7.1
 mod_wsgi        3.2 (WSGIProcessGroup bh_tracker WSGIApplicationGroup
 %{GLOBAL})
 psycopg2        2.0.14
 Pygments        1.6
 jQuery  1.7.2

 t refers to the ticket table and in my database the column "product"
 indeed doesn't exist:
 {{{
 bloodhound=# \d ticket
                             Table "public.ticket"
    Column    |  Type   |                      Modifiers
 -------------+---------+-----------------------------------------------------
  id          | integer | not null default
 nextval('ticket_id_seq'::regclass)
  type        | text    |
  time        | bigint  |
  changetime  | bigint  |
  component   | text    |
  severity    | text    |
  priority    | text    |
  owner       | text    |
  reporter    | text    |
  cc          | text    |
  version     | text    |
  milestone   | text    |
  status      | text    |
  resolution  | text    |
  summary     | text    |
  description | text    |
  keywords    | text    |
 }}}

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/721>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker

Reply via email to