rdesc

package
v0.0.12 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArgPair

type ArgPair struct {
	Name         string
	Type         string
	Arg          *objs.Object
	IsReturnFunc bool
	IsMapKeyFunc bool
}

type BeanField

type BeanField struct {
	Name      string
	VarAlias  string
	VarType   string
	FieldType string // 字段原始类型, JSON 和 Blob 时可用
	JSON      bool
	Time      bool
	Blob      bool
	SQLType   string
	Ptr       bool
	TimeProp  *dbutil.TimePropDesc
}

type FuncDesc

type FuncDesc struct {

	// SQLReturnVarName string
	ReturnAutoincrPrimaryKeyUseQuery bool // insert 操作返回自增主键时,是否使用 Query 函数
	ParamIsDollar                    bool // sql 参数是否使用 $ + 序号的形式

	FuncName string
	// JSONPackage     string
	SQLPackage     string
	RumTimePackage string
	DBUtilPackage  string

	Result *Result
	Input  *Input

	// 表关联结构信息
	BeanObj           *defines.Object // 函数中关联表的 struct 类型参数
	ParamBeanObj      *defines.Object // 函数中关联查询参数的 struct 类型参数,用在 Find 函数中
	BeanTypeName      string          // 函数中关联表的 struct 类型名称
	BeanVarNeedCreate bool            // 是否需要创建 BeanType 的变量,当函数的参数中没有对应的 struct 参数时,需要创建
	BeanVarName       string          // 在函数体中使用的 关联表的 struct 类型变量的名称

	BeanFieldSetValues []VarSetPair // 需要给 VarBeanName 设置的变量

	SQLVarName       string // SQL 语句变量名称
	SQLReturnVarName string // 接收执行 SQL 时返回值的变量名称

	// 与select 语句中出现的 column 一一对应
	Fields []*BeanField
	// SQL 相关
	SQL            string
	SQLParams      []*sqlgenerator.SQLParam
	SQLWhereParams []*sqlgenerator.SQLParam

	// insert 返回自增主键相关
	AutoincrPrimaryKeyVarName   string
	AutoincrPrimaryKeyField     string
	AutoincrPrimaryKeyFieldType string
	// contains filtered or unexported fields
}

func NewCountFuncDesc

func NewCountFuncDesc(fn *defines.Func, maxResults int, g sqlgenerator.SQLGenerator, logger logger.GpaLogger) *FuncDesc

func NewFuncDesc

func NewFuncDesc(fn *defines.Func, maxResults int, g sqlgenerator.SQLGenerator, logger logger.GpaLogger) *FuncDesc

func (*FuncDesc) CheckAutoincrPrimaryKey

func (fd *FuncDesc) CheckAutoincrPrimaryKey() error

func (*FuncDesc) Explain

func (fd *FuncDesc) Explain() (err error)

func (*FuncDesc) ExplainSetBeanFieldsValueWithArgs

func (fd *FuncDesc) ExplainSetBeanFieldsValueWithArgs(whereParams map[string]bool) (err error)

func (*FuncDesc) NextVarName

func (fd *FuncDesc) NextVarName() string

type Input

type Input struct {
	Args           []*ArgPair      // 输入参数列表
	Bean           *defines.Object // 与表关联的 struct 参数
	ContextArgName string          // context.Context 参数名称

	Callback             *objs.Object // 返回数据的回调函数
	CallbackArgIsPtr     bool         // Callback 函数的参数是否指针
	KeyGenerator         *objs.Object // 生成 map 键值的回调函数
	KeyType              string       // 主键类型
	KeyGeneratorArgIsPtr bool         // KeyGenerator 函数的参数是否指针
}

type Result

type Result struct {
	Count     int
	Bean      *defines.Object // 与表关联的 struct 参数
	AffectVar string          // 返回影响行数的变量名称,适用于 update 和 delete 等操作
	// ReturnAffect bool // 是否返回影响函数,适用于 update 和 delete 等操作
	List           []*defines.Object
	FindOne        bool
	ReturnTypeName string
	CountVar       string // 返回结果数量的变量名称 适用于 select count(),即 Count 操作

}

type VarSetPair

type VarSetPair struct {
	VarName   string
	ValueName string
}

Jump to

Keyboard shortcuts

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