| 425 | } |
| 426 | |
| 427 | func TestForSQL(t *testing.T) { |
| 428 | stmt := &SelectStatement{ |
| 429 | Columns: []Expression{&Identifier{Name: "x"}}, |
| 430 | From: []TableReference{{Name: "t"}}, |
| 431 | For: &ForClause{ |
| 432 | LockType: "UPDATE", |
| 433 | Tables: []string{"t"}, |
| 434 | NoWait: true, |
| 435 | SkipLocked: true, |
| 436 | }, |
| 437 | } |
| 438 | sql := stmt.SQL() |
| 439 | for _, want := range []string{"FOR UPDATE", "OF t", "NOWAIT", "SKIP LOCKED"} { |
| 440 | if !strings.Contains(sql, want) { |
| 441 | t.Errorf("missing %q in: %s", want, sql) |
| 442 | } |
| 443 | } |
| 444 | } |
| 445 | |
| 446 | func TestTableConstraintSQL(t *testing.T) { |
| 447 | // Via CreateTableStatement |