77type OrderDirection string
88
99const (
10- OrderDirectionNone OrderDirection = "None "
10+ OrderDirectionNone OrderDirection = ""
1111 OrderDirectionAsc OrderDirection = "ASC"
1212 OrderDirectionDesc OrderDirection = "DESC"
1313)
@@ -2690,9 +2690,164 @@ func (s *SampleByClause) Accept(visitor ASTVisitor) error {
26902690 return visitor .VisitSampleByExpr (s )
26912691}
26922692
2693+ type TTLPolicyRuleAction struct {
2694+ ActionPos Pos
2695+ ActionEnd Pos
2696+ Action string
2697+ Codec * CompressionCodec
2698+ }
2699+
2700+ func (t * TTLPolicyRuleAction ) Pos () Pos {
2701+ return t .ActionPos
2702+ }
2703+
2704+ func (t * TTLPolicyRuleAction ) End () Pos {
2705+ if t .Codec != nil {
2706+ return t .Codec .End ()
2707+ }
2708+ return t .ActionEnd
2709+ }
2710+
2711+ func (t * TTLPolicyRuleAction ) String () string {
2712+ var builder strings.Builder
2713+ builder .WriteString (t .Action )
2714+ if t .Codec != nil {
2715+ builder .WriteString (" " )
2716+ builder .WriteString (t .Codec .String ())
2717+ }
2718+ return builder .String ()
2719+ }
2720+
2721+ func (t * TTLPolicyRuleAction ) Accept (visitor ASTVisitor ) error {
2722+ visitor .enter (t )
2723+ defer visitor .leave (t )
2724+ if t .Codec != nil {
2725+ if err := t .Codec .Accept (visitor ); err != nil {
2726+ return err
2727+ }
2728+ }
2729+ return visitor .VisitTTLPolicyItemAction (t )
2730+ }
2731+
2732+ type TTLPolicyRule struct {
2733+ RulePos Pos
2734+ ToVolume * StringLiteral
2735+ ToDisk * StringLiteral
2736+ Action * TTLPolicyRuleAction
2737+ }
2738+
2739+ func (t * TTLPolicyRule ) Pos () Pos {
2740+ return t .RulePos
2741+ }
2742+
2743+ func (t * TTLPolicyRule ) End () Pos {
2744+ if t .Action != nil {
2745+ return t .Action .End ()
2746+ }
2747+ if t .ToDisk != nil {
2748+ return t .ToDisk .LiteralEnd
2749+ }
2750+ return t .ToVolume .LiteralEnd
2751+ }
2752+
2753+ func (t * TTLPolicyRule ) String () string {
2754+ var builder strings.Builder
2755+ if t .ToVolume != nil {
2756+ builder .WriteString ("TO VOLUME " )
2757+ builder .WriteString (t .ToVolume .String ())
2758+ } else if t .ToDisk != nil {
2759+ builder .WriteString ("TO DISK " )
2760+ builder .WriteString (t .ToDisk .String ())
2761+ } else if t .Action != nil {
2762+ builder .WriteString (t .Action .String ())
2763+ }
2764+ return builder .String ()
2765+ }
2766+
2767+ func (t * TTLPolicyRule ) Accept (visitor ASTVisitor ) error {
2768+ visitor .enter (t )
2769+ defer visitor .leave (t )
2770+ if t .ToVolume != nil {
2771+ if err := t .ToVolume .Accept (visitor ); err != nil {
2772+ return err
2773+ }
2774+ }
2775+ if t .ToDisk != nil {
2776+ if err := t .ToDisk .Accept (visitor ); err != nil {
2777+ return err
2778+ }
2779+ }
2780+ return visitor .VisitTTLPolicyRule (t )
2781+ }
2782+
2783+ type TTLPolicy struct {
2784+ Item * TTLPolicyRule
2785+ Where * WhereClause
2786+ GroupBy * GroupByClause
2787+ }
2788+
2789+ func (t * TTLPolicy ) Pos () Pos {
2790+ if t .Item != nil {
2791+ return t .Item .Pos ()
2792+ }
2793+ if t .Where != nil {
2794+ return t .Where .Pos ()
2795+ }
2796+ return t .GroupBy .Pos ()
2797+ }
2798+
2799+ func (t * TTLPolicy ) End () Pos {
2800+ if t .GroupBy != nil {
2801+ return t .GroupBy .End ()
2802+ }
2803+ if t .Where != nil {
2804+ return t .Where .End ()
2805+ }
2806+ return t .Item .End ()
2807+ }
2808+
2809+ func (t * TTLPolicy ) String () string {
2810+ var builder strings.Builder
2811+
2812+ if t .Item != nil {
2813+ builder .WriteString (t .Item .String ())
2814+ }
2815+ if t .Where != nil {
2816+ builder .WriteString (" " )
2817+ builder .WriteString (t .Where .String ())
2818+ }
2819+ if t .GroupBy != nil {
2820+ builder .WriteString (" " )
2821+ builder .WriteString (t .GroupBy .String ())
2822+ }
2823+ return builder .String ()
2824+ }
2825+
2826+ func (t * TTLPolicy ) Accept (visitor ASTVisitor ) error {
2827+ visitor .enter (t )
2828+ defer visitor .leave (t )
2829+ if t .Item != nil {
2830+ if err := t .Item .Accept (visitor ); err != nil {
2831+ return err
2832+ }
2833+ }
2834+ if t .Where != nil {
2835+ if err := t .Where .Accept (visitor ); err != nil {
2836+ return err
2837+ }
2838+ }
2839+ if t .GroupBy != nil {
2840+ if err := t .GroupBy .Accept (visitor ); err != nil {
2841+ return err
2842+ }
2843+ }
2844+ return visitor .VisitTTLPolicy (t )
2845+ }
2846+
26932847type TTLExpr struct {
26942848 TTLPos Pos
26952849 Expr Expr
2850+ Policy * TTLPolicy
26962851}
26972852
26982853func (t * TTLExpr ) Pos () Pos {
@@ -2706,6 +2861,10 @@ func (t *TTLExpr) End() Pos {
27062861func (t * TTLExpr ) String () string {
27072862 var builder strings.Builder
27082863 builder .WriteString (t .Expr .String ())
2864+ if t .Policy != nil {
2865+ builder .WriteString (" " )
2866+ builder .WriteString (t .Policy .String ())
2867+ }
27092868 return builder .String ()
27102869}
27112870
@@ -2715,6 +2874,11 @@ func (t *TTLExpr) Accept(visitor ASTVisitor) error {
27152874 if err := t .Expr .Accept (visitor ); err != nil {
27162875 return err
27172876 }
2877+ if t .Policy != nil {
2878+ if err := t .Policy .Accept (visitor ); err != nil {
2879+ return err
2880+ }
2881+ }
27182882 return visitor .VisitTTLExpr (t )
27192883}
27202884
0 commit comments