@@ -53,7 +53,7 @@ func (Language) Type() sql.Type {
53
53
}
54
54
55
55
// TransformUp implements the Expression interface.
56
- func (f * Language ) TransformUp (fn func ( sql.Expression ) (sql. Expression , error ) ) (sql.Expression , error ) {
56
+ func (f * Language ) TransformUp (fn sql.TransformExprFunc ) (sql.Expression , error ) {
57
57
left , err := f .Left .TransformUp (fn )
58
58
if err != nil {
59
59
return nil , err
@@ -71,8 +71,8 @@ func (f *Language) TransformUp(fn func(sql.Expression) (sql.Expression, error))
71
71
}
72
72
73
73
// Eval implements the Expression interface.
74
- func (f * Language ) Eval (session sql.Session , row sql.Row ) (interface {}, error ) {
75
- left , err := f .Left .Eval (session , row )
74
+ func (f * Language ) Eval (ctx * sql.Context , row sql.Row ) (interface {}, error ) {
75
+ left , err := f .Left .Eval (ctx , row )
76
76
if err != nil {
77
77
return nil , err
78
78
}
@@ -90,7 +90,7 @@ func (f *Language) Eval(session sql.Session, row sql.Row) (interface{}, error) {
90
90
var blob []byte
91
91
92
92
if f .Right != nil {
93
- right , err := f .Right .Eval (session , row )
93
+ right , err := f .Right .Eval (ctx , row )
94
94
if err != nil {
95
95
return nil , err
96
96
}
@@ -109,3 +109,12 @@ func (f *Language) Eval(session sql.Session, row sql.Row) (interface{}, error) {
109
109
110
110
return enry .GetLanguage (path , blob ), nil
111
111
}
112
+
113
+ // Children implements the Expression interface.
114
+ func (f * Language ) Children () []sql.Expression {
115
+ if f .Right == nil {
116
+ return []sql.Expression {f .Left }
117
+ }
118
+
119
+ return []sql.Expression {f .Left , f .Right }
120
+ }
0 commit comments