51 lines
1.0 KiB
Go
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
|
|
}
|