I have a paritioned table in Athena that uses dynamic partition projection. I enabled this using the following 2 table properties:
'projection.latlong.type'='injected',
'storage.location.template'='s3://my_bucket/prefix/latlong=${latlong}'
Running a static select query specifying the filter on latlong
partition key works just fine, e.g. :
SELECT count(*) FROM dtx_injected where latlong in ('50.076678_-5.235831', '50.100533_-5.259398')
However trying to build a dynamic list results in an error, where the minimal reproducible example is as folows:
SELECT count(*) FROM dtx_injected where latlong in (select '50.076678_-5.235831' union select '50.100533_-5.259398')
The error I get is the same as not providing a filter at all when trying to query a table that is setup with a dynamic projection.
CONSTRAINT_VIOLATION: Injected projected partition column latlong must have only (and at least one) equality conditions in the WHERE clause!
Has anynone encountered this issue and know the solution to this problem? I'm using Athena engine version 3 if that helps.