1234567891011121314151617181920212223242526272829303132 |
- package clause
- // Select select attrs when querying, updating, creating
- type Select struct {
- Columns []Column
- Expression Expression
- }
- func (s Select) Name() string {
- return "SELECT"
- }
- func (s Select) Build(builder Builder) {
- if len(s.Columns) > 0 {
- for idx, column := range s.Columns {
- if idx > 0 {
- builder.WriteByte(',')
- }
- builder.WriteQuoted(column)
- }
- } else {
- builder.WriteByte('*')
- }
- }
- func (s Select) MergeClause(clause *Clause) {
- if s.Expression != nil {
- clause.Expression = s.Expression
- } else {
- clause.Expression = s
- }
- }
|