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-08 13:47:01 +02:00
|
|
|
func (a *Alias) serializeForProjection(statement statementType, out *queryData) error {
|
2019-03-31 09:17:28 +02:00
|
|
|
|
2019-05-08 13:47:01 +02:00
|
|
|
err := a.expression.serializeForProjection(statement, out)
|
2019-03-31 09:17:28 +02:00
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
2019-05-12 18:15:23 +02:00
|
|
|
out.writeString(`AS "` + a.alias + `"`)
|
2019-03-31 09:17:28 +02:00
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
}
|