Commit 9928f50
committed
fix(upsert): run join-column type rejection before schema compat check
A pa.null() source column was being rejected by
_check_pyarrow_schema_compatible (format-version=2 forbids null) before the
join-column validation could surface the intended "Null-type column ...
cannot be used as a join key" error. Reordering the checks lets the
upsert-specific rejection fire first, giving users the actionable message.
Dataframe-level checks now skip columns that are absent from the source so
the pre-existing _check_pyarrow_schema_compatible path still owns the
"PyArrow table contains more columns" error in test_key_cols_misaligned.1 parent fe60c97 commit 9928f50
1 file changed
Lines changed: 13 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
784 | 784 | | |
785 | 785 | | |
786 | 786 | | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | | - | |
791 | | - | |
792 | | - | |
793 | | - | |
794 | | - | |
795 | 787 | | |
| 788 | + | |
796 | 789 | | |
797 | 790 | | |
798 | 791 | | |
| |||
809 | 802 | | |
810 | 803 | | |
811 | 804 | | |
812 | | - | |
813 | | - | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
814 | 809 | | |
815 | 810 | | |
816 | 811 | | |
| |||
823 | 818 | | |
824 | 819 | | |
825 | 820 | | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
826 | 829 | | |
827 | 830 | | |
828 | 831 | | |
| |||
0 commit comments