fix bad-caching of datetime with tz info at sql generation time
There is a special handling for datetime with tzinfo, where value was stored in
the query cache. The implementation of merge_args was simply overwriting
parameters of the query with those in the query cache, expecting no collision.
To fix this:
* handle replacement of tzinfo in merge_args, not at sql generation time
* add an assertion to ensure we've actually no collision
Closes #6978316
if not rql('CWConstraintType X WHERE X name "RQLUniqueConstraint"',
ask_confirm=False):
rql('INSERT CWConstraintType X: X name "RQLUniqueConstraint"',
ask_confirm=False)