diff --git a/postgres/clause.go b/postgres/clause.go index 0953e268..b5b121e6 100644 --- a/postgres/clause.go +++ b/postgres/clause.go @@ -44,7 +44,7 @@ func (o *onConflictClause) DO_UPDATE(action conflictAction) InsertStatement { } func (o *onConflictClause) Serialize(statementType jet.StatementType, out *jet.SQLBuilder, options ...jet.SerializeOption) { - if len(o.indexExpressions) == 0 && o.constraint == "" { + if len(o.indexExpressions) == 0 && o.constraint == "" && o.do != jet.Keyword("DO NOTHING") { return } diff --git a/postgres/clause_test.go b/postgres/clause_test.go index 28be3152..54fe4766 100644 --- a/postgres/clause_test.go +++ b/postgres/clause_test.go @@ -8,7 +8,8 @@ func TestOnConflict(t *testing.T) { onConflict := &onConflictClause{} onConflict.DO_NOTHING() - assertClauseSerialize(t, onConflict, "") + assertClauseSerialize(t, onConflict, ` +ON CONFLICT DO NOTHING`) onConflict = &onConflictClause{indexExpressions: ColumnList{table1ColBool}} onConflict.DO_NOTHING()