Bool expression refactoring.
This commit is contained in:
parent
5a7563d4af
commit
38007810c1
15 changed files with 818 additions and 583 deletions
34
sqlbuilder/alias_projection.go
Normal file
34
sqlbuilder/alias_projection.go
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
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
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue