snowflake

package
v0.37.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SfAccount                           = "sf-account"
	SfUser                              = "sf-user"
	SfPassword                          = "sf-password"
	SfRole                              = "sf-role"
	SfExcludedDatabases                 = "sf-excluded-databases"
	SfExcludedSchemas                   = "sf-excluded-schemas"
	SfExcludedRoles                     = "sf-excluded-roles"
	SfExternalIdentityStoreOwners       = "sf-external-identity-store-owners"
	SfStandardEdition                   = "sf-standard-edition"
	SfLinkToExternalIdentityStoreGroups = "sf-link-to-external-identity-store-groups"
	SfSkipTags                          = "sf-skip-tags"
	SfSkipColumns                       = "sf-skip-columns"
	SfDataUsageWindow                   = "sf-data-usage-window"
	SfDatabaseRoles                     = "sf-database-roles"

	TagSource = "Snowflake"

	SharedPrefix = "shared-"
)
View Source
const (
	NullMaskId   = "NULL"
	SHA256MaskId = "SHA256"
)
View Source
const AccountAdmin = "ACCOUNTADMIN"
View Source
const ConnectionStringIdentifier = "Raito_CLI"
View Source
const ExternalTable = "external-" + ds.Table
View Source
const MaterializedView = "materialized-" + ds.View
View Source
const SfLimit = 10000

Variables

View Source
var AcceptedTypes = map[string]struct{}{"ACCOUNT": {}, "WAREHOUSE": {}, "DATABASE": {}, "SCHEMA": {}, "TABLE": {}, "VIEW": {}, "COLUMN": {}, "SHARED-DATABASE": {}, "EXTERNAL_TABLE": {}, "MATERIALIZED_VIEW": {}}
View Source
var IgnoreDatabaseRolesForDatabases = []string{"SNOWFLAKE"}
View Source
var RoleNameConstraints = naming_hint.NamingConstraints{
	UpperCaseLetters:  true,
	LowerCaseLetters:  false,
	Numbers:           true,
	SpecialCharacters: "_$",
	MaxLength:         255,
}

RoleNameConstraints is based onhttps://docs.snowflake.com/en/sql-reference/identifiers-syntax.html#identifier-requirements

View Source
var RolesNotInternalizable = []string{"ORGADMIN", "ACCOUNTADMIN", "SECURITYADMIN", "USERADMIN", "SYSADMIN", "PUBLIC"}

Functions

func CheckSFLimitExceeded

func CheckSFLimitExceeded(query string, size int) error

func ConnectToSnowflake

func ConnectToSnowflake(params map[string]string, role string) (*sql.DB, string, error)

func ExecuteSnowflake added in v0.35.0

func ExecuteSnowflake(ctx context.Context, conn *sql.DB, query string, args ...any) error

func GetQueryDbEntitiesColumnNames added in v0.11.0

func GetQueryDbEntitiesColumnNames(tag string, includeTag string) []string

func QuerySnowflake

func QuerySnowflake(conn *sql.DB, query string, args ...any) (*sql.Rows, error)

Types

type AccessSyncer

type AccessSyncer struct {
	// contains filtered or unexported fields
}

func NewDataAccessSyncer added in v0.10.8

func NewDataAccessSyncer(namingConstraints naming_hint.NamingConstraints) *AccessSyncer

func (*AccessSyncer) SyncAccessProviderFiltersToTarget added in v0.35.0

func (s *AccessSyncer) SyncAccessProviderFiltersToTarget(ctx context.Context, apToRemoveMap map[string]*importer.AccessProvider, apMap map[string]*importer.AccessProvider, roleNameMap map[string]string, feedbackHandler wrappers.AccessProviderFeedbackHandler, configMap *config.ConfigMap, repo dataAccessRepository) error

func (*AccessSyncer) SyncAccessProviderMasksToTarget added in v0.28.0

func (s *AccessSyncer) SyncAccessProviderMasksToTarget(ctx context.Context, apToRemoveMap map[string]*importer.AccessProvider, apMap map[string]*importer.AccessProvider, roleNameMap map[string]string, feedbackHandler wrappers.AccessProviderFeedbackHandler, configMap *config.ConfigMap, repo dataAccessRepository) error

func (*AccessSyncer) SyncAccessProviderRolesToTarget added in v0.28.0

