You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support Amazon S3 Tables in the SQLAlchemy dialect
Athena exposes S3 Tables through a catalog named
s3tablescatalog/<table-bucket> whose namespace is the database, and such
tables use managed storage. Athena rejects a three-part
catalog.namespace.table identifier in DDL ("Unsupported ddl with 2
catalogs"), so the catalog is selected on the connection via
catalog_name and the namespace is used as the table schema.
- Omit the LOCATION clause for Iceberg tables when the connection
catalog_name names an S3 Tables catalog (managed storage), instead of
raising or building an s3_staging_dir fallback.
- Add no-AWS compiler unit tests and AWS-gated E2E tests (CREATE TABLE,
partition transform, CTAS with is_external=false), an S3 Tables docs
section, and optional AWS_ATHENA_S3_TABLES_* test env vars.
- Provision the S3 Tables test infrastructure in CloudFormation: table
bucket, namespace, the federated s3tablescatalog Glue catalog
(IAM-based access), OIDC-role IAM permissions, and 1-day unreferenced
file removal to bound storage cost. Wire the env vars into the test
workflow.
- Import the existing S3 staging bucket into the CloudFormation stack
with DeletionPolicy: Retain, capturing its lifecycle, encryption,
ownership, and public-access settings (drift-free import).
Refs #710
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments