parserutil

package
v0.5.643 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FloatBitSize int = 64
)

Variables

This section is empty.

Functions

func CheckColUsagesAgainstTable

func CheckColUsagesAgainstTable(colUsages []ColumnUsageMetadata, table anysdk.OperationStore) error

func CheckSQLParserTypeVsColumn added in v0.5.375

func CheckSQLParserTypeVsColumn(colUsage ColumnUsageMetadata, verifyCallback func(string, interface{}) bool) error

func CheckSQLParserTypeVsResourceColumn added in v0.5.375

func CheckSQLParserTypeVsResourceColumn(
	colUsage ColumnUsageMetadata) error

func CheckSQLParserTypeVsServiceColumn added in v0.5.375

func CheckSQLParserTypeVsServiceColumn(
	colUsage ColumnUsageMetadata) error

func ExtractAliasedValColumnData

func ExtractAliasedValColumnData(aliasedExpr *sqlparser.AliasedExpr) (map[string]interface{}, error)

func ExtractInsertColumnNames

func ExtractInsertColumnNames(insertStmt *sqlparser.Insert) ([]string, error)

func ExtractInsertValColumns

func ExtractInsertValColumns(insStmt *sqlparser.Insert) (map[int]map[int]interface{}, int, error)

func ExtractInsertValColumnsPlusPlaceHolders

func ExtractInsertValColumnsPlusPlaceHolders(insStmt *sqlparser.Insert) (map[int]map[int]interface{}, int, error)

func ExtractSelectStatmentFromDDL added in v0.5.451

func ExtractSelectStatmentFromDDL(stmt sqlparser.Statement) (sqlparser.SelectStatement, bool)

func ExtractSelectValColumns

func ExtractSelectValColumns(selStmt *sqlparser.Select) (map[int]map[string]interface{}, int)

func ExtractShowColNames

func ExtractShowColNames(statement *sqlparser.ShowTablesOpt) ([]string, error)

func ExtractSingleTableFromTableExprs

func ExtractSingleTableFromTableExprs(tableExprs sqlparser.TableExprs) (*sqlparser.TableName, error)

func ExtractSleepDuration

func ExtractSleepDuration(statement *sqlparser.Sleep) (int, error)

func ExtractStringRepresentationOfValueColumn

func ExtractStringRepresentationOfValueColumn(expr *sqlparser.SQLVal) string

func ExtractTableNameFromTableExpr

func ExtractTableNameFromTableExpr(tableExpr sqlparser.TableExpr) (*sqlparser.TableName, error)

func ExtractUpdateValColumns

func ExtractUpdateValColumns(
	upStmt *sqlparser.Update,
) (map[*sqlparser.ColName]interface{}, []*sqlparser.ColName, error)

func ExtractValuesColumnData

func ExtractValuesColumnData(values sqlparser.Values) (map[int]map[int]interface{}, int, error)

func ExtractWhereColNames

func ExtractWhereColNames(statement *sqlparser.Where) ([]string, error)

func GetStringFromStringFunc

func GetStringFromStringFunc(fe *sqlparser.FuncExpr) (string, error)

func GetTableNameFromTableExpr

func GetTableNameFromTableExpr(node sqlparser.TableExpr) (sqlparser.TableName, error)

func IsCreateMaterializedView added in v0.5.451

func IsCreateMaterializedView(stmt sqlparser.Statement) bool

func IsCreatePhysicalTable added in v0.5.451

func IsCreatePhysicalTable(stmt sqlparser.Statement) bool

func IsCreateTemporaryPhysicalTable added in v0.5.451

func IsCreateTemporaryPhysicalTable(stmt sqlparser.Statement) bool

func IsDropMaterializedView added in v0.5.451

func IsDropMaterializedView(stmt sqlparser.Statement) bool

func IsDropPhysicalTable added in v0.5.451

func IsDropPhysicalTable(stmt sqlparser.Statement) bool

func IsFromExprSimple added in v0.5.418

func IsFromExprSimple(from sqlparser.TableExprs) bool

func IsNullTable

func IsNullTable(node sqlparser.TableExpr) bool

These null "dual" tables are some vitess artifact.