func (s *AccessSyncer) SyncAccessProviderRolesToTarget(ctx context.Context, toRemoveAps map[string]*importer.AccessProvider, toProcessAps map[string]*importer.AccessProvider, feedbackHandler wrappers.AccessProviderFeedbackHandler, configMap *config.ConfigMap, repo dataAccessRepository) error

func (*AccessSyncer) SyncAccessProviderToTarget added in v0.35.5

func (s *AccessSyncer) SyncAccessProviderToTarget(ctx context.Context, accessProviders *sync_to_target.AccessProviderImport, accessProviderFeedbackHandler wrappers.AccessProviderFeedbackHandler, configMap *config.ConfigMap) error

func (*AccessSyncer) SyncAccessProvidersFromTarget added in v0.10.8

func (s *AccessSyncer) SyncAccessProvidersFromTarget(ctx context.Context, accessProviderHandler wrappers.AccessProviderHandler, configMap *config.ConfigMap) error

type ColumnEntity added in v0.22.0

type ColumnEntity struct {
	Database string  `db:"TABLE_CATALOG"`
	Schema   string  `db:"TABLE_SCHEMA"`
	Table    string  `db:"TABLE_NAME"`
	Name     string  `db:"COLUMN_NAME"`
	Comment  *string `db:"COMMENT"`
	DataType string  `db:"DATA_TYPE"`
}

type DataSourceSyncer

type DataSourceSyncer struct {
	SfSyncRole string
	// contains filtered or unexported fields
}

func NewDataSourceSyncer added in v0.10.7

func NewDataSourceSyncer() *DataSourceSyncer

func (*DataSourceSyncer) GetDataSourceMetaData added in v0.12.0

func (s *DataSourceSyncer) GetDataSourceMetaData(_ context.Context, configParam *config.ConfigMap) (*ds.MetaData, error)

func (*DataSourceSyncer) SyncDataSource

func (s *DataSourceSyncer) SyncDataSource(ctx context.Context, dataSourceHandler wrappers.DataSourceObjectHandler, config *ds.DataSourceSyncConfig) error

type DataUsageSyncer

type DataUsageSyncer struct {
	// contains filtered or unexported fields
}

func NewDataUsageSyncer

func NewDataUsageSyncer() *DataUsageSyncer

func (*DataUsageSyncer) SyncDataUsage

func (s *DataUsageSyncer) SyncDataUsage(ctx context.Context, fileCreator wrappers.DataUsageStatementHandler, configParams *config.ConfigMap) error

type DbEntity added in v0.11.0

type DbEntity struct {
	Name    string  `db:"name"`
	Comment *string `db:"comment"`
}

type EntityCreator added in v0.22.0

type EntityCreator func() interface{}

type EntityHandler added in v0.22.0

type EntityHandler func(entity interface{}) error

type ExtendedDbEntity added in v0.36.2

type ExtendedDbEntity struct {
	Entity     DbEntity
	LinkedTags map[string][]*tag.Tag
}

type FilterCriteriaBuilder added in v0.35.0

type FilterCriteriaBuilder struct {
	// contains filtered or unexported fields
}

func NewFilterCriteriaBuilder added in v0.35.0

func NewFilterCriteriaBuilder() *FilterCriteriaBuilder

func (*FilterCriteriaBuilder) EnterExpressionElement added in v0.35.0

func (f *FilterCriteriaBuilder) EnterExpressionElement(_ context.Context, element base.VisitableElement) error

func (*FilterCriteriaBuilder) GetQueryAndArguments added in v0.35.0

func (f *FilterCriteriaBuilder) GetQueryAndArguments() (string, set.Set[string])

func (*FilterCriteriaBuilder) LeaveExpressionElement added in v0.35.0

func (f *FilterCriteriaBuilder) LeaveExpressionElement(_ context.Context, element base.VisitableElement)

func (*FilterCriteriaBuilder) Literal added in v0.35.0

func (f *FilterCriteriaBuilder) Literal(_ context.Context, l interface{}) error

type Grant

type Grant struct {
	Permissions string
	// OnType represents the raito data object type of the targeted object
	OnType string
	On     string
}

func (*Grant) GetGrantOnType added in v0.24.0

func (g *Grant) GetGrantOnType() string

