blob: f5879b51b366a85287c53d66f7e0c9573bf77f56 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
#ifndef DBCOMMON_SRC_DBCOMMON_FUNCTION_FUNC_KIND_H_
#define DBCOMMON_SRC_DBCOMMON_FUNCTION_FUNC_KIND_H_
// clang-format off
/*
* DO NOT EDIT!"
*/
enum FuncKind {
// OpExpr::setOpFuncId chooses the specific function to use:
// 1. val op val 2. val op vec 3. vec op val 4. vec op vec
TINYINT_LESS_THAN_TINYINT = 0,
TINYINT_LESS_THAN_SMALLINT = 1,
TINYINT_LESS_THAN_INT = 2,
TINYINT_LESS_THAN_BIGINT = 3,
TINYINT_LESS_THAN_FLOAT = 4,
TINYINT_LESS_THAN_DOUBLE = 5,
SMALLINT_LESS_THAN_TINYINT = 6,
SMALLINT_LESS_THAN_SMALLINT = 7,
SMALLINT_LESS_THAN_INT = 8,
SMALLINT_LESS_THAN_BIGINT = 9,
SMALLINT_LESS_THAN_FLOAT = 10,
SMALLINT_LESS_THAN_DOUBLE = 11,
INT_LESS_THAN_TINYINT = 12,
INT_LESS_THAN_SMALLINT = 13,
INT_LESS_THAN_INT = 14,
INT_LESS_THAN_BIGINT = 15,
INT_LESS_THAN_FLOAT = 16,
INT_LESS_THAN_DOUBLE = 17,
BIGINT_LESS_THAN_TINYINT = 18,
BIGINT_LESS_THAN_SMALLINT = 19,
BIGINT_LESS_THAN_INT = 20,
BIGINT_LESS_THAN_BIGINT = 21,
BIGINT_LESS_THAN_FLOAT = 22,
BIGINT_LESS_THAN_DOUBLE = 23,
FLOAT_LESS_THAN_TINYINT = 24,
FLOAT_LESS_THAN_SMALLINT = 25,
FLOAT_LESS_THAN_INT = 26,
FLOAT_LESS_THAN_BIGINT = 27,
FLOAT_LESS_THAN_FLOAT = 28,
FLOAT_LESS_THAN_DOUBLE = 29,
DOUBLE_LESS_THAN_TINYINT = 30,
DOUBLE_LESS_THAN_SMALLINT = 31,
DOUBLE_LESS_THAN_INT = 32,
DOUBLE_LESS_THAN_BIGINT = 33,
DOUBLE_LESS_THAN_FLOAT = 34,
DOUBLE_LESS_THAN_DOUBLE = 35,
TINYINT_LESS_EQ_TINYINT = 36,
TINYINT_LESS_EQ_SMALLINT = 37,
TINYINT_LESS_EQ_INT = 38,
TINYINT_LESS_EQ_BIGINT = 39,
TINYINT_LESS_EQ_FLOAT = 40,
TINYINT_LESS_EQ_DOUBLE = 41,
SMALLINT_LESS_EQ_TINYINT = 42,
SMALLINT_LESS_EQ_SMALLINT = 43,
SMALLINT_LESS_EQ_INT = 44,
SMALLINT_LESS_EQ_BIGINT = 45,
SMALLINT_LESS_EQ_FLOAT = 46,
SMALLINT_LESS_EQ_DOUBLE = 47,
INT_LESS_EQ_TINYINT = 48,
INT_LESS_EQ_SMALLINT = 49,
INT_LESS_EQ_INT = 50,
INT_LESS_EQ_BIGINT = 51,
INT_LESS_EQ_FLOAT = 52,
INT_LESS_EQ_DOUBLE = 53,
BIGINT_LESS_EQ_TINYINT = 54,
BIGINT_LESS_EQ_SMALLINT = 55,
BIGINT_LESS_EQ_INT = 56,
BIGINT_LESS_EQ_BIGINT = 57,
BIGINT_LESS_EQ_FLOAT = 58,
BIGINT_LESS_EQ_DOUBLE = 59,
FLOAT_LESS_EQ_TINYINT = 60,
FLOAT_LESS_EQ_SMALLINT = 61,
FLOAT_LESS_EQ_INT = 62,
FLOAT_LESS_EQ_BIGINT = 63,
FLOAT_LESS_EQ_FLOAT = 64,
FLOAT_LESS_EQ_DOUBLE = 65,
DOUBLE_LESS_EQ_TINYINT = 66,
DOUBLE_LESS_EQ_SMALLINT = 67,
DOUBLE_LESS_EQ_INT = 68,
DOUBLE_LESS_EQ_BIGINT = 69,
DOUBLE_LESS_EQ_FLOAT = 70,
DOUBLE_LESS_EQ_DOUBLE = 71,
TINYINT_EQUAL_TINYINT = 72,
TINYINT_EQUAL_SMALLINT = 73,
TINYINT_EQUAL_INT = 74,
TINYINT_EQUAL_BIGINT = 75,
TINYINT_EQUAL_FLOAT = 76,
TINYINT_EQUAL_DOUBLE = 77,
SMALLINT_EQUAL_TINYINT = 78,
SMALLINT_EQUAL_SMALLINT = 79,
SMALLINT_EQUAL_INT = 80,
SMALLINT_EQUAL_BIGINT = 81,
SMALLINT_EQUAL_FLOAT = 82,
SMALLINT_EQUAL_DOUBLE = 83,
INT_EQUAL_TINYINT = 84,
INT_EQUAL_SMALLINT = 85,
INT_EQUAL_INT = 86,
INT_EQUAL_BIGINT = 87,
INT_EQUAL_FLOAT = 88,
INT_EQUAL_DOUBLE = 89,
BIGINT_EQUAL_TINYINT = 90,
BIGINT_EQUAL_SMALLINT = 91,
BIGINT_EQUAL_INT = 92,
BIGINT_EQUAL_BIGINT = 93,
BIGINT_EQUAL_FLOAT = 94,
BIGINT_EQUAL_DOUBLE = 95,
FLOAT_EQUAL_TINYINT = 96,
FLOAT_EQUAL_SMALLINT = 97,
FLOAT_EQUAL_INT = 98,
FLOAT_EQUAL_BIGINT = 99,
FLOAT_EQUAL_FLOAT = 100,
FLOAT_EQUAL_DOUBLE = 101,
DOUBLE_EQUAL_TINYINT = 102,
DOUBLE_EQUAL_SMALLINT = 103,
DOUBLE_EQUAL_INT = 104,
DOUBLE_EQUAL_BIGINT = 105,
DOUBLE_EQUAL_FLOAT = 106,
DOUBLE_EQUAL_DOUBLE = 107,
TINYINT_NOT_EQUAL_TINYINT = 108,
TINYINT_NOT_EQUAL_SMALLINT = 109,
TINYINT_NOT_EQUAL_INT = 110,
TINYINT_NOT_EQUAL_BIGINT = 111,
TINYINT_NOT_EQUAL_FLOAT = 112,
TINYINT_NOT_EQUAL_DOUBLE = 113,
SMALLINT_NOT_EQUAL_TINYINT = 114,
SMALLINT_NOT_EQUAL_SMALLINT = 115,
SMALLINT_NOT_EQUAL_INT = 116,
SMALLINT_NOT_EQUAL_BIGINT = 117,
SMALLINT_NOT_EQUAL_FLOAT = 118,
SMALLINT_NOT_EQUAL_DOUBLE = 119,
INT_NOT_EQUAL_TINYINT = 120,
INT_NOT_EQUAL_SMALLINT = 121,
INT_NOT_EQUAL_INT = 122,
INT_NOT_EQUAL_BIGINT = 123,
INT_NOT_EQUAL_FLOAT = 124,
INT_NOT_EQUAL_DOUBLE = 125,
BIGINT_NOT_EQUAL_TINYINT = 126,
BIGINT_NOT_EQUAL_SMALLINT = 127,
BIGINT_NOT_EQUAL_INT = 128,
BIGINT_NOT_EQUAL_BIGINT = 129,
BIGINT_NOT_EQUAL_FLOAT = 130,
BIGINT_NOT_EQUAL_DOUBLE = 131,
FLOAT_NOT_EQUAL_TINYINT = 132,
FLOAT_NOT_EQUAL_SMALLINT = 133,
FLOAT_NOT_EQUAL_INT = 134,
FLOAT_NOT_EQUAL_BIGINT = 135,
FLOAT_NOT_EQUAL_FLOAT = 136,
FLOAT_NOT_EQUAL_DOUBLE = 137,
DOUBLE_NOT_EQUAL_TINYINT = 138,
DOUBLE_NOT_EQUAL_SMALLINT = 139,
DOUBLE_NOT_EQUAL_INT = 140,
DOUBLE_NOT_EQUAL_BIGINT = 141,
DOUBLE_NOT_EQUAL_FLOAT = 142,
DOUBLE_NOT_EQUAL_DOUBLE = 143,
TINYINT_GREATER_THAN_TINYINT = 144,
TINYINT_GREATER_THAN_SMALLINT = 145,
TINYINT_GREATER_THAN_INT = 146,
TINYINT_GREATER_THAN_BIGINT = 147,
TINYINT_GREATER_THAN_FLOAT = 148,
TINYINT_GREATER_THAN_DOUBLE = 149,
SMALLINT_GREATER_THAN_TINYINT = 150,
SMALLINT_GREATER_THAN_SMALLINT = 151,
SMALLINT_GREATER_THAN_INT = 152,
SMALLINT_GREATER_THAN_BIGINT = 153,
SMALLINT_GREATER_THAN_FLOAT = 154,
SMALLINT_GREATER_THAN_DOUBLE = 155,
INT_GREATER_THAN_TINYINT = 156,
INT_GREATER_THAN_SMALLINT = 157,
INT_GREATER_THAN_INT = 158,
INT_GREATER_THAN_BIGINT = 159,
INT_GREATER_THAN_FLOAT = 160,
INT_GREATER_THAN_DOUBLE = 161,
BIGINT_GREATER_THAN_TINYINT = 162,
BIGINT_GREATER_THAN_SMALLINT = 163,
BIGINT_GREATER_THAN_INT = 164,
BIGINT_GREATER_THAN_BIGINT = 165,
BIGINT_GREATER_THAN_FLOAT = 166,
BIGINT_GREATER_THAN_DOUBLE = 167,
FLOAT_GREATER_THAN_TINYINT = 168,
FLOAT_GREATER_THAN_SMALLINT = 169,
FLOAT_GREATER_THAN_INT = 170,
FLOAT_GREATER_THAN_BIGINT = 171,
FLOAT_GREATER_THAN_FLOAT = 172,
FLOAT_GREATER_THAN_DOUBLE = 173,
DOUBLE_GREATER_THAN_TINYINT = 174,
DOUBLE_GREATER_THAN_SMALLINT = 175,
DOUBLE_GREATER_THAN_INT = 176,
DOUBLE_GREATER_THAN_BIGINT = 177,
DOUBLE_GREATER_THAN_FLOAT = 178,
DOUBLE_GREATER_THAN_DOUBLE = 179,
TINYINT_GREATER_EQ_TINYINT = 180,
TINYINT_GREATER_EQ_SMALLINT = 181,
TINYINT_GREATER_EQ_INT = 182,
TINYINT_GREATER_EQ_BIGINT = 183,
TINYINT_GREATER_EQ_FLOAT = 184,
TINYINT_GREATER_EQ_DOUBLE = 185,
SMALLINT_GREATER_EQ_TINYINT = 186,
SMALLINT_GREATER_EQ_SMALLINT = 187,
SMALLINT_GREATER_EQ_INT = 188,
SMALLINT_GREATER_EQ_BIGINT = 189,
SMALLINT_GREATER_EQ_FLOAT = 190,
SMALLINT_GREATER_EQ_DOUBLE = 191,
INT_GREATER_EQ_TINYINT = 192,
INT_GREATER_EQ_SMALLINT = 193,
INT_GREATER_EQ_INT = 194,
INT_GREATER_EQ_BIGINT = 195,
INT_GREATER_EQ_FLOAT = 196,
INT_GREATER_EQ_DOUBLE = 197,
BIGINT_GREATER_EQ_TINYINT = 198,
BIGINT_GREATER_EQ_SMALLINT = 199,
BIGINT_GREATER_EQ_INT = 200,
BIGINT_GREATER_EQ_BIGINT = 201,
BIGINT_GREATER_EQ_FLOAT = 202,
BIGINT_GREATER_EQ_DOUBLE = 203,
FLOAT_GREATER_EQ_TINYINT = 204,
FLOAT_GREATER_EQ_SMALLINT = 205,
FLOAT_GREATER_EQ_INT = 206,
FLOAT_GREATER_EQ_BIGINT = 207,
FLOAT_GREATER_EQ_FLOAT = 208,
FLOAT_GREATER_EQ_DOUBLE = 209,
DOUBLE_GREATER_EQ_TINYINT = 210,
DOUBLE_GREATER_EQ_SMALLINT = 211,
DOUBLE_GREATER_EQ_INT = 212,
DOUBLE_GREATER_EQ_BIGINT = 213,
DOUBLE_GREATER_EQ_FLOAT = 214,
DOUBLE_GREATER_EQ_DOUBLE = 215,
STRING_LESS_THAN_STRING = 216,
STRING_LESS_EQ_STRING = 217,
STRING_EQUAL_STRING = 218,
STRING_NOT_EQUAL_STRING = 219,
STRING_GREATER_THAN_STRING = 220,
STRING_GREATER_EQ_STRING = 221,
BINARY_LESS_THAN_BINARY = 222,
BINARY_LESS_EQ_BINARY = 223,
BINARY_EQUAL_BINARY = 224,
BINARY_NOT_EQUAL_BINARY = 225,
BINARY_GREATER_THAN_BINARY = 226,
BINARY_GREATER_EQ_BINARY = 227,
BOOLEAN_LESS_THAN_BOOLEAN = 228,
BOOLEAN_LESS_EQ_BOOLEAN = 229,
BOOLEAN_EQUAL_BOOLEAN = 230,
BOOLEAN_NOT_EQUAL_BOOLEAN = 231,
BOOLEAN_GREATER_THAN_BOOLEAN = 232,
BOOLEAN_GREATER_EQ_BOOLEAN = 233,
TIMESTAMP_LESS_THAN_TIMESTAMP = 234,
TIMESTAMP_LESS_EQ_TIMESTAMP = 235,
TIMESTAMP_EQUAL_TIMESTAMP = 236,
TIMESTAMP_NOT_EQUAL_TIMESTAMP = 237,
TIMESTAMP_GREATER_THAN_TIMESTAMP = 238,
TIMESTAMP_GREATER_EQ_TIMESTAMP = 239,
DECIMAL_LESS_THAN_DECIMAL = 240,
DECIMAL_LESS_EQ_DECIMAL = 241,
DECIMAL_EQUAL_DECIMAL = 242,
DECIMAL_NOT_EQUAL_DECIMAL = 243,
DECIMAL_GREATER_THAN_DECIMAL = 244,
DECIMAL_GREATER_EQ_DECIMAL = 245,
TINYINT_MUL_TINYINT = 246,
TINYINT_MUL_SMALLINT = 247,
TINYINT_MUL_INT = 248,
TINYINT_MUL_BIGINT = 249,
TINYINT_MUL_FLOAT = 250,
TINYINT_MUL_DOUBLE = 251,
SMALLINT_MUL_TINYINT = 252,
SMALLINT_MUL_SMALLINT = 253,
SMALLINT_MUL_INT = 254,
SMALLINT_MUL_BIGINT = 255,
SMALLINT_MUL_FLOAT = 256,
SMALLINT_MUL_DOUBLE = 257,
INT_MUL_TINYINT = 258,
INT_MUL_SMALLINT = 259,
INT_MUL_INT = 260,
INT_MUL_BIGINT = 261,
INT_MUL_FLOAT = 262,
INT_MUL_DOUBLE = 263,
BIGINT_MUL_TINYINT = 264,
BIGINT_MUL_SMALLINT = 265,
BIGINT_MUL_INT = 266,
BIGINT_MUL_BIGINT = 267,
BIGINT_MUL_FLOAT = 268,
BIGINT_MUL_DOUBLE = 269,
FLOAT_MUL_TINYINT = 270,
FLOAT_MUL_SMALLINT = 271,
FLOAT_MUL_INT = 272,
FLOAT_MUL_BIGINT = 273,
FLOAT_MUL_FLOAT = 274,
FLOAT_MUL_DOUBLE = 275,
DOUBLE_MUL_TINYINT = 276,
DOUBLE_MUL_SMALLINT = 277,
DOUBLE_MUL_INT = 278,
DOUBLE_MUL_BIGINT = 279,
DOUBLE_MUL_FLOAT = 280,
DOUBLE_MUL_DOUBLE = 281,
TINYINT_DIV_TINYINT = 282,
TINYINT_DIV_SMALLINT = 283,
TINYINT_DIV_INT = 284,
TINYINT_DIV_BIGINT = 285,
TINYINT_DIV_FLOAT = 286,
TINYINT_DIV_DOUBLE = 287,
SMALLINT_DIV_TINYINT = 288,
SMALLINT_DIV_SMALLINT = 289,
SMALLINT_DIV_INT = 290,
SMALLINT_DIV_BIGINT = 291,
SMALLINT_DIV_FLOAT = 292,
SMALLINT_DIV_DOUBLE = 293,
INT_DIV_TINYINT = 294,
INT_DIV_SMALLINT = 295,
INT_DIV_INT = 296,
INT_DIV_BIGINT = 297,
INT_DIV_FLOAT = 298,
INT_DIV_DOUBLE = 299,
BIGINT_DIV_TINYINT = 300,
BIGINT_DIV_SMALLINT = 301,
BIGINT_DIV_INT = 302,
BIGINT_DIV_BIGINT = 303,
BIGINT_DIV_FLOAT = 304,
BIGINT_DIV_DOUBLE = 305,
FLOAT_DIV_TINYINT = 306,
FLOAT_DIV_SMALLINT = 307,
FLOAT_DIV_INT = 308,
FLOAT_DIV_BIGINT = 309,
FLOAT_DIV_FLOAT = 310,
FLOAT_DIV_DOUBLE = 311,
DOUBLE_DIV_TINYINT = 312,
DOUBLE_DIV_SMALLINT = 313,
DOUBLE_DIV_INT = 314,
DOUBLE_DIV_BIGINT = 315,
DOUBLE_DIV_FLOAT = 316,
DOUBLE_DIV_DOUBLE = 317,
TINYINT_ADD_TINYINT = 318,
TINYINT_ADD_SMALLINT = 319,
TINYINT_ADD_INT = 320,
TINYINT_ADD_BIGINT = 321,
TINYINT_ADD_FLOAT = 322,
TINYINT_ADD_DOUBLE = 323,
SMALLINT_ADD_TINYINT = 324,
SMALLINT_ADD_SMALLINT = 325,
SMALLINT_ADD_INT = 326,
SMALLINT_ADD_BIGINT = 327,
SMALLINT_ADD_FLOAT = 328,
SMALLINT_ADD_DOUBLE = 329,
INT_ADD_TINYINT = 330,
INT_ADD_SMALLINT = 331,
INT_ADD_INT = 332,
INT_ADD_BIGINT = 333,
INT_ADD_FLOAT = 334,
INT_ADD_DOUBLE = 335,
BIGINT_ADD_TINYINT = 336,
BIGINT_ADD_SMALLINT = 337,
BIGINT_ADD_INT = 338,
BIGINT_ADD_BIGINT = 339,
BIGINT_ADD_FLOAT = 340,
BIGINT_ADD_DOUBLE = 341,
FLOAT_ADD_TINYINT = 342,
FLOAT_ADD_SMALLINT = 343,
FLOAT_ADD_INT = 344,
FLOAT_ADD_BIGINT = 345,
FLOAT_ADD_FLOAT = 346,
FLOAT_ADD_DOUBLE = 347,
DOUBLE_ADD_TINYINT = 348,
DOUBLE_ADD_SMALLINT = 349,
DOUBLE_ADD_INT = 350,
DOUBLE_ADD_BIGINT = 351,
DOUBLE_ADD_FLOAT = 352,
DOUBLE_ADD_DOUBLE = 353,
TINYINT_SUB_TINYINT = 354,
TINYINT_SUB_SMALLINT = 355,
TINYINT_SUB_INT = 356,
TINYINT_SUB_BIGINT = 357,
TINYINT_SUB_FLOAT = 358,
TINYINT_SUB_DOUBLE = 359,
SMALLINT_SUB_TINYINT = 360,
SMALLINT_SUB_SMALLINT = 361,
SMALLINT_SUB_INT = 362,
SMALLINT_SUB_BIGINT = 363,
SMALLINT_SUB_FLOAT = 364,
SMALLINT_SUB_DOUBLE = 365,
INT_SUB_TINYINT = 366,
INT_SUB_SMALLINT = 367,
INT_SUB_INT = 368,
INT_SUB_BIGINT = 369,
INT_SUB_FLOAT = 370,
INT_SUB_DOUBLE = 371,
BIGINT_SUB_TINYINT = 372,
BIGINT_SUB_SMALLINT = 373,
BIGINT_SUB_INT = 374,
BIGINT_SUB_BIGINT = 375,
BIGINT_SUB_FLOAT = 376,
BIGINT_SUB_DOUBLE = 377,
FLOAT_SUB_TINYINT = 378,
FLOAT_SUB_SMALLINT = 379,
FLOAT_SUB_INT = 380,
FLOAT_SUB_BIGINT = 381,
FLOAT_SUB_FLOAT = 382,
FLOAT_SUB_DOUBLE = 383,
DOUBLE_SUB_TINYINT = 384,
DOUBLE_SUB_SMALLINT = 385,
DOUBLE_SUB_INT = 386,
DOUBLE_SUB_BIGINT = 387,
DOUBLE_SUB_FLOAT = 388,
DOUBLE_SUB_DOUBLE = 389,
DECIMAL_MUL_DECIMAL = 390,
DECIMAL_DIV_DECIMAL = 391,
DECIMAL_ADD_DECIMAL = 392,
DECIMAL_SUB_DECIMAL = 393,
// aggregate function
// dummy aggregate function id denotes its correlated function, and it shares
// the same value with the lower bound its correlated function ids
AVG_TINYINT = 394,
AVG_TINYINT_ACCU = 394,
AVG_TINYINT_AMALG = 395,
AVG_TINYINT_AVG = 396,
AVG_SMALLINT = 397,
AVG_SMALLINT_ACCU = 397,
AVG_SMALLINT_AMALG = 398,
AVG_SMALLINT_AVG = 399,
AVG_INT = 400,
AVG_INT_ACCU = 400,
AVG_INT_AMALG = 401,
AVG_INT_AVG = 402,
AVG_BIGINT = 403,
AVG_BIGINT_ACCU = 403,
AVG_BIGINT_AMALG = 404,
AVG_BIGINT_AVG = 405,
AVG_FLOAT = 406,
AVG_FLOAT_ACCU = 406,
AVG_FLOAT_AMALG = 407,
AVG_FLOAT_AVG = 408,
AVG_DOUBLE = 409,
AVG_DOUBLE_ACCU = 409,
AVG_DOUBLE_AMALG = 410,
AVG_DOUBLE_AVG = 411,
MIN_TINYINT = 412,
MIN_TINYINT_SMALLER = 412,
MIN_SMALLINT = 413,
MIN_SMALLINT_SMALLER = 413,
MIN_INT = 414,
MIN_INT_SMALLER = 414,
MIN_BIGINT = 415,
MIN_BIGINT_SMALLER = 415,
MIN_FLOAT = 416,
MIN_FLOAT_SMALLER = 416,
MIN_DOUBLE = 417,
MIN_DOUBLE_SMALLER = 417,
MAX_TINYINT = 418,
MAX_TINYINT_LARGER = 418,
MAX_SMALLINT = 419,
MAX_SMALLINT_LARGER = 419,
MAX_INT = 420,
MAX_INT_LARGER = 420,
MAX_BIGINT = 421,
MAX_BIGINT_LARGER = 421,
MAX_FLOAT = 422,
MAX_FLOAT_LARGER = 422,
MAX_DOUBLE = 423,
MAX_DOUBLE_LARGER = 423,
SUM_TINYINT = 424,
SUM_TINYINT_SUM = 424,
SUM_TINYINT_ADD = 425,
SUM_SMALLINT = 426,
SUM_SMALLINT_SUM = 426,
SUM_SMALLINT_ADD = 427,
SUM_INT = 428,
SUM_INT_SUM = 428,
SUM_INT_ADD = 429,
SUM_BIGINT = 430,
SUM_BIGINT_SUM = 430,
SUM_BIGINT_ADD = 431,
SUM_FLOAT = 432,
SUM_FLOAT_SUM = 432,
SUM_FLOAT_ADD = 433,
SUM_DOUBLE = 434,
SUM_DOUBLE_SUM = 434,
SUM_DOUBLE_ADD = 435,
AVG_DECIMAL = 436,
AVG_DECIMAL_ACCU = 436,
AVG_DECIMAL_AMALG = 437,
AVG_DECIMAL_AVG = 438,
MIN_DECIMAL = 439,
MIN_DECIMAL_SMALLER = 439,
MAX_DECIMAL = 440,
MAX_DECIMAL_LARGER = 440,
SUM_DECIMAL = 441,
SUM_DECIMAL_SUM = 441,
SUM_DECIMAL_ADD = 442,
MIN_STRING = 443,
MIN_STRING_SMALLER = 443,
MAX_STRING = 444,
MAX_STRING_LARGER = 444,
MIN_BPCHAR = 445,
MIN_BPCHAR_SMALLER = 445,
MAX_BPCHAR = 446,
MAX_BPCHAR_LARGER = 446,
MIN_DATE = 447,
MIN_DATE_SMALLER = 447,
MIN_TIME = 448,
MIN_TIME_SMALLER = 448,
MAX_DATE = 449,
MAX_DATE_LARGER = 449,
MAX_TIME = 450,
MAX_TIME_LARGER = 450,
MIN_TIMESTAMP = 451,
MIN_TIMESTAMP_SMALLER = 451,
MAX_TIMESTAMP = 452,
MAX_TIMESTAMP_LARGER = 452,
COUNT_STAR = 453,
COUNT = 454,
COUNT_INC = 454,
COUNT_ADD = 455,
TINYINT_TO_SMALLINT = 456,
TINYINT_TO_INT = 457,
TINYINT_TO_BIGINT = 458,
TINYINT_TO_FLOAT = 459,
TINYINT_TO_DOUBLE = 460,
TINYINT_TO_DECIMAL = 461,
SMALLINT_TO_TINYINT = 462,
SMALLINT_TO_INT = 463,
SMALLINT_TO_BIGINT = 464,
SMALLINT_TO_FLOAT = 465,
SMALLINT_TO_DOUBLE = 466,
SMALLINT_TO_DECIMAL = 467,
INT_TO_TINYINT = 468,
INT_TO_SMALLINT = 469,
INT_TO_BIGINT = 470,
INT_TO_FLOAT = 471,
INT_TO_DOUBLE = 472,
INT_TO_DECIMAL = 473,
BIGINT_TO_TINYINT = 474,
BIGINT_TO_SMALLINT = 475,
BIGINT_TO_INT = 476,
BIGINT_TO_FLOAT = 477,
BIGINT_TO_DOUBLE = 478,
BIGINT_TO_DECIMAL = 479,
FLOAT_TO_TINYINT = 480,
FLOAT_TO_SMALLINT = 481,
FLOAT_TO_INT = 482,
FLOAT_TO_BIGINT = 483,
FLOAT_TO_DOUBLE = 484,
FLOAT_TO_DECIMAL = 485,
DOUBLE_TO_TINYINT = 486,
DOUBLE_TO_SMALLINT = 487,
DOUBLE_TO_INT = 488,
DOUBLE_TO_BIGINT = 489,
DOUBLE_TO_FLOAT = 490,
DOUBLE_TO_DECIMAL = 491,
DECIMAL_TO_TINYINT = 492,
DECIMAL_TO_SMALLINT = 493,
DECIMAL_TO_INT = 494,
DECIMAL_TO_BIGINT = 495,
DECIMAL_TO_FLOAT = 496,
DECIMAL_TO_DOUBLE = 497,
INTERVAL_LESS_THAN_INTERVAL = 498,
INTERVAL_LESS_EQ_INTERVAL = 499,
INTERVAL_EQUAL_INTERVAL = 500,
INTERVAL_NOT_EQUAL_INTERVAL = 501,
INTERVAL_GREATER_THAN_INTERVAL = 502,
INTERVAL_GREATER_EQ_INTERVAL = 503,
DATE_LESS_THAN_TIMESTAMP = 504,
DATE_LESS_EQ_TIMESTAMP = 505,
DATE_EQUAL_TIMESTAMP = 506,
DATE_NOT_EQUAL_TIMESTAMP = 507,
DATE_GREATER_THAN_TIMESTAMP = 508,
DATE_GREATER_EQ_TIMESTAMP = 509,
TIMESTAMP_LESS_THAN_DATE = 510,
TIMESTAMP_LESS_EQ_DATE = 511,
TIMESTAMP_EQUAL_DATE = 512,
TIMESTAMP_NOT_EQUAL_DATE = 513,
TIMESTAMP_GREATER_THAN_DATE = 514,
TIMESTAMP_GREATER_EQ_DATE = 515,
INTERVAL_ADD_INTERVAL = 516,
INTERVAL_SUB_INTERVAL = 517,
// clang-format on
// cast related functions
SMALLINT_TO_TEXT,
INT_TO_TEXT,
BIGINT_TO_TEXT,
FLOAT_TO_TEXT,
DOUBLE_TO_TEXT,
DECIMAL_TO_TEXT,
DATE_TO_TEXT,
BOOL_TO_TEXT,
TIME_TO_TEXT,
INTERVAL_TO_TEXT,
TIMESTAMPTZ_TO_TEXT,
DOUBLE_TO_TIMESTAMP,
// date/time related functions
DATE_TO_TIMESTAMP,
TIMESTAMP_TO_DATE,
IS_TIMESTAMP_FINITE,
TIMESTAMP_DATE_PART,
TIMESTAMP_DATE_TRUNC,
TIMESTAMP_TO_TEXT,
TIME_SUB_TIME,
DATE_ADD_INT,
DATE_SUB_INT,
// interval related functions
TIMESTAMP_SUB_TIMESTAMP,
DATE_ADD_INTERVAL,
DATE_SUB_INTERVAL,
TIME_ADD_INTERVAL,
TIME_SUB_INTERVAL,
TIMESTAMP_ADD_INTERVAL,
TIMESTAMP_SUB_INTERVAL,
// string related functions
CHAR_TO_STRING,
STRING_OCTET_LENGTH,
BPCHAR_OCTET_LENGTH,
STRING_CHAR_LENGTH,
BPCHAR_CHAR_LENGTH,
STRING_LIKE,
BPCHAR_LIKE,
STRING_NOT_LIKE,
BPCHAR_NOT_LIKE,
STRING_SUBSTRING,
STRING_SUBSTRING_NOLEN,
STRING_LOWER,
STRING_UPPER,
STRING_CONCAT,
STRING_POSITION,
STRING_STRPOS,
STRING_INITCAP,
STRING_ASCII,
STRING_VARCHAR,
STRING_LTRIM_BLANK,
STRING_LTRIM_CHARS,
STRING_RTRIM_BLANK,
STRING_RTRIM_CHARS,
STRING_BTRIM_BLANK,
STRING_BTRIM_CHARS,
STRING_REPEAT,
STRING_CHR,
STRING_BPCHAR,
STRING_LPAD,
STRING_RPAD,
STRING_LPAD_NOFILL,
STRING_RPAD_NOFILL,
BPCHAR_EQUAL_BPCHAR,
BPCHAR_NOT_EQUAL_BPCHAR,
BPCHAR_LESS_THAN_BPCHAR,
BPCHAR_LESS_EQ_BPCHAR,
BPCHAR_GREATER_THAN_BPCHAR,
BPCHAR_GREATER_EQ_BPCHAR,
STRING_TRANSLATE,
STRING_SPLIT_PART,
// binary related functions
BINARY_OCTET_LENGTH,
// array related functions
FLOAT_ARRAY_EUCLIDEAN_METRIC,
DOUBLE_ARRAY_EUCLIDEAN_METRIC,
FLOAT_ARRAY_COSINE_DISTANCE,
DOUBLE_ARRAY_COSINE_DISTANCE,
BIGINT_ARRAY_OVERLAP,
BIGINT_ARRAY_CONTAINS,
BIGINT_ARRAY_CONTAINED,
// mathematic functions
DOUBLE_ABS,
FLOAT_ABS,
INT64_ABS,
INT32_ABS,
INT16_ABS,
DOUBLE_CBRT,
DOUBLE_SQRT,
INT16_BINARY_NOT,
INT32_BINARY_NOT,
INT64_BINARY_NOT,
INT16_BINARY_SHIFT_LEFT,
INT32_BINARY_SHIFT_LEFT,
INT64_BINARY_SHIFT_LEFT,
INT16_BINARY_SHIFT_RIGHT,
INT32_BINARY_SHIFT_RIGHT,
INT64_BINARY_SHIFT_RIGHT,
INT16_BINARY_AND,
INT32_BINARY_AND,
INT64_BINARY_AND,
INT16_BINARY_OR,
INT32_BINARY_OR,
INT64_BINARY_OR,
INT16_BINARY_XOR,
INT32_BINARY_XOR,
INT64_BINARY_XOR,
INT16_MOD,
INT32_MOD,
INT16_32_MOD,
INT32_16_MOD,
INT64_MOD,
DOUBLE_POW,
DOUBLE_CEIL,
DOUBLE_FLOOR,
DOUBLE_ROUND,
DOUBLE_TRUNC,
DOUBLE_SIGN,
DOUBLE_EXP,
DOUBLE_LN,
DOUBLE_LG,
DOUBLE_LOG,
DOUBLE_ACOS,
DOUBLE_ASIN,
DOUBLE_ATAN,
DOUBLE_ATAN2,
DOUBLE_COS,
DOUBLE_COT,
DOUBLE_SIN,
DOUBLE_TAN,
DOUBLE_DEGREES,
DOUBLE_RADIANS,
// decimal function
DECIMAL_ABS,
DECIMAL_SIGN,
DECIMAL_CEIL,
DECIMAL_FLOOR,
DECIMAL_ROUND,
DECIMAL_ROUND_WITHOUT_SCALE,
DECIMAL_TRUNC,
DECIMAL_TRUNC_WITHOUT_SCALE,
DECIMAL_TO_DECIMAL,
DECIMAL_MOD,
DECIMAL_SQRT,
DECIMAL_EXP,
DECIMAL_LN,
DECIMAL_LOG,
DECIMAL_FAC,
DECIMAL_POW,
TEXT_TO_SMALLINT,
TEXT_TO_INT,
TEXT_TO_BIGINT,
TEXT_TO_FLOAT,
TEXT_TO_DOUBLE,
CHAR_TO_BYTEA,
SMALLINT_TO_BYTEA,
INT_TO_BYTEA,
BIGINT_TO_BYTEA,
FLOAT_TO_BYTEA,
DOUBLE_TO_BYTEA,
BOOL_TO_BYTEA,
TEXT_TO_BYTEA,
DATE_TO_BYTEA,
TIME_TO_BYTEA,
TIMESTAMP_TO_BYTEA,
TIMESTAMPTZ_TO_BYTEA,
INTERVAL_TO_BYTEA,
DECIMAL_TO_BYTEA,
SMALLINT_TO_BOOLEAN,
INT_TO_BOOLEAN,
BIGINT_TO_BOOLEAN,
BOOLEAN_TO_SMALLINT,
BOOLEAN_TO_INT,
BOOLEAN_TO_BIGINT,
TEXT_TO_DECIMAL,
TO_NUMBER,
// random()
RANDOMF,
SETSEEDF,
// Other aggregate functions
STDDEV_SAMP_TINYINT,
STDDEV_SAMP_TINYINT_ACCU = STDDEV_SAMP_TINYINT,
STDDEV_SAMP_TINYINT_AMALG,
STDDEV_SAMP_TINYINT_STDDEV_SAMP,
STDDEV_SAMP_SMALLINT,
STDDEV_SAMP_SMALLINT_ACCU = STDDEV_SAMP_SMALLINT,
STDDEV_SAMP_SMALLINT_AMALG,
STDDEV_SAMP_SMALLINT_STDDEV_SAMP,
STDDEV_SAMP_INT,
STDDEV_SAMP_INT_ACCU = STDDEV_SAMP_INT,
STDDEV_SAMP_INT_AMALG,
STDDEV_SAMP_INT_STDDEV_SAMP,
STDDEV_SAMP_BIGINT,
STDDEV_SAMP_BIGINT_ACCU = STDDEV_SAMP_BIGINT,
STDDEV_SAMP_BIGINT_AMALG,
STDDEV_SAMP_BIGINT_STDDEV_SAMP,
STDDEV_SAMP_FLOAT,
STDDEV_SAMP_FLOAT_ACCU = STDDEV_SAMP_FLOAT,
STDDEV_SAMP_FLOAT_AMALG,
STDDEV_SAMP_FLOAT_STDDEV_SAMP,
STDDEV_SAMP_DOUBLE,
STDDEV_SAMP_DOUBLE_ACCU = STDDEV_SAMP_DOUBLE,
STDDEV_SAMP_DOUBLE_AMALG,
STDDEV_SAMP_DOUBLE_STDDEV_SAMP,
STDDEV_SAMP_DECIMAL,
STDDEV_SAMP_DECIMAL_ACCU = STDDEV_SAMP_DECIMAL,
STDDEV_SAMP_DECIMAL_AMALG,
STDDEV_SAMP_DECIMAL_STDDEV_SAMP,
STDDEV_POP_TINYINT,
STDDEV_POP_TINYINT_ACCU = STDDEV_POP_TINYINT,
STDDEV_POP_TINYINT_AMALG,
STDDEV_POP_TINYINT_STDDEV_POP,
STDDEV_POP_SMALLINT,
STDDEV_POP_SMALLINT_ACCU = STDDEV_POP_SMALLINT,
STDDEV_POP_SMALLINT_AMALG,
STDDEV_POP_SMALLINT_STDDEV_POP,
STDDEV_POP_INT,
STDDEV_POP_INT_ACCU = STDDEV_POP_INT,
STDDEV_POP_INT_AMALG,
STDDEV_POP_INT_STDDEV_POP,
STDDEV_POP_BIGINT,
STDDEV_POP_BIGINT_ACCU = STDDEV_POP_BIGINT,
STDDEV_POP_BIGINT_AMALG,
STDDEV_POP_BIGINT_STDDEV_POP,
STDDEV_POP_FLOAT,
STDDEV_POP_FLOAT_ACCU = STDDEV_POP_FLOAT,
STDDEV_POP_FLOAT_AMALG,
STDDEV_POP_FLOAT_STDDEV_POP,
STDDEV_POP_DOUBLE,
STDDEV_POP_DOUBLE_ACCU = STDDEV_POP_DOUBLE,
STDDEV_POP_DOUBLE_AMALG,
STDDEV_POP_DOUBLE_STDDEV_POP,
STDDEV_POP_DECIMAL,
STDDEV_POP_DECIMAL_ACCU = STDDEV_POP_DECIMAL,
STDDEV_POP_DECIMAL_AMALG,
STDDEV_POP_DECIMAL_STDDEV_POP,
STDDEV_TINYINT,
STDDEV_TINYINT_ACCU = STDDEV_TINYINT,
STDDEV_TINYINT_AMALG,
STDDEV_TINYINT_STDDEV,
STDDEV_SMALLINT,
STDDEV_SMALLINT_ACCU = STDDEV_SMALLINT,
STDDEV_SMALLINT_AMALG,
STDDEV_SMALLINT_STDDEV,
STDDEV_INT,
STDDEV_INT_ACCU = STDDEV_INT,
STDDEV_INT_AMALG,
STDDEV_INT_STDDEV,
STDDEV_BIGINT,
STDDEV_BIGINT_ACCU = STDDEV_BIGINT,
STDDEV_BIGINT_AMALG,
STDDEV_BIGINT_STDDEV,
STDDEV_FLOAT,
STDDEV_FLOAT_ACCU = STDDEV_FLOAT,
STDDEV_FLOAT_AMALG,
STDDEV_FLOAT_STDDEV,
STDDEV_DOUBLE,
STDDEV_DOUBLE_ACCU = STDDEV_DOUBLE,
STDDEV_DOUBLE_AMALG,
STDDEV_DOUBLE_STDDEV,
STDDEV_DECIMAL,
STDDEV_DECIMAL_ACCU = STDDEV_DECIMAL,
STDDEV_DECIMAL_AMALG,
STDDEV_DECIMAL_STDDEV,
// regular expression functions
REGEX_REPLACE,
TEXT_REGEX_EQ,
TEXT_IC_REGEX_EQ,
TEXT_REGEX_NE,
TEXT_IC_REGEX_NE,
BPCHAR_REGEX_EQ,
BPCHAR_IC_REGEX_EQ,
BPCHAR_REGEX_NE,
BPCHAR_IC_REGEX_NE,
SUM_BIGINT_SUM_FINAL,
// Do nothing
DONOTHING,
FUNCINVALID = 38324,
};
#endif // DBCOMMON_SRC_DBCOMMON_FUNCTION_FUNC_KIND_H_