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

Function TestRefreshMaterializedViewStatementPool

pkg/sql/ast/pool_ddl_test.go:468–513  ·  view source on GitHub ↗

============================================================ RefreshMaterializedViewStatement pool tests ============================================================

(t *testing.T)

Source from the content-addressed store, hash-verified

466// ============================================================
467
468func TestRefreshMaterializedViewStatementPool(t *testing.T) {
469 t.Run("Get returns non-nil", func(t *testing.T) {
470 stmt := GetRefreshMaterializedViewStatement()
471 if stmt == nil {
472 t.Fatal("GetRefreshMaterializedViewStatement() returned nil")
473 }
474 PutRefreshMaterializedViewStatement(stmt)
475 })
476
477 t.Run("Put nil is safe", func(t *testing.T) {
478 PutRefreshMaterializedViewStatement(nil)
479 })
480
481 t.Run("Fields zeroed after Put", func(t *testing.T) {
482 withData := true
483
484 stmt := GetRefreshMaterializedViewStatement()
485 stmt.Name = "mv_events"
486 stmt.Concurrently = true
487 stmt.WithData = &withData
488
489 PutRefreshMaterializedViewStatement(stmt)
490
491 if stmt.Name != "" {
492 t.Errorf("Name not cleared, got %q", stmt.Name)
493 }
494 if stmt.Concurrently {
495 t.Error("Concurrently not cleared")
496 }
497 if stmt.WithData != nil {
498 t.Error("WithData not cleared")
499 }
500 })
501
502 t.Run("Pool roundtrip reuse", func(t *testing.T) {
503 stmt1 := GetRefreshMaterializedViewStatement()
504 stmt1.Name = "my_mv"
505 PutRefreshMaterializedViewStatement(stmt1)
506
507 stmt2 := GetRefreshMaterializedViewStatement()
508 if stmt2.Name != "" {
509 t.Errorf("Reused statement not clean, Name=%q", stmt2.Name)
510 }
511 PutRefreshMaterializedViewStatement(stmt2)
512 })
513}
514
515// ============================================================
516// DropStatement pool tests

Callers

nothing calls this directly

Calls 5

RunMethod · 0.80
ErrorfMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected