jet/sqlbuilder/alias_projection.go

35 lines
492 B
Go
Raw Normal View History

2019-03-31 09:17:28 +02:00
package sqlbuilder
import "bytes"
type Alias struct {
Clause
expression Expression
alias string
}
func NewAlias(expression Expression, alias string) *Alias {
if !validIdentifierName(alias) {
panic("Invalid alias")
}
return &Alias{
expression: expression,
alias: alias,
}
}
func (a *Alias) SerializeSql(out *bytes.Buffer) error {
err := a.expression.SerializeSql(out)
if err != nil {
return err
}
out.WriteString(" AS \"" + a.alias + "\"")
return nil
}