github.com/matrixorigin/matrixone@v1.2.0/pkg/sql/plan/function/function_layout.go (about)

     1  // Copyright 2021 - 2022 Matrix Origin
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package function
    16  
    17  type FuncExplainLayout int32
    18  
    19  const (
    20  	STANDARD_FUNCTION          FuncExplainLayout = iota // standard function
    21  	UNARY_ARITHMETIC_OPERATOR                           // unary arithmetic operator
    22  	BINARY_ARITHMETIC_OPERATOR                          // binary arithmetic operator
    23  	UNARY_LOGICAL_OPERATOR                              // unary logical operator
    24  	BINARY_LOGICAL_OPERATOR                             // binary logical operator
    25  	COMPARISON_OPERATOR                                 // comparison operator
    26  	CAST_EXPRESSION                                     // CAST expression
    27  	CASE_WHEN_EXPRESSION                                // CASE ... WHEN ... expression
    28  	BETWEEN_AND_EXPRESSION                              // BETWEEN ... AND ... expression
    29  	IN_PREDICATE                                        // IN predicate
    30  	IS_EXPRESSION                                       // IS expression
    31  	IS_NOT_EXPRESSION                                   // IS NOT operator
    32  	NOPARAMETER_FUNCTION                                // noparameter function
    33  	DATE_INTERVAL_EXPRESSION                            // DATE expression, INTERVAL expression
    34  	EXTRACT_FUNCTION                                    // EXTRACT function,such as EXTRACT(MONTH/DAY/HOUR/MINUTE/SECOND FROM p)
    35  	POSITION_FUNCTION                                   // POSITION function, such as POSITION(substr IN str)
    36  	EXISTS_ANY_PREDICATE
    37  	UNKNOW_KIND_FUNCTION
    38  )