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

Function TestTableConstraintSQL

pkg/sql/ast/sql_coverage_test.go:446–464  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

444}
445
446func TestTableConstraintSQL(t *testing.T) {
447 // Via CreateTableStatement
448 stmt := &CreateTableStatement{
449 Name: "t",
450 Columns: []ColumnDef{{Name: "id", Type: "INT"}},
451 Constraints: []TableConstraint{
452 {Name: "pk", Type: "PRIMARY KEY", Columns: []string{"id"}},
453 {Type: "UNIQUE", Columns: []string{"email"}},
454 {Type: "FOREIGN KEY", Columns: []string{"user_id"}, References: &ReferenceDefinition{Table: "users", Columns: []string{"id"}, OnDelete: "CASCADE", OnUpdate: "SET NULL"}},
455 {Type: "CHECK", Check: &BinaryExpression{Left: &Identifier{Name: "age"}, Operator: ">", Right: &LiteralValue{Value: "0"}}},
456 },
457 }
458 sql := stmt.SQL()
459 for _, want := range []string{"CONSTRAINT pk PRIMARY KEY", "UNIQUE (email)", "FOREIGN KEY", "REFERENCES users (id)", "ON DELETE CASCADE", "ON UPDATE SET NULL", "CHECK"} {
460 if !strings.Contains(sql, want) {
461 t.Errorf("missing %q in: %s", want, sql)
462 }
463 }
464}
465
466func TestColumnConstraintSQL_AllTypes(t *testing.T) {
467 stmt := &CreateTableStatement{

Callers

nothing calls this directly

Calls 2

SQLMethod · 0.95
ErrorfMethod · 0.65

Tested by

no test coverage detected