func NaiveRewriteComparisonExprs

func NaiveRewriteComparisonExprs(m map[*sqlparser.ComparisonExpr]struct{})

func RenderDDLSelectStmt added in v0.5.451

func RenderDDLSelectStmt(ddl *sqlparser.DDL) string

func RenderDDLTableSpecStmt added in v0.5.635

func RenderDDLTableSpecStmt(ddl *sqlparser.DDL) (string, error)

func RenderRefreshMaterializedViewSelectStmt added in v0.5.451

func RenderRefreshMaterializedViewSelectStmt(ref *sqlparser.RefreshMaterializedView) string

func TableFromSelectNode

func TableFromSelectNode(sel *sqlparser.Select) (sqlparser.TableName, error)

Types

type ColTableMap

type ColTableMap map[ColumnarReference]sqlparser.TableExpr

ColTableMap maps a ColumnarReference (column-like input) to a "Table Expression"; this may be a simple (single table) or composite (eg: subquery, union) object.

type ColumnHandle

type ColumnHandle struct {
	Alias           string
	Expr            sqlparser.Expr
	Name            string
	Qualifier       string
	DecoratedColumn string
	IsColumn        bool
	IsAggregateExpr bool
	Type            sqlparser.ValType
	Val             *sqlparser.SQLVal
}

func ExtractSelectColumnNames

func ExtractSelectColumnNames(selStmt *sqlparser.Select, formatter sqlparser.NodeFormatter) ([]ColumnHandle, error)

func InferColNameFromExpr

func InferColNameFromExpr(node *sqlparser.AliasedExpr, formatter sqlparser.NodeFormatter) (ColumnHandle, error)

func NewUnaliasedColumnHandle

func NewUnaliasedColumnHandle(name string) ColumnHandle

type ColumnKeyedDatastore

type ColumnKeyedDatastore interface {
	Contains(ColumnarReference) bool
	ContainsString(string) bool
	Delete(ColumnarReference) bool
	DeleteByString(string) bool
	GetStringified() map[string]interface{}
	AndStringMap(map[string]interface{}) ColumnKeyedDatastore
	DeleteStringMap(map[string]interface{}) ColumnKeyedDatastore
}

type ColumnUsageMetadata

type ColumnUsageMetadata struct {
	ColName *sqlparser.ColName
	ColVal  *sqlparser.SQLVal
}

func ExtractShowColUsage

func ExtractShowColUsage(statement *sqlparser.ShowTablesOpt) ([]ColumnUsageMetadata, error)

func GetColumnUsageTypes

func GetColumnUsageTypes(statement sqlparser.Expr) ([]ColumnUsageMetadata, error)

func GetColumnUsageTypesForExec

func GetColumnUsageTypesForExec(exec *sqlparser.Exec) ([]ColumnUsageMetadata, error)

type ColumnarReference

type ColumnarReference interface {
	GetStringKey() string
	Value() interface{}
	Alias() string
	String() string
	Name() string
	Abbreviate() (string, bool)
	SourceType() ParamSourceType
	// contains filtered or unexported methods
}

An abstract data type where the underlying datum should in some way represent a column or parameter. Purposes include parameterisation and request routing.

func NewColumnarReference

func NewColumnarReference(k interface{}, sourceType ParamSourceType) (ColumnarReference, error)

func NewUnknownTypeColumnarReference

func NewUnknownTypeColumnarReference(k interface{}) (ColumnarReference, error)

type ComparisonTableMap

type ComparisonTableMap map[*sqlparser.ComparisonExpr]sqlparser.TableExpr

type ParamSourceType

type ParamSourceType int
const (
	UnknownParam ParamSourceType = iota
	WhereParam
	JoinOnParam
)

type ParameterMap

type ParameterMap interface {
	ColumnKeyedDatastore

	Clone() ParameterMap
	Merge(ParameterMap) ParameterMap
	Set(ColumnarReference, ParameterMetadata) error
	Get(ColumnarReference) (ParameterMetadata, bool)
	GetAll() []ParameterMapKeyVal
	GetByString(string) ([]ParameterMapKeyVal, bool)
	GetMap() map[ColumnarReference]ParameterMetadata
	GetAbbreviatedStringified() map[string]interface{}
	// contains filtered or unexported methods
}

