MCPcopy Index your code
hub / github.com/bytebase/bytebase / CreateView

Method CreateView

backend/store/model/database.go:610–631  ·  view source on GitHub ↗

CreateView creates a new view in the schema. Returns an error if the view already exists.

(viewName string, definition string, dependencyColumns []*storepb.DependencyColumn)

Source from the content-addressed store, hash-verified

608// CreateView creates a new view in the schema.
609// Returns an error if the view already exists.
610func (s *SchemaMetadata) CreateView(viewName string, definition string, dependencyColumns []*storepb.DependencyColumn) (*storepb.ViewMetadata, error) {
611 // Check if view already exists
612 if s.GetView(viewName) != nil {
613 return nil, errors.Errorf("view %q already exists in schema %q", viewName, s.proto.Name)
614 }
615
616 // Create new view proto
617 newViewProto := &storepb.ViewMetadata{
618 Name: viewName,
619 Definition: definition,
620 DependencyColumns: dependencyColumns,
621 }
622
623 // Add to proto's view list
624 s.proto.Views = append(s.proto.Views, newViewProto)
625
626 // Add to internal map
627 viewID := normalizeNameByCaseSensitivity(viewName, s.isObjectCaseSensitive)
628 s.internalViews[viewID] = newViewProto
629
630 return newViewProto, nil
631}
632
633// DropView drops a view from the schema.
634// Returns an error if the view does not exist.

Callers

nothing calls this directly

Calls 3

GetViewMethod · 0.95
ErrorfMethod · 0.80

Tested by

no test coverage detected