Edgewall Software

Ticket #5049: ticketquery_limit.patch

File ticketquery_limit.patch, 1.4 KB (added by karmadude@…, 22 months ago)

TracQuery Limit Patch

  • query.py

     
    4747class Query(object): 
    4848 
    4949    def __init__(self, env, report=None, constraints=None, cols=None, 
    50                  order=None, desc=0, group=None, groupdesc=0, verbose=0): 
     50                 order=None, desc=0, group=None, groupdesc=0, limit='0', verbose=0): 
    5151        self.env = env 
    5252        self.id = report # if not None, it's the corresponding saved query 
    5353        self.constraints = constraints or {} 
     
    5555        self.desc = desc 
    5656        self.group = group 
    5757        self.groupdesc = groupdesc 
     58        self.limit = limit 
    5859        self.verbose = verbose 
    5960        self.fields = TicketSystem(self.env).get_ticket_fields() 
    6061        field_names = [f['name'] for f in self.fields] 
     
    7778 
    7879    def from_string(cls, env, req, string, **kw): 
    7980        filters = string.split('&') 
    80         kw_strs = ['order', 'group'] 
     81        kw_strs = ['order', 'group', 'limit'] 
    8182        kw_bools = ['desc', 'groupdesc', 'verbose'] 
    8283        constraints = {} 
    8384        cols = [] 
     
    426427                sql.append(",") 
    427428        if self.order != 'id': 
    428429            sql.append(",t.id") 
     430             
     431        # Limit number of records 
     432        if self.limit != '0': 
     433            sql.append("\nLIMIT " + self.limit)         
    429434 
    430435        return "".join(sql), args 
    431436