github.com/cockroachdb/cockroachdb-parser@v0.23.3-0.20240213214944-911057d40c9a/pkg/sql/sem/tree/eval_op_generated.go (about)

     1  // Copyright 2022 The Cockroach Authors.
     2  //
     3  // Use of this software is governed by the Business Source License
     4  // included in the file licenses/BSL.txt.
     5  //
     6  // As of the Change Date specified in that file, in accordance with
     7  // the Business Source License, use of this software will be governed
     8  // by the Apache License, Version 2.0, included in the file
     9  // licenses/APL.txt.
    10  
    11  // Code generated by eval_gen.go. DO NOT EDIT.
    12  // Regenerate this file with either of the following commands:
    13  //
    14  //   ./dev generate go
    15  //   go generate ./pkg/sql/sem/tree
    16  //
    17  // If you use the dev command and you have added a new tree expression, like
    18  // tree.XYZ in a new file, you may get the confusing error: undefined: XYZ.
    19  // Run './dev generate bazel' to fix this.
    20  package tree
    21  
    22  import "context"
    23  
    24  
    25  // UnaryEvalOp is a unary operation which can be evaluated.
    26  type UnaryEvalOp interface {
    27  	Eval(context.Context, OpEvaluator, Datum) (Datum, error)
    28  }
    29  
    30  // BinaryEvalOp is a binary operation which can be evaluated.
    31  type BinaryEvalOp interface {
    32  	Eval(context.Context, OpEvaluator, Datum, Datum) (Datum, error)
    33  }
    34  
    35  // OpEvaluator is an evaluator for UnaryEvalOp and BinaryEvalOp operations.
    36  type OpEvaluator interface {
    37  	UnaryOpEvaluator
    38  	BinaryOpEvaluator
    39  }
    40  
    41  // UnaryOpEvaluator knows how to evaluate UnaryEvalOps.
    42  type UnaryOpEvaluator interface {
    43  	EvalCbrtDecimalOp(context.Context, *CbrtDecimalOp, Datum) (Datum, error)
    44  	EvalCbrtFloatOp(context.Context, *CbrtFloatOp, Datum) (Datum, error)
    45  	EvalComplementINetOp(context.Context, *ComplementINetOp, Datum) (Datum, error)
    46  	EvalComplementIntOp(context.Context, *ComplementIntOp, Datum) (Datum, error)
    47  	EvalComplementVarBitOp(context.Context, *ComplementVarBitOp, Datum) (Datum, error)
    48  	EvalSqrtDecimalOp(context.Context, *SqrtDecimalOp, Datum) (Datum, error)
    49  	EvalSqrtFloatOp(context.Context, *SqrtFloatOp, Datum) (Datum, error)
    50  	EvalUnaryMinusDecimalOp(context.Context, *UnaryMinusDecimalOp, Datum) (Datum, error)
    51  	EvalUnaryMinusFloatOp(context.Context, *UnaryMinusFloatOp, Datum) (Datum, error)
    52  	EvalUnaryMinusIntOp(context.Context, *UnaryMinusIntOp, Datum) (Datum, error)
    53  	EvalUnaryMinusIntervalOp(context.Context, *UnaryMinusIntervalOp, Datum) (Datum, error)
    54  }
    55  
    56  // UnaryOpEvaluator knows how to evaluate BinaryEvalOps.
    57  type BinaryOpEvaluator interface {
    58  	EvalAppendToMaybeNullArrayOp(context.Context, *AppendToMaybeNullArrayOp, Datum, Datum) (Datum, error)
    59  	EvalBitAndINetOp(context.Context, *BitAndINetOp, Datum, Datum) (Datum, error)
    60  	EvalBitAndIntOp(context.Context, *BitAndIntOp, Datum, Datum) (Datum, error)
    61  	EvalBitAndVarBitOp(context.Context, *BitAndVarBitOp, Datum, Datum) (Datum, error)
    62  	EvalBitOrINetOp(context.Context, *BitOrINetOp, Datum, Datum) (Datum, error)
    63  	EvalBitOrIntOp(context.Context, *BitOrIntOp, Datum, Datum) (Datum, error)
    64  	EvalBitOrVarBitOp(context.Context, *BitOrVarBitOp, Datum, Datum) (Datum, error)
    65  	EvalBitXorIntOp(context.Context, *BitXorIntOp, Datum, Datum) (Datum, error)
    66  	EvalBitXorVarBitOp(context.Context, *BitXorVarBitOp, Datum, Datum) (Datum, error)
    67  	EvalCompareBox2DOp(context.Context, *CompareBox2DOp, Datum, Datum) (Datum, error)
    68  	EvalCompareScalarOp(context.Context, *CompareScalarOp, Datum, Datum) (Datum, error)
    69  	EvalCompareTupleOp(context.Context, *CompareTupleOp, Datum, Datum) (Datum, error)
    70  	EvalConcatArraysOp(context.Context, *ConcatArraysOp, Datum, Datum) (Datum, error)
    71  	EvalConcatBytesOp(context.Context, *ConcatBytesOp, Datum, Datum) (Datum, error)
    72  	EvalConcatJsonbOp(context.Context, *ConcatJsonbOp, Datum, Datum) (Datum, error)
    73  	EvalConcatOp(context.Context, *ConcatOp, Datum, Datum) (Datum, error)
    74  	EvalConcatStringOp(context.Context, *ConcatStringOp, Datum, Datum) (Datum, error)
    75  	EvalConcatVarBitOp(context.Context, *ConcatVarBitOp, Datum, Datum) (Datum, error)
    76  	EvalContainedByArrayOp(context.Context, *ContainedByArrayOp, Datum, Datum) (Datum, error)
    77  	EvalContainedByJsonbOp(context.Context, *ContainedByJsonbOp, Datum, Datum) (Datum, error)
    78  	EvalContainsArrayOp(context.Context, *ContainsArrayOp, Datum, Datum) (Datum, error)
    79  	EvalContainsJsonbOp(context.Context, *ContainsJsonbOp, Datum, Datum) (Datum, error)
    80  	EvalDivDecimalIntOp(context.Context, *DivDecimalIntOp, Datum, Datum) (Datum, error)
    81  	EvalDivDecimalOp(context.Context, *DivDecimalOp, Datum, Datum) (Datum, error)
    82  	EvalDivFloatOp(context.Context, *DivFloatOp, Datum, Datum) (Datum, error)
    83  	EvalDivIntDecimalOp(context.Context, *DivIntDecimalOp, Datum, Datum) (Datum, error)
    84  	EvalDivIntOp(context.Context, *DivIntOp, Datum, Datum) (Datum, error)
    85  	EvalDivIntervalFloatOp(context.Context, *DivIntervalFloatOp, Datum, Datum) (Datum, error)
    86  	EvalDivIntervalIntOp(context.Context, *DivIntervalIntOp, Datum, Datum) (Datum, error)
    87  	EvalFloorDivDecimalIntOp(context.Context, *FloorDivDecimalIntOp, Datum, Datum) (Datum, error)
    88  	EvalFloorDivDecimalOp(context.Context, *FloorDivDecimalOp, Datum, Datum) (Datum, error)
    89  	EvalFloorDivFloatOp(context.Context, *FloorDivFloatOp, Datum, Datum) (Datum, error)
    90  	EvalFloorDivIntDecimalOp(context.Context, *FloorDivIntDecimalOp, Datum, Datum) (Datum, error)
    91  	EvalFloorDivIntOp(context.Context, *FloorDivIntOp, Datum, Datum) (Datum, error)
    92  	EvalInTupleOp(context.Context, *InTupleOp, Datum, Datum) (Datum, error)
    93  	EvalJSONAllExistsOp(context.Context, *JSONAllExistsOp, Datum, Datum) (Datum, error)
    94  	EvalJSONExistsOp(context.Context, *JSONExistsOp, Datum, Datum) (Datum, error)
    95  	EvalJSONFetchTextIntOp(context.Context, *JSONFetchTextIntOp, Datum, Datum) (Datum, error)
    96  	EvalJSONFetchTextPathOp(context.Context, *JSONFetchTextPathOp, Datum, Datum) (Datum, error)
    97  	EvalJSONFetchTextStringOp(context.Context, *JSONFetchTextStringOp, Datum, Datum) (Datum, error)
    98  	EvalJSONFetchValIntOp(context.Context, *JSONFetchValIntOp, Datum, Datum) (Datum, error)
    99  	EvalJSONFetchValPathOp(context.Context, *JSONFetchValPathOp, Datum, Datum) (Datum, error)
   100  	EvalJSONFetchValStringOp(context.Context, *JSONFetchValStringOp, Datum, Datum) (Datum, error)
   101  	EvalJSONSomeExistsOp(context.Context, *JSONSomeExistsOp, Datum, Datum) (Datum, error)
   102  	EvalLShiftINetOp(context.Context, *LShiftINetOp, Datum, Datum) (Datum, error)
   103  	EvalLShiftIntOp(context.Context, *LShiftIntOp, Datum, Datum) (Datum, error)
   104  	EvalLShiftVarBitIntOp(context.Context, *LShiftVarBitIntOp, Datum, Datum) (Datum, error)
   105  	EvalMatchLikeOp(context.Context, *MatchLikeOp, Datum, Datum) (Datum, error)
   106  	EvalMatchRegexpOp(context.Context, *MatchRegexpOp, Datum, Datum) (Datum, error)
   107  	EvalMinusDateIntOp(context.Context, *MinusDateIntOp, Datum, Datum) (Datum, error)
   108  	EvalMinusDateIntervalOp(context.Context, *MinusDateIntervalOp, Datum, Datum) (Datum, error)
   109  	EvalMinusDateOp(context.Context, *MinusDateOp, Datum, Datum) (Datum, error)
   110  	EvalMinusDateTimeOp(context.Context, *MinusDateTimeOp, Datum, Datum) (Datum, error)
   111  	EvalMinusDecimalIntOp(context.Context, *MinusDecimalIntOp, Datum, Datum) (Datum, error)
   112  	EvalMinusDecimalOp(context.Context, *MinusDecimalOp, Datum, Datum) (Datum, error)
   113  	EvalMinusFloatOp(context.Context, *MinusFloatOp, Datum, Datum) (Datum, error)
   114  	EvalMinusINetIntOp(context.Context, *MinusINetIntOp, Datum, Datum) (Datum, error)
   115  	EvalMinusINetOp(context.Context, *MinusINetOp, Datum, Datum) (Datum, error)
   116  	EvalMinusIntDecimalOp(context.Context, *MinusIntDecimalOp, Datum, Datum) (Datum, error)
   117  	EvalMinusIntOp(context.Context, *MinusIntOp, Datum, Datum) (Datum, error)
   118  	EvalMinusIntervalOp(context.Context, *MinusIntervalOp, Datum, Datum) (Datum, error)
   119  	EvalMinusJsonbIntOp(context.Context, *MinusJsonbIntOp, Datum, Datum) (Datum, error)
   120  	EvalMinusJsonbStringArrayOp(context.Context, *MinusJsonbStringArrayOp, Datum, Datum) (Datum, error)
   121  	EvalMinusJsonbStringOp(context.Context, *MinusJsonbStringOp, Datum, Datum) (Datum, error)
   122  	EvalMinusPGLSNDecimalOp(context.Context, *MinusPGLSNDecimalOp, Datum, Datum) (Datum, error)
   123  	EvalMinusPGLSNOp(context.Context, *MinusPGLSNOp, Datum, Datum) (Datum, error)
   124  	EvalMinusTimeIntervalOp(context.Context, *MinusTimeIntervalOp, Datum, Datum) (Datum, error)
   125  	EvalMinusTimeOp(context.Context, *MinusTimeOp, Datum, Datum) (Datum, error)
   126  	EvalMinusTimeTZIntervalOp(context.Context, *MinusTimeTZIntervalOp, Datum, Datum) (Datum, error)
   127  	EvalMinusTimestampIntervalOp(context.Context, *MinusTimestampIntervalOp, Datum, Datum) (Datum, error)
   128  	EvalMinusTimestampOp(context.Context, *MinusTimestampOp, Datum, Datum) (Datum, error)
   129  	EvalMinusTimestampTZIntervalOp(context.Context, *MinusTimestampTZIntervalOp, Datum, Datum) (Datum, error)
   130  	EvalMinusTimestampTZOp(context.Context, *MinusTimestampTZOp, Datum, Datum) (Datum, error)
   131  	EvalMinusTimestampTZTimestampOp(context.Context, *MinusTimestampTZTimestampOp, Datum, Datum) (Datum, error)
   132  	EvalMinusTimestampTimestampTZOp(context.Context, *MinusTimestampTimestampTZOp, Datum, Datum) (Datum, error)
   133  	EvalModDecimalIntOp(context.Context, *ModDecimalIntOp, Datum, Datum) (Datum, error)
   134  	EvalModDecimalOp(context.Context, *ModDecimalOp, Datum, Datum) (Datum, error)
   135  	EvalModFloatOp(context.Context, *ModFloatOp, Datum, Datum) (Datum, error)
   136  	EvalModIntDecimalOp(context.Context, *ModIntDecimalOp, Datum, Datum) (Datum, error)
   137  	EvalModIntOp(context.Context, *ModIntOp, Datum, Datum) (Datum, error)
   138  	EvalModStringOp(context.Context, *ModStringOp, Datum, Datum) (Datum, error)
   139  	EvalMultDecimalIntOp(context.Context, *MultDecimalIntOp, Datum, Datum) (Datum, error)
   140  	EvalMultDecimalIntervalOp(context.Context, *MultDecimalIntervalOp, Datum, Datum) (Datum, error)
   141  	EvalMultDecimalOp(context.Context, *MultDecimalOp, Datum, Datum) (Datum, error)
   142  	EvalMultFloatIntervalOp(context.Context, *MultFloatIntervalOp, Datum, Datum) (Datum, error)
   143  	EvalMultFloatOp(context.Context, *MultFloatOp, Datum, Datum) (Datum, error)
   144  	EvalMultIntDecimalOp(context.Context, *MultIntDecimalOp, Datum, Datum) (Datum, error)
   145  	EvalMultIntIntervalOp(context.Context, *MultIntIntervalOp, Datum, Datum) (Datum, error)
   146  	EvalMultIntOp(context.Context, *MultIntOp, Datum, Datum) (Datum, error)
   147  	EvalMultIntervalDecimalOp(context.Context, *MultIntervalDecimalOp, Datum, Datum) (Datum, error)
   148  	EvalMultIntervalFloatOp(context.Context, *MultIntervalFloatOp, Datum, Datum) (Datum, error)
   149  	EvalMultIntervalIntOp(context.Context, *MultIntervalIntOp, Datum, Datum) (Datum, error)
   150  	EvalOverlapsArrayOp(context.Context, *OverlapsArrayOp, Datum, Datum) (Datum, error)
   151  	EvalOverlapsINetOp(context.Context, *OverlapsINetOp, Datum, Datum) (Datum, error)
   152  	EvalPlusDateIntOp(context.Context, *PlusDateIntOp, Datum, Datum) (Datum, error)
   153  	EvalPlusDateIntervalOp(context.Context, *PlusDateIntervalOp, Datum, Datum) (Datum, error)
   154  	EvalPlusDateTimeOp(context.Context, *PlusDateTimeOp, Datum, Datum) (Datum, error)
   155  	EvalPlusDateTimeTZOp(context.Context, *PlusDateTimeTZOp, Datum, Datum) (Datum, error)
   156  	EvalPlusDecimalIntOp(context.Context, *PlusDecimalIntOp, Datum, Datum) (Datum, error)
   157  	EvalPlusDecimalOp(context.Context, *PlusDecimalOp, Datum, Datum) (Datum, error)
   158  	EvalPlusDecimalPGLSNOp(context.Context, *PlusDecimalPGLSNOp, Datum, Datum) (Datum, error)
   159  	EvalPlusFloatOp(context.Context, *PlusFloatOp, Datum, Datum) (Datum, error)
   160  	EvalPlusINetIntOp(context.Context, *PlusINetIntOp, Datum, Datum) (Datum, error)
   161  	EvalPlusIntDateOp(context.Context, *PlusIntDateOp, Datum, Datum) (Datum, error)
   162  	EvalPlusIntDecimalOp(context.Context, *PlusIntDecimalOp, Datum, Datum) (Datum, error)
   163  	EvalPlusIntINetOp(context.Context, *PlusIntINetOp, Datum, Datum) (Datum, error)
   164  	EvalPlusIntOp(context.Context, *PlusIntOp, Datum, Datum) (Datum, error)
   165  	EvalPlusIntervalDateOp(context.Context, *PlusIntervalDateOp, Datum, Datum) (Datum, error)
   166  	EvalPlusIntervalOp(context.Context, *PlusIntervalOp, Datum, Datum) (Datum, error)
   167  	EvalPlusIntervalTimeOp(context.Context, *PlusIntervalTimeOp, Datum, Datum) (Datum, error)
   168  	EvalPlusIntervalTimeTZOp(context.Context, *PlusIntervalTimeTZOp, Datum, Datum) (Datum, error)
   169  	EvalPlusIntervalTimestampOp(context.Context, *PlusIntervalTimestampOp, Datum, Datum) (Datum, error)
   170  	EvalPlusIntervalTimestampTZOp(context.Context, *PlusIntervalTimestampTZOp, Datum, Datum) (Datum, error)
   171  	EvalPlusPGLSNDecimalOp(context.Context, *PlusPGLSNDecimalOp, Datum, Datum) (Datum, error)
   172  	EvalPlusTimeDateOp(context.Context, *PlusTimeDateOp, Datum, Datum) (Datum, error)
   173  	EvalPlusTimeIntervalOp(context.Context, *PlusTimeIntervalOp, Datum, Datum) (Datum, error)
   174  	EvalPlusTimeTZDateOp(context.Context, *PlusTimeTZDateOp, Datum, Datum) (Datum, error)
   175  	EvalPlusTimeTZIntervalOp(context.Context, *PlusTimeTZIntervalOp, Datum, Datum) (Datum, error)
   176  	EvalPlusTimestampIntervalOp(context.Context, *PlusTimestampIntervalOp, Datum, Datum) (Datum, error)
   177  	EvalPlusTimestampTZIntervalOp(context.Context, *PlusTimestampTZIntervalOp, Datum, Datum) (Datum, error)
   178  	EvalPowDecimalIntOp(context.Context, *PowDecimalIntOp, Datum, Datum) (Datum, error)
   179  	EvalPowDecimalOp(context.Context, *PowDecimalOp, Datum, Datum) (Datum, error)
   180  	EvalPowFloatOp(context.Context, *PowFloatOp, Datum, Datum) (Datum, error)
   181  	EvalPowIntDecimalOp(context.Context, *PowIntDecimalOp, Datum, Datum) (Datum, error)
   182  	EvalPowIntOp(context.Context, *PowIntOp, Datum, Datum) (Datum, error)
   183  	EvalPrependToMaybeNullArrayOp(context.Context, *PrependToMaybeNullArrayOp, Datum, Datum) (Datum, error)
   184  	EvalRShiftINetOp(context.Context, *RShiftINetOp, Datum, Datum) (Datum, error)
   185  	EvalRShiftIntOp(context.Context, *RShiftIntOp, Datum, Datum) (Datum, error)
   186  	EvalRShiftVarBitIntOp(context.Context, *RShiftVarBitIntOp, Datum, Datum) (Datum, error)
   187  	EvalSimilarToOp(context.Context, *SimilarToOp, Datum, Datum) (Datum, error)
   188  	EvalTSMatchesQueryVectorOp(context.Context, *TSMatchesQueryVectorOp, Datum, Datum) (Datum, error)
   189  	EvalTSMatchesVectorQueryOp(context.Context, *TSMatchesVectorQueryOp, Datum, Datum) (Datum, error)
   190  }
   191  
   192  
   193  // Eval is part of the UnaryEvalOp interface.
   194  func (op *CbrtDecimalOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   195  	return e.EvalCbrtDecimalOp(ctx, op, v)
   196  }
   197  
   198  // Eval is part of the UnaryEvalOp interface.
   199  func (op *CbrtFloatOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   200  	return e.EvalCbrtFloatOp(ctx, op, v)
   201  }
   202  
   203  // Eval is part of the UnaryEvalOp interface.
   204  func (op *ComplementINetOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   205  	return e.EvalComplementINetOp(ctx, op, v)
   206  }
   207  
   208  // Eval is part of the UnaryEvalOp interface.
   209  func (op *ComplementIntOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   210  	return e.EvalComplementIntOp(ctx, op, v)
   211  }
   212  
   213  // Eval is part of the UnaryEvalOp interface.
   214  func (op *ComplementVarBitOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   215  	return e.EvalComplementVarBitOp(ctx, op, v)
   216  }
   217  
   218  // Eval is part of the UnaryEvalOp interface.
   219  func (op *SqrtDecimalOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   220  	return e.EvalSqrtDecimalOp(ctx, op, v)
   221  }
   222  
   223  // Eval is part of the UnaryEvalOp interface.
   224  func (op *SqrtFloatOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   225  	return e.EvalSqrtFloatOp(ctx, op, v)
   226  }
   227  
   228  // Eval is part of the UnaryEvalOp interface.
   229  func (op *UnaryMinusDecimalOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   230  	return e.EvalUnaryMinusDecimalOp(ctx, op, v)
   231  }
   232  
   233  // Eval is part of the UnaryEvalOp interface.
   234  func (op *UnaryMinusFloatOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   235  	return e.EvalUnaryMinusFloatOp(ctx, op, v)
   236  }
   237  
   238  // Eval is part of the UnaryEvalOp interface.
   239  func (op *UnaryMinusIntOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   240  	return e.EvalUnaryMinusIntOp(ctx, op, v)
   241  }
   242  
   243  // Eval is part of the UnaryEvalOp interface.
   244  func (op *UnaryMinusIntervalOp) Eval(ctx context.Context, e OpEvaluator, v Datum) (Datum, error) {
   245  	return e.EvalUnaryMinusIntervalOp(ctx, op, v)
   246  }
   247  
   248  // Eval is part of the BinaryEvalOp interface.
   249  func (op *AppendToMaybeNullArrayOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   250  	return e.EvalAppendToMaybeNullArrayOp(ctx, op, a, b)
   251  }
   252  
   253  // Eval is part of the BinaryEvalOp interface.
   254  func (op *BitAndINetOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   255  	return e.EvalBitAndINetOp(ctx, op, a, b)
   256  }
   257  
   258  // Eval is part of the BinaryEvalOp interface.
   259  func (op *BitAndIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   260  	return e.EvalBitAndIntOp(ctx, op, a, b)
   261  }
   262  
   263  // Eval is part of the BinaryEvalOp interface.
   264  func (op *BitAndVarBitOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   265  	return e.EvalBitAndVarBitOp(ctx, op, a, b)
   266  }
   267  
   268  // Eval is part of the BinaryEvalOp interface.
   269  func (op *BitOrINetOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   270  	return e.EvalBitOrINetOp(ctx, op, a, b)
   271  }
   272  
   273  // Eval is part of the BinaryEvalOp interface.
   274  func (op *BitOrIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   275  	return e.EvalBitOrIntOp(ctx, op, a, b)
   276  }
   277  
   278  // Eval is part of the BinaryEvalOp interface.
   279  func (op *BitOrVarBitOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   280  	return e.EvalBitOrVarBitOp(ctx, op, a, b)
   281  }
   282  
   283  // Eval is part of the BinaryEvalOp interface.
   284  func (op *BitXorIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   285  	return e.EvalBitXorIntOp(ctx, op, a, b)
   286  }
   287  
   288  // Eval is part of the BinaryEvalOp interface.
   289  func (op *BitXorVarBitOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   290  	return e.EvalBitXorVarBitOp(ctx, op, a, b)
   291  }
   292  
   293  // Eval is part of the BinaryEvalOp interface.
   294  func (op *CompareBox2DOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   295  	return e.EvalCompareBox2DOp(ctx, op, a, b)
   296  }
   297  
   298  // Eval is part of the BinaryEvalOp interface.
   299  func (op *CompareScalarOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   300  	return e.EvalCompareScalarOp(ctx, op, a, b)
   301  }
   302  
   303  // Eval is part of the BinaryEvalOp interface.
   304  func (op *CompareTupleOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   305  	return e.EvalCompareTupleOp(ctx, op, a, b)
   306  }
   307  
   308  // Eval is part of the BinaryEvalOp interface.
   309  func (op *ConcatArraysOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   310  	return e.EvalConcatArraysOp(ctx, op, a, b)
   311  }
   312  
   313  // Eval is part of the BinaryEvalOp interface.
   314  func (op *ConcatBytesOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   315  	return e.EvalConcatBytesOp(ctx, op, a, b)
   316  }
   317  
   318  // Eval is part of the BinaryEvalOp interface.
   319  func (op *ConcatJsonbOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   320  	return e.EvalConcatJsonbOp(ctx, op, a, b)
   321  }
   322  
   323  // Eval is part of the BinaryEvalOp interface.
   324  func (op *ConcatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   325  	return e.EvalConcatOp(ctx, op, a, b)
   326  }
   327  
   328  // Eval is part of the BinaryEvalOp interface.
   329  func (op *ConcatStringOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   330  	return e.EvalConcatStringOp(ctx, op, a, b)
   331  }
   332  
   333  // Eval is part of the BinaryEvalOp interface.
   334  func (op *ConcatVarBitOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   335  	return e.EvalConcatVarBitOp(ctx, op, a, b)
   336  }
   337  
   338  // Eval is part of the BinaryEvalOp interface.
   339  func (op *ContainedByArrayOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   340  	return e.EvalContainedByArrayOp(ctx, op, a, b)
   341  }
   342  
   343  // Eval is part of the BinaryEvalOp interface.
   344  func (op *ContainedByJsonbOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   345  	return e.EvalContainedByJsonbOp(ctx, op, a, b)
   346  }
   347  
   348  // Eval is part of the BinaryEvalOp interface.
   349  func (op *ContainsArrayOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   350  	return e.EvalContainsArrayOp(ctx, op, a, b)
   351  }
   352  
   353  // Eval is part of the BinaryEvalOp interface.
   354  func (op *ContainsJsonbOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   355  	return e.EvalContainsJsonbOp(ctx, op, a, b)
   356  }
   357  
   358  // Eval is part of the BinaryEvalOp interface.
   359  func (op *DivDecimalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   360  	return e.EvalDivDecimalIntOp(ctx, op, a, b)
   361  }
   362  
   363  // Eval is part of the BinaryEvalOp interface.
   364  func (op *DivDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   365  	return e.EvalDivDecimalOp(ctx, op, a, b)
   366  }
   367  
   368  // Eval is part of the BinaryEvalOp interface.
   369  func (op *DivFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   370  	return e.EvalDivFloatOp(ctx, op, a, b)
   371  }
   372  
   373  // Eval is part of the BinaryEvalOp interface.
   374  func (op *DivIntDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   375  	return e.EvalDivIntDecimalOp(ctx, op, a, b)
   376  }
   377  
   378  // Eval is part of the BinaryEvalOp interface.
   379  func (op *DivIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   380  	return e.EvalDivIntOp(ctx, op, a, b)
   381  }
   382  
   383  // Eval is part of the BinaryEvalOp interface.
   384  func (op *DivIntervalFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   385  	return e.EvalDivIntervalFloatOp(ctx, op, a, b)
   386  }
   387  
   388  // Eval is part of the BinaryEvalOp interface.
   389  func (op *DivIntervalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   390  	return e.EvalDivIntervalIntOp(ctx, op, a, b)
   391  }
   392  
   393  // Eval is part of the BinaryEvalOp interface.
   394  func (op *FloorDivDecimalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   395  	return e.EvalFloorDivDecimalIntOp(ctx, op, a, b)
   396  }
   397  
   398  // Eval is part of the BinaryEvalOp interface.
   399  func (op *FloorDivDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   400  	return e.EvalFloorDivDecimalOp(ctx, op, a, b)
   401  }
   402  
   403  // Eval is part of the BinaryEvalOp interface.
   404  func (op *FloorDivFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   405  	return e.EvalFloorDivFloatOp(ctx, op, a, b)
   406  }
   407  
   408  // Eval is part of the BinaryEvalOp interface.
   409  func (op *FloorDivIntDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   410  	return e.EvalFloorDivIntDecimalOp(ctx, op, a, b)
   411  }
   412  
   413  // Eval is part of the BinaryEvalOp interface.
   414  func (op *FloorDivIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   415  	return e.EvalFloorDivIntOp(ctx, op, a, b)
   416  }
   417  
   418  // Eval is part of the BinaryEvalOp interface.
   419  func (op *InTupleOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   420  	return e.EvalInTupleOp(ctx, op, a, b)
   421  }
   422  
   423  // Eval is part of the BinaryEvalOp interface.
   424  func (op *JSONAllExistsOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   425  	return e.EvalJSONAllExistsOp(ctx, op, a, b)
   426  }
   427  
   428  // Eval is part of the BinaryEvalOp interface.
   429  func (op *JSONExistsOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   430  	return e.EvalJSONExistsOp(ctx, op, a, b)
   431  }
   432  
   433  // Eval is part of the BinaryEvalOp interface.
   434  func (op *JSONFetchTextIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   435  	return e.EvalJSONFetchTextIntOp(ctx, op, a, b)
   436  }
   437  
   438  // Eval is part of the BinaryEvalOp interface.
   439  func (op *JSONFetchTextPathOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   440  	return e.EvalJSONFetchTextPathOp(ctx, op, a, b)
   441  }
   442  
   443  // Eval is part of the BinaryEvalOp interface.
   444  func (op *JSONFetchTextStringOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   445  	return e.EvalJSONFetchTextStringOp(ctx, op, a, b)
   446  }
   447  
   448  // Eval is part of the BinaryEvalOp interface.
   449  func (op *JSONFetchValIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   450  	return e.EvalJSONFetchValIntOp(ctx, op, a, b)
   451  }
   452  
   453  // Eval is part of the BinaryEvalOp interface.
   454  func (op *JSONFetchValPathOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   455  	return e.EvalJSONFetchValPathOp(ctx, op, a, b)
   456  }
   457  
   458  // Eval is part of the BinaryEvalOp interface.
   459  func (op *JSONFetchValStringOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   460  	return e.EvalJSONFetchValStringOp(ctx, op, a, b)
   461  }
   462  
   463  // Eval is part of the BinaryEvalOp interface.
   464  func (op *JSONSomeExistsOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   465  	return e.EvalJSONSomeExistsOp(ctx, op, a, b)
   466  }
   467  
   468  // Eval is part of the BinaryEvalOp interface.
   469  func (op *LShiftINetOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   470  	return e.EvalLShiftINetOp(ctx, op, a, b)
   471  }
   472  
   473  // Eval is part of the BinaryEvalOp interface.
   474  func (op *LShiftIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   475  	return e.EvalLShiftIntOp(ctx, op, a, b)
   476  }
   477  
   478  // Eval is part of the BinaryEvalOp interface.
   479  func (op *LShiftVarBitIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   480  	return e.EvalLShiftVarBitIntOp(ctx, op, a, b)
   481  }
   482  
   483  // Eval is part of the BinaryEvalOp interface.
   484  func (op *MatchLikeOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   485  	return e.EvalMatchLikeOp(ctx, op, a, b)
   486  }
   487  
   488  // Eval is part of the BinaryEvalOp interface.
   489  func (op *MatchRegexpOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   490  	return e.EvalMatchRegexpOp(ctx, op, a, b)
   491  }
   492  
   493  // Eval is part of the BinaryEvalOp interface.
   494  func (op *MinusDateIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   495  	return e.EvalMinusDateIntOp(ctx, op, a, b)
   496  }
   497  
   498  // Eval is part of the BinaryEvalOp interface.
   499  func (op *MinusDateIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   500  	return e.EvalMinusDateIntervalOp(ctx, op, a, b)
   501  }
   502  
   503  // Eval is part of the BinaryEvalOp interface.
   504  func (op *MinusDateOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   505  	return e.EvalMinusDateOp(ctx, op, a, b)
   506  }
   507  
   508  // Eval is part of the BinaryEvalOp interface.
   509  func (op *MinusDateTimeOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   510  	return e.EvalMinusDateTimeOp(ctx, op, a, b)
   511  }
   512  
   513  // Eval is part of the BinaryEvalOp interface.
   514  func (op *MinusDecimalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   515  	return e.EvalMinusDecimalIntOp(ctx, op, a, b)
   516  }
   517  
   518  // Eval is part of the BinaryEvalOp interface.
   519  func (op *MinusDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   520  	return e.EvalMinusDecimalOp(ctx, op, a, b)
   521  }
   522  
   523  // Eval is part of the BinaryEvalOp interface.
   524  func (op *MinusFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   525  	return e.EvalMinusFloatOp(ctx, op, a, b)
   526  }
   527  
   528  // Eval is part of the BinaryEvalOp interface.
   529  func (op *MinusINetIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   530  	return e.EvalMinusINetIntOp(ctx, op, a, b)
   531  }
   532  
   533  // Eval is part of the BinaryEvalOp interface.
   534  func (op *MinusINetOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   535  	return e.EvalMinusINetOp(ctx, op, a, b)
   536  }
   537  
   538  // Eval is part of the BinaryEvalOp interface.
   539  func (op *MinusIntDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   540  	return e.EvalMinusIntDecimalOp(ctx, op, a, b)
   541  }
   542  
   543  // Eval is part of the BinaryEvalOp interface.
   544  func (op *MinusIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   545  	return e.EvalMinusIntOp(ctx, op, a, b)
   546  }
   547  
   548  // Eval is part of the BinaryEvalOp interface.
   549  func (op *MinusIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   550  	return e.EvalMinusIntervalOp(ctx, op, a, b)
   551  }
   552  
   553  // Eval is part of the BinaryEvalOp interface.
   554  func (op *MinusJsonbIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   555  	return e.EvalMinusJsonbIntOp(ctx, op, a, b)
   556  }
   557  
   558  // Eval is part of the BinaryEvalOp interface.
   559  func (op *MinusJsonbStringArrayOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   560  	return e.EvalMinusJsonbStringArrayOp(ctx, op, a, b)
   561  }
   562  
   563  // Eval is part of the BinaryEvalOp interface.
   564  func (op *MinusJsonbStringOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   565  	return e.EvalMinusJsonbStringOp(ctx, op, a, b)
   566  }
   567  
   568  // Eval is part of the BinaryEvalOp interface.
   569  func (op *MinusPGLSNDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   570  	return e.EvalMinusPGLSNDecimalOp(ctx, op, a, b)
   571  }
   572  
   573  // Eval is part of the BinaryEvalOp interface.
   574  func (op *MinusPGLSNOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   575  	return e.EvalMinusPGLSNOp(ctx, op, a, b)
   576  }
   577  
   578  // Eval is part of the BinaryEvalOp interface.
   579  func (op *MinusTimeIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   580  	return e.EvalMinusTimeIntervalOp(ctx, op, a, b)
   581  }
   582  
   583  // Eval is part of the BinaryEvalOp interface.
   584  func (op *MinusTimeOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   585  	return e.EvalMinusTimeOp(ctx, op, a, b)
   586  }
   587  
   588  // Eval is part of the BinaryEvalOp interface.
   589  func (op *MinusTimeTZIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   590  	return e.EvalMinusTimeTZIntervalOp(ctx, op, a, b)
   591  }
   592  
   593  // Eval is part of the BinaryEvalOp interface.
   594  func (op *MinusTimestampIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   595  	return e.EvalMinusTimestampIntervalOp(ctx, op, a, b)
   596  }
   597  
   598  // Eval is part of the BinaryEvalOp interface.
   599  func (op *MinusTimestampOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   600  	return e.EvalMinusTimestampOp(ctx, op, a, b)
   601  }
   602  
   603  // Eval is part of the BinaryEvalOp interface.
   604  func (op *MinusTimestampTZIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   605  	return e.EvalMinusTimestampTZIntervalOp(ctx, op, a, b)
   606  }
   607  
   608  // Eval is part of the BinaryEvalOp interface.
   609  func (op *MinusTimestampTZOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   610  	return e.EvalMinusTimestampTZOp(ctx, op, a, b)
   611  }
   612  
   613  // Eval is part of the BinaryEvalOp interface.
   614  func (op *MinusTimestampTZTimestampOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   615  	return e.EvalMinusTimestampTZTimestampOp(ctx, op, a, b)
   616  }
   617  
   618  // Eval is part of the BinaryEvalOp interface.
   619  func (op *MinusTimestampTimestampTZOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   620  	return e.EvalMinusTimestampTimestampTZOp(ctx, op, a, b)
   621  }
   622  
   623  // Eval is part of the BinaryEvalOp interface.
   624  func (op *ModDecimalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   625  	return e.EvalModDecimalIntOp(ctx, op, a, b)
   626  }
   627  
   628  // Eval is part of the BinaryEvalOp interface.
   629  func (op *ModDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   630  	return e.EvalModDecimalOp(ctx, op, a, b)
   631  }
   632  
   633  // Eval is part of the BinaryEvalOp interface.
   634  func (op *ModFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   635  	return e.EvalModFloatOp(ctx, op, a, b)
   636  }
   637  
   638  // Eval is part of the BinaryEvalOp interface.
   639  func (op *ModIntDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   640  	return e.EvalModIntDecimalOp(ctx, op, a, b)
   641  }
   642  
   643  // Eval is part of the BinaryEvalOp interface.
   644  func (op *ModIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   645  	return e.EvalModIntOp(ctx, op, a, b)
   646  }
   647  
   648  // Eval is part of the BinaryEvalOp interface.
   649  func (op *ModStringOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   650  	return e.EvalModStringOp(ctx, op, a, b)
   651  }
   652  
   653  // Eval is part of the BinaryEvalOp interface.
   654  func (op *MultDecimalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   655  	return e.EvalMultDecimalIntOp(ctx, op, a, b)
   656  }
   657  
   658  // Eval is part of the BinaryEvalOp interface.
   659  func (op *MultDecimalIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   660  	return e.EvalMultDecimalIntervalOp(ctx, op, a, b)
   661  }
   662  
   663  // Eval is part of the BinaryEvalOp interface.
   664  func (op *MultDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   665  	return e.EvalMultDecimalOp(ctx, op, a, b)
   666  }
   667  
   668  // Eval is part of the BinaryEvalOp interface.
   669  func (op *MultFloatIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   670  	return e.EvalMultFloatIntervalOp(ctx, op, a, b)
   671  }
   672  
   673  // Eval is part of the BinaryEvalOp interface.
   674  func (op *MultFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   675  	return e.EvalMultFloatOp(ctx, op, a, b)
   676  }
   677  
   678  // Eval is part of the BinaryEvalOp interface.
   679  func (op *MultIntDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   680  	return e.EvalMultIntDecimalOp(ctx, op, a, b)
   681  }
   682  
   683  // Eval is part of the BinaryEvalOp interface.
   684  func (op *MultIntIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   685  	return e.EvalMultIntIntervalOp(ctx, op, a, b)
   686  }
   687  
   688  // Eval is part of the BinaryEvalOp interface.
   689  func (op *MultIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   690  	return e.EvalMultIntOp(ctx, op, a, b)
   691  }
   692  
   693  // Eval is part of the BinaryEvalOp interface.
   694  func (op *MultIntervalDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   695  	return e.EvalMultIntervalDecimalOp(ctx, op, a, b)
   696  }
   697  
   698  // Eval is part of the BinaryEvalOp interface.
   699  func (op *MultIntervalFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   700  	return e.EvalMultIntervalFloatOp(ctx, op, a, b)
   701  }
   702  
   703  // Eval is part of the BinaryEvalOp interface.
   704  func (op *MultIntervalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   705  	return e.EvalMultIntervalIntOp(ctx, op, a, b)
   706  }
   707  
   708  // Eval is part of the BinaryEvalOp interface.
   709  func (op *OverlapsArrayOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   710  	return e.EvalOverlapsArrayOp(ctx, op, a, b)
   711  }
   712  
   713  // Eval is part of the BinaryEvalOp interface.
   714  func (op *OverlapsINetOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   715  	return e.EvalOverlapsINetOp(ctx, op, a, b)
   716  }
   717  
   718  // Eval is part of the BinaryEvalOp interface.
   719  func (op *PlusDateIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   720  	return e.EvalPlusDateIntOp(ctx, op, a, b)
   721  }
   722  
   723  // Eval is part of the BinaryEvalOp interface.
   724  func (op *PlusDateIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   725  	return e.EvalPlusDateIntervalOp(ctx, op, a, b)
   726  }
   727  
   728  // Eval is part of the BinaryEvalOp interface.
   729  func (op *PlusDateTimeOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   730  	return e.EvalPlusDateTimeOp(ctx, op, a, b)
   731  }
   732  
   733  // Eval is part of the BinaryEvalOp interface.
   734  func (op *PlusDateTimeTZOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   735  	return e.EvalPlusDateTimeTZOp(ctx, op, a, b)
   736  }
   737  
   738  // Eval is part of the BinaryEvalOp interface.
   739  func (op *PlusDecimalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   740  	return e.EvalPlusDecimalIntOp(ctx, op, a, b)
   741  }
   742  
   743  // Eval is part of the BinaryEvalOp interface.
   744  func (op *PlusDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   745  	return e.EvalPlusDecimalOp(ctx, op, a, b)
   746  }
   747  
   748  // Eval is part of the BinaryEvalOp interface.
   749  func (op *PlusDecimalPGLSNOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   750  	return e.EvalPlusDecimalPGLSNOp(ctx, op, a, b)
   751  }
   752  
   753  // Eval is part of the BinaryEvalOp interface.
   754  func (op *PlusFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   755  	return e.EvalPlusFloatOp(ctx, op, a, b)
   756  }
   757  
   758  // Eval is part of the BinaryEvalOp interface.
   759  func (op *PlusINetIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   760  	return e.EvalPlusINetIntOp(ctx, op, a, b)
   761  }
   762  
   763  // Eval is part of the BinaryEvalOp interface.
   764  func (op *PlusIntDateOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   765  	return e.EvalPlusIntDateOp(ctx, op, a, b)
   766  }
   767  
   768  // Eval is part of the BinaryEvalOp interface.
   769  func (op *PlusIntDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   770  	return e.EvalPlusIntDecimalOp(ctx, op, a, b)
   771  }
   772  
   773  // Eval is part of the BinaryEvalOp interface.
   774  func (op *PlusIntINetOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   775  	return e.EvalPlusIntINetOp(ctx, op, a, b)
   776  }
   777  
   778  // Eval is part of the BinaryEvalOp interface.
   779  func (op *PlusIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   780  	return e.EvalPlusIntOp(ctx, op, a, b)
   781  }
   782  
   783  // Eval is part of the BinaryEvalOp interface.
   784  func (op *PlusIntervalDateOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   785  	return e.EvalPlusIntervalDateOp(ctx, op, a, b)
   786  }
   787  
   788  // Eval is part of the BinaryEvalOp interface.
   789  func (op *PlusIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   790  	return e.EvalPlusIntervalOp(ctx, op, a, b)
   791  }
   792  
   793  // Eval is part of the BinaryEvalOp interface.
   794  func (op *PlusIntervalTimeOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   795  	return e.EvalPlusIntervalTimeOp(ctx, op, a, b)
   796  }
   797  
   798  // Eval is part of the BinaryEvalOp interface.
   799  func (op *PlusIntervalTimeTZOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   800  	return e.EvalPlusIntervalTimeTZOp(ctx, op, a, b)
   801  }
   802  
   803  // Eval is part of the BinaryEvalOp interface.
   804  func (op *PlusIntervalTimestampOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   805  	return e.EvalPlusIntervalTimestampOp(ctx, op, a, b)
   806  }
   807  
   808  // Eval is part of the BinaryEvalOp interface.
   809  func (op *PlusIntervalTimestampTZOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   810  	return e.EvalPlusIntervalTimestampTZOp(ctx, op, a, b)
   811  }
   812  
   813  // Eval is part of the BinaryEvalOp interface.
   814  func (op *PlusPGLSNDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   815  	return e.EvalPlusPGLSNDecimalOp(ctx, op, a, b)
   816  }
   817  
   818  // Eval is part of the BinaryEvalOp interface.
   819  func (op *PlusTimeDateOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   820  	return e.EvalPlusTimeDateOp(ctx, op, a, b)
   821  }
   822  
   823  // Eval is part of the BinaryEvalOp interface.
   824  func (op *PlusTimeIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   825  	return e.EvalPlusTimeIntervalOp(ctx, op, a, b)
   826  }
   827  
   828  // Eval is part of the BinaryEvalOp interface.
   829  func (op *PlusTimeTZDateOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   830  	return e.EvalPlusTimeTZDateOp(ctx, op, a, b)
   831  }
   832  
   833  // Eval is part of the BinaryEvalOp interface.
   834  func (op *PlusTimeTZIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   835  	return e.EvalPlusTimeTZIntervalOp(ctx, op, a, b)
   836  }
   837  
   838  // Eval is part of the BinaryEvalOp interface.
   839  func (op *PlusTimestampIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   840  	return e.EvalPlusTimestampIntervalOp(ctx, op, a, b)
   841  }
   842  
   843  // Eval is part of the BinaryEvalOp interface.
   844  func (op *PlusTimestampTZIntervalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   845  	return e.EvalPlusTimestampTZIntervalOp(ctx, op, a, b)
   846  }
   847  
   848  // Eval is part of the BinaryEvalOp interface.
   849  func (op *PowDecimalIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   850  	return e.EvalPowDecimalIntOp(ctx, op, a, b)
   851  }
   852  
   853  // Eval is part of the BinaryEvalOp interface.
   854  func (op *PowDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   855  	return e.EvalPowDecimalOp(ctx, op, a, b)
   856  }
   857  
   858  // Eval is part of the BinaryEvalOp interface.
   859  func (op *PowFloatOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   860  	return e.EvalPowFloatOp(ctx, op, a, b)
   861  }
   862  
   863  // Eval is part of the BinaryEvalOp interface.
   864  func (op *PowIntDecimalOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   865  	return e.EvalPowIntDecimalOp(ctx, op, a, b)
   866  }
   867  
   868  // Eval is part of the BinaryEvalOp interface.
   869  func (op *PowIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   870  	return e.EvalPowIntOp(ctx, op, a, b)
   871  }
   872  
   873  // Eval is part of the BinaryEvalOp interface.
   874  func (op *PrependToMaybeNullArrayOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   875  	return e.EvalPrependToMaybeNullArrayOp(ctx, op, a, b)
   876  }
   877  
   878  // Eval is part of the BinaryEvalOp interface.
   879  func (op *RShiftINetOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   880  	return e.EvalRShiftINetOp(ctx, op, a, b)
   881  }
   882  
   883  // Eval is part of the BinaryEvalOp interface.
   884  func (op *RShiftIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   885  	return e.EvalRShiftIntOp(ctx, op, a, b)
   886  }
   887  
   888  // Eval is part of the BinaryEvalOp interface.
   889  func (op *RShiftVarBitIntOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   890  	return e.EvalRShiftVarBitIntOp(ctx, op, a, b)
   891  }
   892  
   893  // Eval is part of the BinaryEvalOp interface.
   894  func (op *SimilarToOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   895  	return e.EvalSimilarToOp(ctx, op, a, b)
   896  }
   897  
   898  // Eval is part of the BinaryEvalOp interface.
   899  func (op *TSMatchesQueryVectorOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   900  	return e.EvalTSMatchesQueryVectorOp(ctx, op, a, b)
   901  }
   902  
   903  // Eval is part of the BinaryEvalOp interface.
   904  func (op *TSMatchesVectorQueryOp) Eval(ctx context.Context, e OpEvaluator, a, b Datum) (Datum, error) {
   905  	return e.EvalTSMatchesVectorQueryOp(ctx, op, a, b)
   906  }
   907