Documentation
¶
Index ¶
- func AddSemicolon(sql string) string
- func BlobArrDef(owner string, name string, data any) (string, bool)
- func BlobCreateStr(name string) (string, string)
- func ClobArrDef(owner string, name string, data any) (string, bool)
- func ClobCreateStr(name string) (string, string)
- func ConvertReservedKeywords(name string) string
- func InitFromRowData(owner string, r def.RowData) *oracleRowData
- func Stack(ctx *dialect.ParseContext) *stack.ArrayStack[string]
- func WrapperSqlIngoreExist(sql string) string
- type BlockKeywordType
- type ColumnExpressionInfo
- type ColumnInfo
- type CommentInfo
- type ConstraintInfo
- type IndexInfo
- type OracleExtraData
- type OracleType
- type RefConstraintInfo
- type SequenceInfo
- type Trigger
- type TriggerInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddSemicolon ¶
func BlobCreateStr ¶
func ClobCreateStr ¶
func ConvertReservedKeywords ¶
func InitFromRowData ¶
func Stack ¶
func Stack(ctx *dialect.ParseContext) *stack.ArrayStack[string]
func WrapperSqlIngoreExist ¶
Types ¶
type BlockKeywordType ¶
type BlockKeywordType int
const ( NotBlockKeyword BlockKeywordType = iota StartBlock EndBlock )
type ColumnExpressionInfo ¶
type ColumnExpressionInfo struct {
ColumnName string `db:"COLUMN_NAME"`
IndexName string `db:"INDEX_NAME"`
ColumnExpression string `db:"COLUMN_EXPRESSION"`
}
ColumnExpressionInfo 列表达式
type ColumnInfo ¶
type ColumnInfo struct {
ColumnName string `db:"COLUMN_NAME"`
DataType string `db:"DATA_TYPE"`
DataLength sql.NullInt64 `db:"DATA_LENGTH"`
CharLength sql.NullInt64 `db:"CHAR_LENGTH"`
DataPrecision sql.NullInt64 `db:"DATA_PRECISION"`
DataScale sql.NullInt64 `db:"DATA_SCALE"`
Nullable string `db:"NULLABLE"`
CharUsed sql.NullString `db:"CHAR_USED"`
DataDefault sql.NullString `db:"DATA_DEFAULT"`
Comment sql.NullString `db:"COMMENTS"`
}
ColumnInfo 表字段信息
type CommentInfo ¶
CommentInfo 字段注释
type ConstraintInfo ¶
type ConstraintInfo struct {
ConstraintName string `db:"CONSTRAINT_NAME"`
ConstraintType string `db:"CONSTRAINT_TYPE"` // 'P':主键, 'R':外键, 'U':唯一, 'C':检查
ColumnName string `db:"COLUMN_NAME"`
Position *int `db:"POSITION"`
RConstraintName sql.NullString `db:"R_CONSTRAINT_NAME"`
DeleteRule sql.NullString `db:"DELETE_RULE"`
SearchCondition sql.NullString `db:"SEARCH_CONDITION"`
}
ConstraintInfo 约束信息
type IndexInfo ¶
type IndexInfo struct {
IndexName string `db:"INDEX_NAME"`
ColumnName string `db:"COLUMN_NAME"`
ColumnPosition int `db:"COLUMN_POSITION"`
Uniqueness string `db:"UNIQUENESS"`
Descend string `db:"DESCEND"` // ASC or DESC
}
IndexInfo 索引信息
type OracleExtraData ¶
type OracleExtraData struct {
// contains filtered or unexported fields
}
func (*OracleExtraData) IsBlockEnd ¶
func (e *OracleExtraData) IsBlockEnd(line string) bool
IsEmpty checks if the extra data is empty
type OracleType ¶
type OracleType int
const ( OracleTypeUnknown OracleType = iota OracleTypeSelect OracleTypeInsert OracleTypeUpdate OracleTypeDelete OracleTypeCreateTable OracleTypeCreateIndex OracleTypeCreateView OracleTypeCreateFunction OracleTypeCreateProcedure OracleTypeCreateTrigger OracleTypeCreatePackage OracleTypeDrop OracleTypeAlter OracleTypeMerge OracleTypeOther )
func (OracleType) IsBlock ¶
func (t OracleType) IsBlock() bool
IsBlock 实现 SQLType 接口,判断该 SQL 类型是否为块级语句
func (OracleType) IsNull ¶
func (t OracleType) IsNull() bool
type RefConstraintInfo ¶
type RefConstraintInfo struct {
RConstraintName string `db:"R_CONSTRAINT_NAME"`
TableName string `db:"TABLE_NAME"`
Owner string `db:"OWNER"`
}
RefConstraintInfo 用于存储外键引用的约束信息
type SequenceInfo ¶
type SequenceInfo struct {
SequenceName string `db:"SEQUENCE_NAME"`
MinValue string `db:"MIN_VALUE"`
MaxValue string `db:"MAX_VALUE"`
IncrementBy string `db:"INCREMENT_BY"`
CycleFlag string `db:"CYCLE_FLAG"`
OrderFlag string `db:"ORDER_FLAG"`
CacheSize string `db:"CACHE_SIZE"`
LastNumber string `db:"LAST_NUMBER"`
SequenceOwner string `db:"SEQUENCE_OWNER"`
}
type Trigger ¶
type Trigger struct {
Owner string `db:"OWNER"`
TriggerName string `db:"TRIGGER_NAME"`
TriggerType string `db:"TRIGGER_TYPE"`
TriggeringEvent string `db:"TRIGGERING_EVENT"`
TableOwner string `db:"TABLE_OWNER"`
BaseObjectType string `db:"BASE_OBJECT_TYPE"`
TableName string `db:"TABLE_NAME"`
ColumnName sql.NullString `db:"COLUMN_NAME"`
ReferencingNames string `db:"REFERENCING_NAMES"`
WhenClause sql.NullString `db:"WHEN_CLAUSE"`
Status string `db:"STATUS"`
Description string `db:"DESCRIPTION"`
ActionType string `db:"ACTION_TYPE"`
TriggerBody string `db:"TRIGGER_BODY"`
Crosession string `db:"CROSSEDITION"`
BeforeStatement string `db:"BEFORE_STATEMENT"`
BeforeRow string `db:"BEFORE_ROW"`
AfterRow string `db:"AFTER_ROW"`
AfterStatement string `db:"AFTER_STATEMENT"`
InsteadOfRow string `db:"INSTEAD_OF_ROW"`
FireOnce string `db:"FIRE_ONCE"`
ApplyServerOnly string `db:"APPLY_SERVER_ONLY"`
}
Click to show internal directories.
Click to hide internal directories.