Transforming data during a load: Disallow using MATCH_BY_COLUMN_NAME with a SELECT statement

Attention

This behavior change is in the 2024_02 bundle.

For the current status of the bundle, refer to Bundle History.

Using COPY with MATCH_BY_COLUMN_NAME is still a recommended approach. This behavior change only fixes a corner case where the behavior of transforming data during a load is undefined.

Use of the MATCH_BY_COLUMN_NAME copy option and a SELECT statement for transforming data during a load behaves as follows:

Before the change:

You are allowed to use the MATCH_BY_COLUMN_NAME copy option with a SELECT statement for transforming data during a load in certain cases. However, these cases may result in undefined behavior.

After the change:

You are not allowed to use the MATCH_BY_COLUMN_NAME copy option with a SELECT statement for transforming data during a load in all cases. These two options can still be used separately, but cannot be used together. Any attempt to do so will result in the following error: SQL compilation error: match_by_column_name is not supported with copy transform.

Ref: 1514