jet/projection.go
2019-07-18 17:43:11 +02:00

29 lines
725 B
Go

package jet
type projection interface {
serializeForProjection(statement statementType, out *sqlBuilder) error
from(subQuery SelectTable) projection
}
// ProjectionList is a redefined type, so that ProjectionList can be used as a projection.
type ProjectionList []projection
func (cl ProjectionList) from(subQuery SelectTable) projection {
newProjectionList := ProjectionList{}
for _, projection := range cl {
newProjectionList = append(newProjectionList, projection.from(subQuery))
}
return newProjectionList
}
func (cl ProjectionList) serializeForProjection(statement statementType, out *sqlBuilder) error {
err := serializeProjectionList(statement, cl, out)
if err != nil {
return err
}
return nil
}