We made a big change in how we substituted variables in 0.23 to close out possible SQL injection attacks. We ratcheted things down pretty tightly, as with public links/embedding, the consequences of a template allowing arbitrary strings to be inserted anywhere in the template got much higher. Eg before, the worst that could happen if you or other sql writer made a mistake is that one of your users could see data they weren’t allowed to. With remote access, the worst case would have been that someone without an account could access your data. To close this out, we’re now treating all sql template parameters as actual parameters in the sql connection. What this means is that what you’re inserting as a variable needs to be a sql value (eg, “123”), and sql snippets (eg “JOIN user”) are no longer allowed.
Longwinded explanation aside, I’m not sure what’s going on with that query. I replicated a similar query against the sample dataset
select count(*)
from orders
where 1=1
[[and user_id = {{uid}}]]
[[and product_id = {{pid}}]]
and it worked as expected in that I could enter zero, both or either parameters. One thing that I don’t understand is why you’re doing