Description
When creating a LakeFormation Data Cells Filter with a row filter expression that references a column of type timestamp, the API returns:
InvalidInputException: TIMESTAMP data type not supported for row level filter predicate.
This limitation is not documented in the AWS Lake Formation documentation for Data Cells Filters.
Reproduction
aws lakeformation create-data-cells-filter --region us-east-1 --table-data '{
"DatabaseName": "my_database",
"TableName": "my_table",
"Name": "time-restricted-filter",
"TableCatalogId": "123456789012",
"ColumnWildcard": {"ExcludedColumnNames": []},
"RowFilter": {"FilterExpression": "\"timestamp\" > '\''2026-05-01 00:00:00'\''"}
}'
Error:
An error occurred (InvalidInputException) when calling the CreateDataCellsFilter operation: TIMESTAMP data type not supported for row level filter predicate.
Context
- Table is an Apache Iceberg table in Glue Catalog
- Column
timestamp is of Glue type timestamp
- Filters on STRING columns (e.g.,
servicename <> 'foo') work correctly
- Tested with various timestamp expression syntaxes — all fail with the same error
Expressions tested (all fail)
"timestamp" > '2026-05-01 00:00:00'
timestamp > date_sub(current_date(), 30)
timestamp > cast(now() - interval 30 days as timestamp)
timestamp >= current_timestamp - interval '30' day
timestamp >= current_date() - INTERVAL 30 DAYS
Impact
This makes it impossible to implement time-based row-level access control using Data Cells Filters — a common use case for restricting access to older data that may contain PII per data retention policies.
Expected behavior
Row filter expressions should support TIMESTAMP columns, or at minimum this limitation should be documented clearly in the Data Cells Filters documentation.
Environment
- AWS CLI version: 2.x
- Region: us-east-1
- Table type: Apache Iceberg (Glue Catalog)
- LakeFormation hybrid access mode enabled
Description
When creating a LakeFormation Data Cells Filter with a row filter expression that references a column of type
timestamp, the API returns:This limitation is not documented in the AWS Lake Formation documentation for Data Cells Filters.
Reproduction
Error:
Context
timestampis of Glue typetimestampservicename <> 'foo') work correctlyExpressions tested (all fail)
"timestamp" > '2026-05-01 00:00:00'timestamp > date_sub(current_date(), 30)timestamp > cast(now() - interval 30 days as timestamp)timestamp >= current_timestamp - interval '30' daytimestamp >= current_date() - INTERVAL 30 DAYSImpact
This makes it impossible to implement time-based row-level access control using Data Cells Filters — a common use case for restricting access to older data that may contain PII per data retention policies.
Expected behavior
Row filter expressions should support TIMESTAMP columns, or at minimum this limitation should be documented clearly in the Data Cells Filters documentation.
Environment