Skip to content

Commit b03f3d0

Browse files
authored
expression: add Alias (#59)
1 parent de58b85 commit b03f3d0

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Diff for: sql/expression/alias.go

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package expression
2+
3+
import "github.com/gitql/gitql/sql"
4+
5+
type Alias struct {
6+
UnaryExpression
7+
name string
8+
}
9+
10+
func NewAlias(child sql.Expression, name string) *Alias {
11+
return &Alias{UnaryExpression{child}, name}
12+
}
13+
14+
func (e *Alias) Type() sql.Type {
15+
return e.Child.Type()
16+
}
17+
18+
func (e *Alias) Eval(row sql.Row) interface{} {
19+
return e.Child.Eval(row)
20+
}
21+
22+
func (e *Alias) Name() string {
23+
return e.name
24+
}
25+
26+
func (e *Alias) TransformUp(f func(sql.Expression) sql.Expression) sql.Expression {
27+
c := e.Child.TransformUp(f)
28+
n := NewAlias(c, e.name)
29+
30+
return f(n)
31+
}

0 commit comments

Comments
 (0)