package orm
type DropCompositeOptions struct {
IfExists bool
Cascade bool
}
type DropCompositeQuery struct {
q *Query
opt *DropCompositeOptions
}
var (
_ QueryAppender = (*DropCompositeQuery)(nil)
_ QueryCommand = (*DropCompositeQuery)(nil)
)
func ( *Query, *DropCompositeOptions) *DropCompositeQuery {
return &DropCompositeQuery{
q: ,
opt: ,
}
}
func ( *DropCompositeQuery) () string {
, := .AppendQuery(defaultFmter, nil)
if != nil {
panic()
}
return string()
}
func ( *DropCompositeQuery) () QueryOp {
return DropCompositeOp
}
func ( *DropCompositeQuery) () QueryCommand {
return &DropCompositeQuery{
q: .q.Clone(),
opt: .opt,
}
}
func ( *DropCompositeQuery) () *Query {
return .q
}
func ( *DropCompositeQuery) ( []byte) ([]byte, error) {
return .AppendQuery(dummyFormatter{}, )
}
func ( *DropCompositeQuery) ( QueryFormatter, []byte) ([]byte, error) {
if .q.stickyErr != nil {
return nil, .q.stickyErr
}
if .q.tableModel == nil {
return nil, errModelNil
}
= append(, "DROP TYPE "...)
if .opt != nil && .opt.IfExists {
= append(, "IF EXISTS "...)
}
= append(, .q.tableModel.Table().Alias...)
if .opt != nil && .opt.Cascade {
= append(, " CASCADE"...)
}
return , .q.stickyErr
}