Ticket #7559 (new defect)

Opened 1 year ago

Last modified 1 year ago

SQL query messed up

Reported by: dnedelchev Assigned to: XayOn
Priority: high Component: TicketBackLinksMacro
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description

If you write the following in a wiki page:

see #1 and #2 and #3, probably #4; maybe #5- and #6
#7:eventually
ticket:8, ticket:9 and [ticket:10] ?

then only tickets 2 and 10 would be detected by the macro. The reason is the quiery is only for tickets referred in the following form:

  • '#3 ' (i.e. a trailing space is mandatory!)
  • '[ticket:3]' (i.e. a trailing space is mandatory!)

If the trailing space as well as enveloping brackets are just removed, all tickets except ticket 1 are detected. But then references like these:

  • other_trac:#3
  • other_trac:ticket:3

will also be detected while they obviously shouldn't be.
(I didn't investigated yet why ticket 1 is handled different - in some cases it's missed when other tickets referenced in the same form are detected normally)

In short: I think the SQL query have to be rewritten from the beginning since I think it should be made much more clean.
I'll try to un-ravel it a bit more if I have time but I'm not too much in that matter and I'm sure someone else can do it much better than me.

(see also #7299)

Attachments

Change History

08/27/10 20:18:01 changed by dnedelchev

Ticket 1 is not different, my test page also contained reference to ticket 123 etc. and the LIKE operator can not be set precisely... The second condition (NOT LIKE) evaluates true because #123 is found along the #1 in the same wiki page...
I'm not sure the LIKE operator is suitable for the intended purpose. If REGEXP was implemented it would be trivial but it's not (and even worse - not expected to be done soon: trac:#8914).


Add/Change #7559 (SQL query messed up)




Change Properties
Action