sqlop

package
v0.0.0-...-990fba0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2025 License: MPL-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EncodingSQLObjectOps

func EncodingSQLObjectOps(s *SQLObjectOps) (string, error)

Types

type SQLInfo

type SQLInfo struct {
	Sql string
}

type SQLObject

type SQLObject struct {
	// Type 表示对象的类型
	Type SQLObjectType
	// DatabaseName 表示对象所在的database,若对象不属于database,或无法从Sql中解析出当前database,则为空字符串
	DatabaseName string
	// SchemaName 表示对象所在的schema,若对象不属于schema,或无法从Sql中解析出当前schema,则为空字符串
	// 对于一些数据库类型,如PostgreSQL,可能存在schema的概念,此时SchemaName字段应该被使用
	// 对于一些数据库类型,如MySQL,可能不存在schema的概念,或schema的概念与database的概念相同,此时SchemaName字段应该为空字符串
	SchemaName string
	// TableName 表示对象的表名,如果对象不是表,则为空字符串
	TableName string
}

type SQLObjectOp

type SQLObjectOp struct {
	Op     SQLOp      // 对象操作
	Object *SQLObject // 对象
}

type SQLObjectOps

type SQLObjectOps struct {
	// ObjectOps 表示sql中涉及的对象及对对象的操作
	ObjectOps []*SQLObjectOp
	Sql       SQLInfo
}

func DecodingSQLObjectOps

func DecodingSQLObjectOps(s string) (*SQLObjectOps, error)

func NewSQLObjectOps

func NewSQLObjectOps(sql string) *SQLObjectOps

func (*SQLObjectOps) AddObjectOp

func (s *SQLObjectOps) AddObjectOp(o ...*SQLObjectOp)

type SQLObjectType

type SQLObjectType string
const (
	SQLObjectTypeTable    SQLObjectType = "Table"
	SQLObjectTypeSchema   SQLObjectType = "Schema"
	SQLObjectTypeDatabase SQLObjectType = "Database"
	SQLObjectTypeInstance SQLObjectType = "Instance"
	SQLObjectTypeServer   SQLObjectType = "Server"
)

type SQLOp

type SQLOp string
const (
	// 增或改操作
	SQLOpAddOrUpdate SQLOp = "AddOrUpdate"
	// 读取操作
	SQLOpRead SQLOp = "Read"
	// 删除操作
	SQLOpDelete SQLOp = "Delete"
	// 授权操作
	SQLOpGrant SQLOp = "Grant"
	// 高权限操作,如锁表、导出表到文件等
	SQLOpAdmin SQLOp = "Admin"
)

Jump to

Keyboard shortcuts

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