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

Function tableConstraintSQL

pkg/sql/ast/sql.go:1494–1526  ·  view source on GitHub ↗
(tc *TableConstraint)

Source from the content-addressed store, hash-verified

1492}
1493
1494func tableConstraintSQL(tc *TableConstraint) string {
1495 sb := getBuilder()
1496 defer putBuilder(sb)
1497 if tc.Name != "" {
1498 sb.WriteString("CONSTRAINT ")
1499 sb.WriteString(tc.Name)
1500 sb.WriteString(" ")
1501 }
1502 switch tc.Type {
1503 case "PRIMARY KEY":
1504 sb.WriteString("PRIMARY KEY (")
1505 sb.WriteString(strings.Join(tc.Columns, ", "))
1506 sb.WriteString(")")
1507 case "UNIQUE":
1508 sb.WriteString("UNIQUE (")
1509 sb.WriteString(strings.Join(tc.Columns, ", "))
1510 sb.WriteString(")")
1511 case "FOREIGN KEY":
1512 sb.WriteString("FOREIGN KEY (")
1513 sb.WriteString(strings.Join(tc.Columns, ", "))
1514 sb.WriteString(") ")
1515 if tc.References != nil {
1516 sb.WriteString(referenceSQL(tc.References))
1517 }
1518 case "CHECK":
1519 sb.WriteString("CHECK (")
1520 sb.WriteString(exprSQL(tc.Check))
1521 sb.WriteString(")")
1522 default:
1523 sb.WriteString(tc.Type)
1524 }
1525 return sb.String()
1526}
1527
1528func referenceSQL(r *ReferenceDefinition) string {
1529 sb := getBuilder()

Callers 2

SQLMethod · 0.70
alterActionSQLFunction · 0.70

Calls 5

getBuilderFunction · 0.85
putBuilderFunction · 0.85
referenceSQLFunction · 0.70
exprSQLFunction · 0.70
StringMethod · 0.45

Tested by

no test coverage detected