psycopg2 does not attempt to resolve parameters if none are passed:
sql = '''select cast('100%' as varchar) as expected'''
psycopg2_cursor.execute(sql)
I believe this is done so that the output of .mogrify() may be passed to .execute() without a second attempt to resolve parameters where '%' may be in the data.
momoko attempts to resolve parameters even if none are passed:
momoko_cursor = (yield db.execute(sql)) # fails
momoko_cursor = (yield db.execute(sql.replace('%', '%%')) # passes
psycopg2 does not attempt to resolve parameters if none are passed:
sql = '''select cast('100%' as varchar) as expected''' psycopg2_cursor.execute(sql)
I believe this is done so that the output of .mogrify() may be passed to .execute() without a second attempt to resolve parameters where '%' may be in the data.
momoko attempts to resolve parameters even if none are passed: momoko_cursor = (yield db.execute(sql)) # fails momoko_cursor = (yield db.execute(sql.replace('%', '%%')) # passes