2019-03-31 09:17:28 +02:00
|
|
|
package sqlbuilder
|
|
|
|
|
|
|
|
|
|
type Alias struct {
|
2019-05-07 19:06:21 +02:00
|
|
|
expression expression
|
2019-03-31 09:17:28 +02:00
|
|
|
alias string
|
|
|
|
|
}
|
|
|
|
|
|
2019-05-07 19:06:21 +02:00
|
|
|
func NewAlias(expression expression, alias string) *Alias {
|
2019-03-31 09:17:28 +02:00
|
|
|
return &Alias{
|
|
|
|
|
expression: expression,
|
|
|
|
|
alias: alias,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-05-07 19:06:21 +02:00
|
|
|
func (a *Alias) serializeForProjection(out *queryData) error {
|
2019-03-31 09:17:28 +02:00
|
|
|
|
2019-05-08 12:49:36 +02:00
|
|
|
err := a.expression.serializeForProjection(out)
|
2019-03-31 09:17:28 +02:00
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
out.WriteString(" AS \"" + a.alias + "\"")
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
}
|