GetGrantOnType returns the type to use in a GRANT query.

type GrantOfRole added in v0.11.0

type GrantOfRole struct {
	GrantedTo   string `db:"granted_to"`
	GranteeName string `db:"grantee_name"`
}

type GrantToRole added in v0.11.0

type GrantToRole struct {
	Privilege string `db:"privilege"`
	GrantedOn string `db:"granted_on"`
	Name      string `db:"name"`
}

type IdentityStoreSyncer

type IdentityStoreSyncer struct {
	// contains filtered or unexported fields
}

func NewIdentityStoreSyncer added in v0.10.6

func NewIdentityStoreSyncer() *IdentityStoreSyncer

func (*IdentityStoreSyncer) GetIdentityStoreMetaData added in v0.12.0

func (s *IdentityStoreSyncer) GetIdentityStoreMetaData(_ context.Context, _ *config.ConfigMap) (*is.MetaData, error)

func (*IdentityStoreSyncer) SyncIdentityStore

func (s *IdentityStoreSyncer) SyncIdentityStore(ctx context.Context, identityHandler wrappers.IdentityStoreIdentityHandler, configMap *config.ConfigMap) error

type MaskFactory added in v0.29.0

type MaskFactory struct {
	// contains filtered or unexported fields
}

func NewMaskFactory added in v0.29.0

func NewMaskFactory() *MaskFactory

func (*MaskFactory) CreateMask added in v0.29.0

func (f *MaskFactory) CreateMask(maskName string, columnType string, maskType *string, beneficiaries *MaskingBeneficiaries) (string, MaskingPolicy, error)

func (*MaskFactory) RegisterMaskGenerator added in v0.29.0

func (f *MaskFactory) RegisterMaskGenerator(maskType string, maskGenerator MaskGenerator)

type MaskGenerator added in v0.29.0

type MaskGenerator interface {
	Generate(maskName string, columnType string, beneficiaries *MaskingBeneficiaries) (MaskingPolicy, error)
}

func NullMask added in v0.29.0

func NullMask() MaskGenerator

func Sha256Mask added in v0.33.0

func Sha256Mask() MaskGenerator

type MaskingBeneficiaries added in v0.29.0

type MaskingBeneficiaries struct {
	Roles []string
	Users []string
}

type MaskingPolicy added in v0.29.0

type MaskingPolicy string

type MockMaskGenerator added in v0.29.0

type MockMaskGenerator struct {
	mock.Mock
}

MockMaskGenerator is an autogenerated mock type for the MaskGenerator type

func NewMockMaskGenerator added in v0.29.0

