MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / mergeActionSQL

Function mergeActionSQL

pkg/sql/ast/sql.go:1569–1604  ·  view source on GitHub ↗
(a *MergeAction)

Source from the content-addressed store, hash-verified

1567}
1568
1569func mergeActionSQL(a *MergeAction) string {
1570 switch a.ActionType {
1571 case "UPDATE":
1572 sets := make([]string, len(a.SetClauses))
1573 for i, s := range a.SetClauses {
1574 sets[i] = s.Column + " = " + exprSQL(s.Value)
1575 }
1576 return "UPDATE SET " + strings.Join(sets, ", ")
1577 case "INSERT":
1578 var sb strings.Builder
1579 sb.WriteString("INSERT")
1580 if a.DefaultValues {
1581 sb.WriteString(" DEFAULT VALUES")
1582 } else {
1583 if len(a.Columns) > 0 {
1584 sb.WriteString(" (")
1585 sb.WriteString(strings.Join(a.Columns, ", "))
1586 sb.WriteString(")")
1587 }
1588 if len(a.Values) > 0 {
1589 sb.WriteString(" VALUES (")
1590 vals := make([]string, len(a.Values))
1591 for i, v := range a.Values {
1592 vals[i] = exprSQL(v)
1593 }
1594 sb.WriteString(strings.Join(vals, ", "))
1595 sb.WriteString(")")
1596 }
1597 }
1598 return sb.String()
1599 case "DELETE":
1600 return "DELETE"
1601 default:
1602 return a.ActionType
1603 }
1604}
1605
1606// ToSQL returns the SQL string for CREATE SEQUENCE.
1607func (s *CreateSequenceStatement) ToSQL() string {

Callers 1

SQLMethod · 0.85

Calls 2

exprSQLFunction · 0.70
StringMethod · 0.45

Tested by

no test coverage detected