From ba44475765a1eba6704febb65b75badf0ce13ae7 Mon Sep 17 00:00:00 2001 From: John Guo Date: Mon, 8 Dec 2025 14:54:26 +0800 Subject: [PATCH 1/2] Update contrib/drivers/pgsql/pgsql_do_insert.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- contrib/drivers/pgsql/pgsql_do_insert.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/drivers/pgsql/pgsql_do_insert.go b/contrib/drivers/pgsql/pgsql_do_insert.go index 570ac27c3..4134da659 100644 --- a/contrib/drivers/pgsql/pgsql_do_insert.go +++ b/contrib/drivers/pgsql/pgsql_do_insert.go @@ -34,7 +34,7 @@ func (d *Driver) DoInsert( return nil, gerror.WrapCode( gcode.CodeInternalError, err, - `failed to get primary keys for Replace operation`, + `failed to get primary keys for Save/Replace operation`, ) } foundPrimaryKey := false From 111f8b3264f9de7c5235d30929a3fb7b569ca7b8 Mon Sep 17 00:00:00 2001 From: John Guo Date: Mon, 8 Dec 2025 14:54:48 +0800 Subject: [PATCH 2/2] Update contrib/drivers/pgsql/pgsql_z_unit_upsert_test.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- contrib/drivers/pgsql/pgsql_z_unit_upsert_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/drivers/pgsql/pgsql_z_unit_upsert_test.go b/contrib/drivers/pgsql/pgsql_z_unit_upsert_test.go index aff3f7081..edefab632 100644 --- a/contrib/drivers/pgsql/pgsql_z_unit_upsert_test.go +++ b/contrib/drivers/pgsql/pgsql_z_unit_upsert_test.go @@ -219,8 +219,8 @@ func Test_FormatUpsert_NoOnConflict(t *testing.T) { }).Insert() t.AssertNil(err) - // Try Save without OnConflict - should fail for pgsql - // PostgreSQL requires OnConflict() for Save() operations, unlike MySQL + // Try Save without OnConflict and without primary key in data - should fail + // because driver cannot auto-detect conflict columns when primary key is missing _, err = db.Model(table).Data(g.Map{ // "id": 1, "passport": "no_conflict_user",