func NewMockMaskGenerator(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockMaskGenerator

NewMockMaskGenerator creates a new instance of MockMaskGenerator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.

func (*MockMaskGenerator) EXPECT added in v0.29.0

func (*MockMaskGenerator) Generate added in v0.29.0

func (_m *MockMaskGenerator) Generate(maskName string, columnType string, beneficiaries *MaskingBeneficiaries) (MaskingPolicy, error)

Generate provides a mock function with given fields: maskName, columnType, beneficiaries

type MockMaskGenerator_Expecter added in v0.29.0

type MockMaskGenerator_Expecter struct {
	// contains filtered or unexported fields
}

func (*MockMaskGenerator_Expecter) Generate added in v0.29.0

func (_e *MockMaskGenerator_Expecter) Generate(maskName interface{}, columnType interface{}, beneficiaries interface{}) *MockMaskGenerator_Generate_Call

Generate is a helper method to define mock.On call

  • maskName string
  • columnType string
  • beneficiaries *MaskingBeneficiaries

type MockMaskGenerator_Generate_Call added in v0.29.0

type MockMaskGenerator_Generate_Call struct {
	*mock.Call
}

MockMaskGenerator_Generate_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Generate'

func (*MockMaskGenerator_Generate_Call) Return added in v0.29.0

func (*MockMaskGenerator_Generate_Call) Run added in v0.29.0

func (_c *MockMaskGenerator_Generate_Call) Run(run func(maskName string, columnType string, beneficiaries *MaskingBeneficiaries)) *MockMaskGenerator_Generate_Call

func (*MockMaskGenerator_Generate_Call) RunAndReturn added in v0.29.0

type MockSimpleMaskMethod added in v0.29.0

type MockSimpleMaskMethod struct {
	mock.Mock
}

MockSimpleMaskMethod is an autogenerated mock type for the SimpleMaskMethod type

func NewMockSimpleMaskMethod added in v0.29.0

func NewMockSimpleMaskMethod(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockSimpleMaskMethod

NewMockSimpleMaskMethod creates a new instance of MockSimpleMaskMethod. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.

func (*MockSimpleMaskMethod) EXPECT added in v0.29.0

func (*MockSimpleMaskMethod) MaskMethod added in v0.29.0

func (_m *MockSimpleMaskMethod) MaskMethod(variableName string) string

MaskMethod provides a mock function with given fields: variableName

func (*MockSimpleMaskMethod) SupportedType added in v0.29.0

func (_m *MockSimpleMaskMethod) SupportedType(columnType string) bool

SupportedType provides a mock function with given fields: columnType

type MockSimpleMaskMethod_Expecter added in v0.29.0

type MockSimpleMaskMethod_Expecter struct {
	// contains filtered or unexported fields
}

func (*MockSimpleMaskMethod_Expecter) MaskMethod added in v0.29.0

func (_e *MockSimpleMaskMethod_Expecter) MaskMethod(variableName interface{}) *MockSimpleMaskMethod_MaskMethod_Call

MaskMethod is a helper method to define mock.On call

  • variableName string

func (*MockSimpleMaskMethod_Expecter) SupportedType added in v0.29.0

func (_e *MockSimpleMaskMethod_Expecter) SupportedType(columnType interface{}) *MockSimpleMaskMethod_SupportedType_Call

SupportedType is a helper method to define mock.On call

  • columnType string

type MockSimpleMaskMethod_MaskMethod_Call added in v0.29.0

type MockSimpleMaskMethod_MaskMethod_Call struct {
	*mock.Call
}

MockSimpleMaskMethod_MaskMethod_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'MaskMethod'

func (*MockSimpleMaskMethod_MaskMethod_Call) Return added in v0.29.0

func (*MockSimpleMaskMethod_MaskMethod_Call) Run added in v0.29.0

func (*MockSimpleMaskMethod_MaskMethod_Call) RunAndReturn added in v0.29.0

type MockSimpleMaskMethod_SupportedType_Call added in v0.29.0

type MockSimpleMaskMethod_SupportedType_Call struct {
	*mock.Call
}

MockSimpleMaskMethod_SupportedType_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SupportedType'

func (*MockSimpleMaskMethod_SupportedType_Call) Return added in v0.29.0

func (*MockSimpleMaskMethod_SupportedType_Call) Run added in v0.29.0

func (*MockSimpleMaskMethod_SupportedType_Call) RunAndReturn added in v0.29.0

type NullString

type NullString sql.NullString

Implementation of Scanner interface for NullString

func (*NullString) Scan

func (nullString *NullString) Scan(value interface{}) error

type PolicyEntity added in v0.29.0

type PolicyEntity struct {
	Name         string `db:"name"`
	DatabaseName string `db:"database_name"`
	SchemaName   string `db:"schema_name"`
	Kind         string `db:"kind"`
	Owner        string `db:"owner"`
}

type QueryDbEntities

type QueryDbEntities struct {
	ExternalId            string     `db:"QUERY_ID" useColumnName:"true"`
	Status                string     `db:"EXECUTION_STATUS" useColumnName:"true"`
	Query                 string     `db:"QUERY_TEXT" useColumnName:"true"`
	ErrorMessage          NullString `db:"ERROR_MESSAGE" useColumnName:"true"`
	DatabaseName          NullString `db:"DATABASE_NAME" useColumnName:"true"`
	SchemaName            NullString `db:"SCHEMA_NAME" useColumnName:"true"`
	User                  string     `db:"USER_NAME" useColumnName:"true"`
	Role                  NullString `db:"ROLE_NAME" useColumnName:"true"`
	StartTime             string     `db:"START_TIME" useColumnName:"true"`
	EndTime               string     `db:"END_TIME" useColumnName:"true"`
	BytesTranferred       int        `db:"OUTBOUND_DATA_TRANSFER_BYTES" useColumnName:"true"`
	RowsReturned          int        `db:"EXTERNAL_FUNCTION_TOTAL_SENT_ROWS" useColumnName:"true"`
	CloudCreditsUsed      float32    `db:"CREDITS_USED_CLOUD_SERVICES" useColumnName:"true"`
	AccessId              NullString `db:"QID"`
	DirectObjectsAccessed *string    `db:"DIRECT_OBJECTS_ACCESSED"`
	BaseObjectsAccessed   *string    `db:"BASE_OBJECTS_ACCESSED"`
	ObjectsModified       *string    `db:"OBJECTS_MODIFIED"`
}

Data Usage

func (QueryDbEntities) String

func (entity QueryDbEntities) String() string

type RoleEntity added in v0.11.0

type RoleEntity struct {
	Name            string `db:"name"`
	AssignedToUsers int    `db:"assigned_to_users"`
	GrantedToRoles  int    `db:"granted_to_roles"`
	GrantedRoles    int    `db:"granted_roles"`
	Owner           string `db:"owner"`
}

Data Access

type SchemaEntity added in v0.22.0

type SchemaEntity struct {
	Database string  `db:"CATALOG_NAME"`
	Name     string  `db:"SCHEMA_NAME"`
	Comment  *string `db:"COMMENT"`
}

type SimpleMaskGenerator added in v0.29.0

type SimpleMaskGenerator struct {
	SimpleMaskMethod
}

func NewSimpleMaskGenerator added in v0.29.0

func NewSimpleMaskGenerator(method SimpleMaskMethod) *SimpleMaskGenerator

func (*SimpleMaskGenerator) Generate added in v0.29.0

func (g *SimpleMaskGenerator) Generate(maskName string, columnType string, beneficiaries *MaskingBeneficiaries) (MaskingPolicy, error)

type SimpleMaskMethod added in v0.29.0

type SimpleMaskMethod interface {
	MaskMethod(variableName string) string
	SupportedType(columnType string) bool
}

type SnowflakeRepository

type SnowflakeRepository struct {
	// contains filtered or unexported fields
}

func NewSnowflakeRepository

func NewSnowflakeRepository(params map[string]string, role string) (*SnowflakeRepository, error)

func (*SnowflakeRepository) BatchingInformation

func (repo *SnowflakeRepository) BatchingInformation(startDate *time.Time, historyTable string) (*string, *string, int, error)

func (*SnowflakeRepository) CheckAccessHistoryAvailability added in v0.10.6

func (repo *SnowflakeRepository) CheckAccessHistoryAvailability(historyTable string) (bool, error)

func (*SnowflakeRepository) Close

func (repo *SnowflakeRepository) Close() error

func (*SnowflakeRepository) CommentAccountRoleIfExists added in v0.35.5

func (repo *SnowflakeRepository) CommentAccountRoleIfExists(comment, objectName string) error

func (*SnowflakeRepository) CommentDatabaseRoleIfExists added in v0.35.5

func (repo *SnowflakeRepository) CommentDatabaseRoleIfExists(comment, database, roleName string) error

func (*SnowflakeRepository) CreateAccountRole added in v0.35.1

func (repo *SnowflakeRepository) CreateAccountRole(roleName string) error

func (*SnowflakeRepository) CreateDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) CreateDatabaseRole(database string, roleName string) error

func (*SnowflakeRepository) CreateMaskPolicy added in v0.29.0

func (repo *SnowflakeRepository) CreateMaskPolicy(databaseName string, schema string, maskName string, columnsFullName []string, maskType *string, beneficiaries *MaskingBeneficiaries) (err error)

func (*SnowflakeRepository) DataUsage

func (repo *SnowflakeRepository) DataUsage(columns []string, limit int, offset int, historyTable string, minTime, maxTime *string, accessHistoryAvailable bool) ([]QueryDbEntities, error)

func (*SnowflakeRepository) DescribePolicy added in v0.10.8

func (repo *SnowflakeRepository) DescribePolicy(policyType, dbName, schema, policyName string) ([]describePolicyEntity, error)

func (*SnowflakeRepository) DropAccountRole added in v0.35.1

func (repo *SnowflakeRepository) DropAccountRole(roleName string) error

func (*SnowflakeRepository) DropDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) DropDatabaseRole(database string, roleName string) error

