Unary operators does not escape non-Expression
This can be used to inject SQL.
For example:
>>> str(And([Literal(True), 'foo']))
'(%s AND foo)'
should be
>>> str(And([Literal(True), 'foo']))
'(%s AND %s)'
This can be used to inject SQL.
For example:
>>> str(And([Literal(True), 'foo']))
'(%s AND foo)'
should be
>>> str(And([Literal(True), 'foo']))
'(%s AND %s)'