github.com/matrixorigin/matrixone@v0.7.0/pkg/sql/plan/function/castBackup (about)

     1  // the back up of old CAST.
     2  CAST: {
     3  		Id:     CAST,
     4  		Flag:   plan.Function_STRICT,
     5  		Layout: CAST_EXPRESSION,
     6  		TypeCheckFn: func(overloads []Function, inputs []types.T) (overloadIndex int32, _ []types.T) {
     7  			// cast-operator should check param types strictly
     8  			if len(inputs) == 2 {
     9  				for i, o := range overloads {
    10  					if o.Args[0] == inputs[0] && o.Args[1] == inputs[1] {
    11  						return int32(i), nil
    12  					}
    13  				}
    14  			}
    15  			return wrongFunctionParameters, nil
    16  		},
    17  		Overloads: []Function{
    18  			{
    19  				Index:     0,
    20  				Args:      []types.T{types.T_int8, types.T_int8},
    21  				ReturnTyp: types.T_int8,
    22  				Fn:        operator.Cast,
    23  			},
    24  			{
    25  				Index:     1,
    26  				Args:      []types.T{types.T_int16, types.T_int16},
    27  				ReturnTyp: types.T_int16,
    28  				Fn:        operator.Cast,
    29  			},
    30  			{
    31  				Index:     2,
    32  				Args:      []types.T{types.T_int32, types.T_int32},
    33  				ReturnTyp: types.T_int32,
    34  				Fn:        operator.Cast,
    35  			},
    36  			{
    37  				Index:     3,
    38  				Args:      []types.T{types.T_int64, types.T_int64},
    39  				ReturnTyp: types.T_int64,
    40  				Fn:        operator.Cast,
    41  			},
    42  			{
    43  				Index:     4,
    44  				Args:      []types.T{types.T_uint8, types.T_uint8},
    45  				ReturnTyp: types.T_uint8,
    46  				Fn:        operator.Cast,
    47  			},
    48  			{
    49  				Index:     5,
    50  				Args:      []types.T{types.T_uint16, types.T_uint16},
    51  				ReturnTyp: types.T_uint16,
    52  				Fn:        operator.Cast,
    53  			},
    54  			{
    55  				Index:     6,
    56  				Args:      []types.T{types.T_uint32, types.T_uint32},
    57  				ReturnTyp: types.T_uint32,
    58  				Fn:        operator.Cast,
    59  			},
    60  			{
    61  				Index:     7,
    62  				Args:      []types.T{types.T_uint64, types.T_uint64},
    63  				ReturnTyp: types.T_uint64,
    64  				Fn:        operator.Cast,
    65  			},
    66  			{
    67  				Index:     8,
    68  				Args:      []types.T{types.T_float32, types.T_float32},
    69  				ReturnTyp: types.T_float32,
    70  				Fn:        operator.Cast,
    71  			},
    72  			{
    73  				Index:     9,
    74  				Args:      []types.T{types.T_float64, types.T_float64},
    75  				ReturnTyp: types.T_float64,
    76  				Fn:        operator.Cast,
    77  			},
    78  			{
    79  				Index:     10,
    80  				Args:      []types.T{types.T_date, types.T_date},
    81  				ReturnTyp: types.T_date,
    82  				Fn:        operator.Cast,
    83  			},
    84  			{
    85  				Index:     11,
    86  				Args:      []types.T{types.T_datetime, types.T_datetime},
    87  				ReturnTyp: types.T_datetime,
    88  				Fn:        operator.Cast,
    89  			},
    90  			{
    91  				Index:     12,
    92  				Args:      []types.T{types.T_timestamp, types.T_timestamp},
    93  				ReturnTyp: types.T_timestamp,
    94  				Fn:        operator.Cast,
    95  			},
    96  			{
    97  				Index:     13,
    98  				Args:      []types.T{types.T_int16, types.T_int8},
    99  				ReturnTyp: types.T_int8,
   100  				Fn:        operator.Cast,
   101  			},
   102  			{
   103  				Index:     14,
   104  				Args:      []types.T{types.T_int32, types.T_int8},
   105  				ReturnTyp: types.T_int8,
   106  				Fn:        operator.Cast,
   107  			},
   108  			{
   109  				Index:     15,
   110  				Args:      []types.T{types.T_int64, types.T_int8},
   111  				ReturnTyp: types.T_int8,
   112  				Fn:        operator.Cast,
   113  			},
   114  			{
   115  				Index:     16,
   116  				Args:      []types.T{types.T_uint8, types.T_int8},
   117  				ReturnTyp: types.T_int8,
   118  				Fn:        operator.Cast,
   119  			},
   120  			{
   121  				Index:     17,
   122  				Args:      []types.T{types.T_uint16, types.T_int8},
   123  				ReturnTyp: types.T_int8,
   124  				Fn:        operator.Cast,
   125  			},
   126  			{
   127  				Index:     18,
   128  				Args:      []types.T{types.T_uint32, types.T_int8},
   129  				ReturnTyp: types.T_int8,
   130  				Fn:        operator.Cast,
   131  			},
   132  			{
   133  				Index:     19,
   134  				Args:      []types.T{types.T_uint64, types.T_int8},
   135  				ReturnTyp: types.T_int8,
   136  				Fn:        operator.Cast,
   137  			},
   138  			{
   139  				Index:     20,
   140  				Args:      []types.T{types.T_float32, types.T_int8},
   141  				ReturnTyp: types.T_int8,
   142  				Fn:        operator.Cast,
   143  			},
   144  			{
   145  				Index:     21,
   146  				Args:      []types.T{types.T_float64, types.T_int8},
   147  				ReturnTyp: types.T_int8,
   148  				Fn:        operator.Cast,
   149  			},
   150  			{
   151  				Index:     22,
   152  				Args:      []types.T{types.T_int8, types.T_int16},
   153  				ReturnTyp: types.T_int16,
   154  				Fn:        operator.Cast,
   155  			},
   156  			{
   157  				Index:     23,
   158  				Args:      []types.T{types.T_int32, types.T_int16},
   159  				ReturnTyp: types.T_int16,
   160  				Fn:        operator.Cast,
   161  			},
   162  			{
   163  				Index:     24,
   164  				Args:      []types.T{types.T_int64, types.T_int16},
   165  				ReturnTyp: types.T_int16,
   166  				Fn:        operator.Cast,
   167  			},
   168  			{
   169  				Index:     25,
   170  				Args:      []types.T{types.T_uint8, types.T_int16},
   171  				ReturnTyp: types.T_int16,
   172  				Fn:        operator.Cast,
   173  			},
   174  			{
   175  				Index:     26,
   176  				Args:      []types.T{types.T_uint16, types.T_int16},
   177  				ReturnTyp: types.T_int16,
   178  				Fn:        operator.Cast,
   179  			},
   180  			{
   181  				Index:     27,
   182  				Args:      []types.T{types.T_uint32, types.T_int16},
   183  				ReturnTyp: types.T_int16,
   184  				Fn:        operator.Cast,
   185  			},
   186  			{
   187  				Index:     28,
   188  				Args:      []types.T{types.T_uint64, types.T_int16},
   189  				ReturnTyp: types.T_int16,
   190  				Fn:        operator.Cast,
   191  			},
   192  			{
   193  				Index:     29,
   194  				Args:      []types.T{types.T_float32, types.T_int16},
   195  				ReturnTyp: types.T_int16,
   196  				Fn:        operator.Cast,
   197  			},
   198  			{
   199  				Index:     30,
   200  				Args:      []types.T{types.T_float64, types.T_int16},
   201  				ReturnTyp: types.T_int16,
   202  				Fn:        operator.Cast,
   203  			},
   204  			{
   205  				Index:     31,
   206  				Args:      []types.T{types.T_int8, types.T_int32},
   207  				ReturnTyp: types.T_int32,
   208  				Fn:        operator.Cast,
   209  			},
   210  			{
   211  				Index:     32,
   212  				Args:      []types.T{types.T_int16, types.T_int32},
   213  				ReturnTyp: types.T_int32,
   214  				Fn:        operator.Cast,
   215  			},
   216  			{
   217  				Index:     33,
   218  				Args:      []types.T{types.T_int64, types.T_int32},
   219  				ReturnTyp: types.T_int32,
   220  				Fn:        operator.Cast,
   221  			},
   222  			{
   223  				Index:     34,
   224  				Args:      []types.T{types.T_uint8, types.T_int32},
   225  				ReturnTyp: types.T_int32,
   226  				Fn:        operator.Cast,
   227  			},
   228  			{
   229  				Index:     35,
   230  				Args:      []types.T{types.T_uint16, types.T_int32},
   231  				ReturnTyp: types.T_int32,
   232  				Fn:        operator.Cast,
   233  			},
   234  			{
   235  				Index:     36,
   236  				Args:      []types.T{types.T_uint32, types.T_int32},
   237  				ReturnTyp: types.T_int32,
   238  				Fn:        operator.Cast,
   239  			},
   240  			{
   241  				Index:     37,
   242  				Args:      []types.T{types.T_uint64, types.T_int32},
   243  				ReturnTyp: types.T_int32,
   244  				Fn:        operator.Cast,
   245  			},
   246  			{
   247  				Index:     38,
   248  				Args:      []types.T{types.T_float32, types.T_int32},
   249  				ReturnTyp: types.T_int32,
   250  				Fn:        operator.Cast,
   251  			},
   252  			{
   253  				Index:     39,
   254  				Args:      []types.T{types.T_float64, types.T_int32},
   255  				ReturnTyp: types.T_int32,
   256  				Fn:        operator.Cast,
   257  			},
   258  			{
   259  				Index:     40,
   260  				Args:      []types.T{types.T_int8, types.T_int64},
   261  				ReturnTyp: types.T_int64,
   262  				Fn:        operator.Cast,
   263  			},
   264  			{
   265  				Index:     41,
   266  				Args:      []types.T{types.T_int16, types.T_int64},
   267  				ReturnTyp: types.T_int64,
   268  				Fn:        operator.Cast,
   269  			},
   270  			{
   271  				Index:     42,
   272  				Args:      []types.T{types.T_int32, types.T_int64},
   273  				ReturnTyp: types.T_int64,
   274  				Fn:        operator.Cast,
   275  			},
   276  			{
   277  				Index:     43,
   278  				Args:      []types.T{types.T_uint8, types.T_int64},
   279  				ReturnTyp: types.T_int64,
   280  				Fn:        operator.Cast,
   281  			},
   282  			{
   283  				Index:     44,
   284  				Args:      []types.T{types.T_uint16, types.T_int64},
   285  				ReturnTyp: types.T_int64,
   286  				Fn:        operator.Cast,
   287  			},
   288  			{
   289  				Index:     45,
   290  				Args:      []types.T{types.T_uint32, types.T_int64},
   291  				ReturnTyp: types.T_int64,
   292  				Fn:        operator.Cast,
   293  			},
   294  			{
   295  				Index:     46,
   296  				Args:      []types.T{types.T_uint64, types.T_int64},
   297  				ReturnTyp: types.T_int64,
   298  				Fn:        operator.Cast,
   299  			},
   300  			{
   301  				Index:     47,
   302  				Args:      []types.T{types.T_float32, types.T_int64},
   303  				ReturnTyp: types.T_int64,
   304  				Fn:        operator.Cast,
   305  			},
   306  			{
   307  				Index:     48,
   308  				Args:      []types.T{types.T_float64, types.T_int64},
   309  				ReturnTyp: types.T_int64,
   310  				Fn:        operator.Cast,
   311  			},
   312  			{
   313  				Index:     49,
   314  				Args:      []types.T{types.T_int8, types.T_uint8},
   315  				ReturnTyp: types.T_uint8,
   316  				Fn:        operator.Cast,
   317  			},
   318  			{
   319  				Index:     50,
   320  				Args:      []types.T{types.T_int16, types.T_uint8},
   321  				ReturnTyp: types.T_uint8,
   322  				Fn:        operator.Cast,
   323  			},
   324  			{
   325  				Index:     51,
   326  				Args:      []types.T{types.T_int32, types.T_uint8},
   327  				ReturnTyp: types.T_uint8,
   328  				Fn:        operator.Cast,
   329  			},
   330  			{
   331  				Index:     52,
   332  				Args:      []types.T{types.T_int64, types.T_uint8},
   333  				ReturnTyp: types.T_uint8,
   334  				Fn:        operator.Cast,
   335  			},
   336  			{
   337  				Index:     53,
   338  				Args:      []types.T{types.T_uint16, types.T_uint8},
   339  				ReturnTyp: types.T_uint8,
   340  				Fn:        operator.Cast,
   341  			},
   342  			{
   343  				Index:     54,
   344  				Args:      []types.T{types.T_uint32, types.T_uint8},
   345  				ReturnTyp: types.T_uint8,
   346  				Fn:        operator.Cast,
   347  			},
   348  			{
   349  				Index:     55,
   350  				Args:      []types.T{types.T_uint64, types.T_uint8},
   351  				ReturnTyp: types.T_uint8,
   352  				Fn:        operator.Cast,
   353  			},
   354  			{
   355  				Index:     56,
   356  				Args:      []types.T{types.T_float32, types.T_uint8},
   357  				ReturnTyp: types.T_uint8,
   358  				Fn:        operator.Cast,
   359  			},
   360  			{
   361  				Index:     57,
   362  				Args:      []types.T{types.T_float64, types.T_uint8},
   363  				ReturnTyp: types.T_uint8,
   364  				Fn:        operator.Cast,
   365  			},
   366  			{
   367  				Index:     58,
   368  				Args:      []types.T{types.T_int8, types.T_uint16},
   369  				ReturnTyp: types.T_uint16,
   370  				Fn:        operator.Cast,
   371  			},
   372  			{
   373  				Index:     59,
   374  				Args:      []types.T{types.T_int16, types.T_uint16},
   375  				ReturnTyp: types.T_uint16,
   376  				Fn:        operator.Cast,
   377  			},
   378  			{
   379  				Index:     60,
   380  				Args:      []types.T{types.T_int32, types.T_uint16},
   381  				ReturnTyp: types.T_uint16,
   382  				Fn:        operator.Cast,
   383  			},
   384  			{
   385  				Index:     61,
   386  				Args:      []types.T{types.T_int64, types.T_uint16},
   387  				ReturnTyp: types.T_uint16,
   388  				Fn:        operator.Cast,
   389  			},
   390  			{
   391  				Index:     62,
   392  				Args:      []types.T{types.T_uint8, types.T_uint16},
   393  				ReturnTyp: types.T_uint16,
   394  				Fn:        operator.Cast,
   395  			},
   396  			{
   397  				Index:     63,
   398  				Args:      []types.T{types.T_uint32, types.T_uint16},
   399  				ReturnTyp: types.T_uint16,
   400  				Fn:        operator.Cast,
   401  			},
   402  			{
   403  				Index:     64,
   404  				Args:      []types.T{types.T_uint64, types.T_uint16},
   405  				ReturnTyp: types.T_uint16,
   406  				Fn:        operator.Cast,
   407  			},
   408  			{
   409  				Index:     65,
   410  				Args:      []types.T{types.T_float32, types.T_uint16},
   411  				ReturnTyp: types.T_uint16,
   412  				Fn:        operator.Cast,
   413  			},
   414  			{
   415  				Index:     66,
   416  				Args:      []types.T{types.T_float64, types.T_uint16},
   417  				ReturnTyp: types.T_uint16,
   418  				Fn:        operator.Cast,
   419  			},
   420  			{
   421  				Index:     67,
   422  				Args:      []types.T{types.T_int8, types.T_uint32},
   423  				ReturnTyp: types.T_uint32,
   424  				Fn:        operator.Cast,
   425  			},
   426  			{
   427  				Index:     68,
   428  				Args:      []types.T{types.T_int16, types.T_uint32},
   429  				ReturnTyp: types.T_uint32,
   430  				Fn:        operator.Cast,
   431  			},
   432  			{
   433  				Index:     69,
   434  				Args:      []types.T{types.T_int32, types.T_uint32},
   435  				ReturnTyp: types.T_uint32,
   436  				Fn:        operator.Cast,
   437  			},
   438  			{
   439  				Index:     70,
   440  				Args:      []types.T{types.T_int64, types.T_uint32},
   441  				ReturnTyp: types.T_uint32,
   442  				Fn:        operator.Cast,
   443  			},
   444  			{
   445  				Index:     71,
   446  				Args:      []types.T{types.T_uint8, types.T_uint32},
   447  				ReturnTyp: types.T_uint32,
   448  				Fn:        operator.Cast,
   449  			},
   450  			{
   451  				Index:     72,
   452  				Args:      []types.T{types.T_uint16, types.T_uint32},
   453  				ReturnTyp: types.T_uint32,
   454  				Fn:        operator.Cast,
   455  			},
   456  			{
   457  				Index:     73,
   458  				Args:      []types.T{types.T_uint64, types.T_uint32},
   459  				ReturnTyp: types.T_uint32,
   460  				Fn:        operator.Cast,
   461  			},
   462  			{
   463  				Index:     74,
   464  				Args:      []types.T{types.T_float32, types.T_uint32},
   465  				ReturnTyp: types.T_uint32,
   466  				Fn:        operator.Cast,
   467  			},
   468  			{
   469  				Index:     75,
   470  				Args:      []types.T{types.T_float64, types.T_uint32},
   471  				ReturnTyp: types.T_uint32,
   472  				Fn:        operator.Cast,
   473  			},
   474  			{
   475  				Index:     76,
   476  				Args:      []types.T{types.T_int8, types.T_uint64},
   477  				ReturnTyp: types.T_uint64,
   478  				Fn:        operator.Cast,
   479  			},
   480  			{
   481  				Index:     77,
   482  				Args:      []types.T{types.T_int16, types.T_uint64},
   483  				ReturnTyp: types.T_uint64,
   484  				Fn:        operator.Cast,
   485  			},
   486  			{
   487  				Index:     78,
   488  				Args:      []types.T{types.T_int32, types.T_uint64},
   489  				ReturnTyp: types.T_uint64,
   490  				Fn:        operator.Cast,
   491  			},
   492  			{
   493  				Index:     79,
   494  				Args:      []types.T{types.T_int64, types.T_uint64},
   495  				ReturnTyp: types.T_uint64,
   496  				Fn:        operator.Cast,
   497  			},
   498  			{
   499  				Index:     80,
   500  				Args:      []types.T{types.T_uint8, types.T_uint64},
   501  				ReturnTyp: types.T_uint64,
   502  				Fn:        operator.Cast,
   503  			},
   504  			{
   505  				Index:     81,
   506  				Args:      []types.T{types.T_uint16, types.T_uint64},
   507  				ReturnTyp: types.T_uint64,
   508  				Fn:        operator.Cast,
   509  			},
   510  			{
   511  				Index:     82,
   512  				Args:      []types.T{types.T_uint32, types.T_uint64},
   513  				ReturnTyp: types.T_uint64,
   514  				Fn:        operator.Cast,
   515  			},
   516  			{
   517  				Index:     83,
   518  				Args:      []types.T{types.T_float32, types.T_uint64},
   519  				ReturnTyp: types.T_uint64,
   520  				Fn:        operator.Cast,
   521  			},
   522  			{
   523  				Index:     84,
   524  				Args:      []types.T{types.T_float64, types.T_uint64},
   525  				ReturnTyp: types.T_uint64,
   526  				Fn:        operator.Cast,
   527  			},
   528  			{
   529  				Index:     85,
   530  				Args:      []types.T{types.T_int8, types.T_float32},
   531  				ReturnTyp: types.T_float32,
   532  				Fn:        operator.Cast,
   533  			},
   534  			{
   535  				Index:     86,
   536  				Args:      []types.T{types.T_int16, types.T_float32},
   537  				ReturnTyp: types.T_float32,
   538  				Fn:        operator.Cast,
   539  			},
   540  			{
   541  				Index:     87,
   542  				Args:      []types.T{types.T_int32, types.T_float32},
   543  				ReturnTyp: types.T_float32,
   544  				Fn:        operator.Cast,
   545  			},
   546  			{
   547  				Index:     88,
   548  				Args:      []types.T{types.T_int64, types.T_float32},
   549  				ReturnTyp: types.T_float32,
   550  				Fn:        operator.Cast,
   551  			},
   552  			{
   553  				Index:     89,
   554  				Args:      []types.T{types.T_uint8, types.T_float32},
   555  				ReturnTyp: types.T_float32,
   556  				Fn:        operator.Cast,
   557  			},
   558  			{
   559  				Index:     90,
   560  				Args:      []types.T{types.T_uint16, types.T_float32},
   561  				ReturnTyp: types.T_float32,
   562  				Fn:        operator.Cast,
   563  			},
   564  			{
   565  				Index:     91,
   566  				Args:      []types.T{types.T_uint32, types.T_float32},
   567  				ReturnTyp: types.T_float32,
   568  				Fn:        operator.Cast,
   569  			},
   570  			{
   571  				Index:     92,
   572  				Args:      []types.T{types.T_uint64, types.T_float32},
   573  				ReturnTyp: types.T_float32,
   574  				Fn:        operator.Cast,
   575  			},
   576  			{
   577  				Index:     93,
   578  				Args:      []types.T{types.T_float64, types.T_float32},
   579  				ReturnTyp: types.T_float32,
   580  				Fn:        operator.Cast,
   581  			},
   582  			{
   583  				Index:     94,
   584  				Args:      []types.T{types.T_int8, types.T_float64},
   585  				ReturnTyp: types.T_float64,
   586  				Fn:        operator.Cast,
   587  			},
   588  			{
   589  				Index:     95,
   590  				Args:      []types.T{types.T_int16, types.T_float64},
   591  				ReturnTyp: types.T_float64,
   592  				Fn:        operator.Cast,
   593  			},
   594  			{
   595  				Index:     96,
   596  				Args:      []types.T{types.T_int32, types.T_float64},
   597  				ReturnTyp: types.T_float64,
   598  				Fn:        operator.Cast,
   599  			},
   600  			{
   601  				Index:     97,
   602  				Args:      []types.T{types.T_int64, types.T_float64},
   603  				ReturnTyp: types.T_float64,
   604  				Fn:        operator.Cast,
   605  			},
   606  			{
   607  				Index:     98,
   608  				Args:      []types.T{types.T_uint8, types.T_float64},
   609  				ReturnTyp: types.T_float64,
   610  				Fn:        operator.Cast,
   611  			},
   612  			{
   613  				Index:     99,
   614  				Args:      []types.T{types.T_uint16, types.T_float64},
   615  				ReturnTyp: types.T_float64,
   616  				Fn:        operator.Cast,
   617  			},
   618  			{
   619  				Index:     100,
   620  				Args:      []types.T{types.T_uint32, types.T_float64},
   621  				ReturnTyp: types.T_float64,
   622  				Fn:        operator.Cast,
   623  			},
   624  			{
   625  				Index:     101,
   626  				Args:      []types.T{types.T_uint64, types.T_float64},
   627  				ReturnTyp: types.T_float64,
   628  				Fn:        operator.Cast,
   629  			},
   630  			{
   631  				Index:     102,
   632  				Args:      []types.T{types.T_float32, types.T_float64},
   633  				ReturnTyp: types.T_float64,
   634  				Fn:        operator.Cast,
   635  			},
   636  			{
   637  				Index:     103,
   638  				Args:      []types.T{types.T_char, types.T_int8},
   639  				ReturnTyp: types.T_int8,
   640  				Fn:        operator.Cast,
   641  			},
   642  			{
   643  				Index:     104,
   644  				Args:      []types.T{types.T_varchar, types.T_int8},
   645  				ReturnTyp: types.T_int8,
   646  				Fn:        operator.Cast,
   647  			},
   648  			{
   649  				Index:     105,
   650  				Args:      []types.T{types.T_char, types.T_int16},
   651  				ReturnTyp: types.T_int16,
   652  				Fn:        operator.Cast,
   653  			},
   654  			{
   655  				Index:     106,
   656  				Args:      []types.T{types.T_varchar, types.T_int16},
   657  				ReturnTyp: types.T_int16,
   658  				Fn:        operator.Cast,
   659  			},
   660  			{
   661  				Index:     107,
   662  				Args:      []types.T{types.T_char, types.T_int32},
   663  				ReturnTyp: types.T_int32,
   664  				Fn:        operator.Cast,
   665  			},
   666  			{
   667  				Index:     108,
   668  				Args:      []types.T{types.T_varchar, types.T_int32},
   669  				ReturnTyp: types.T_int32,
   670  				Fn:        operator.Cast,
   671  			},
   672  			{
   673  				Index:     109,
   674  				Args:      []types.T{types.T_char, types.T_int64},
   675  				ReturnTyp: types.T_int64,
   676  				Fn:        operator.Cast,
   677  			},
   678  			{
   679  				Index:     110,
   680  				Args:      []types.T{types.T_varchar, types.T_int64},
   681  				ReturnTyp: types.T_int64,
   682  				Fn:        operator.Cast,
   683  			},
   684  			{
   685  				Index:     111,
   686  				Args:      []types.T{types.T_char, types.T_uint8},
   687  				ReturnTyp: types.T_uint8,
   688  				Fn:        operator.Cast,
   689  			},
   690  			{
   691  				Index:     112,
   692  				Args:      []types.T{types.T_varchar, types.T_uint8},
   693  				ReturnTyp: types.T_uint8,
   694  				Fn:        operator.Cast,
   695  			},
   696  			{
   697  				Index:     113,
   698  				Args:      []types.T{types.T_char, types.T_uint16},
   699  				ReturnTyp: types.T_uint16,
   700  				Fn:        operator.Cast,
   701  			},
   702  			{
   703  				Index:     114,
   704  				Args:      []types.T{types.T_varchar, types.T_uint16},
   705  				ReturnTyp: types.T_uint16,
   706  				Fn:        operator.Cast,
   707  			},
   708  			{
   709  				Index:     115,
   710  				Args:      []types.T{types.T_char, types.T_uint32},
   711  				ReturnTyp: types.T_uint32,
   712  				Fn:        operator.Cast,
   713  			},
   714  			{
   715  				Index:     116,
   716  				Args:      []types.T{types.T_varchar, types.T_uint32},
   717  				ReturnTyp: types.T_uint32,
   718  				Fn:        operator.Cast,
   719  			},
   720  			{
   721  				Index:     117,
   722  				Args:      []types.T{types.T_char, types.T_uint64},
   723  				ReturnTyp: types.T_uint64,
   724  				Fn:        operator.Cast,
   725  			},
   726  			{
   727  				Index:     118,
   728  				Args:      []types.T{types.T_varchar, types.T_uint64},
   729  				ReturnTyp: types.T_uint64,
   730  				Fn:        operator.Cast,
   731  			},
   732  			{
   733  				Index:     119,
   734  				Args:      []types.T{types.T_char, types.T_float32},
   735  				ReturnTyp: types.T_float32,
   736  				Fn:        operator.Cast,
   737  			},
   738  			{
   739  				Index:     120,
   740  				Args:      []types.T{types.T_varchar, types.T_float32},
   741  				ReturnTyp: types.T_float32,
   742  				Fn:        operator.Cast,
   743  			},
   744  			{
   745  				Index:     121,
   746  				Args:      []types.T{types.T_char, types.T_float64},
   747  				ReturnTyp: types.T_float64,
   748  				Fn:        operator.Cast,
   749  			},
   750  			{
   751  				Index:     122,
   752  				Args:      []types.T{types.T_varchar, types.T_float64},
   753  				ReturnTyp: types.T_float64,
   754  				Fn:        operator.Cast,
   755  			},
   756  			{
   757  				Index:     123,
   758  				Args:      []types.T{types.T_int8, types.T_char},
   759  				ReturnTyp: types.T_char,
   760  				Fn:        operator.Cast,
   761  			},
   762  			{
   763  				Index:     124,
   764  				Args:      []types.T{types.T_int8, types.T_varchar},
   765  				ReturnTyp: types.T_varchar,
   766  				Fn:        operator.Cast,
   767  			},
   768  			{
   769  				Index:     125,
   770  				Args:      []types.T{types.T_int16, types.T_char},
   771  				ReturnTyp: types.T_char,
   772  				Fn:        operator.Cast,
   773  			},
   774  			{
   775  				Index:     126,
   776  				Args:      []types.T{types.T_int16, types.T_varchar},
   777  				ReturnTyp: types.T_varchar,
   778  				Fn:        operator.Cast,
   779  			},
   780  			{
   781  				Index:     127,
   782  				Args:      []types.T{types.T_int32, types.T_char},
   783  				ReturnTyp: types.T_char,
   784  				Fn:        operator.Cast,
   785  			},
   786  			{
   787  				Index:     128,
   788  				Args:      []types.T{types.T_int32, types.T_varchar},
   789  				ReturnTyp: types.T_varchar,
   790  				Fn:        operator.Cast,
   791  			},
   792  			{
   793  				Index:     129,
   794  				Args:      []types.T{types.T_int64, types.T_char},
   795  				ReturnTyp: types.T_char,
   796  				Fn:        operator.Cast,
   797  			},
   798  			{
   799  				Index:     130,
   800  				Args:      []types.T{types.T_int64, types.T_varchar},
   801  				ReturnTyp: types.T_varchar,
   802  				Fn:        operator.Cast,
   803  			},
   804  			{
   805  				Index:     131,
   806  				Args:      []types.T{types.T_uint8, types.T_char},
   807  				ReturnTyp: types.T_char,
   808  				Fn:        operator.Cast,
   809  			},
   810  			{
   811  				Index:     132,
   812  				Args:      []types.T{types.T_uint8, types.T_varchar},
   813  				ReturnTyp: types.T_varchar,
   814  				Fn:        operator.Cast,
   815  			},
   816  			{
   817  				Index:     133,
   818  				Args:      []types.T{types.T_uint16, types.T_char},
   819  				ReturnTyp: types.T_char,
   820  				Fn:        operator.Cast,
   821  			},
   822  			{
   823  				Index:     134,
   824  				Args:      []types.T{types.T_uint16, types.T_varchar},
   825  				ReturnTyp: types.T_varchar,
   826  				Fn:        operator.Cast,
   827  			},
   828  			{
   829  				Index:     135,
   830  				Args:      []types.T{types.T_uint32, types.T_char},
   831  				ReturnTyp: types.T_char,
   832  				Fn:        operator.Cast,
   833  			},
   834  			{
   835  				Index:     136,
   836  				Args:      []types.T{types.T_uint32, types.T_varchar},
   837  				ReturnTyp: types.T_varchar,
   838  				Fn:        operator.Cast,
   839  			},
   840  			{
   841  				Index:     137,
   842  				Args:      []types.T{types.T_uint64, types.T_char},
   843  				ReturnTyp: types.T_char,
   844  				Fn:        operator.Cast,
   845  			},
   846  			{
   847  				Index:     138,
   848  				Args:      []types.T{types.T_uint64, types.T_varchar},
   849  				ReturnTyp: types.T_varchar,
   850  				Fn:        operator.Cast,
   851  			},
   852  			{
   853  				Index:     139,
   854  				Args:      []types.T{types.T_float32, types.T_char},
   855  				ReturnTyp: types.T_char,
   856  				Fn:        operator.Cast,
   857  			},
   858  			{
   859  				Index:     140,
   860  				Args:      []types.T{types.T_float32, types.T_varchar},
   861  				ReturnTyp: types.T_varchar,
   862  				Fn:        operator.Cast,
   863  			},
   864  			{
   865  				Index:     141,
   866  				Args:      []types.T{types.T_float64, types.T_char},
   867  				ReturnTyp: types.T_char,
   868  				Fn:        operator.Cast,
   869  			},
   870  			{
   871  				Index:     142,
   872  				Args:      []types.T{types.T_float64, types.T_varchar},
   873  				ReturnTyp: types.T_varchar,
   874  				Fn:        operator.Cast,
   875  			},
   876  			{
   877  				Index:     143,
   878  				Args:      []types.T{types.T_char, types.T_char},
   879  				ReturnTyp: types.T_char,
   880  				Fn:        operator.Cast,
   881  			},
   882  			{
   883  				Index:     144,
   884  				Args:      []types.T{types.T_varchar, types.T_varchar},
   885  				ReturnTyp: types.T_varchar,
   886  				Fn:        operator.Cast,
   887  			},
   888  			{
   889  				Index:     145,
   890  				Args:      []types.T{types.T_char, types.T_varchar},
   891  				ReturnTyp: types.T_varchar,
   892  				Fn:        operator.Cast,
   893  			},
   894  			{
   895  				Index:     146,
   896  				Args:      []types.T{types.T_varchar, types.T_char},
   897  				ReturnTyp: types.T_char,
   898  				Fn:        operator.Cast,
   899  			},
   900  			{
   901  				Index:     147,
   902  				Args:      []types.T{types.T_int8, types.T_decimal128},
   903  				ReturnTyp: types.T_decimal128,
   904  				Fn:        operator.Cast,
   905  			},
   906  			{
   907  				Index:     148,
   908  				Args:      []types.T{types.T_int16, types.T_decimal128},
   909  				ReturnTyp: types.T_decimal128,
   910  				Fn:        operator.Cast,
   911  			},
   912  			{
   913  				Index:     149,
   914  				Args:      []types.T{types.T_int32, types.T_decimal128},
   915  				ReturnTyp: types.T_decimal128,
   916  				Fn:        operator.Cast,
   917  			},
   918  			{
   919  				Index:     150,
   920  				Args:      []types.T{types.T_int64, types.T_decimal128},
   921  				ReturnTyp: types.T_decimal128,
   922  				Fn:        operator.Cast,
   923  			},
   924  			{
   925  				Index:     151,
   926  				Args:      []types.T{types.T_varchar, types.T_date},
   927  				ReturnTyp: types.T_date,
   928  				Fn:        operator.Cast,
   929  			},
   930  			{
   931  				Index:     152,
   932  				Args:      []types.T{types.T_varchar, types.T_datetime},
   933  				ReturnTyp: types.T_datetime,
   934  				Fn:        operator.Cast,
   935  			},
   936  			{
   937  				Index:     153,
   938  				Volatile:  true,
   939  				Args:      []types.T{types.T_varchar, types.T_timestamp},
   940  				ReturnTyp: types.T_timestamp,
   941  				Fn:        operator.Cast,
   942  			},
   943  			{
   944  				Index:     154,
   945  				Args:      []types.T{types.T_decimal64, types.T_decimal128},
   946  				ReturnTyp: types.T_decimal128,
   947  				Fn:        operator.Cast,
   948  			},
   949  			{
   950  				Index:     155,
   951  				Args:      []types.T{types.T_decimal64, types.T_decimal64},
   952  				ReturnTyp: types.T_decimal64,
   953  				Fn:        operator.Cast,
   954  			},
   955  			{
   956  				Index:     156,
   957  				Args:      []types.T{types.T_decimal128, types.T_decimal128},
   958  				ReturnTyp: types.T_decimal128,
   959  				Fn:        operator.Cast,
   960  			},
   961  			{
   962  				Index:     157,
   963  				Volatile:  true,
   964  				Args:      []types.T{types.T_timestamp, types.T_datetime},
   965  				ReturnTyp: types.T_datetime,
   966  				Fn:        operator.Cast,
   967  			},
   968  			{
   969  				Index:     158,
   970  				Args:      []types.T{types.T_varchar, types.T_interval},
   971  				ReturnTyp: types.T_interval,
   972  				Fn:        nil,
   973  			},
   974  			{
   975  				Index:     159,
   976  				Args:      []types.T{types.T_uint8, types.T_decimal128},
   977  				ReturnTyp: types.T_decimal128,
   978  				Fn:        operator.Cast,
   979  			},
   980  			{
   981  				Index:     160,
   982  				Args:      []types.T{types.T_uint16, types.T_decimal128},
   983  				ReturnTyp: types.T_decimal128,
   984  				Fn:        operator.Cast,
   985  			},
   986  			{
   987  				Index:     161,
   988  				Args:      []types.T{types.T_uint32, types.T_decimal128},
   989  				ReturnTyp: types.T_decimal128,
   990  				Fn:        operator.Cast,
   991  			},
   992  			{
   993  				Index:     162,
   994  				Args:      []types.T{types.T_uint64, types.T_decimal128},
   995  				ReturnTyp: types.T_decimal128,
   996  				Fn:        operator.Cast,
   997  			},
   998  			{
   999  				Index:     163,
  1000  				Args:      []types.T{types.T_varchar, types.T_decimal64},
  1001  				ReturnTyp: types.T_decimal64,
  1002  				Fn:        operator.Cast,
  1003  			},
  1004  			{
  1005  				Index:     164,
  1006  				Args:      []types.T{types.T_char, types.T_decimal64},
  1007  				ReturnTyp: types.T_decimal64,
  1008  				Fn:        operator.Cast,
  1009  			},
  1010  			{
  1011  				Index:     165,
  1012  				Args:      []types.T{types.T_varchar, types.T_decimal128},
  1013  				ReturnTyp: types.T_decimal128,
  1014  				Fn:        operator.Cast,
  1015  			},
  1016  			{
  1017  				Index:     166,
  1018  				Args:      []types.T{types.T_char, types.T_decimal128},
  1019  				ReturnTyp: types.T_decimal64,
  1020  				Fn:        operator.Cast,
  1021  			},
  1022  			{
  1023  				Index:     167,
  1024  				Volatile:  true,
  1025  				Args:      []types.T{types.T_timestamp, types.T_varchar},
  1026  				ReturnTyp: types.T_char,
  1027  				Fn:        operator.Cast,
  1028  			},
  1029  			{
  1030  				Index:     168,
  1031  				Args:      []types.T{types.T_date, types.T_char},
  1032  				ReturnTyp: types.T_varchar,
  1033  				Fn:        operator.Cast,
  1034  			},
  1035  			{
  1036  				Index:     169,
  1037  				Args:      []types.T{types.T_date, types.T_varchar},
  1038  				ReturnTyp: types.T_varchar,
  1039  				Fn:        operator.Cast,
  1040  			},
  1041  			{
  1042  				Index:     170,
  1043  				Args:      []types.T{types.T_datetime, types.T_char},
  1044  				ReturnTyp: types.T_char,
  1045  				Fn:        operator.Cast,
  1046  			},
  1047  			{
  1048  				Index:     171,
  1049  				Args:      []types.T{types.T_datetime, types.T_varchar},
  1050  				ReturnTyp: types.T_varchar,
  1051  				Fn:        operator.Cast,
  1052  			},
  1053  			{
  1054  				Index:     172,
  1055  				Args:      []types.T{types.T_bool, types.T_varchar},
  1056  				ReturnTyp: types.T_varchar,
  1057  				Fn:        operator.Cast,
  1058  			},
  1059  			{
  1060  				Index:     173,
  1061  				Args:      []types.T{types.T_bool, types.T_char},
  1062  				ReturnTyp: types.T_char,
  1063  				Fn:        operator.Cast,
  1064  			},
  1065  			{
  1066  				Index:     174,
  1067  				Args:      []types.T{types.T_date, types.T_datetime},
  1068  				ReturnTyp: types.T_datetime,
  1069  				Fn:        operator.Cast,
  1070  			},
  1071  			{
  1072  				Index:     175,
  1073  				Args:      []types.T{types.T_datetime, types.T_date},
  1074  				ReturnTyp: types.T_date,
  1075  				Fn:        operator.Cast,
  1076  			},
  1077  			{
  1078  				Index:     176,
  1079  				Args:      []types.T{types.T_float32, types.T_decimal64},
  1080  				ReturnTyp: types.T_decimal64,
  1081  				Fn:        operator.Cast,
  1082  			},
  1083  			{
  1084  				Index:     177,
  1085  				Args:      []types.T{types.T_float64, types.T_decimal64},
  1086  				ReturnTyp: types.T_decimal64,
  1087  				Fn:        operator.Cast,
  1088  			},
  1089  			{
  1090  				Index:     178,
  1091  				Args:      []types.T{types.T_float64, types.T_decimal128},
  1092  				ReturnTyp: types.T_decimal128,
  1093  				Fn:        operator.Cast,
  1094  			},
  1095  			{
  1096  				Index:     179,
  1097  				Args:      []types.T{types.T_float32, types.T_decimal128},
  1098  				ReturnTyp: types.T_decimal128,
  1099  				Fn:        operator.Cast,
  1100  			},
  1101  			{
  1102  				Index:     180,
  1103  				Volatile:  true,
  1104  				Args:      []types.T{types.T_datetime, types.T_timestamp},
  1105  				ReturnTyp: types.T_timestamp,
  1106  				Fn:        operator.Cast,
  1107  			},
  1108  			{
  1109  				Index:     181,
  1110  				Volatile:  true,
  1111  				Args:      []types.T{types.T_date, types.T_timestamp},
  1112  				ReturnTyp: types.T_timestamp,
  1113  				Fn:        operator.Cast,
  1114  			},
  1115  			{
  1116  				Index:     182,
  1117  				Args:      []types.T{types.T_decimal64, types.T_varchar},
  1118  				ReturnTyp: types.T_varchar,
  1119  				Fn:        operator.Cast,
  1120  			},
  1121  			{
  1122  				Index:     183,
  1123  				Args:      []types.T{types.T_decimal128, types.T_varchar},
  1124  				ReturnTyp: types.T_varchar,
  1125  				Fn:        operator.Cast,
  1126  			},
  1127  			{
  1128  				Index:     184,
  1129  				Args:      []types.T{types.T_decimal64, types.T_char},
  1130  				ReturnTyp: types.T_char,
  1131  				Fn:        operator.Cast,
  1132  			},
  1133  			{
  1134  				Index:     185,
  1135  				Args:      []types.T{types.T_decimal128, types.T_char},
  1136  				ReturnTyp: types.T_char,
  1137  				Fn:        operator.Cast,
  1138  			},
  1139  			{
  1140  				Index:     186,
  1141  				Volatile:  true,
  1142  				Args:      []types.T{types.T_timestamp, types.T_date},
  1143  				ReturnTyp: types.T_date,
  1144  				Fn:        operator.Cast,
  1145  			},
  1146  			{
  1147  				Index:     187,
  1148  				Args:      []types.T{types.T_int8, types.T_timestamp},
  1149  				ReturnTyp: types.T_timestamp,
  1150  				Fn:        operator.Cast,
  1151  			},
  1152  			{
  1153  				Index:     188,
  1154  				Args:      []types.T{types.T_int16, types.T_timestamp},
  1155  				ReturnTyp: types.T_timestamp,
  1156  				Fn:        operator.Cast,
  1157  			},
  1158  			{
  1159  				Index:     189,
  1160  				Args:      []types.T{types.T_int32, types.T_timestamp},
  1161  				ReturnTyp: types.T_timestamp,
  1162  				Fn:        operator.Cast,
  1163  			},
  1164  			{
  1165  				Index:     190,
  1166  				Args:      []types.T{types.T_int64, types.T_timestamp},
  1167  				ReturnTyp: types.T_timestamp,
  1168  				Fn:        operator.Cast,
  1169  			},
  1170  			{
  1171  				Index:     191,
  1172  				Args:      []types.T{types.T_uint8, types.T_timestamp},
  1173  				ReturnTyp: types.T_timestamp,
  1174  				Fn:        operator.Cast,
  1175  			},
  1176  			{
  1177  				Index:     192,
  1178  				Args:      []types.T{types.T_uint16, types.T_timestamp},
  1179  				ReturnTyp: types.T_timestamp,
  1180  				Fn:        operator.Cast,
  1181  			},
  1182  			{
  1183  				Index:     193,
  1184  				Args:      []types.T{types.T_uint32, types.T_timestamp},
  1185  				ReturnTyp: types.T_timestamp,
  1186  				Fn:        operator.Cast,
  1187  			},
  1188  			{
  1189  				Index:     194,
  1190  				Args:      []types.T{types.T_uint64, types.T_timestamp},
  1191  				ReturnTyp: types.T_timestamp,
  1192  				Fn:        operator.Cast,
  1193  			},
  1194  			{
  1195  				Index:     195,
  1196  				Args:      []types.T{types.T_decimal64, types.T_timestamp},
  1197  				ReturnTyp: types.T_timestamp,
  1198  				Fn:        operator.Cast,
  1199  			},
  1200  			{
  1201  				Index:     196,
  1202  				Args:      []types.T{types.T_decimal128, types.T_timestamp},
  1203  				ReturnTyp: types.T_timestamp,
  1204  				Fn:        operator.Cast,
  1205  			},
  1206  			{
  1207  				Index:     197,
  1208  				Args:      []types.T{types.T_decimal64, types.T_float32},
  1209  				ReturnTyp: types.T_float32,
  1210  				Fn:        operator.Cast,
  1211  			},
  1212  			{
  1213  				Index:     198,
  1214  				Args:      []types.T{types.T_decimal128, types.T_float32},
  1215  				ReturnTyp: types.T_float32,
  1216  				Fn:        operator.Cast,
  1217  			},
  1218  			{
  1219  				Index:     199,
  1220  				Args:      []types.T{types.T_decimal64, types.T_float64},
  1221  				ReturnTyp: types.T_float64,
  1222  				Fn:        operator.Cast,
  1223  			},
  1224  			{
  1225  				Index:     200,
  1226  				Args:      []types.T{types.T_decimal128, types.T_float64},
  1227  				ReturnTyp: types.T_float64,
  1228  				Fn:        operator.Cast,
  1229  			},
  1230  			{
  1231  				Index:     201,
  1232  				Args:      []types.T{types.T_char, types.T_date},
  1233  				ReturnTyp: types.T_date,
  1234  				Fn:        operator.Cast,
  1235  			},
  1236  			{
  1237  				Index:     202,
  1238  				Args:      []types.T{types.T_char, types.T_datetime},
  1239  				ReturnTyp: types.T_datetime,
  1240  				Fn:        operator.Cast,
  1241  			},
  1242  			{
  1243  				Index:     203,
  1244  				Volatile:  true,
  1245  				Args:      []types.T{types.T_char, types.T_timestamp},
  1246  				ReturnTyp: types.T_timestamp,
  1247  				Fn:        operator.Cast,
  1248  			},
  1249  			{
  1250  				Index:     204,
  1251  				Args:      []types.T{types.T_int8, types.T_decimal64},
  1252  				ReturnTyp: types.T_decimal64,
  1253  				Fn:        operator.Cast,
  1254  			},
  1255  			{
  1256  				Index:     205,
  1257  				Args:      []types.T{types.T_int16, types.T_decimal64},
  1258  				ReturnTyp: types.T_decimal64,
  1259  				Fn:        operator.Cast,
  1260  			},
  1261  			{
  1262  				Index:     206,
  1263  				Args:      []types.T{types.T_int32, types.T_decimal64},
  1264  				ReturnTyp: types.T_decimal64,
  1265  				Fn:        operator.Cast,
  1266  			},
  1267  			{
  1268  				Index:     207,
  1269  				Args:      []types.T{types.T_int64, types.T_decimal64},
  1270  				ReturnTyp: types.T_decimal64,
  1271  				Fn:        operator.Cast,
  1272  			},
  1273  			{
  1274  				Index:     208,
  1275  				Args:      []types.T{types.T_int8, types.T_bool},
  1276  				ReturnTyp: types.T_bool,
  1277  				Fn:        operator.Cast,
  1278  			},
  1279  			{
  1280  				Index:     209,
  1281  				Args:      []types.T{types.T_int16, types.T_bool},
  1282  				ReturnTyp: types.T_bool,
  1283  				Fn:        operator.Cast,
  1284  			},
  1285  			{
  1286  				Index:     210,
  1287  				Args:      []types.T{types.T_int32, types.T_bool},
  1288  				ReturnTyp: types.T_bool,
  1289  				Fn:        operator.Cast,
  1290  			},
  1291  			{
  1292  				Index:     211,
  1293  				Args:      []types.T{types.T_int64, types.T_bool},
  1294  				ReturnTyp: types.T_bool,
  1295  				Fn:        operator.Cast,
  1296  			},
  1297  			{
  1298  				Index:     212,
  1299  				Args:      []types.T{types.T_uint8, types.T_bool},
  1300  				ReturnTyp: types.T_bool,
  1301  				Fn:        operator.Cast,
  1302  			},
  1303  			{
  1304  				Index:     213,
  1305  				Args:      []types.T{types.T_uint16, types.T_bool},
  1306  				ReturnTyp: types.T_bool,
  1307  				Fn:        operator.Cast,
  1308  			},
  1309  			{
  1310  				Index:     214,
  1311  				Args:      []types.T{types.T_uint32, types.T_bool},
  1312  				ReturnTyp: types.T_bool,
  1313  				Fn:        operator.Cast,
  1314  			},
  1315  			{
  1316  				Index:     215,
  1317  				Args:      []types.T{types.T_uint64, types.T_bool},
  1318  				ReturnTyp: types.T_bool,
  1319  				Fn:        operator.Cast,
  1320  			},
  1321  			{
  1322  				Index:     216,
  1323  				Args:      []types.T{types.T_float32, types.T_bool},
  1324  				ReturnTyp: types.T_bool,
  1325  				Fn:        operator.Cast,
  1326  			},
  1327  			{
  1328  				Index:     217,
  1329  				Args:      []types.T{types.T_float64, types.T_bool},
  1330  				ReturnTyp: types.T_bool,
  1331  				Fn:        operator.Cast,
  1332  			},
  1333  			{
  1334  				Index:     218,
  1335  				Args:      []types.T{types.T_char, types.T_bool},
  1336  				ReturnTyp: types.T_bool,
  1337  				Fn:        operator.Cast,
  1338  			},
  1339  			{
  1340  				Index:     219,
  1341  				Args:      []types.T{types.T_varchar, types.T_bool},
  1342  				ReturnTyp: types.T_bool,
  1343  				Fn:        operator.Cast,
  1344  			},
  1345  			{
  1346  				Index:     220,
  1347  				Args:      []types.T{types.T_decimal64, types.T_float64},
  1348  				ReturnTyp: types.T_float64,
  1349  				Fn:        operator.Cast,
  1350  			},
  1351  			{
  1352  				Index:     221,
  1353  				Args:      []types.T{types.T_decimal128, types.T_float64},
  1354  				ReturnTyp: types.T_float64,
  1355  				Fn:        operator.Cast,
  1356  			},
  1357  			{
  1358  				Index:     222,
  1359  				Args:      []types.T{types.T_decimal64, types.T_int64},
  1360  				ReturnTyp: types.T_int64,
  1361  				Fn:        operator.Cast,
  1362  			},
  1363  			{
  1364  				Index:     223,
  1365  				Args:      []types.T{types.T_decimal128, types.T_int64},
  1366  				ReturnTyp: types.T_int64,
  1367  				Fn:        operator.Cast,
  1368  			},
  1369  			{
  1370  				Index:     224,
  1371  				Args:      []types.T{types.T_decimal64, types.T_uint64},
  1372  				ReturnTyp: types.T_uint64,
  1373  				Fn:        operator.Cast,
  1374  			},
  1375  			{
  1376  				Index:     225,
  1377  				Args:      []types.T{types.T_decimal128, types.T_uint64},
  1378  				ReturnTyp: types.T_uint64,
  1379  				Fn:        operator.Cast,
  1380  			},
  1381  			{
  1382  				Index:     226,
  1383  				Args:      []types.T{types.T_decimal128, types.T_decimal64},
  1384  				ReturnTyp: types.T_decimal64,
  1385  				Fn:        operator.Cast,
  1386  			},
  1387  			{
  1388  				Index:     227,
  1389  				Args:      []types.T{types.T_blob, types.T_int8},
  1390  				ReturnTyp: types.T_int8,
  1391  				Fn:        operator.Cast,
  1392  			},
  1393  
  1394  			{
  1395  				Index:     228,
  1396  				Args:      []types.T{types.T_blob, types.T_int16},
  1397  				ReturnTyp: types.T_int16,
  1398  				Fn:        operator.Cast,
  1399  			},
  1400  			{
  1401  				Index:     229,
  1402  				Args:      []types.T{types.T_blob, types.T_int32},
  1403  				ReturnTyp: types.T_int32,
  1404  				Fn:        operator.Cast,
  1405  			},
  1406  			{
  1407  				Index:     230,
  1408  				Args:      []types.T{types.T_blob, types.T_int64},
  1409  				ReturnTyp: types.T_int64,
  1410  				Fn:        operator.Cast,
  1411  			},
  1412  			{
  1413  				Index:     231,
  1414  				Args:      []types.T{types.T_blob, types.T_uint8},
  1415  				ReturnTyp: types.T_uint8,
  1416  				Fn:        operator.Cast,
  1417  			},
  1418  			{
  1419  				Index:     232,
  1420  				Args:      []types.T{types.T_blob, types.T_uint16},
  1421  				ReturnTyp: types.T_uint16,
  1422  				Fn:        operator.Cast,
  1423  			},
  1424  			{
  1425  				Index:     233,
  1426  				Args:      []types.T{types.T_blob, types.T_uint32},
  1427  				ReturnTyp: types.T_uint32,
  1428  				Fn:        operator.Cast,
  1429  			},
  1430  			{
  1431  				Index:     234,
  1432  				Args:      []types.T{types.T_blob, types.T_uint64},
  1433  				ReturnTyp: types.T_uint64,
  1434  				Fn:        operator.Cast,
  1435  			},
  1436  			{
  1437  				Index:     235,
  1438  				Args:      []types.T{types.T_blob, types.T_float32},
  1439  				ReturnTyp: types.T_float32,
  1440  				Fn:        operator.Cast,
  1441  			},
  1442  			{
  1443  				Index:     236,
  1444  				Args:      []types.T{types.T_blob, types.T_float64},
  1445  				ReturnTyp: types.T_float64,
  1446  				Fn:        operator.Cast,
  1447  			},
  1448  			{
  1449  				Index:     237,
  1450  				Args:      []types.T{types.T_int8, types.T_blob},
  1451  				ReturnTyp: types.T_blob,
  1452  				Fn:        operator.Cast,
  1453  			},
  1454  			{
  1455  				Index:     238,
  1456  				Args:      []types.T{types.T_int16, types.T_blob},
  1457  				ReturnTyp: types.T_blob,
  1458  				Fn:        operator.Cast,
  1459  			},
  1460  			{
  1461  				Index:     239,
  1462  				Args:      []types.T{types.T_int32, types.T_blob},
  1463  				ReturnTyp: types.T_blob,
  1464  				Fn:        operator.Cast,
  1465  			},
  1466  			{
  1467  				Index:     240,
  1468  				Args:      []types.T{types.T_int64, types.T_blob},
  1469  				ReturnTyp: types.T_blob,
  1470  				Fn:        operator.Cast,
  1471  			},
  1472  			{
  1473  				Index:     241,
  1474  				Args:      []types.T{types.T_uint8, types.T_blob},
  1475  				ReturnTyp: types.T_blob,
  1476  				Fn:        operator.Cast,
  1477  			},
  1478  			{
  1479  				Index:     242,
  1480  				Args:      []types.T{types.T_uint16, types.T_blob},
  1481  				ReturnTyp: types.T_blob,
  1482  				Fn:        operator.Cast,
  1483  			},
  1484  			{
  1485  				Index:     243,
  1486  				Args:      []types.T{types.T_uint32, types.T_blob},
  1487  				ReturnTyp: types.T_blob,
  1488  				Fn:        operator.Cast,
  1489  			},
  1490  			{
  1491  				Index:     244,
  1492  				Args:      []types.T{types.T_uint64, types.T_blob},
  1493  				ReturnTyp: types.T_blob,
  1494  				Fn:        operator.Cast,
  1495  			},
  1496  			{
  1497  				Index:     245,
  1498  				Args:      []types.T{types.T_float32, types.T_blob},
  1499  				ReturnTyp: types.T_blob,
  1500  				Fn:        operator.Cast,
  1501  			},
  1502  			{
  1503  				Index:     246,
  1504  				Args:      []types.T{types.T_float64, types.T_blob},
  1505  				ReturnTyp: types.T_blob,
  1506  				Fn:        operator.Cast,
  1507  			},
  1508  			{
  1509  				Index:     247,
  1510  				Args:      []types.T{types.T_varchar, types.T_blob},
  1511  				ReturnTyp: types.T_blob,
  1512  				Fn:        operator.Cast,
  1513  			},
  1514  			{
  1515  				Index:     248,
  1516  				Args:      []types.T{types.T_blob, types.T_varchar},
  1517  				ReturnTyp: types.T_varchar,
  1518  				Fn:        operator.Cast,
  1519  			},
  1520  			{
  1521  				Index:     249,
  1522  				Args:      []types.T{types.T_char, types.T_blob},
  1523  				ReturnTyp: types.T_blob,
  1524  				Fn:        operator.Cast,
  1525  			},
  1526  			{
  1527  				Index:     250,
  1528  				Args:      []types.T{types.T_blob, types.T_char},
  1529  				ReturnTyp: types.T_char,
  1530  				Fn:        operator.Cast,
  1531  			},
  1532  			{
  1533  				Index:     251,
  1534  				Args:      []types.T{types.T_blob, types.T_blob},
  1535  				ReturnTyp: types.T_blob,
  1536  				Fn:        operator.Cast,
  1537  			},
  1538  			{
  1539  				Index:     252,
  1540  				Args:      []types.T{types.T_blob, types.T_date},
  1541  				ReturnTyp: types.T_date,
  1542  				Fn:        operator.Cast,
  1543  			},
  1544  			{
  1545  				Index:     253,
  1546  				Args:      []types.T{types.T_blob, types.T_datetime},
  1547  				ReturnTyp: types.T_datetime,
  1548  				Fn:        operator.Cast,
  1549  			},
  1550  			{
  1551  				Index:     254,
  1552  				Volatile:  true,
  1553  				Args:      []types.T{types.T_blob, types.T_timestamp},
  1554  				ReturnTyp: types.T_timestamp,
  1555  				Fn:        operator.Cast,
  1556  			},
  1557  			{
  1558  				Index:     255,
  1559  				Args:      []types.T{types.T_blob, types.T_decimal64},
  1560  				ReturnTyp: types.T_decimal64,
  1561  				Fn:        operator.Cast,
  1562  			},
  1563  			{
  1564  				Index:     256,
  1565  				Args:      []types.T{types.T_blob, types.T_decimal128},
  1566  				ReturnTyp: types.T_decimal128,
  1567  				Fn:        operator.Cast,
  1568  			},
  1569  			{
  1570  				Index:     257,
  1571  				Volatile:  true,
  1572  				Args:      []types.T{types.T_timestamp, types.T_blob},
  1573  				ReturnTyp: types.T_blob,
  1574  				Fn:        operator.Cast,
  1575  			},
  1576  			{
  1577  				Index:     258,
  1578  				Args:      []types.T{types.T_date, types.T_blob},
  1579  				ReturnTyp: types.T_blob,
  1580  				Fn:        operator.Cast,
  1581  			},
  1582  			{
  1583  				Index:     259,
  1584  				Args:      []types.T{types.T_datetime, types.T_blob},
  1585  				ReturnTyp: types.T_blob,
  1586  				Fn:        operator.Cast,
  1587  			},
  1588  			{
  1589  				Index:     260,
  1590  				Args:      []types.T{types.T_bool, types.T_blob},
  1591  				ReturnTyp: types.T_blob,
  1592  				Fn:        operator.Cast,
  1593  			},
  1594  			{
  1595  				Index:     261,
  1596  				Args:      []types.T{types.T_decimal64, types.T_blob},
  1597  				ReturnTyp: types.T_blob,
  1598  				Fn:        operator.Cast,
  1599  			},
  1600  			{
  1601  				Index:     262,
  1602  				Args:      []types.T{types.T_decimal128, types.T_blob},
  1603  				ReturnTyp: types.T_blob,
  1604  				Fn:        operator.Cast,
  1605  			},
  1606  			{
  1607  				Index:     263,
  1608  				Args:      []types.T{types.T_blob, types.T_bool},
  1609  				ReturnTyp: types.T_bool,
  1610  				Fn:        operator.Cast,
  1611  			},
  1612  			{
  1613  				Index:     264,
  1614  				Args:      []types.T{types.T_varchar, types.T_json},
  1615  				ReturnTyp: types.T_json,
  1616  				Fn:        operator.Cast,
  1617  			},
  1618  			{
  1619  				Index:     265,
  1620  				Args:      []types.T{types.T_decimal128, types.T_int32},
  1621  				ReturnTyp: types.T_json,
  1622  				Fn:        operator.Cast,
  1623  			},
  1624  			{
  1625  				Index:     266,
  1626  				Args:      []types.T{types.T_bool, types.T_int8},
  1627  				ReturnTyp: types.T_int8,
  1628  				Fn:        operator.Cast,
  1629  			},
  1630  			{
  1631  				Index:     267,
  1632  				Args:      []types.T{types.T_bool, types.T_int16},
  1633  				ReturnTyp: types.T_int16,
  1634  				Fn:        operator.Cast,
  1635  			},
  1636  			{
  1637  				Index:     268,
  1638  				Args:      []types.T{types.T_bool, types.T_int32},
  1639  				ReturnTyp: types.T_int32,
  1640  				Fn:        operator.Cast,
  1641  			},
  1642  			{
  1643  				Index:     269,
  1644  				Args:      []types.T{types.T_bool, types.T_int64},
  1645  				ReturnTyp: types.T_int64,
  1646  				Fn:        operator.Cast,
  1647  			},
  1648  			{
  1649  				Index:     270,
  1650  				Args:      []types.T{types.T_bool, types.T_uint8},
  1651  				ReturnTyp: types.T_uint8,
  1652  				Fn:        operator.Cast,
  1653  			},
  1654  			{
  1655  				Index:     271,
  1656  				Args:      []types.T{types.T_bool, types.T_uint16},
  1657  				ReturnTyp: types.T_uint16,
  1658  				Fn:        operator.Cast,
  1659  			},
  1660  			{
  1661  				Index:     272,
  1662  				Args:      []types.T{types.T_bool, types.T_uint32},
  1663  				ReturnTyp: types.T_uint32,
  1664  				Fn:        operator.Cast,
  1665  			},
  1666  			{
  1667  				Index:     273,
  1668  				Args:      []types.T{types.T_bool, types.T_uint64},
  1669  				ReturnTyp: types.T_uint64,
  1670  				Fn:        operator.Cast,
  1671  			},
  1672  			{
  1673  				Index:     274,
  1674  				Args:      []types.T{types.T_uuid, types.T_char},
  1675  				ReturnTyp: types.T_char,
  1676  				Fn:        operator.Cast,
  1677  			},
  1678  			{
  1679  				Index:     275,
  1680  				Args:      []types.T{types.T_uuid, types.T_varchar},
  1681  				ReturnTyp: types.T_varchar,
  1682  				Fn:        operator.Cast,
  1683  			},
  1684  			{
  1685  				Index:     276,
  1686  				Args:      []types.T{types.T_char, types.T_uuid},
  1687  				ReturnTyp: types.T_uuid,
  1688  				Fn:        operator.Cast,
  1689  			},
  1690  			{
  1691  				Index:     277,
  1692  				Args:      []types.T{types.T_varchar, types.T_uuid},
  1693  				ReturnTyp: types.T_uuid,
  1694  				Fn:        operator.Cast,
  1695  			},
  1696  			{
  1697  				Index:     278,
  1698  				Args:      []types.T{types.T_text, types.T_int8},
  1699  				ReturnTyp: types.T_int8,
  1700  				Fn:        operator.Cast,
  1701  			},
  1702  
  1703  			{
  1704  				Index:     279,
  1705  				Args:      []types.T{types.T_text, types.T_int16},
  1706  				ReturnTyp: types.T_int16,
  1707  				Fn:        operator.Cast,
  1708  			},
  1709  			{
  1710  				Index:     280,
  1711  				Args:      []types.T{types.T_text, types.T_int32},
  1712  				ReturnTyp: types.T_int32,
  1713  				Fn:        operator.Cast,
  1714  			},
  1715  			{
  1716  				Index:     281,
  1717  				Args:      []types.T{types.T_text, types.T_int64},
  1718  				ReturnTyp: types.T_int64,
  1719  				Fn:        operator.Cast,
  1720  			},
  1721  			{
  1722  				Index:     282,
  1723  				Args:      []types.T{types.T_text, types.T_uint8},
  1724  				ReturnTyp: types.T_uint8,
  1725  				Fn:        operator.Cast,
  1726  			},
  1727  			{
  1728  				Index:     283,
  1729  				Args:      []types.T{types.T_text, types.T_uint16},
  1730  				ReturnTyp: types.T_uint16,
  1731  				Fn:        operator.Cast,
  1732  			},
  1733  			{
  1734  				Index:     284,
  1735  				Args:      []types.T{types.T_text, types.T_uint32},
  1736  				ReturnTyp: types.T_uint32,
  1737  				Fn:        operator.Cast,
  1738  			},
  1739  			{
  1740  				Index:     285,
  1741  				Args:      []types.T{types.T_text, types.T_uint64},
  1742  				ReturnTyp: types.T_uint64,
  1743  				Fn:        operator.Cast,
  1744  			},
  1745  			{
  1746  				Index:     286,
  1747  				Args:      []types.T{types.T_text, types.T_float32},
  1748  				ReturnTyp: types.T_float32,
  1749  				Fn:        operator.Cast,
  1750  			},
  1751  			{
  1752  				Index:     287,
  1753  				Args:      []types.T{types.T_text, types.T_float64},
  1754  				ReturnTyp: types.T_float64,
  1755  				Fn:        operator.Cast,
  1756  			},
  1757  			{
  1758  				Index:     288,
  1759  				Args:      []types.T{types.T_int8, types.T_text},
  1760  				ReturnTyp: types.T_text,
  1761  				Fn:        operator.Cast,
  1762  			},
  1763  			{
  1764  				Index:     289,
  1765  				Args:      []types.T{types.T_int16, types.T_text},
  1766  				ReturnTyp: types.T_text,
  1767  				Fn:        operator.Cast,
  1768  			},
  1769  			{
  1770  				Index:     290,
  1771  				Args:      []types.T{types.T_int32, types.T_text},
  1772  				ReturnTyp: types.T_text,
  1773  				Fn:        operator.Cast,
  1774  			},
  1775  			{
  1776  				Index:     291,
  1777  				Args:      []types.T{types.T_int64, types.T_text},
  1778  				ReturnTyp: types.T_text,
  1779  				Fn:        operator.Cast,
  1780  			},
  1781  			{
  1782  				Index:     292,
  1783  				Args:      []types.T{types.T_uint8, types.T_text},
  1784  				ReturnTyp: types.T_text,
  1785  				Fn:        operator.Cast,
  1786  			},
  1787  			{
  1788  				Index:     293,
  1789  				Args:      []types.T{types.T_uint16, types.T_text},
  1790  				ReturnTyp: types.T_text,
  1791  				Fn:        operator.Cast,
  1792  			},
  1793  			{
  1794  				Index:     294,
  1795  				Args:      []types.T{types.T_uint32, types.T_text},
  1796  				ReturnTyp: types.T_text,
  1797  				Fn:        operator.Cast,
  1798  			},
  1799  			{
  1800  				Index:     295,
  1801  				Args:      []types.T{types.T_uint64, types.T_text},
  1802  				ReturnTyp: types.T_text,
  1803  				Fn:        operator.Cast,
  1804  			},
  1805  			{
  1806  				Index:     296,
  1807  				Args:      []types.T{types.T_float32, types.T_text},
  1808  				ReturnTyp: types.T_text,
  1809  				Fn:        operator.Cast,
  1810  			},
  1811  			{
  1812  				Index:     297,
  1813  				Args:      []types.T{types.T_float64, types.T_text},
  1814  				ReturnTyp: types.T_text,
  1815  				Fn:        operator.Cast,
  1816  			},
  1817  			{
  1818  				Index:     298,
  1819  				Args:      []types.T{types.T_varchar, types.T_text},
  1820  				ReturnTyp: types.T_text,
  1821  				Fn:        operator.Cast,
  1822  			},
  1823  			{
  1824  				Index:     299,
  1825  				Args:      []types.T{types.T_text, types.T_varchar},
  1826  				ReturnTyp: types.T_varchar,
  1827  				Fn:        operator.Cast,
  1828  			},
  1829  			{
  1830  				Index:     300,
  1831  				Args:      []types.T{types.T_char, types.T_text},
  1832  				ReturnTyp: types.T_text,
  1833  				Fn:        operator.Cast,
  1834  			},
  1835  			{
  1836  				Index:     301,
  1837  				Args:      []types.T{types.T_text, types.T_char},
  1838  				ReturnTyp: types.T_char,
  1839  				Fn:        operator.Cast,
  1840  			},
  1841  			{
  1842  				Index:     302,
  1843  				Args:      []types.T{types.T_text, types.T_text},
  1844  				ReturnTyp: types.T_text,
  1845  				Fn:        operator.Cast,
  1846  			},
  1847  			{
  1848  				Index:     303,
  1849  				Args:      []types.T{types.T_text, types.T_date},
  1850  				ReturnTyp: types.T_date,
  1851  				Fn:        operator.Cast,
  1852  			},
  1853  			{
  1854  				Index:     304,
  1855  				Args:      []types.T{types.T_text, types.T_datetime},
  1856  				ReturnTyp: types.T_datetime,
  1857  				Fn:        operator.Cast,
  1858  			},
  1859  			{
  1860  				Index:     305,
  1861  				Volatile:  true,
  1862  				Args:      []types.T{types.T_text, types.T_timestamp},
  1863  				ReturnTyp: types.T_timestamp,
  1864  				Fn:        operator.Cast,
  1865  			},
  1866  			{
  1867  				Index:     306,
  1868  				Args:      []types.T{types.T_text, types.T_decimal64},
  1869  				ReturnTyp: types.T_decimal64,
  1870  				Fn:        operator.Cast,
  1871  			},
  1872  			{
  1873  				Index:     307,
  1874  				Args:      []types.T{types.T_text, types.T_decimal128},
  1875  				ReturnTyp: types.T_decimal128,
  1876  				Fn:        operator.Cast,
  1877  			},
  1878  			{
  1879  				Index:     308,
  1880  				Volatile:  true,
  1881  				Args:      []types.T{types.T_timestamp, types.T_text},
  1882  				ReturnTyp: types.T_text,
  1883  				Fn:        operator.Cast,
  1884  			},
  1885  			{
  1886  				Index:     309,
  1887  				Args:      []types.T{types.T_date, types.T_text},
  1888  				ReturnTyp: types.T_text,
  1889  				Fn:        operator.Cast,
  1890  			},
  1891  			{
  1892  				Index:     310,
  1893  				Args:      []types.T{types.T_datetime, types.T_text},
  1894  				ReturnTyp: types.T_text,
  1895  				Fn:        operator.Cast,
  1896  			},
  1897  			{
  1898  				Index:     311,
  1899  				Args:      []types.T{types.T_bool, types.T_text},
  1900  				ReturnTyp: types.T_text,
  1901  				Fn:        operator.Cast,
  1902  			},
  1903  			{
  1904  				Index:     312,
  1905  				Args:      []types.T{types.T_decimal64, types.T_text},
  1906  				ReturnTyp: types.T_text,
  1907  				Fn:        operator.Cast,
  1908  			},
  1909  			{
  1910  				Index:     313,
  1911  				Args:      []types.T{types.T_decimal128, types.T_text},
  1912  				ReturnTyp: types.T_text,
  1913  				Fn:        operator.Cast,
  1914  			},
  1915  			{
  1916  				Index:     314,
  1917  				Args:      []types.T{types.T_text, types.T_bool},
  1918  				ReturnTyp: types.T_bool,
  1919  				Fn:        operator.Cast,
  1920  			},
  1921  			{
  1922  				Index:     315,
  1923  				Args:      []types.T{types.T_text, types.T_blob},
  1924  				ReturnTyp: types.T_blob,
  1925  				Fn:        operator.Cast,
  1926  			},
  1927  			{
  1928  				Index:     316,
  1929  				Args:      []types.T{types.T_blob, types.T_text},
  1930  				ReturnTyp: types.T_text,
  1931  				Fn:        operator.Cast,
  1932  			},
  1933  			{
  1934  				Index:     317,
  1935  				Args:      []types.T{types.T_time, types.T_time},
  1936  				ReturnTyp: types.T_time,
  1937  				Fn:        operator.Cast,
  1938  			},
  1939  			{
  1940  				Index:     318,
  1941  				Args:      []types.T{types.T_date, types.T_time},
  1942  				ReturnTyp: types.T_time,
  1943  				Fn:        operator.Cast,
  1944  			},
  1945  			{
  1946  				Index:     319,
  1947  				Args:      []types.T{types.T_time, types.T_date},
  1948  				ReturnTyp: types.T_date,
  1949  				Fn:        operator.Cast,
  1950  			},
  1951  			{
  1952  				Index:     320,
  1953  				Args:      []types.T{types.T_time, types.T_datetime},
  1954  				ReturnTyp: types.T_datetime,
  1955  				Fn:        operator.Cast,
  1956  			},
  1957  			{
  1958  				Index:     321,
  1959  				Args:      []types.T{types.T_datetime, types.T_time},
  1960  				ReturnTyp: types.T_time,
  1961  				Fn:        operator.Cast,
  1962  			},
  1963  			{
  1964  				Index:     322,
  1965  				Args:      []types.T{types.T_char, types.T_time},
  1966  				ReturnTyp: types.T_time,
  1967  				Fn:        operator.Cast,
  1968  			},
  1969  			{
  1970  				Index:     323,
  1971  				Args:      []types.T{types.T_varchar, types.T_time},
  1972  				ReturnTyp: types.T_time,
  1973  				Fn:        operator.Cast,
  1974  			},
  1975  			{
  1976  				Index:     324,
  1977  				Args:      []types.T{types.T_text, types.T_time},
  1978  				ReturnTyp: types.T_time,
  1979  				Fn:        operator.Cast,
  1980  			},
  1981  			{
  1982  				Index:     325,
  1983  				Args:      []types.T{types.T_blob, types.T_time},
  1984  				ReturnTyp: types.T_time,
  1985  				Fn:        operator.Cast,
  1986  			},
  1987  			{
  1988  				Index:     326,
  1989  				Args:      []types.T{types.T_time, types.T_char},
  1990  				ReturnTyp: types.T_char,
  1991  				Fn:        operator.Cast,
  1992  			},
  1993  			{
  1994  				Index:     327,
  1995  				Args:      []types.T{types.T_time, types.T_varchar},
  1996  				ReturnTyp: types.T_varchar,
  1997  				Fn:        operator.Cast,
  1998  			},
  1999  			{
  2000  				Index:     328,
  2001  				Args:      []types.T{types.T_time, types.T_text},
  2002  				ReturnTyp: types.T_text,
  2003  				Fn:        operator.Cast,
  2004  			},
  2005  			{
  2006  				Index:     329,
  2007  				Args:      []types.T{types.T_time, types.T_blob},
  2008  				ReturnTyp: types.T_blob,
  2009  				Fn:        operator.Cast,
  2010  			},
  2011  			{
  2012  				Index:     330,
  2013  				Args:      []types.T{types.T_time, types.T_int64},
  2014  				ReturnTyp: types.T_int64,
  2015  				Fn:        operator.Cast,
  2016  			},
  2017  			{
  2018  				Index:     331,
  2019  				Args:      []types.T{types.T_time, types.T_decimal64},
  2020  				ReturnTyp: types.T_decimal64,
  2021  				Fn:        operator.Cast,
  2022  			},
  2023  			{
  2024  				Index:     332,
  2025  				Args:      []types.T{types.T_time, types.T_decimal128},
  2026  				ReturnTyp: types.T_decimal128,
  2027  				Fn:        operator.Cast,
  2028  			},
  2029  			{
  2030  				Index:     333,
  2031  				Args:      []types.T{types.T_int64, types.T_time},
  2032  				ReturnTyp: types.T_time,
  2033  				Fn:        operator.Cast,
  2034  			},
  2035  			{
  2036  				Index:     334,
  2037  				Args:      []types.T{types.T_decimal64, types.T_time},
  2038  				ReturnTyp: types.T_time,
  2039  				Fn:        operator.Cast,
  2040  			},
  2041  			{
  2042  				Index:     335,
  2043  				Args:      []types.T{types.T_decimal128, types.T_time},
  2044  				ReturnTyp: types.T_time,
  2045  				Fn:        operator.Cast,
  2046  			},
  2047  			{
  2048  				Index:     336,
  2049  				Args:      []types.T{types.T_json, types.T_char},
  2050  				ReturnTyp: types.T_varchar,
  2051  				Fn:        operator.Cast,
  2052  				Volatile:  false,
  2053  			},
  2054  			{
  2055  				Index:     337,
  2056  				Args:      []types.T{types.T_json, types.T_varchar},
  2057  				ReturnTyp: types.T_varchar,
  2058  				Fn:        operator.Cast,
  2059  				Volatile:  false,
  2060  			},
  2061  			{
  2062  				Index:     338,
  2063  				Args:      []types.T{types.T_json, types.T_text},
  2064  				ReturnTyp: types.T_text,
  2065  				Fn:        operator.Cast,
  2066  				Volatile:  false,
  2067  			},
  2068  		},
  2069  	},