func (*SnowflakeRepository) DropFilter added in v0.35.0

func (repo *SnowflakeRepository) DropFilter(databaseName string, schema string, tableName string, filterName string) error

func (*SnowflakeRepository) DropMaskingPolicy added in v0.29.0

func (repo *SnowflakeRepository) DropMaskingPolicy(databaseName string, schema string, maskName string) (err error)

func (*SnowflakeRepository) ExecuteGrantOnAccountRole added in v0.35.1

func (repo *SnowflakeRepository) ExecuteGrantOnAccountRole(perm, on, accountRole string) error

func (*SnowflakeRepository) ExecuteGrantOnDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) ExecuteGrantOnDatabaseRole(perm, on, database, databaseRole string) error

func (*SnowflakeRepository) ExecuteRevokeOnAccountRole added in v0.35.1

func (repo *SnowflakeRepository) ExecuteRevokeOnAccountRole(perm, on, accountRole string) error

func (*SnowflakeRepository) ExecuteRevokeOnDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) ExecuteRevokeOnDatabaseRole(perm, on, database, databaseRole string) error

func (*SnowflakeRepository) GetAccountRoles added in v0.35.1

func (repo *SnowflakeRepository) GetAccountRoles() ([]RoleEntity, error)

func (*SnowflakeRepository) GetAccountRolesWithPrefix added in v0.35.1

