Documentation ¶
Index ¶
- Constants
- type ACL
- type ACLResource
- type Client
- func (c *Client) GetColumn(ctx context.Context, tableID int64, columnID int64) (*ColumnModel, error)
- func (c *Client) GetDatabase(ctx context.Context, dbID int64) (*DatabaseModel, error)
- func (c *Client) GetFunction(ctx context.Context, functionID int64) (*FunctionModel, error)
- func (c *Client) GetLargeObject(ctx context.Context, largeObjectID int64) (*LargeObjectModel, error)
- func (c *Client) GetProcedure(ctx context.Context, functionID int64) (*ProcedureModel, error)
- func (c *Client) GetRole(ctx context.Context, roleID int64) (*RoleModel, error)
- func (c *Client) GetRoleByName(ctx context.Context, roleID string) (*RoleModel, error)
- func (c *Client) GetSchema(ctx context.Context, schemaID int64) (*SchemaModel, error)
- func (c *Client) GetSequence(ctx context.Context, sequenceID int64) (*SequenceModel, error)
- func (c *Client) GetTable(ctx context.Context, tableID int64) (*TableModel, error)
- func (c *Client) GetView(ctx context.Context, viewID int64) (*ViewModel, error)
- func (c *Client) ListColumns(ctx context.Context, tableID int64, pager *Pager) ([]*ColumnModel, string, error)
- func (c *Client) ListDatabases(ctx context.Context, pager *Pager) ([]*DatabaseModel, string, error)
- func (c *Client) ListFunctions(ctx context.Context, schemaID int64, pager *Pager) ([]*FunctionModel, string, error)
- func (c *Client) ListLargeObjects(ctx context.Context, pager *Pager) ([]*LargeObjectModel, string, error)
- func (c *Client) ListProcedures(ctx context.Context, schemaID int64, pager *Pager) ([]*ProcedureModel, string, error)
- func (c *Client) ListRoleMembers(ctx context.Context, roleID int64, pager *Pager) ([]*RoleModel, string, error)
- func (c *Client) ListRoles(ctx context.Context, pager *Pager) ([]*RoleModel, string, error)
- func (c *Client) ListSchemas(ctx context.Context, pager *Pager) ([]*SchemaModel, string, error)
- func (c *Client) ListSequences(ctx context.Context, schemaID int64, pager *Pager) ([]*SequenceModel, string, error)
- func (c *Client) ListTables(ctx context.Context, schemaID int64, pager *Pager) ([]*TableModel, string, error)
- func (c *Client) ListViews(ctx context.Context, schemaID int64, pager *Pager) ([]*ViewModel, string, error)
- func (c *Client) RoleHasMembers(ctx context.Context, roleID int64) (bool, error)
- func (c *Client) ValidateConnection(ctx context.Context) error
- type ClientOpt
- type ColumnModel
- type DatabaseModel
- type FunctionModel
- type LargeObjectModel
- type Pager
- type PrivilegeSet
- type ProcedureModel
- type RoleModel
- type SchemaModel
- type SequenceModel
- type TableModel
- type ViewModel
Constants ¶
View Source
const ( MaxPageSize = 100 MinPageSize = 10 )
View Source
const EmptyPrivilegeSet = PrivilegeSet(0)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACL ¶
type ACL struct {
// contains filtered or unexported fields
}
func NewACLFromPrivilegeSets ¶
func NewACLFromPrivilegeSets(privs PrivilegeSet, privsWithGrant PrivilegeSet) *ACL
func (*ACL) GrantPrivileges ¶
func (a *ACL) GrantPrivileges() PrivilegeSet
func (*ACL) Privileges ¶
func (a *ACL) Privileges() PrivilegeSet
type ACLResource ¶
type ACLResource interface { GetOwnerID() int64 GetACLs() []string AllPrivileges() PrivilegeSet DefaultPrivileges() PrivilegeSet }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) GetDatabase ¶
func (*Client) GetFunction ¶
func (*Client) GetLargeObject ¶
func (*Client) GetProcedure ¶
func (*Client) GetRoleByName ¶
func (*Client) GetSequence ¶
func (*Client) ListColumns ¶
func (*Client) ListDatabases ¶
func (*Client) ListFunctions ¶
func (*Client) ListLargeObjects ¶
func (*Client) ListProcedures ¶
func (*Client) ListRoleMembers ¶
func (*Client) ListSchemas ¶
func (*Client) ListSequences ¶
func (*Client) ListTables ¶
func (*Client) RoleHasMembers ¶
type ColumnModel ¶
type ColumnModel struct { ID int64 `db:"attnum"` Name string `db:"attname"` TableName string `db:"tablename"` OwnerID int64 `db:"relowner"` ACLs []string `db:"attacl"` }
func (*ColumnModel) AllPrivileges ¶
func (t *ColumnModel) AllPrivileges() PrivilegeSet
func (*ColumnModel) DefaultPrivileges ¶
func (t *ColumnModel) DefaultPrivileges() PrivilegeSet
func (*ColumnModel) GetACLs ¶
func (t *ColumnModel) GetACLs() []string
func (*ColumnModel) GetOwnerID ¶
func (t *ColumnModel) GetOwnerID() int64
type DatabaseModel ¶
type DatabaseModel struct { ID int64 `db:"oid"` Name string `db:"datname"` OwnerID int64 `db:"datdba"` ACLs []string `db:"datacl"` }
func (*DatabaseModel) AllPrivileges ¶
func (t *DatabaseModel) AllPrivileges() PrivilegeSet
func (*DatabaseModel) DefaultPrivileges ¶
func (t *DatabaseModel) DefaultPrivileges() PrivilegeSet
func (*DatabaseModel) GetACLs ¶
func (t *DatabaseModel) GetACLs() []string
func (*DatabaseModel) GetOwnerID ¶
func (t *DatabaseModel) GetOwnerID() int64
type FunctionModel ¶
type FunctionModel struct { ID int64 `db:"oid"` Name string `db:"proname"` Schema string `db:"nspname"` OwnerID int64 `db:"proowner"` ACLs []string `db:"proacl"` }
func (*FunctionModel) AllPrivileges ¶
func (t *FunctionModel) AllPrivileges() PrivilegeSet
func (*FunctionModel) DefaultPrivileges ¶
func (t *FunctionModel) DefaultPrivileges() PrivilegeSet
func (*FunctionModel) GetACLs ¶
func (t *FunctionModel) GetACLs() []string
func (*FunctionModel) GetOwnerID ¶
func (t *FunctionModel) GetOwnerID() int64
type LargeObjectModel ¶
type LargeObjectModel struct { ID int64 `db:"oid"` OwnerID int64 `db:"lomowner"` ACLs []string `db:"lomacl"` }
func (*LargeObjectModel) AllPrivileges ¶
func (t *LargeObjectModel) AllPrivileges() PrivilegeSet
func (*LargeObjectModel) DefaultPrivileges ¶
func (t *LargeObjectModel) DefaultPrivileges() PrivilegeSet
func (*LargeObjectModel) GetACLs ¶
func (t *LargeObjectModel) GetACLs() []string
func (*LargeObjectModel) GetOwnerID ¶
func (t *LargeObjectModel) GetOwnerID() int64
type PrivilegeSet ¶
type PrivilegeSet uint64
const ( Insert PrivilegeSet = 1 << iota Select Update Delete Truncate References Trigger Execute Usage Create Temporary Connect Set AlterSystem Terminator )
func PrivilegeSetFromRune ¶
func PrivilegeSetFromRune(s rune) PrivilegeSet
func (PrivilegeSet) Has ¶
func (ps PrivilegeSet) Has(priv PrivilegeSet) bool
func (PrivilegeSet) Name ¶
func (ps PrivilegeSet) Name() string
func (PrivilegeSet) Range ¶
func (a PrivilegeSet) Range(f func(p PrivilegeSet) (bool, error)) error
func (PrivilegeSet) Set ¶
func (ps PrivilegeSet) Set(priv PrivilegeSet) PrivilegeSet
func (PrivilegeSet) String ¶
func (ps PrivilegeSet) String() string
type ProcedureModel ¶
type ProcedureModel struct { ID int64 `db:"oid"` Name string `db:"proname"` Schema string `db:"nspname"` OwnerID int64 `db:"proowner"` ACLs []string `db:"proacl"` }
func (*ProcedureModel) AllPrivileges ¶
func (t *ProcedureModel) AllPrivileges() PrivilegeSet
func (*ProcedureModel) DefaultPrivileges ¶
func (t *ProcedureModel) DefaultPrivileges() PrivilegeSet
func (*ProcedureModel) GetACLs ¶
func (t *ProcedureModel) GetACLs() []string
func (*ProcedureModel) GetOwnerID ¶
func (t *ProcedureModel) GetOwnerID() int64
type RoleModel ¶
type RoleModel struct { ID int64 `db:"oid"` Name string `db:"rolname"` Superuser bool `db:"rolsuper"` Inherit bool `db:"rolinherit"` CreateRole bool `db:"rolcreaterole"` CreateDb bool `db:"rolcreatedb"` CanLogin bool `db:"rolcanlogin"` Replication bool `db:"rolreplication"` ConnectionLimit int `db:"rolconnlimit"` BypassRowSecurity bool `db:"rolbypassrls"` RoleAdmin *bool `db:"admin_option"` MemberOf []int64 `db:"member_of"` }
func (*RoleModel) IsRoleAdmin ¶
type SchemaModel ¶
type SchemaModel struct { ID int64 `db:"oid"` Name string `db:"nspname"` OwnerID int64 `db:"nspowner"` ACLs []string `db:"nspacl"` }
func (*SchemaModel) AllPrivileges ¶
func (t *SchemaModel) AllPrivileges() PrivilegeSet
func (*SchemaModel) DefaultPrivileges ¶
func (t *SchemaModel) DefaultPrivileges() PrivilegeSet
func (*SchemaModel) GetACLs ¶
func (t *SchemaModel) GetACLs() []string
func (*SchemaModel) GetOwnerID ¶
func (t *SchemaModel) GetOwnerID() int64
type SequenceModel ¶
type SequenceModel struct { ID int64 `db:"oid"` Name string `db:"relname"` Schema string `db:"nspname"` OwnerID int64 `db:"relowner"` ACLs []string `db:"relacl"` }
func (*SequenceModel) AllPrivileges ¶
func (t *SequenceModel) AllPrivileges() PrivilegeSet
func (*SequenceModel) DefaultPrivileges ¶
func (t *SequenceModel) DefaultPrivileges() PrivilegeSet
func (*SequenceModel) GetACLs ¶
func (t *SequenceModel) GetACLs() []string
func (*SequenceModel) GetOwnerID ¶
func (t *SequenceModel) GetOwnerID() int64
type TableModel ¶
type TableModel struct { ID int64 `db:"oid"` Name string `db:"relname"` Schema string `db:"nspname"` OwnerID int64 `db:"relowner"` ACLs []string `db:"relacl"` }
func (*TableModel) AllPrivileges ¶
func (t *TableModel) AllPrivileges() PrivilegeSet
func (*TableModel) DefaultPrivileges ¶
func (t *TableModel) DefaultPrivileges() PrivilegeSet
func (*TableModel) GetACLs ¶
func (t *TableModel) GetACLs() []string
func (*TableModel) GetOwnerID ¶
func (t *TableModel) GetOwnerID() int64
type ViewModel ¶
type ViewModel struct { ID int64 `db:"oid"` Name string `db:"relname"` Schema string `db:"nspname"` OwnerID int64 `db:"relowner"` ACLs []string `db:"relacl"` }
func (*ViewModel) AllPrivileges ¶
func (t *ViewModel) AllPrivileges() PrivilegeSet
func (*ViewModel) DefaultPrivileges ¶
func (t *ViewModel) DefaultPrivileges() PrivilegeSet
func (*ViewModel) GetOwnerID ¶
Click to show internal directories.
Click to hide internal directories.