Hi, I tested the v10 patch series further on current PostgreSQL HEAD.
The patches applied successfully on my side, and the build/install completed without issues. I initialized a fresh cluster and verified that the built-in composite type copy_error_saving is created correctly during initdb. I re-tested the COPY functionality using malformed input data and confirmed that valid rows continue loading successfully while invalid rows are redirected into ERROR_TABLE with detailed metadata. I also tried a few additional edge cases. The self-reference protection works correctly. The following case correctly errors out: COPY err_tbl FROM STDIN WITH ( ON_ERROR table, ERROR_TABLE err_tbl ); with: cannot use relation "err_tbl" for COPY error saving while copying data to it I additionally tested ERROR_TABLE behavior with a BEFORE INSERT trigger attached to err_tbl. >From my testing, COPY still succeeds and malformed rows continue to be inserted into err_tbl even when triggers are present on the ERROR_TABLE. The trigger function also appears to execute normally during error row insertion. For example, using a trigger function with RAISE NOTICE produced: NOTICE: trigger fired for each malformed row redirected into err_tbl. Since the patch comments mention restrictions around triggers for ERROR_TABLE, I was not sure whether this current behavior is intentional or whether the trigger restriction checks are still incomplete. Overall, the executor-based integration in v10 feels cleaner and easier to follow compared to the earlier versions. Regards, Solaimurugan
