[rt-users] search for tickets with Date or Told Not set
Richard McMahon
rgm at ast.cam.ac.uk
Fri Sep 23 04:03:17 EDT 2011
As suggested by Kevin I created an Issue in the RT issue system.
Following some dialogue within the issue system with
Ruslan Zakirov the following is a summary of the situation and
my proposed solution which might be of interest to others. I
would welcome comments and advice.
It looks like the Told time "incorrectly" IMHO has a default value of Null
whereas the other times have a default time of 1970-01-01 00:00:00 which
is Unix/Posix time = 0. This effects RT4 as well since the 'bug'
effects queries in RT on the Demo site.
There might be good reasons for the above feature.
I see two possible solutions:
(i) NULL support for Times in TicketSQL [mentioned by by Kevin Falcone]
This requires someone to do it and is not a breaking change.
(ii) Change the default value for Told time to be the same as
the other times. This might break existing scripts but is a short
term fix. It also makes all times the same.
I welcome opinions on this proposal below e.g. is it likely
to break other extensions e.g. SLA
Updating existing tickets
UPDATE tickets SET Told='1970-01-01 00:00:00' WHERE told is null;
This 'fixes' existing tickets.
This then changes the default in the Table:
ALTER TABLE Tickets COLUMN Told SET DEFAULT='1970-01-01 00:00:00'
Thanks Richard
On Fri, 9 Sep 2011, Kevin Falcone wrote:
> Date: Fri, 9 Sep 2011 11:21:34 -0400
> From: Kevin Falcone <falcone at bestpractical.com>
> Reply-To: rt-users at lists.bestpractical.com
> To: rt-users at lists.bestpractical.com
> Subject: Re: [rt-users] search for tickets with Date or Told Not set
>
> On Fri, Sep 09, 2011 at 03:34:28PM +0100, Richard McMahon wrote:
>> Hello,
>>
>> I would like to search for tickets with Last Contact: Not
>> set. i.e Told = 'Not set' or Told IS NULL in the query builder.
>>
>> Neither of the above return any tickets. This is an issues in RT 3.8
>> and I can reproduce the issues with the demo sites that run 4.0 and
>> 4.2.
>>
>> The issue is part of specific query which is intended to check for
>> tickets which have not had requestor contact for a week.
>>
>> i.e. Told < '-7 days'
>>
>> The above does not return the ticket where there has been no
>> contact with the requestor by the owner since Last Contact: Not set
>>
>> I have searched this list, wiki and google without success.
>
> As I believe I mentioned on #rt when you asked this question, the
> TicketSQL parser only accepts a few operators on Date fields.
>
> die "Invalid Date Op: $op"
> unless $op =~ /^(=|>|<|>=|<=)$/;
>
> If you read your logs, you should be seeing:
> [Fri Sep 9 15:19:08 2011] [error]: Invalid Date Op: IS
>
> You can file a feature request in the bug tracker:
> http://bestpractical.com/rt/issues.html
>
> -kevin
>
-------------------------------------------------------------------
Dr. Richard G. McMahon | Phone (office) 44-(0)-1223-337519
University of Cambridge | (switchboard) 1223-337548
Institute of Astronomy | (secretary) 1223-337516
Madingley Rd | FAX 1223-337523
Cambridge, CB3 OHA, UK. | mobile 7885-409019
Office: Hoyle 18 | home 1223-359770
-------------------------------------------------------------------
email: rgm at ast.cam.ac.uk | WWW: http://www.ast.cam.ac.uk/~rgm
richardgmcmahon at gmail.com | skype: richardgmcmahon
-------------------------------------------------------------------
More information about the rt-users
mailing list