agrestio / agrest

Server-side Java REST Framework for easy access to data graphs from various backends
https://agrest.io
Apache License 2.0
80 stars 34 forks source link

Exp: regression in processing `(not)in` with empty list #681

Open stariy95 opened 2 months ago

stariy95 commented 2 months ago

After introducing own exp parser we broke usage of (not)in expression with an empty argument list, like in cayenneExp: {"exp":"id in $ids","params":{"ids":[]}} Before it relied on Cayenne to optimize this to just false, now it fails with incorrect SQL generated: id in ()

There's a room for optimization on Cayenne side (see CAY-2860) but for now it should be fixed in Agrest.