Edgewall Software
Modify

Opened 17 years ago

Closed 17 years ago

#5514 closed defect (duplicate)

Dynamic variable $USER gets double-quoted on Trac+MySQL

Reported by: xurizaemon Owned by: Matthew Good
Priority: normal Milestone:
Component: report system Version: 0.10.3.1
Severity: normal Keywords:
Cc: xurizaemon@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

The default reports contain references to dynamic variable $USER with queries like (report 6)

SELECT p.value AS __color__,
   t.milestone AS __group__,
   (CASE status 
      WHEN 'closed' THEN 'color: #777; background: #ddd; border-color: #ccc;'
      ELSE 
        (CASE owner WHEN '$USER' THEN 'font-weight: bold' END)
    END) AS __style__,
   id AS ticket, summary, component, status, 
   resolution,version, t.type AS type, priority, owner,
   changetime AS modified,
   time AS _time,reporter AS _reporter
  FROM ticket t
  LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
  ORDER BY (milestone IS NULL), milestone DESC, (status = 'closed'), 
        (CASE status WHEN 'closed' THEN modified ELSE (-1)*p.value END) DESC

This throws the error, Report execution failed: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'kris', ')' THEN 'font-weight: bold' END)\r\n END) AS style,\r\n id AS tic' at line 6")

By replacing '$USER' with $USER in the report query, the error disappears and the report works fine. It appears that this combination of Trac+Python+MySQL quotes the dynamic variables, leading to errors when the original queries using the extra quote are used.

  • Python 2.5.1c1 (release25-maint, Apr 12 2007, 21:00:25) [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
  • MySQL 5.0.38-Ubuntu_0ubuntu1-log Ubuntu 7.04 distribution
  • Trac 0.10.3-1
  • Ubuntu Feisty

(Apologies if this is a dupe, I did search and didn't find anything matching $USER and MySQL.)

Attachments (0)

Change History (1)

comment:1 by anonymous, 17 years ago

Resolution: duplicate
Status: newclosed

Apologies, this has been fixed already. #4387

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Matthew Good.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Matthew Good to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.