Files
db/exp/truncate_clauses.go
T
2025-03-22 23:02:05 +08:00

51 lines
1.0 KiB
Go

package exp
type (
TruncateClauses interface {
HasTable() bool
clone() *truncateClauses
Table() ColumnListExpression
SetTable(tables ColumnListExpression) TruncateClauses
Options() TruncateOptions
SetOptions(opts TruncateOptions) TruncateClauses
}
truncateClauses struct {
tables ColumnListExpression
options TruncateOptions
}
)
func NewTruncateClauses() TruncateClauses {
return &truncateClauses{}
}
func (tc *truncateClauses) HasTable() bool {
return tc.tables != nil
}
func (tc *truncateClauses) clone() *truncateClauses {
return &truncateClauses{
tables: tc.tables,
}
}
func (tc *truncateClauses) Table() ColumnListExpression {
return tc.tables
}
func (tc *truncateClauses) SetTable(tables ColumnListExpression) TruncateClauses {
ret := tc.clone()
ret.tables = tables
return ret
}
func (tc *truncateClauses) Options() TruncateOptions {
return tc.options
}
func (tc *truncateClauses) SetOptions(opts TruncateOptions) TruncateClauses {
ret := tc.clone()
ret.options = opts
return ret
}