avoid ambiguous column references in certain history queries

This commit is contained in:
Mike McLean 2011-04-12 15:47:52 -04:00
parent 2038dc1cd6
commit 238332802d

View file

@ -5145,9 +5145,11 @@ def query_history(tables=None, **kwargs):
#clauses.append('EXTRACT(EPOCH FROM ev1.time) > %(after)s OR EXTRACT(EPOCH FROM ev2.time) > %(after)s') #clauses.append('EXTRACT(EPOCH FROM ev1.time) > %(after)s OR EXTRACT(EPOCH FROM ev2.time) > %(after)s')
elif arg == 'afterEvent': elif arg == 'afterEvent':
data['afterEvent'] = value data['afterEvent'] = value
clauses.append('create_event > %(afterEvent)i OR revoke_event > %(afterEvent)i') c_test = '%s.create_event > %%(afterEvent)i' % table
fields['create_event > %(afterEvent)i'] = '_created_after_event' r_test = '%s.revoke_event > %%(afterEvent)i' % table
fields['revoke_event > %(afterEvent)i'] = '_revoked_after_event' clauses.append(' OR '.join([c_test, r_test]))
fields[c_test] = '_created_after_event'
fields[r_test] = '_revoked_after_event'
elif arg == 'before': elif arg == 'before':
if not isinstance(value, basestring): if not isinstance(value, basestring):
value = datetime.datetime.fromtimestamp(value).isoformat(' ') value = datetime.datetime.fromtimestamp(value).isoformat(' ')
@ -5158,9 +5160,11 @@ def query_history(tables=None, **kwargs):
fields['ev2.time < %(before)s'] = '_revoked_before' fields['ev2.time < %(before)s'] = '_revoked_before'
elif arg == 'beforeEvent': elif arg == 'beforeEvent':
data['beforeEvent'] = value data['beforeEvent'] = value
clauses.append('create_event < %(beforeEvent)i OR revoke_event < %(beforeEvent)i') c_test = '%s.create_event < %%(beforeEvent)i' % table
fields['create_event < %(beforeEvent)i'] = '_created_before_event' r_test = '%s.revoke_event < %%(beforeEvent)i' % table
fields['revoke_event < %(beforeEvent)i'] = '_revoked_before_event' clauses.append(' OR '.join([c_test, r_test]))
fields[c_test] = '_created_before_event'
fields[r_test] = '_revoked_before_event'
if skip: if skip:
continue continue
fields, aliases = zip(*fields.items()) fields, aliases = zip(*fields.items())