ParameterMap type is an abstraction for mapping a "Columnar Reference" (an abstract data type) to some supplied or inferred value.

func NewParameterMap

func NewParameterMap() ParameterMap

type ParameterMapKeyVal

type ParameterMapKeyVal struct {
	K ColumnarReference
	V ParameterMetadata
}

type ParameterMetadata

type ParameterMetadata interface {
	GetParent() *sqlparser.ComparisonExpr
	GetVal() interface{}
	GetTable() sqlparser.SQLNode
	GetOrdinal() int
	SetTable(sqlparser.SQLNode) error
	// contains filtered or unexported methods
}

func NewComparisonParameterMetadata

func NewComparisonParameterMetadata(parent *sqlparser.ComparisonExpr, val interface{}, ordinal int) ParameterMetadata

func NewPlaceholderParameterMetadata

func NewPlaceholderParameterMetadata(ordinal int) ParameterMetadata

type PlaceholderParameterMetadata

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

func (*PlaceholderParameterMetadata) GetOrdinal added in v0.5.571

func (pm *PlaceholderParameterMetadata) GetOrdinal() int

func (PlaceholderParameterMetadata) GetParent

func (PlaceholderParameterMetadata) GetTable

func (PlaceholderParameterMetadata) GetVal

func (pm PlaceholderParameterMetadata) GetVal() interface{}

func (PlaceholderParameterMetadata) SetTable

type StandardColumnarReference

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

func (StandardColumnarReference) Abbreviate

func (cr StandardColumnarReference) Abbreviate() (string, bool)

func (StandardColumnarReference) Alias

func (cr StandardColumnarReference) Alias() string

func (StandardColumnarReference) GetStringKey

func (cr StandardColumnarReference) GetStringKey() string

func (StandardColumnarReference) Name

func (StandardColumnarReference) SourceType

func (StandardColumnarReference) String

func (cr StandardColumnarReference) String() string

func (StandardColumnarReference) Value

func (cr StandardColumnarReference) Value() interface{}

type StandardComparisonParameterMetadata

type StandardComparisonParameterMetadata struct {
	Parent *sqlparser.ComparisonExpr
	Val    interface{}
	// contains filtered or unexported fields
}

func (*StandardComparisonParameterMetadata) GetOrdinal added in v0.5.571

func (pm *StandardComparisonParameterMetadata) GetOrdinal() int

func (*StandardComparisonParameterMetadata) GetParent

func (*StandardComparisonParameterMetadata) GetTable

func (*StandardComparisonParameterMetadata) GetVal

func (pm *StandardComparisonParameterMetadata) GetVal() interface{}

func (*StandardComparisonParameterMetadata) SetTable

type TableAliasMap

type TableAliasMap map[string]sqlparser.TableExpr

type TableExprMap

type TableExprMap map[sqlparser.TableName]sqlparser.TableExpr

func (TableExprMap) GetByAlias

func (tm TableExprMap) GetByAlias(alias string) (sqlparser.TableExpr, bool)

func (TableExprMap) SingleTableMap

func (tm TableExprMap) SingleTableMap(filterTable sqlparser.TableName) TableExprMap

func (TableExprMap) ToStringMap

func (tm TableExprMap) ToStringMap() map[string]interface{}

type TableParameterCoupling

type TableParameterCoupling interface {
	ColumnKeyedDatastore

	AbbreviateMap() (map[string]interface{}, error)
	Add(ColumnarReference, ParameterMetadata, ParamSourceType) error
	DeleteByOrdinal(int) bool
	Clone() TableParameterCoupling
	GetOnCoupling() TableParameterCoupling
	GetNotOnCoupling() TableParameterCoupling
	GetAllParameters() []ParameterMapKeyVal
	Minus(rhs TableParameterCoupling) TableParameterCoupling
	ReconstituteConsumedParams(map[string]interface{}) (TableParameterCoupling, error)
	// contains filtered or unexported methods
}

func NewTableParameterCoupling

func NewTableParameterCoupling() TableParameterCoupling

Jump to

Keyboard shortcuts

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