v.23.9Improvement

Forbid Special Columns for File and URL Storages and Fix Inserts into Ephemeral Columns

Forbid special columns like materialized/ephemeral/alias for file/s3/url/... storages, fix insert into ephemeral columns from files. Closes #53477. #54803 (Kruglov Pavel).
Restrict usage of special columns (materialized, ephemeral, alias) in file-based and URL-based table engines.

Why it matters

This feature prevents the use of special columns such as materialized, ephemeral, and alias columns in tables that use storage engines like file, s3, and url. It also fixes issues related to inserting data into ephemeral columns from file sources. This ensures data consistency and avoids incorrect behavior or errors when working with file-based external storages.

How to use it

This change is applied automatically in ClickHouse. Users should avoid defining materialized, ephemeral, or alias columns in tables that utilize file or URL-based engines (file, s3, url, etc.). Inserts into ephemeral columns from file sources now work correctly without additional user intervention.