-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Description
Migrated issue, originally created by Dobes Vandermeer (@dobesv)
I am trying to use the "baked query" pattern to reduce the time spent generating SQL, which currently is quite significant for our app.
One thing I can't seem to parameterize using a bindparam, however, is the limit on the query.
Although in #805 the limit was changed into a bindparam, this doesn't allow me to provide my own bindparam but rather always creates its own bindparam, assuming the limit I procide is a number already.
I think that if the places where currently it wraps a numeric limit into a bindparam using sql.literal() it would also check if limit was already a bindparam then it would be good.
Here's an example that can be pasted into the test suite:
def test_select_with_bindparam_limit(self):
"""Does a query allow bindparam for the limit?"""
sess = create_session()
users = []
q1 = sess.query(self.classes.User).order_by(self.classes.User.id).limit(sa.bindparam('n'))
for n in xrange(1,4):
users[:] = q1.params(n=n).all()
assert len(users) == n
Reactions are currently unavailable