Add StringColumn type and expression

Add Projection type
Alias refactoring
More numeric operations
This commit is contained in:
zer0sub 2019-04-03 11:03:07 +02:00
parent 033ab1d0da
commit b2f84d048c
16 changed files with 350 additions and 199 deletions

View file

@ -3,24 +3,18 @@ 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, options ...serializeOption) error {
func (a *Alias) SerializeForProjection(out *bytes.Buffer) error {
err := a.expression.SerializeSql(out, ALIASED)