func (repo *SnowflakeRepository) GetAccountRolesWithPrefix(prefix string) ([]RoleEntity, error)

func (*SnowflakeRepository) GetColumnsInDatabase added in v0.22.0

func (repo *SnowflakeRepository) GetColumnsInDatabase(databaseName string, handleEntity EntityHandler) error

func (*SnowflakeRepository) GetDatabaseRoles added in v0.35.5

func (repo *SnowflakeRepository) GetDatabaseRoles(database string) ([]RoleEntity, error)

func (*SnowflakeRepository) GetDatabaseRolesWithPrefix added in v0.35.5

func (repo *SnowflakeRepository) GetDatabaseRolesWithPrefix(database string, prefix string) ([]RoleEntity, error)

func (*SnowflakeRepository) GetDatabases added in v0.35.5

func (repo *SnowflakeRepository) GetDatabases() ([]DbEntity, error)

func (*SnowflakeRepository) GetGrantsOfAccountRole added in v0.35.1

func (repo *SnowflakeRepository) GetGrantsOfAccountRole(roleName string) ([]GrantOfRole, error)

func (*SnowflakeRepository) GetGrantsOfDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) GetGrantsOfDatabaseRole(database, roleName string) ([]GrantOfRole, error)

func (*SnowflakeRepository) GetGrantsToAccountRole added in v0.35.1

func (repo *SnowflakeRepository) GetGrantsToAccountRole(roleName string) ([]GrantToRole, error)

func (*SnowflakeRepository) GetGrantsToDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) GetGrantsToDatabaseRole(database, roleName string) ([]GrantToRole, error)

func (*SnowflakeRepository) GetPolicies added in v0.10.8

func (repo *SnowflakeRepository) GetPolicies(policy string) ([]PolicyEntity, error)

func (*SnowflakeRepository) GetPoliciesLike added in v0.29.0

func (repo *SnowflakeRepository) GetPoliciesLike(policy string, like string) ([]PolicyEntity, error)

func (*SnowflakeRepository) GetPolicyReferences added in v0.10.8

func (repo *SnowflakeRepository) GetPolicyReferences(dbName, schema, policyName string) ([]policyReferenceEntity, error)

func (*SnowflakeRepository) GetSchemasInDatabase added in v0.14.1

func (repo *SnowflakeRepository) GetSchemasInDatabase(databaseName string, handleEntity EntityHandler) error

func (*SnowflakeRepository) GetShares added in v0.10.7

func (repo *SnowflakeRepository) GetShares() ([]DbEntity, error)

func (*SnowflakeRepository) GetSnowFlakeAccountName added in v0.10.7

func (repo *SnowflakeRepository) GetSnowFlakeAccountName() (string, error)

func (*SnowflakeRepository) GetTablesInDatabase added in v0.22.0

func (repo *SnowflakeRepository) GetTablesInDatabase(databaseName string, schemaName string, handleEntity EntityHandler) error

func (*SnowflakeRepository) GetTagsByDomain added in v0.35.5

