fork github.com/doug-martin
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
package exp
|
||||
|
||||
type commonExpr struct {
|
||||
recursive bool
|
||||
name LiteralExpression
|
||||
subQuery Expression
|
||||
}
|
||||
|
||||
// Creates a new WITH common table expression for a SQLExpression, typically Datasets'. This function is used
|
||||
// internally by Dataset when a CTE is added to another Dataset
|
||||
func NewCommonTableExpression(recursive bool, name string, subQuery Expression) CommonTableExpression {
|
||||
return commonExpr{recursive: recursive, name: NewLiteralExpression(name), subQuery: subQuery}
|
||||
}
|
||||
|
||||
func (ce commonExpr) Expression() Expression { return ce }
|
||||
|
||||
func (ce commonExpr) Clone() Expression {
|
||||
return commonExpr{recursive: ce.recursive, name: ce.name, subQuery: ce.subQuery.Clone().(SQLExpression)}
|
||||
}
|
||||
|
||||
func (ce commonExpr) IsRecursive() bool { return ce.recursive }
|
||||
func (ce commonExpr) Name() LiteralExpression { return ce.name }
|
||||
func (ce commonExpr) SubQuery() Expression { return ce.subQuery }
|
||||
Reference in New Issue
Block a user