func (repo *SnowflakeRepository) GetTagsByDomain(domain string) (map[string][]*tag.Tag, error)

func (*SnowflakeRepository) GetTagsLinkedToDatabaseName added in v0.35.5

func (repo *SnowflakeRepository) GetTagsLinkedToDatabaseName(databaseName string) (map[string][]*tag.Tag, error)

func (*SnowflakeRepository) GetUsers added in v0.10.6

func (repo *SnowflakeRepository) GetUsers() ([]UserEntity, error)

func (*SnowflakeRepository) GetWarehouses added in v0.10.7

func (repo *SnowflakeRepository) GetWarehouses() ([]DbEntity, error)

func (*SnowflakeRepository) GrantAccountRolesToAccountRole added in v0.35.1

func (repo *SnowflakeRepository) GrantAccountRolesToAccountRole(ctx context.Context, role string, roles ...string) error

func (*SnowflakeRepository) GrantAccountRolesToDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) GrantAccountRolesToDatabaseRole(ctx context.Context, database string, databaseRole string, accountRoles ...string) error

func (*SnowflakeRepository) GrantDatabaseRolesToDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) GrantDatabaseRolesToDatabaseRole(ctx context.Context, database string, databaseRole string, databaseRoles ...string) error

func (*SnowflakeRepository) GrantUsersToAccountRole added in v0.35.1

func (repo *SnowflakeRepository) GrantUsersToAccountRole(ctx context.Context, role string, users ...string) error

func (*SnowflakeRepository) RenameAccountRole added in v0.35.1

func (repo *SnowflakeRepository) RenameAccountRole(oldName, newName string) error

func (*SnowflakeRepository) RenameDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) RenameDatabaseRole(database, oldName, newName string) error

func (*SnowflakeRepository) RevokeAccountRolesFromAccountRole added in v0.35.1

func (repo *SnowflakeRepository) RevokeAccountRolesFromAccountRole(ctx context.Context, accountRole string, accountRoles ...string) error

func (*SnowflakeRepository) RevokeAccountRolesFromDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) RevokeAccountRolesFromDatabaseRole(ctx context.Context, database string, databaseRole string, accountRoles ...string) error

func (*SnowflakeRepository) RevokeDatabaseRolesFromDatabaseRole added in v0.35.5

func (repo *SnowflakeRepository) RevokeDatabaseRolesFromDatabaseRole(ctx context.Context, database string, databaseRole string, databaseRoles ...string) error

func (*SnowflakeRepository) RevokeUsersFromAccountRole added in v0.35.1

func (repo *SnowflakeRepository) RevokeUsersFromAccountRole(ctx context.Context, role string, users ...string) error

func (*SnowflakeRepository) TotalQueryTime

func (repo *SnowflakeRepository) TotalQueryTime() time.Duration

func (*SnowflakeRepository) UpdateFilter added in v0.35.0

func (repo *SnowflakeRepository) UpdateFilter(databaseName string, schema string, tableName string, filterName string, argumentNames []string, expression string) error

type TableEntity added in v0.22.0

type TableEntity struct {
	Database  string  `db:"TABLE_CATALOG"`
	Schema    string  `db:"TABLE_SCHEMA"`
	Name      string  `db:"TABLE_NAME"`
	TableType string  `db:"TABLE_TYPE"`
	Comment   *string `db:"COMMENT"`
}

type TagEntity added in v0.22.0

type TagEntity struct {
	Database *string `db:"OBJECT_DATABASE"`
	Schema   *string `db:"OBJECT_SCHEMA"`
	Name     string  `db:"OBJECT_NAME"`
	Domain   string  `db:"DOMAIN"`
	TagName  string  `db:"TAG_NAME"`
	TagValue string  `db:"TAG_VALUE"`
	Column   *string `db:"COLUMN_NAME"`
}

func (*TagEntity) CreateTag added in v0.22.0

func (t *TagEntity) CreateTag() *tag.Tag

func (*TagEntity) GetFullName added in v0.22.0

func (t *TagEntity) GetFullName() string

type UserEntity added in v0.11.0

type UserEntity struct {
	Name        string `db:"name"`
	LoginName   string `db:"login_name"`
	DisplayName string `db:"display_name"`
	Email       string `db:"email"`
	Owner       string `db:"owner"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL