OmniSciDB  a5dc49c757
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TableFunctionsTesting.h
Go to the documentation of this file.
1 /*
2  * Copyright 2021 OmniSci, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 
19 #include "../../heavydbTypes.h"
20 
21 // clang-format off
22 /*
23  UDTF: ct_device_selection_udtf_any(Cursor<int32_t>, Constant<1>) -> Column<int32_t>
24  UDTF: ct_device_selection_udtf_cpu__cpu_(Cursor<int32_t>, Constant<1>) -> Column<int32_t>
25  UDTF: ct_device_selection_udtf_gpu__gpu_(Cursor<int32_t>, Constant<1>) -> Column<int32_t>
26  UDTF: ct_device_selection_udtf_both__cpu_(Cursor<int32_t>, Constant<1>) -> Column<int32_t>
27  UDTF: ct_device_selection_udtf_both__gpu_(Cursor<int32_t>, Constant<1>) -> Column<int32_t>
28 */
29 // clang-format on
30 
33 
34 #ifndef __CUDACC__
35 
38  Column<int64_t>& out);
39 
40 #endif // #ifndef __CUDACC__
41 
44  Column<int64_t>& out);
45 
46 #ifndef __CUDACC__
47 
50  Column<int64_t>& out);
51 
52 #endif // #ifndef __CUDACC__
53 
56  Column<int64_t>& out);
57 
58 // clang-format off
59 /*
60  Test functions for constant sizer parameter:
61 
62  UDTF: ct_binding_udtf_constant__cpu_1(Cursor<int32_t>, Constant<1>) -> Column<int32_t>
63  UDTF: ct_binding_udtf_constant__cpu_2(Cursor<int32_t, int32_t>, Constant<1>) -> Column<int32_t>
64  UDTF: ct_binding_udtf_constant__cpu_3(Cursor<int32_t, int32_t, int32_t>, Constant<1>) -> Column<int32_t>
65  UDTF: ct_binding_udtf_constant__cpu_4(Cursor<int64_t, int32_t, int32_t>, Constant<1>) -> Column<int32_t>
66  UDTF: ct_binding_udtf_constant__cpu_5(Cursor<int64_t, int64_t, int32_t>, Constant<1>) -> Column<int32_t>
67  UDTF: ct_binding_udtf_constant__cpu_6(Cursor<int64_t, int32_t, int64_t>, Constant<1>) -> Column<int32_t>
68  UDTF: ct_binding_udtf_constant__cpu_7(Cursor<int32_t, ColumnList<int32_t>>, Constant<1>) -> Column<int32_t>
69  UDTF: ct_binding_udtf_constant__cpu_8(Cursor<ColumnList<int32_t>, int64_t>, Constant<1>) -> Column<int32_t>
70  UDTF: ct_binding_udtf_constant__cpu_9(Cursor<ColumnList<int32_t>, ColumnList<int64_t>>, Constant<1>) -> Column<int32_t>
71  UDTF: ct_binding_udtf_constant__cpu_10(Cursor<int64_t, ColumnList<int64_t>, int64_t>, Constant<1>) -> Column<int32_t>
72 
73 
74  Test functions for row multiplier sizer parameter:
75 
76  UDTF: ct_binding_udtf__cpu_11(Cursor<int32_t>, RowMultiplier) -> Column<int32_t>
77  UDTF: ct_binding_udtf__cpu_12(Cursor<int32_t, int32_t>, RowMultiplier) -> Column<int32_t>
78  UDTF: ct_binding_udtf__cpu_13(Cursor<int32_t, int32_t, int32_t>, RowMultiplier) -> Column<int32_t>
79  UDTF: ct_binding_udtf__cpu_14(Cursor<int64_t, int32_t, int32_t>, RowMultiplier) -> Column<int32_t>
80  UDTF: ct_binding_udtf__cpu_15(Cursor<int64_t, int64_t, int32_t>, RowMultiplier) -> Column<int32_t>
81  UDTF: ct_binding_udtf__cpu_16(Cursor<int64_t, int32_t, int64_t>, RowMultiplier) -> Column<int32_t>
82  UDTF: ct_binding_udtf__cpu_17(Cursor<int32_t, ColumnList<int32_t>>, RowMultiplier) -> Column<int32_t>
83  UDTF: ct_binding_udtf__cpu_18(Cursor<ColumnList<int32_t>, int64_t>, RowMultiplier) -> Column<int32_t>
84  UDTF: ct_binding_udtf__cpu_19(Cursor<ColumnList<int32_t>, ColumnList<int64_t>>, RowMultiplier) -> Column<int32_t>
85  UDTF: ct_binding_udtf__cpu_20(Cursor<int64_t, ColumnList<int64_t>, int64_t>, RowMultiplier) -> Column<int32_t>
86 
87  UDTF: ct_binding_udtf2__cpu_21(RowMultiplier, Cursor<int32_t>) -> Column<int32_t>
88  UDTF: ct_binding_udtf6__cpu_22(Cursor<int32_t>, RowMultiplier, int32_t) -> Column<int32_t>
89  UDTF: ct_binding_udtf4__cpu_23(Cursor<ColumnList<int32_t>>, RowMultiplier, int32_t) -> Column<int32_t>
90  UDTF: ct_binding_udtf5__cpu_24(Cursor<ColumnList<int32_t>>, int32_t, RowMultiplier) -> Column<int32_t>
91  UDTF: ct_binding_udtf3__cpu_25(Cursor<Column<int32_t>>, int32_t, RowMultiplier) -> Column<int32_t>
92 */
93 // clang-format on
94 
95 #ifndef __CUDACC__
96 
99 
102  const Column<int32_t>& input2,
103  Column<int32_t>& out);
104 
107  const Column<int32_t>& input2,
108  const Column<int32_t>& input3,
109  Column<int32_t>& out);
110 
113  const Column<int32_t>& input2,
114  const Column<int32_t>& input3,
115  Column<int32_t>& out);
116 
119  const Column<int64_t>& input2,
120  const Column<int32_t>& input3,
121  Column<int32_t>& out);
122 
125  const Column<int32_t>& input2,
126  const Column<int64_t>& input3,
127  Column<int32_t>& out);
128 
131  const ColumnList<int32_t>& input2,
132  Column<int32_t>& out);
133 
136  const Column<int64_t>& input2,
137  Column<int32_t>& out);
138 
141  const ColumnList<int64_t>& input2,
142  Column<int32_t>& out);
143 
146  const ColumnList<int64_t>& input2,
147  const Column<int64_t>& input3,
148  Column<int64_t>& out);
149 
151  const int32_t multiplier,
152  Column<int32_t>& out);
153 
155  const Column<int32_t>& input2,
156  const int32_t multiplier,
157  Column<int32_t>& out);
158 
160  const Column<int32_t>& input2,
161  const Column<int32_t>& input3,
162  const int32_t multiplier,
163  Column<int32_t>& out);
164 
166  const Column<int32_t>& input2,
167  const Column<int32_t>& input3,
168  const int32_t multiplier,
169  Column<int32_t>& out);
170 
172  const Column<int64_t>& input2,
173  const Column<int32_t>& input3,
174  const int32_t multiplier,
175  Column<int32_t>& out);
176 
178  const Column<int32_t>& input2,
179  const Column<int64_t>& input3,
180  const int32_t multiplier,
181  Column<int32_t>& out);
182 
184  const ColumnList<int32_t>& input2,
185  const int32_t multiplier,
186  Column<int32_t>& out);
187 
189  const Column<int64_t>& input2,
190  const int32_t multiplier,
191  Column<int32_t>& out);
192 
194  const ColumnList<int64_t>& input2,
195  const int32_t multiplier,
196  Column<int32_t>& out);
197 
199  const ColumnList<int64_t>& input2,
200  const Column<int64_t>& input3,
201  const int32_t multiplier,
202  Column<int64_t>& out);
203 
204 EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf2__cpu_21(const int32_t multiplier,
205  const Column<int32_t>& input1,
206  Column<int32_t>& out);
207 
209  const int32_t multiplier,
210  const int32_t input2,
211  Column<int32_t>& out);
212 
215  const int32_t multiplier,
216  const int32_t input2,
217  Column<int32_t>& out);
218 
221  const int32_t input2,
222  const int32_t multiplier,
223  Column<int32_t>& out);
224 
226  const int32_t input2,
227  const int32_t multiplier,
228  Column<int32_t>& out);
229 
230 #endif // #ifndef __CUDACC__
231 
232 /*
233  Test functions for default sizer parameter:
234 */
235 
236 // clang-format off
237 /*
238  UDTF: ct_udtf_default_sizer1a__cpu_1(Cursor<int32_t>, RowMultiplier) -> Column<int32_t>
239  UDTF: ct_udtf_default_sizer1b__cpu_2(Cursor<int32_t>, Cursor<int32_t>, RowMultiplier) -> Column<int32_t>
240  UDTF: ct_udtf_default_sizer1c__cpu_3(Cursor<int32_t, int32_t, int32_t>, RowMultiplier, Cursor<int32_t>, int32_t) -> Column<int32_t>
241  UDTF: ct_udtf_default_sizer1d__cpu_4(RowMultiplier, int32_t, Cursor<int32_t>) -> Column<int32_t>
242  UDTF: ct_udtf_default_sizer2a__cpu_1(Cursor<int32_t>, int32_t, RowMultiplier) -> Column<int32_t>
243  UDTF: ct_udtf_default_sizer2b__cpu_2(Cursor<int32_t>, RowMultiplier, Cursor<int32_t>) -> Column<int32_t>
244  UDTF: ct_udtf_default_sizer2c__cpu_3(int32_t, RowMultiplier, Cursor<int32_t>) -> Column<int32_t>
245  UDTF: ct_udtf_default_sizer3a__cpu_1(Cursor<int32_t>, RowMultiplier, int32_t) -> Column<int32_t>
246  UDTF: ct_udtf_default_sizer3b__cpu_2(Cursor<int32_t>, int32_t, Cursor<int32_t>, RowMultiplier) -> Column<int32_t>
247  UDTF: ct_udtf_default_sizer4a__cpu_1(Cursor<int32_t>, RowMultiplier, Cursor<int32_t>, int32_t) -> Column<int32_t>
248  UDTF: ct_udtf_default_sizer4b__cpu_2(RowMultiplier, Cursor<int32_t>, int32_t) -> Column<int32_t>
249 */
250 // clang-format on
251 
252 #ifndef __CUDACC__
253 
256  const int32_t multiplier,
257  Column<int32_t>& out);
258 
261  const Column<int32_t>& input2,
262  const int32_t multiplier,
263  Column<int32_t>& out);
264 
267  const Column<int32_t>& input2,
268  const Column<int32_t>& input3,
269  const int32_t multiplier,
270  const Column<int32_t>& input4,
271  const int32_t x,
272  Column<int32_t>& out);
273 
275 ct_udtf_default_sizer1d__cpu_4(const int32_t multiplier,
276  const int32_t x,
277  const Column<int32_t>& input1,
278  Column<int32_t>& out);
279 
282  const int32_t x,
283  const int32_t multiplier,
284  Column<int32_t>& out);
285 
288  const int32_t multiplier,
289  const Column<int32_t>& input2,
290  Column<int32_t>& out);
291 
293 ct_udtf_default_sizer2c__cpu_3(const int32_t x,
294  const int32_t multiplier,
295  const Column<int32_t>& input1,
296  Column<int32_t>& out);
297 
300  const int32_t multiplier,
301  const int32_t x,
302  Column<int32_t>& out);
303 
306  const int32_t x,
307  const Column<int32_t>& input2,
308  const int32_t multiplier,
309  Column<int32_t>& out);
310 
313  const int32_t multiplier,
314  const Column<int32_t>& input2,
315  const int32_t x,
316  Column<int32_t>& out);
317 
319 ct_udtf_default_sizer4b__cpu_2(const int32_t multiplier,
320  const Column<int32_t>& input,
321  const int32_t x,
322  Column<int32_t>& out);
323 
324 #endif // #ifndef __CUDACC__
325 
326 // clang-format off
327 /*
328  UDTF: ct_binding_dict_encoded1__cpu_1(Cursor<TextEncodingDict>, RowMultiplier) -> Column<TextEncodingDict> | input_id=args<0>
329  UDTF: ct_binding_dict_encoded2__cpu_1(Cursor<TextEncodingDict, TextEncodingDict>) -> Column<TextEncodingDict> | input_id=args<0, 0>, Column<TextEncodingDict> | input_id=args<0, 1>
330  UDTF: ct_binding_dict_encoded3__cpu_1(Cursor<TextEncodingDict, TextEncodingDict>) -> Column<TextEncodingDict> | input_id=args<0, 1>, Column<TextEncodingDict> | input_id=args<0, 0>
331  UDTF: ct_binding_dict_encoded4__cpu_1(Cursor<ColumnList<TextEncodingDict>>) -> Column<TextEncodingDict> | input_id=args<0,0>
332  UDTF: ct_binding_dict_encoded5__cpu_1(Cursor<ColumnList<TextEncodingDict>>) -> Column<TextEncodingDict> | input_id=args<0,1>
333  UDTF: ct_binding_dict_encoded6__cpu_1(Cursor<ColumnList<TextEncodingDict>>) -> Column<TextEncodingDict> | input_id=args<0,0>, Column<TextEncodingDict> | input_id=args<0,1>
334 */
335 // clang-format on
336 
337 #ifndef __CUDACC__
338 
341  const int32_t multiplier,
343 
346  const Column<TextEncodingDict>& input2,
349 
352  const Column<TextEncodingDict>& input2,
355 
359 
363 
368 
369 #endif // #ifndef __CUDACC__
370 
371 // clang-format off
372 /*
373  UDTF: ct_binding_template__cpu_template(Cursor<TextEncodingDict>) -> Column<TextEncodingDict> | input_id=args<0>
374  UDTF: ct_binding_template__cpu_template(Cursor<int>) -> Column<int>
375  UDTF: ct_binding_template__cpu_template(Cursor<float>) -> Column<float>
376 */
377 // clang-format on
378 
379 #ifndef __CUDACC__
380 
381 template <typename T>
383  Column<T>& out);
384 
385 #endif // #ifndef __CUDACC__
386 
387 // clang-format off
388 /*
389  UDTF: ct_binding_columnlist__cpu_template(Cursor<int32_t, ColumnList<int32_t>>) -> Column<int32_t>
390  UDTF: ct_binding_columnlist__cpu_template(Cursor<float, ColumnList<float>>) -> Column<int32_t>
391  UDTF: ct_binding_columnlist__cpu_template(Cursor<TextEncodingDict, ColumnList<TextEncodingDict>>) -> Column<int32_t>
392  UDTF: ct_binding_columnlist__cpu_template(Cursor<int16_t, ColumnList<int16_t>>) -> Column<int32_t>
393 */
394 // clang-format on
395 
396 #ifndef __CUDACC__
397 
398 template <typename T>
400  const ColumnList<T>& input2,
401  Column<int32_t>& out);
402 
403 #endif // #ifndef __CUDACC__
404 
405 // clang-format off
406 /*
407  UDTF: ct_binding_column__cpu_template(Column<int32_t>) -> Column<int32_t>
408  UDTF: ct_binding_column__cpu_template(Column<float>) -> Column<int32_t>
409 */
410 // clang-format on
411 
412 #ifndef __CUDACC__
413 
414 template <typename T>
416  Column<int32_t>& out);
417 
418 #endif // #ifndef __CUDACC__
419 
420 // clang-format off
421 /*
422  UDTF: ct_binding_scalar_multiply__cpu_template(Cursor<Column<float>>, float) -> Column<float>
423  UDTF: ct_binding_scalar_multiply__cpu_template(Cursor<Column<double>>, double) -> Column<double>
424  UDTF: ct_binding_scalar_multiply__cpu_template(Cursor<Column<int32_t>>, int32_t) -> Column<int32_t>
425  UDTF: ct_binding_scalar_multiply__cpu_template(Cursor<Column<int64_t>>, int64_t) -> Column<int64_t>
426 */
427 // clang-format on
428 
429 #ifndef __CUDACC__
430 
431 template <typename T>
433  const T multiplier,
434  Column<T>& out);
435 
436 // clang-format off
437 /*
438  UDTF: ct_binding_str_length__cpu_(Cursor<TextEncodingDict>) -> Column<TextEncodingDict> string | input_id=args<0>, Column<int64_t> string_length
439 */
440 // clang-format on
443  Column<TextEncodingDict>& out_str,
444  Column<int64_t>& out_size);
445 
446 // clang-format off
447 /*
448  UDTF: ct_binding_str_equals__cpu_(Cursor<ColumnList<TextEncodingDict>>) -> Column<TextEncodingDict> string_if_equal | input_id=args<0, 0>, Column<bool> strings_are_equal
449 */
450 // clang-format on
452 int32_t ct_binding_str_equals__cpu_(const ColumnList<TextEncodingDict>& input_strings,
453  Column<TextEncodingDict>& string_if_equal,
454  Column<bool>& strings_are_equal);
455 
456 // clang-format off
457 /*
458  UDTF: ct_substr__cpu_(TableFunctionManager, Cursor<Column<TextEncodingDict> str, Column<int> pos, Column<int> len>) -> Column<TextEncodingDict> substr | input_id=args<0>
459 */
460 // clang-format on
461 
464  const Column<TextEncodingDict>& input_str,
465  const Column<int>& pos,
466  const Column<int>& len,
467  Column<TextEncodingDict>& output_substr);
468 
469 // clang-format off
470 /*
471  UDTF: ct_string_concat__cpu_(TableFunctionManager, Cursor<ColumnList<TextEncodingDict>>, TextEncodingNone separator | default = "|") -> Column<TextEncodingDict> concatted_str | input_id=args<0, 0>
472 */
473 // clang-format on
476  const ColumnList<TextEncodingDict>& input_strings,
478  Column<TextEncodingDict>& concatted_string);
479 
480 // clang-format off
481 /*
482  UDTF: ct_synthesize_new_dict__cpu_(TableFunctionManager, int32_t num_strings) -> Column<TextEncodingDict> new_dict_col | input_id=args<0>
483 */
484 // clang-format on
487  const int64_t num_strings,
488  Column<TextEncodingDict>& new_dict_col);
489 
490 #endif // #ifndef __CUDACC__
491 
492 #ifndef __CUDACC__
493 
494 // clang-format off
495 /*
496  UDTF: sort_column_limit__cpu_template(Cursor<Column<int8_t>>, int32_t, bool, bool) -> Column<int8_t>
497  UDTF: sort_column_limit__cpu_template(Cursor<Column<int16_t>>, int32_t, bool, bool) -> Column<int16_t>
498  UDTF: sort_column_limit__cpu_template(Cursor<Column<int32_t>>, int32_t, bool, bool) -> Column<int32_t>
499  UDTF: sort_column_limit__cpu_template(Cursor<Column<int64_t>>, int32_t, bool, bool) -> Column<int64_t>
500  UDTF: sort_column_limit__cpu_template(Cursor<Column<float>>, int32_t, bool, bool) -> Column<float>
501  UDTF: sort_column_limit__cpu_template(Cursor<Column<double>>, int32_t, bool, bool) -> Column<double>
502 */
503 // clang-format on
504 
505 template <typename T>
507  const int32_t limit,
508  const bool sort_ascending,
509  const bool nulls_last,
510  Column<T>& output);
511 
512 #endif
513 
514 // clang-format off
515 /*
516  UDTF: ct_binding_column2__cpu_template(Column<T>, Column<U>) -> Column<K>, T=[int32_t, double], U=[int32_t, double], K=[int32_t]
517  UDTF: ct_binding_column2__cpu_template(Column<T>, Column<T>) -> Column<T> | input_id=args<0>, T=[TextEncodingDict]
518 */
519 // clang-format on
520 
521 #ifndef __CUDACC__
522 
523 template <typename T, typename U, typename K>
525  const Column<U>& input2,
526  Column<K>& out);
527 
528 #endif // #ifndef __CUDACC__
529 
530 // clang-format off
531 /*
532  UDTF: ct_named_output__cpu_template(Column<T> input) -> Column<T> total, T=[int32_t, double]
533  UDTF: ct_named_const_output__cpu_template(Column<T> input, Constant<2>) -> Column<T> total, T=[int32_t, double]
534  UDTF: ct_named_user_const_output__cpu_template(Column<T> input, ConstantParameter c) -> Column<T> total, T=[int32_t, double]
535  UDTF: ct_named_rowmul_output__cpu_template(Column<T> input, RowMultiplier m) -> Column<T> total, T=[int32_t, double]
536 */
537 // clang-format on
538 
539 #ifndef __CUDACC__
540 
541 template <typename T>
543  Column<T>& out);
544 
545 template <typename T>
547  Column<T>& out);
548 
549 template <typename T>
551  int32_t c,
552  Column<T>& out);
553 
554 template <typename T>
556  int32_t m,
557  Column<T>& out);
558 
559 #endif // #ifndef __CUDACC__
560 
561 // clang-format off
562 /*
563  UDTF: ct_no_arg_runtime_sizing__cpu_template() -> Column<T> answer, T=[int32_t]
564 */
565 // clang-format on
566 
567 #ifndef __CUDACC__
568 
569 template <typename T>
571 
572 #endif // #ifndef __CUDACC__
573 
574 // clang-format off
575 /*
576  UDTF: ct_no_arg_constant_sizing(Constant<42>) -> Column<int32_t> answer
577 */
578 // clang-format on
579 
581 
582 // clang-format off
583 /*
584  UDTF: ct_scalar_1_arg_runtime_sizing__cpu_template(T num) -> Column<T> answer, T=[float, double, int32_t, int64_t]
585 */
586 // clang-format on
587 
588 #ifndef __CUDACC__
589 
590 template <typename T>
592  Column<T>& answer);
593 
594 #endif // #ifndef __CUDACC__
595 
596 // clang-format off
597 /*
598  UDTF: ct_scalar_2_args_constant_sizing(int64_t, int64_t, Constant<5>) -> Column<int64_t> answer1, Column<int64_t> answer2
599 */
600 // clang-format on
601 
602 EXTENSION_NOINLINE int32_t ct_scalar_2_args_constant_sizing(const int64_t num1,
603  const int64_t num2,
604  Column<int64_t>& answer1,
605  Column<int64_t>& answer2);
606 
607 // clang-format off
608 /*
609  UDTF: ct_no_cursor_user_constant_sizer__cpu_(int32_t, ConstantParameter c) -> Column<int32_t> output
610 */
611 // clang-format on
612 
613 #ifndef __CUDACC__
614 
616 ct_no_cursor_user_constant_sizer__cpu_(const int32_t input_num,
617  int32_t c,
618  Column<int32_t>& output);
619 
620 #endif // #ifndef __CUDACC__
621 
622 // clang-format off
623 /*
624  UDTF: ct_templated_no_cursor_user_constant_sizer__cpu_template(T, ConstantParameter c) -> Column<T> output, T=[int32_t, float]
625 */
626 // clang-format on
627 
628 #ifndef __CUDACC__
629 
630 template <typename T>
631 NEVER_INLINE HOST int32_t
633  int32_t c,
634  Column<T>& output);
635 
636 #endif // #ifndef __CUDACC__
637 
638 #ifdef __CUDACC__
639 
640 // clang-format off
641 /*
642  UDTF: ct_no_cursor_user_constant_sizer__gpu_(int32_t, ConstantParameter c) -> Column<int32_t> output
643 */
644 // clang-format on
645 
646 EXTENSION_NOINLINE int32_t
647 ct_no_cursor_user_constant_sizer__gpu_(const int32_t input_num,
648  int32_t c,
649  Column<int32_t>& output);
650 
651 // clang-format off
652 /*
653  UDTF: ct_templated_no_cursor_user_constant_sizer__gpu_template(T, ConstantParameter c) -> Column<T> output, T=[int32_t, float]
654 */
655 // clang-format on
656 
657 template <typename T>
658 TEMPLATE_NOINLINE int32_t
659 ct_templated_no_cursor_user_constant_sizer__gpu_template(const T input_num,
660  int32_t c,
661  Column<T>& output);
662 
663 #endif //__CUDACC__
664 
665 // clang-format off
666 /*
667  UDTF: column_list_safe_row_sum__cpu_template(Cursor<ColumnList<T>>) -> Column<T>, T=[int32_t, int64_t, float, double]
668 */
669 // clang-format on
670 
671 #ifndef __CUDACC__
672 
673 template <typename T>
674 NEVER_INLINE HOST int32_t
676 
677 #endif // #ifndef __CUDACC__
678 
679 // clang-format off
680 /*
681  UDTF: ct_gpu_default_init__gpu_(Constant<1>) -> Column<int32_t> output_buffer
682 */
683 // clang-format on
684 
686 
687 // clang-format off
688 /*
689  UDTF: ct_hamming_distance(TextEncodingNone, TextEncodingNone, Constant<1>) -> Column<int32_t> hamming_distance
690 */
691 // clang-format on
692 
694  const TextEncodingNone& str2,
695  Column<int32_t>& hamming_distance);
696 
697 // clang-format off
698 /*
699  UDTF: ct_get_string_chars__template(Column<T>, TextEncodingNone, RowMultiplier) -> Column<int32_t> idx, Column<int8_t> char_bytes, T=[int16_t, int32_t]
700 */
701 // clang-format on
702 template <typename T>
704  const TextEncodingNone& str,
705  const int32_t multiplier,
706  Column<int32_t>& idx,
707  Column<int8_t>& char_bytes);
708 
709 #ifndef __CUDACC__
710 
711 // clang-format off
712 /*
713  UDTF: ct_string_to_chars__cpu_(TextEncodingNone) -> Column<int32_t> char_idx, Column<int8_t> char_bytes
714 */
715 // clang-format on
716 
718  Column<int32_t>& char_idx,
719  Column<int8_t>& char_bytes);
720 
721 // clang-format off
722 /*
723  The purpose of ct_sleep1 and ct_sleep2 is to test parallel execution
724  of UDTFs (use --num-executors=..). For instance, ct_sleep1 output
725  column buffers are managed by a global manager, hence, ct_sleep1 can
726  be run only sequentially. However, ct_sleep2 output column buffers
727  are managed with a thread-safe manager instance, hence, ct_sleep2
728  can be run in parallel.
729 
730  UDTF: ct_sleep1__cpu_(int32_t seconds, int32_t mode) -> Column<int32_t> output
731  UDTF: ct_sleep2(TableFunctionManager, int32_t seconds, int32_t mode) -> Column<int32_t> output
732 
733  Here mode argument is used to test various approaches of accessing
734  the table function manager:
735 
736  - mode == 0
737  ct_sleep1 uses global set_output_row_size function
738  ct_sleep2 uses thread-safe set_output_row_size method
739 
740  - mode == 1
741  ct_sleep1 retrieves global singleton manager and uses its set_output_row_size method
742  ct_sleep2 same as in mode == 1
743 
744  - mode == 2
745  ct_sleep1 does not call set_output_row_size function, expect error return
746  ct_sleep2 does not call set_output_row_size method, expect error return
747 
748  - mode == 3
749  ct_sleep1 same as mode == 2
750  ct_sleep2 calls global set_output_row_size function, expect error return
751 */
752 // clang-format on
753 EXTENSION_NOINLINE int32_t ct_sleep_worker(int32_t seconds, Column<int32_t>& output);
754 
755 EXTENSION_NOINLINE_HOST int32_t ct_sleep1__cpu_(int32_t seconds,
756  int32_t mode,
757  Column<int32_t>& output);
758 
760  int32_t seconds,
761  int32_t mode,
762  Column<int32_t>& output);
763 
764 // clang-format off
765 /*
766  UDTF: ct_throw_if_gt_100__cpu_template(TableFunctionManager, Column<T>) -> Column<T> val, T=[float, double]
767 */
768 // clang-format on
769 
770 template <typename T>
772  const Column<T>& input,
773  Column<T>& output);
774 
775 // clang-format off
776 /*
777  The following UDTFs are used to test an optimization rule that moves
778  filters on UDTF outputs to the inputs when the names of outputs and
779  input arguments match in the UDTF signatures. This optimization
780  makes sense only if filters and table functions are commutative with
781  respect to the corresponding input and output arguments:
782 
783  filter(udtf(..., input[j], ...)[i]) == udtf(..., filter(input[j]), ...)[i]
784 
785  The UDTFs below invalidate this requirement for the purpose of
786  testing the feature: the result will depend on whether the
787  optimization is enabled or not.
788 
789  UDTF: ct_copy_and_add_size(TableFunctionManager, Cursor<Column<int32_t> x>) | filter_table_function_transpose=on -> Column<int32_t> x
790  UDTF: ct_add_size_and_mul_alpha(TableFunctionManager, Cursor<Column<int32_t>, Column<int32_t>> | fields=[x, x2], int32_t alpha) | filter_table_function_transpose=on -> Column<int32_t> x, Column<int32_t> x2
791  UDTF: ct_sparse_add(TableFunctionManager, Cursor<Column<int32_t> x, Column<int32_t> d1>, int32_t f1, Cursor<Column<int32_t> x, Column<int32_t> d2>, int32_t f2) | filter_table_function_transpose=on -> Column<int32_t> x, Column<int32_t> d
792 */
793 // clang-format on
794 
796  const Column<int32_t>& input,
797  Column<int32_t>& output);
798 
800  const Column<int32_t>& input1,
801  const Column<int32_t>& input2,
802  int32_t alpha,
803  Column<int32_t>& output1,
804  Column<int32_t>& output2);
805 
807  const Column<int32_t>& x1,
808  const Column<int32_t>& d1,
809  int32_t f1,
810  const Column<int32_t>& x2,
811  const Column<int32_t>& d2,
812  int32_t f2,
813  Column<int32_t>& x,
814  Column<int32_t>& d);
815 
816 #endif // #ifndef __CUDACC__
817 
818 // clang-format off
819 /*
820  UDTF: ct_pushdown_stats__cpu_template(TableFunctionManager, TextEncodingNone agg_type, Cursor<Column<K> id, Column<T> x, Column<T> y, Column<Z> z>) | filter_table_function_transpose=on -> Column<int32_t> row_count, Column<K> id | input_id=args<0>, Column<T> x, Column<T> y, Column<Z> z, K=[int64_t, TextEncodingDict], T=[int64_t, double], Z=[int64_t, double]
821 */
822 // clang-format on
823 
824 #ifndef __CUDACC__
825 
826 template <typename K, typename T, typename Z>
827 NEVER_INLINE HOST int32_t
829  const TextEncodingNone& agg_type,
830  const Column<K>& input_id,
831  const Column<T>& input_x,
832  const Column<T>& input_y,
833  const Column<Z>& input_z,
834  Column<int32_t>& output_row_count,
835  Column<K>& output_id,
836  Column<T>& output_x,
837  Column<T>& output_y,
838  Column<Z>& output_z);
839 
840 #endif // #ifndef __CUDACC__
841 
842 // clang-format off
843 /*
844  UDTF: ct_pushdown_projection__cpu_template(TableFunctionManager, Cursor<Column<K> id, Column<T> x, Column<T> y, Column<Z> z>) | filter_table_function_transpose=on -> Column<K> id | input_id=args<0>, Column<T> x, Column<T> y, Column<Z> z, K=[int64_t, TextEncodingDict], T=[int64_t, double], Z=[int64_t, double]
845 */
846 // clang-format on
847 
848 #ifndef __CUDACC__
849 
850 template <typename K, typename T, typename Z>
852  const Column<K>& input_id,
853  const Column<T>& input_x,
854  const Column<T>& input_y,
855  const Column<Z>& input_z,
856  Column<K>& output_id,
857  Column<T>& output_x,
858  Column<T>& output_y,
859  Column<Z>& output_z);
860 
861 #endif // #ifndef __CUDACC__
862 
863 // clang-format off
864 /*
865  UDTF: ct_union_pushdown_stats__cpu_template(TableFunctionManager, TextEncodingNone agg_type, Cursor<Column<K> id, Column<T> x, Column<T> y, Column<Z> z>, Cursor<Column<K> id, Column<T> x, Column<T> y, Column<Z> z, Column<T> w>) | filter_table_function_transpose=on -> Column<int32_t> row_count, Column<K> id | input_id=args<0, 0>, Column<T> x, Column<T> y, Column<Z> z, Column<T> w, K=[int64_t, TextEncodingDict], T=[int64_t, double], Z=[int64_t, double]
866 */
867 // clang-format on
868 
869 #ifndef __CUDACC__
870 
871 template <typename K, typename T, typename Z>
872 NEVER_INLINE HOST int32_t
874  const TextEncodingNone& agg_type,
875  const Column<K>& input1_id,
876  const Column<T>& input1_x,
877  const Column<T>& input1_y,
878  const Column<Z>& input1_z,
879  const Column<K>& input2_id,
880  const Column<T>& input2_x,
881  const Column<T>& input2_y,
882  const Column<Z>& input2_z,
883  const Column<T>& input2_w,
884  Column<int32_t>& output_row_count,
885  Column<K>& output_id,
886  Column<T>& output_x,
887  Column<T>& output_y,
888  Column<Z>& output_z,
889  Column<T>& output_w);
890 
891 #endif // #ifndef __CUDACC__
892 
893 // clang-format off
894 /*
895  UDTF: ct_union_pushdown_projection__cpu_template(TableFunctionManager, Cursor<Column<K> id, Column<T> x, Column<T> y, Column<Z> z>, Cursor<Column<K> id, Column<T> x, Column<T> y, Column<Z> z, Column<T> w>) | filter_table_function_transpose=on -> Column<K> id | input_id=args<0, 0>, Column<T> x, Column<T> y, Column<Z> z, Column<T> w, K=[int64_t, TextEncodingDict], T=[int64_t, double], Z=[int64_t, double]
896 */
897 // clang-format on
898 
899 #ifndef __CUDACC__
900 
901 template <typename K, typename T, typename Z>
902 NEVER_INLINE HOST int32_t
904  const Column<K>& input1_id,
905  const Column<T>& input1_x,
906  const Column<T>& input1_y,
907  const Column<Z>& input1_z,
908  const Column<K>& input2_id,
909  const Column<T>& input2_x,
910  const Column<T>& input2_y,
911  const Column<Z>& input2_z,
912  const Column<T>& input2_w,
913  Column<K>& output_id,
914  Column<T>& output_x,
915  Column<T>& output_y,
916  Column<Z>& output_z,
917  Column<T>& output_w);
918 
919 #endif // #ifndef __CUDACC__
920 
921 // clang-format off
922 /*
923  UDTF: ct_require__cpu_(Column<int32_t>, int | name=i | require="i > 0") -> Column<int32_t>
924  UDTF: ct_require_mgr(TableFunctionManager, Column<int32_t>, int i | require="i > 1" | require="i < 5") -> Column<int32_t>
925  UDTF: ct_require_str__cpu_(Column<int32_t>, TextEncodingNone s | require="s == \"hello\"") -> Column<int32_t>
926  UDTF: ct_require_templating__cpu_template(Column<T>, int i | require="i > 0") -> Column<K>, T=[int, double], K=[int]
927  UDTF: ct_require_and__cpu_(Column<int>, int i | require="i > 0 && i < 5") -> Column<int>
928  UDTF: ct_require_or_str__cpu_(Column<int>, TextEncodingNone i | require="i == \"MAX\" || i == \"MIN\"") -> Column<int>
929  UDTF: ct_require_str_diff__cpu_(Column<int>, TextEncodingNone i | require="i != \"MAX\"") -> Column<int>
930  UDTF: ct_require_text_enc_dict__cpu_(Cursor<Column<TextEncodingDict>>, int64_t x | require="x >= 1") -> Column<int64_t>
931  UDTF: ct_require_text_collist_enc_dict__cpu_(Cursor<ColumnList<TextEncodingDict>>, int64_t x | require="x >= 1") -> Column<int64_t>
932  UDTF: ct_require_cursor__cpu_(Cursor<Column<int64_t> x | require="x.size() + y > 10">, int64_t y) -> Column<int64_t>
933 */
934 // clang-format on
935 
936 #ifndef __CUDACC__
937 
939  const int32_t i,
940  Column<int32_t>& out);
941 
943  const TextEncodingNone& s,
944  Column<int32_t>& out);
945 
947  const Column<int32_t>& input1,
948  const int32_t i,
949  Column<int32_t>& out);
950 
951 template <typename T, typename K>
953  const int32_t i,
954  Column<K>& out);
955 
957  const int32_t i,
958  Column<int32_t>& out);
959 
961  const TextEncodingNone& i,
962  Column<int32_t>& out);
963 
965  const TextEncodingNone& i,
966  Column<int32_t>& out);
967 
970  const int64_t x,
971  Column<int64_t>& out);
972 
975  const int64_t x,
976  Column<int64_t>& out);
977 
979  int64_t y,
980  Column<int64_t>& out);
981 
982 /*
983  UDTF: ct_test_allocator(TableFunctionManager, Column<int32_t>, TextEncodingNone) ->
984  Column<int32_t>
985 */
987  const Column<int32_t>& input,
988  const TextEncodingNone& t,
989  Column<int32_t>& out);
990 
991 #endif // #ifndef __CUDACC__
992 
993 #ifdef __CUDACC__
994 
995 // clang-format off
996 /*
997  UDTF: ct_require_device_cuda__gpu_(Column<int32_t>, Constant<1>, int | name=i | require="i > 0") -> Column<int32_t>
998 */
999 // clang-format on
1000 
1001 EXTENSION_NOINLINE int32_t ct_require_device_cuda__gpu_(const Column<int32_t>& input1,
1002  const int32_t i,
1003  Column<int32_t>& out);
1004 
1005 // clang-format off
1006 /*
1007  UDTF: ct_cuda_enumerate_threads__gpu_(ConstantParameter output_size) -> Column<int32_t> local_thread_id, Column<int32_t> block_id, Column<int32_t> global_thread_id
1008 */
1009 // clang-format on
1010 
1011 EXTENSION_NOINLINE int32_t
1012 ct_cuda_enumerate_threads__gpu_(const int32_t output_size,
1013  Column<int32_t>& out_local_thread_id,
1014  Column<int32_t>& out_block_id,
1015  Column<int32_t>& out_global_thread_id);
1016 
1017 #endif //__CUDACC__
1018 
1019 // clang-format off
1020 /*
1021  UDTF: ct_test_nullable(Column<int32_t>, RowMultiplier) -> Column<int32_t>
1022 */
1023 // clang-format on
1024 
1026  const int32_t i,
1027  Column<int32_t>& out);
1028 
1029 // clang-format off
1030 /*
1031  UDTF: ct_test_preflight_sizer(Column<int32_t> col, int i, int j) -> Column<int32_t> | output_row_size="i + j"
1032  UDTF: ct_test_preflight_sizer_const(Column<int32_t> col) -> Column<int32_t> | output_row_size=2
1033 */
1034 // clang-format on
1035 
1037  const int32_t i,
1038  const int32_t j,
1039  Column<int32_t>& out);
1040 
1042  Column<int32_t>& out);
1043 
1044 #ifndef __CUDACC__
1045 
1046 // clang-format off
1047 /*
1048  UDTF: ct_test_preflight_singlecursor_qe227__cpu_(TableFunctionManager,
1049  Cursor<Column<int32_t> col, ColumnList<int32_t> lst>,
1050  int32_t x, int32_t y | require="x > 0" | require="y > 0") ->
1051  Column<int32_t> out
1052  */
1053 // clang-format on
1054 
1055 EXTENSION_NOINLINE int32_t
1057  const Column<int32_t>& col,
1058  const ColumnList<int32_t>& lst,
1059  const int x,
1060  const int y,
1061  Column<int32_t>& out);
1062 
1063 // clang-format off
1064 /*
1065  UDTF: ct_test_preflight_multicursor_qe227__cpu_(TableFunctionManager,
1066  Column<int32_t> col, ColumnList<int32_t> lst,
1067  int32_t x, int32_t y | require="x > 0" | require="y > 0") ->
1068  Column<int32_t> out
1069  */
1070 // clang-format on
1071 
1072 EXTENSION_NOINLINE int32_t
1074  const Column<int32_t>& col,
1075  const ColumnList<int32_t>& lst,
1076  const int x,
1077  const int y,
1078  Column<int32_t>& out);
1079 
1080 // clang-format off
1081 /*
1082  UDTF: ct_scalar_named_args__cpu_(TableFunctionManager, int32_t arg1, int32_t arg2) ->
1083  Column<int32_t> out1, Column<int32_t> out2
1084 */
1085 
1087 ct_scalar_named_args__cpu_(TableFunctionManager& mgr, const int32_t arg1,
1088  const int32_t arg2, Column<int32_t>& out1, Column<int32_t>& out2);
1089 
1090 // clang-format off
1091 /*
1092  UDTF: ct_cursor_named_args__cpu_(TableFunctionManager, Cursor<Column<int32_t> input_table_arg1,
1093  Column<int32_t> input_table_arg2> input_table, int32_t arg1, int32_t arg2) ->
1094  Column<int32_t> out1, Column<int32_t> out2
1095 */
1096 
1099 const Column<int32_t>& input_arg2, const int32_t arg1, const int32_t arg2,
1100  Column<int32_t>& out1, Column<int32_t>& out2);
1101 
1102 #endif
1103 
1104 #ifndef __CUDACC__
1105 
1106 // clang-format off
1107 /*
1108  UDTF: ct_timestamp_extract(TableFunctionManager, Column<Timestamp>) -> Column<int64_t> ns, Column<int64_t> us, Column<int64_t> ms, Column<int64_t> s, Column<int64_t> m, Column<int64_t> h, Column<int64_t> d, Column<int64_t> mo, Column<int64_t> y
1109  UDTF: ct_timestamp_add_offset(TableFunctionManager, Column<Timestamp>, Timestamp) -> Column<Timestamp>
1110  UDTF: ct_timestamp_add_offset_cpu_only(Column<Timestamp>, RowMultiplier, Timestamp) -> Column<Timestamp>
1111  UDTF: ct_timestamp_test_columns_and_scalars__cpu(Column<Timestamp>, int64_t, RowMultiplier, Column<Timestamp>) -> Column<Timestamp>
1112  UDTF: ct_timestamp_column_list_input(TableFunctionManager, ColumnList<int64_t>, Column<Timestamp>) -> Column<Timestamp>
1113  UDTF: ct_timestamp_truncate(TableFunctionManager, Column<Timestamp>) -> Column<Timestamp> y, Column<Timestamp> mo, Column<Timestamp> d, Column<Timestamp> h, Column<Timestamp> m, Column<Timestamp> s, Column<Timestamp> ms, Column<Timestamp> us
1114  UDTF: ct_timestamp_add_interval__template(TableFunctionManager, Column<Timestamp>, T) -> Column<Timestamp>, T=[YearMonthTimeInterval, DayTimeInterval]
1115 */
1116 // clang-format on
1117 
1118 // Test table functions with Timestamp Column inputs
1119 // and Timestamp type helper functions
1121  const Column<Timestamp>& input,
1122  Column<int64_t>& ns,
1123  Column<int64_t>& us,
1124  Column<int64_t>& ms,
1125  Column<int64_t>& s,
1126  Column<int64_t>& m,
1127  Column<int64_t>& h,
1128  Column<int64_t>& d,
1129  Column<int64_t>& mo,
1130  Column<int64_t>& y);
1131 
1132 // Test table functions with scalar Timestamp inputs
1134  const Column<Timestamp>& input,
1135  const Timestamp offset,
1136  Column<Timestamp>& out);
1137 
1138 // See the comment in ct_timestamp_add_offset_cpu_only implementation.
1141  const int32_t multiplier,
1142  const Timestamp offset,
1143  Column<Timestamp>& out);
1144 
1145 // Test table function with sizer argument, and mix of scalar/column inputs.
1146 EXTENSION_NOINLINE int32_t
1148  const int64_t dummy,
1149  const int32_t multiplier,
1150  const Column<Timestamp>& input2,
1151  Column<Timestamp>& out);
1152 
1153 // Dummy test for ColumnList inputs + Column Timestamp input
1156  const ColumnList<int64_t>& input,
1157  const Column<Timestamp>& input2,
1158  Column<int64_t>& out);
1159 
1161  const Column<Timestamp>& input,
1162  Column<Timestamp>& y,
1163  Column<Timestamp>& mo,
1164  Column<Timestamp>& d,
1165  Column<Timestamp>& h,
1166  Column<Timestamp>& m,
1167  Column<Timestamp>& s,
1168  Column<Timestamp>& ms,
1169  Column<Timestamp>& us);
1170 
1171 template <typename T>
1172 NEVER_INLINE HOST int32_t
1174  const Column<Timestamp>& input,
1175  const T inter,
1176  Column<Timestamp>& out);
1177 
1178 // clang-format off
1179 /*
1180  UDTF: sum_along_row__cpu_template(Column<Array<T>> input) -> Column<T>,
1181  T=[float, double, int8_t, int16_t, int32_t, int64_t, bool, TextEncodingDict] | output_row_size="input.size()" | input_id=args<0>
1182 */
1183 // clang-format on
1184 template <typename T>
1186  Column<T>& output);
1187 
1188 // clang-format off
1189 /*
1190  UDTF: array_copier__cpu_template(TableFunctionManager mgr, Column<Array<T>> input) -> Column<Array<T>>,
1191  T=[float, double, int8_t, int16_t, int32_t, int64_t, bool]
1192  UDTF: array_copier__cpu_template(TableFunctionManager mgr, Column<Array<TextEncodingDict>> input) -> Column<Array<TextEncodingDict>> | input_id=args<0>
1193 */
1194 // clang-format on
1195 template <typename T>
1197  const Column<Array<T>>& input,
1198  Column<Array<T>>& output);
1199 
1200 // clang-format off
1201 /*
1202  UDTF: array_concat__cpu_template(TableFunctionManager mgr, ColumnList<Array<T>> input) -> Column<Array<T>> | input_id=args<0>,
1203  T=[float, double, int8_t, int16_t, int32_t, int64_t, bool, TextEncodingDict]
1204  UDTF: array_append__cpu_template(TableFunctionManager mgr, Column<Array<T>> input1, Array<T> input2) -> Column<Array<T>> | input_id=args<0>,
1205  T=[float, double, int8_t, int16_t, int32_t, int64_t, bool]
1206 */
1207 // clang-format on
1208 template <typename T>
1210  const ColumnList<Array<T>>& inputs,
1211  Column<Array<T>>& output);
1212 template <typename T>
1214  const Column<Array<T>>& input1,
1215  const Array<T>& input2,
1216  Column<Array<T>>& output);
1217 
1218 // clang-format off
1219 /*
1220  UDTF: array_asarray__cpu_template(TableFunctionManager mgr, Column<T> input) -> Column<Array<T>> | input_id=args<>,
1221  T=[int64_t, TextEncodingDict]
1222 */
1223 // clang-format on
1224 template <typename T>
1226  const Column<T>& input,
1227  Column<Array<T>>& output);
1228 
1229 // clang-format off
1230 /*
1231  UDTF: array_split__cpu_template(TableFunctionManager mgr, Column<Array<T>> input) ->
1232  Column<Array<T>> | input_id=args<0>, Column<Array<T>> | input_id=args<0>,
1233  T=[float, double, int8_t, int16_t, int32_t, int64_t, bool, TextEncodingDict]
1234 */
1235 // clang-format on
1236 template <typename T>
1238  const Column<Array<T>>& input,
1239  Column<Array<T>>& first,
1240  Column<Array<T>>& second);
1241 
1242 // clang-format off
1243 /*
1244  UDTF: tf_metadata_setter__cpu_template(TableFunctionManager) -> Column<bool> success
1245 */
1246 // clang-format on
1247 
1249  Column<bool>& success);
1250 
1251 // clang-format off
1252 /*
1253  UDTF: tf_metadata_setter_repeated__cpu_template(TableFunctionManager) -> Column<bool> success
1254 */
1255 // clang-format on
1256 
1257 NEVER_INLINE HOST int32_t
1259  Column<bool>& success);
1260 
1261 // clang-format off
1262 /*
1263  UDTF: tf_metadata_setter_size_mismatch__cpu_template(TableFunctionManager) -> Column<bool> success
1264 */
1265 // clang-format on
1266 
1267 NEVER_INLINE HOST int32_t
1269  Column<bool>& success);
1270 
1271 // clang-format off
1272 /*
1273  UDTF: tf_metadata_getter__cpu_template(TableFunctionManager, Column<bool>) -> Column<bool> success
1274 */
1275 // clang-format on
1276 
1278  const Column<bool>& input,
1279  Column<bool>& success);
1280 
1281 // clang-format off
1282 /*
1283  UDTF: tf_metadata_getter_bad__cpu_template(TableFunctionManager, Column<bool>) -> Column<bool> success
1284 */
1285 // clang-format on
1286 
1288  const Column<bool>& input,
1289  Column<bool>& success);
1290 
1291 // clang-format off
1292 /*
1293  UDTF: ct_overload_scalar_test__cpu_template(T scalar) -> Column<T>, T=[Timestamp, int64_t]
1294  UDTF: ct_overload_column_test__cpu_template(Column<T>) -> Column<T>, T=[Timestamp, TextEncodingDict, int64_t]
1295  UDTF: ct_overload_column_test__cpu_template(Column<Array<T>>) -> Column<Array<T>>, T=[TextEncodingDict, int64_t]
1296  UDTF: ct_overload_column_list_test__cpu_template(Cursor<Column<K> first_col, ColumnList<T> col_list, Column<K> last_col>) -> Column<K>, K=[int64_t], T=[int64_t, double]
1297  UDTF: ct_overload_column_list_test2__cpu_template(Cursor<Column<K> first_col, ColumnList<K> col_list1, ColumnList<T> col_list2, Column<T> last_col>) -> Column<K>, K=[int64_t], T=[int64_t, double]
1298 */
1299 // clang-format on
1300 
1301 // Test table functions overloaded on scalar types
1302 // Calcite should pick the proper overloaded operator for each templated table function
1303 template <typename T>
1305  Column<T>& out);
1306 
1307 // Test table functions overloaded on column types
1308 // Calcite should pick the proper overloaded operator for each templated table function
1309 template <typename T>
1311  Column<T>& out);
1312 
1313 // Test Calcite overload resolution for table functions with ColumnList arguments
1314 // Calcite should pick the proper overloaded operator for each templated table function
1315 template <typename T, typename K>
1316 NEVER_INLINE HOST int32_t
1318  const ColumnList<T>& col_list,
1319  const Column<K>& last_col,
1320  Column<K>& out);
1321 
1322 // Test Calcite overload resolution for table functions with multiple ColumnList arguments
1323 template <typename T, typename K>
1324 NEVER_INLINE HOST int32_t
1326  const ColumnList<K>& col_list1,
1327  const ColumnList<T>& col_list2,
1328  const Column<T>& last_col,
1329  Column<K>& out);
1330 
1331 #endif
1332 
1333 // clang-format off
1334 /*
1335  UDTF: ct_require_range__cpu_(Column<int32_t>, int x | range=[1, 5], RowMultiplier) -> Column<int32_t>
1336 */
1337 // clang-format on
1338 
1340  const int32_t x,
1341  const int32_t multiplier,
1342  Column<int32_t>& out);
1343 
1344 #ifndef __CUDACC__
1345 
1346 // clang-format off
1347 /*
1348  UDTF: ct_coords__cpu_(TableFunctionManager, Column<GeoPoint> points) -> Column<double> x, Column<double> y
1349  UDTF: ct_shift__cpu_(TableFunctionManager, Column<GeoPoint> points, double x, double y) -> Column<GeoPoint> shifted
1350  UDTF: ct_pointn__cpu_template(TableFunctionManager, Column<T> points, int64_t n) -> Column<double> x, Column<double> y, T=[GeoLineString, GeoMultiPoint]
1351  UDTF: ct_linestringn__cpu_(TableFunctionManager, Column<GeoPolygon> polygons, int64_t n) -> Column<GeoLineString> linestrings
1352  UDTF: ct_make_polygon3__cpu_(TableFunctionManager, Cursor<Column<GeoLineString> rings, Column<GeoLineString> holes1, Column<GeoLineString> holes2>) -> Column<GeoPolygon> polygons, Column<int> sizes
1353  UDTF: ct_make_linestring2__cpu_(TableFunctionManager, Cursor<Column<double> x, Column<double> y>, double dx, double dy) -> Column<GeoLineString> linestrings
1354  UDTF: ct_make_multipolygon__cpu_(TableFunctionManager, Column<GeoPolygon> polygons) -> Column<GeoMultiPolygon> mpolygons
1355  UDTF: ct_polygonn__cpu_(TableFunctionManager, Column<GeoMultiPolygon> mpolygons, int64_t n) -> Column<GeoPolygon> polygons
1356  UDTF: ct_to_multilinestring__cpu_(TableFunctionManager, Column<GeoPolygon> polygons) -> Column<GeoMultiLineString> mlinestrings
1357  UDTF: ct_to_polygon__cpu_(TableFunctionManager, Column<GeoMultiLineString> mlinestrings) -> Column<GeoPolygon> polygons
1358  UDTF: ct_copy__generic_cpu_template(TableFunctionManager mgr, Column<T> inputs) -> Column<T> outputs | input_id=args<0>,
1359  T=[TextEncodingNone, GeoLineString, GeoMultiPoint, GeoMultiLineString, GeoPolygon, GeoMultiPolygon]
1360  UDTF: ct_concat__generic_cpu_template(TableFunctionManager mgr, Cursor<Column<T> input1, Column<T> input2>) -> Column<T> outputs | input_id=args<0>,
1361  T=[TextEncodingNone]
1362  UDTF: ct_concat__generic2_cpu_template(TableFunctionManager mgr, Column<T> input1, T input2) -> Column<T> outputs | input_id=args<0>,
1363  T=[TextEncodingNone]
1364  UDTF: ct_concat__generic2_cpu_template(TableFunctionManager mgr, Column<Array<T>> input1, Array<T> input2) -> Column<Array<T>> outputs, T=[double]
1365  UDTF: ct_concat__generic3_cpu_template(TableFunctionManager mgr, T input1, Column<T> input2) -> Column<T> outputs | input_id=args<0>,
1366  T=[TextEncodingNone]
1367 */
1368 // clang-format on
1369 
1371  const Column<GeoPoint>& points,
1372  Column<double>& xcoords,
1373  Column<double>& ycoords);
1374 
1376  const Column<GeoPoint>& points,
1377  const double x,
1378  const double y,
1379  Column<GeoPoint>& shifted_points);
1380 
1381 template <typename T>
1383  const Column<T>& points,
1384  int64_t n,
1385  Column<double>& xcoords,
1386  Column<double>& ycoords);
1387 
1388 template <typename T>
1390  const Column<T>& inputs,
1391  Column<T>& outputs);
1392 
1393 template <typename T>
1395  const Column<T>& input1,
1396  const Column<T>& input2,
1397  Column<T>& outputs);
1398 
1399 template <typename T>
1401  const Column<T>& input1,
1402  const T& input2,
1403  Column<T>& outputs);
1404 
1405 template <typename T>
1407  const T& input1,
1408  const Column<T>& input2,
1409  Column<T>& outputs);
1410 
1412  const Column<GeoPolygon>& polygons,
1413  int64_t n,
1414  Column<GeoLineString>& linestrings);
1415 
1417  const Column<GeoLineString>& rings,
1418  const Column<GeoLineString>& holes1,
1419  const Column<GeoLineString>& holes2,
1420  Column<GeoPolygon>& polygons,
1421  Column<int>& sizes);
1422 
1424  const Column<double>& x,
1425  const Column<double>& y,
1426  double dx,
1427  double dy,
1428  Column<GeoLineString>& linestrings);
1429 
1431  const Column<GeoPolygon>& polygons,
1432  Column<GeoMultiPolygon>& mpolygons);
1433 
1435  const Column<GeoMultiPolygon>& mpolygons,
1436  int64_t n,
1437  Column<GeoPolygon>& polygons);
1438 
1439 EXTENSION_NOINLINE int32_t
1441  const Column<GeoPolygon>& polygons,
1442  Column<GeoMultiLineString>& mlinestrings);
1443 
1444 EXTENSION_NOINLINE int32_t
1446  const Column<GeoMultiLineString>& mlinestrings,
1447  Column<GeoPolygon>& polygons);
1448 
1449 #endif // ifndef __CUDACC__
1450 
1451 // clang-format off
1452 /*
1453  UDTF: row_copier(Column<double>, RowMultiplier) -> Column<double>
1454  UDTF: row_copier_text(Column<TextEncodingDict>, RowMultiplier) -> Column<TextEncodingDict> | input_id=args<0>
1455  UDTF: row_copier_columnlist__cpu__(TableFunctionManager, ColumnList<double> cols) -> Column<double>
1456  UDTF: row_copier2__cpu__(Column<double>, int) -> Column<double>, Column<double>
1457  UDTF: row_repeater__cpu_template(TableFunctionManager, Column<T>, int) -> Column<T>, T=[int8_t, int16_t, int32_t, int64_t, float, double, bool]
1458 */
1459 // clang-format on
1460 EXTENSION_NOINLINE int32_t row_copier(const Column<double>& input_col,
1461  int copy_multiplier,
1462  Column<double>& output_col);
1463 
1464 #ifndef __CUDACC__
1465 
1467  int copy_multiplier,
1468  Column<double>& output_col,
1469  Column<double>& output_col2);
1470 
1473  const ColumnList<double>& cols,
1474  Column<double>& output_col);
1475 
1476 template <typename T>
1478  const Column<T>& input_col,
1479  const int reps,
1480  Column<T>& output_col);
1481 
1482 #endif // #ifndef __CUDACC__
1483 
1485  int copy_multiplier,
1486  Column<TextEncodingDict>& output_col);
1487 
1488 /*
1489  UDTF: row_adder(RowMultiplier<1>, Cursor<ColumnDouble, ColumnDouble>) -> ColumnDouble
1490 */
1491 EXTENSION_NOINLINE int32_t row_adder(const int copy_multiplier,
1492  const Column<double>& input_col1,
1493  const Column<double>& input_col2,
1494  Column<double>& output_col);
1495 
1496 // clang-format off
1497 /*
1498  UDTF: row_addsub(RowMultiplier, Cursor<double, double>) -> Column<double>, Column<double>
1499 */
1500 // clang-format on
1501 EXTENSION_NOINLINE int32_t row_addsub(const int copy_multiplier,
1502  const Column<double>& input_col1,
1503  const Column<double>& input_col2,
1504  Column<double>& output_col1,
1505  Column<double>& output_col2);
1506 
1507 // clang-format off
1508 /*
1509  UDTF: get_max_with_row_offset__cpu_(Cursor<int>, Constant<1>) -> Column<int>, Column<int>
1510 */
1511 // clang-format on
1512 
1513 #ifndef __CUDACC__
1514 
1517  Column<int>& output_max_col,
1518  Column<int>& output_max_row_col);
1519 
1520 #endif // #ifndef __CUDACC__
1521 
1522 // clang-format off
1523 /*
1524  UDTF: column_list_get__cpu_(ColumnList<double>, int, RowMultiplier) -> Column<double>
1525 */
1526 // clang-format on
1527 
1528 #ifndef __CUDACC__
1529 
1531  const int index,
1532  const int m,
1533  Column<double>& col);
1534 
1535 #endif // #ifndef __CUDACC__
1536 
1537 // clang-format off
1538 /*
1539  UDTF: column_list_first_last(ColumnList<double>, RowMultiplier) -> Column<double>,
1540  Column<double>
1541 */
1542 // clang-format on
1544  const int m,
1545  Column<double>& col1,
1546  Column<double>& col2);
1547 
1548 // clang-format off
1549 /*
1550  UDTF: column_list_row_sum__cpu_(Cursor<ColumnList<int32_t>>) -> Column<int32_t>
1551 */
1552 // clang-format on
1553 
1554 #ifndef __CUDACC__
1555 
1558 
1559 #endif // #ifndef __CUDACC__
1560 
1561 // clang-format off
1562 /*
1563  UDTF: ct_test_int_default_arg__template(Column<T>, T x | default = 10, RowMultiplier) -> Column<T>, T=[int8_t, int16_t, int32_t, int64_t]
1564  UDTF: ct_test_float_default_arg__template(Column<T>, T x | default = 10.0, RowMultiplier) -> Column<T>, T=[float, double]
1565 */
1566 // clang-format on
1567 
1568 template <typename T>
1570  const T x,
1571  const int32_t multiplier,
1572  Column<T>& out);
1573 
1574 template <typename T>
1576  const T x,
1577  const int32_t multiplier,
1578  Column<T>& out);
1579 
1580 #ifndef __CUDACC__
1581 
1582 // clang-format off
1583 /*
1584  UDTF: ct_test_string_default_arg__cpu_(TableFunctionManager, Column<TextEncodingDict>, TextEncodingNone suffix | default="_suffix") -> Column<TextEncodingDict> | input_id=args<0>
1585 */
1586 // clang-format on
1587 
1588 EXTENSION_NOINLINE int32_t
1590  const Column<TextEncodingDict>& inp,
1591  const TextEncodingNone& suffix,
1593 
1594 // clang-format off
1595 /*
1596  UDTF: ct_test_func__cpu_1(Cursor<int32_t>, int32, RowMultiplier) -> Column<int32_t>
1597  UDTF: ct_test_func__cpu_2(Cursor<int32_t>, Cursor<int32_t>, RowMultiplier) -> Column<int32_t>
1598 */
1599 // clang-format on
1600 // Tests for QE-646
1602  const int32_t x,
1603  const int32_t multiplier,
1604  Column<int32_t>& out);
1605 
1607  const Column<int32_t>& input2,
1608  const int32_t multiplier,
1609  Column<int32_t>& out);
1610 
1611 // clang-format off
1612 /*
1613  UDTF: ct_test_calcite_casting_char__cpu_(TableFunctionManager, Cursor<TextEncodingDict>) -> Column<TextEncodingDict> | input_id=args<0>
1614  UDTF: ct_test_calcite_casting_bigint__cpu_(TableFunctionManager, Cursor<int64_t>) -> Column<int64_t>
1615  UDTF: ct_test_calcite_casting_double__cpu_(TableFunctionManager, Cursor<double>) -> Column<double>
1616  UDTF: ct_test_calcite_casting_timestamp__cpu_(TableFunctionManager, Cursor<Timestamp>) -> Column<Timestamp>
1617  UDTF: ct_test_calcite_casting_columnlist__template_cpu_(TableFunctionManager, Cursor<Column<T> first, ColumnList<T> list> data) -> Column<T>, T=[float, double]
1618 */
1619 // clang-format on
1620 // functions to test calcite auto casting
1621 
1622 EXTENSION_NOINLINE int32_t
1624  const Column<TextEncodingDict>& input1,
1626 EXTENSION_NOINLINE int32_t
1628  const Column<int64_t>& input1,
1629  Column<int64_t>& out);
1630 EXTENSION_NOINLINE int32_t
1632  const Column<double>& input1,
1633  Column<double>& out);
1634 EXTENSION_NOINLINE int32_t
1636  const Column<Timestamp>& input1,
1637  Column<Timestamp>& out);
1638 
1639 template <typename T>
1640 TEMPLATE_NOINLINE int32_t
1642  const Column<T>& first,
1643  const ColumnList<T>& list,
1644  Column<T>& out);
1645 #endif
NEVER_INLINE HOST int32_t ct_pushdown_projection__cpu_template(TableFunctionManager &mgr, const Column< K > &input_id, const Column< T > &input_x, const Column< T > &input_y, const Column< Z > &input_z, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z)
EXTENSION_NOINLINE_HOST int32_t ct_copy_and_add_size(TableFunctionManager &mgr, const Column< int32_t > &input, Column< int32_t > &output)
NEVER_INLINE HOST int32_t column_list_safe_row_sum__cpu_template(const ColumnList< T > &input, Column< T > &out)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer2b__cpu_2(const Column< int32_t > &input1, const int32_t multiplier, const Column< int32_t > &input2, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_1(const Column< int32_t > &input1, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer3b__cpu_2(const Column< int32_t > &input1, const int32_t x, const Column< int32_t > &input2, const int32_t multiplier, Column< int32_t > &out)
NEVER_INLINE HOST int32_t ct_concat__generic3_cpu_template(TableFunctionManager &mgr, const T &input1, const Column< T > &input2, Column< T > &output)
NEVER_INLINE HOST int32_t ct_binding_scalar_multiply__cpu_template(const Column< T > &input, const T multiplier, Column< T > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_dict_encoded6__cpu_1(const ColumnList< TextEncodingDict > &input, Column< TextEncodingDict > &out0, Column< TextEncodingDict > &out1)
NEVER_INLINE HOST int32_t ct_copy__generic_cpu_template(TableFunctionManager &mgr, const Column< T > &inputs, Column< T > &outputs)
NEVER_INLINE HOST int32_t array_copier__cpu_template(TableFunctionManager &mgr, const Column< Array< T >> &input, Column< Array< T >> &output)
EXTENSION_NOINLINE_HOST int32_t ct_require_text_enc_dict__cpu_(const Column< TextEncodingDict > &input, const int64_t x, Column< int64_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_4(const Column< int64_t > &input1, const Column< int32_t > &input2, const Column< int32_t > &input3, Column< int32_t > &out)
#define EXTENSION_NOINLINE
Definition: heavydbTypes.h:58
EXTENSION_NOINLINE_HOST int32_t ct_require_str__cpu_(const Column< int32_t > &input1, const TextEncodingNone &s, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t row_copier_columnlist__cpu__(TableFunctionManager &mgr, const ColumnList< double > &cols, Column< double > &output_col)
EXTENSION_NOINLINE_HOST int32_t ct_require_cursor__cpu_(const Column< int64_t > &input, int64_t y, Column< int64_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_19(const ColumnList< int32_t > &input1, const ColumnList< int64_t > &input2, const int32_t multiplier, Column< int32_t > &out)
TEMPLATE_NOINLINE int32_t ct_get_string_chars__template(const Column< T > &indices, const TextEncodingNone &str, const int32_t multiplier, Column< int32_t > &idx, Column< int8_t > &char_bytes)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_11(const Column< int32_t > &input1, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf5__cpu_24(const ColumnList< int32_t > &input1, const int32_t input2, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_scalar_named_args__cpu_(TableFunctionManager &mgr, const int32_t arg1, const int32_t arg2, Column< int32_t > &out1, Column< int32_t > &out2)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_16(const Column< int64_t > &input1, const Column< int32_t > &input2, const Column< int64_t > &input3, const int32_t multiplier, Column< int32_t > &out)
NEVER_INLINE HOST int32_t array_asarray__cpu_template(TableFunctionManager &mgr, const Column< T > &input, Column< Array< T >> &output)
EXTENSION_NOINLINE int32_t ct_test_nullable(const Column< int32_t > &input, const int32_t i, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf6__cpu_22(const Column< int32_t > &input1, const int32_t multiplier, const int32_t input2, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_5(const Column< int64_t > &input1, const Column< int64_t > &input2, const Column< int32_t > &input3, Column< int32_t > &out)
NEVER_INLINE HOST int32_t ct_named_rowmul_output__cpu_template(const Column< T > &input, int32_t m, Column< T > &out)
EXTENSION_NOINLINE int32_t ct_test_func__cpu_1(const Column< int32_t > &input1, const int32_t x, const int32_t multiplier, Column< int32_t > &out)
NEVER_INLINE HOST int32_t tf_metadata_getter_bad__cpu_template(TableFunctionManager &mgr, const Column< bool > &input, Column< bool > &success)
EXTENSION_NOINLINE_HOST int32_t ct_require_mgr(TableFunctionManager &mgr, const Column< int32_t > &input1, const int32_t i, Column< int32_t > &out)
NEVER_INLINE HOST int32_t array_split__cpu_template(TableFunctionManager &mgr, const Column< Array< T >> &input, Column< Array< T >> &first, Column< Array< T >> &second)
EXTENSION_NOINLINE_HOST int32_t ct_add_size_and_mul_alpha(TableFunctionManager &mgr, const Column< int32_t > &input1, const Column< int32_t > &input2, int32_t alpha, Column< int32_t > &output1, Column< int32_t > &output2)
NEVER_INLINE HOST int32_t ct_pushdown_stats__cpu_template(TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< K > &input_id, const Column< T > &input_x, const Column< T > &input_y, const Column< Z > &input_z, Column< int32_t > &output_row_count, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z)
NEVER_INLINE HOST int32_t array_concat__cpu_template(TableFunctionManager &mgr, const ColumnList< Array< T >> &inputs, Column< Array< T >> &output)
TEMPLATE_NOINLINE int32_t ct_test_int_default_arg__template(const Column< T > &inp, const T x, const int32_t multiplier, Column< T > &out)
EXTENSION_NOINLINE int32_t ct_test_preflight_multicursor_qe227__cpu_(TableFunctionManager &mgr, const Column< int32_t > &col, const ColumnList< int32_t > &lst, const int x, const int y, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_test_calcite_casting_char__cpu_(TableFunctionManager &mgr, const Column< TextEncodingDict > &input1, Column< TextEncodingDict > &out)
EXTENSION_NOINLINE_HOST int32_t ct_require_text_collist_enc_dict__cpu_(const ColumnList< TextEncodingDict > &input, const int64_t x, Column< int64_t > &out)
NEVER_INLINE HOST int32_t ct_binding_column__cpu_template(const Column< T > &input, Column< int32_t > &out)
NEVER_INLINE HOST int32_t ct_overload_scalar_test__cpu_template(const T scalar, Column< T > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_str_length__cpu_(const Column< TextEncodingDict > &input_str, Column< TextEncodingDict > &out_str, Column< int64_t > &out_size)
EXTENSION_NOINLINE int32_t row_addsub(const int copy_multiplier, const Column< double > &input_col1, const Column< double > &input_col2, Column< double > &output_col1, Column< double > &output_col2)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer4a__cpu_1(const Column< int32_t > &input1, const int32_t multiplier, const Column< int32_t > &input2, const int32_t x, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_test_preflight_singlecursor_qe227__cpu_(TableFunctionManager &mgr, const Column< int32_t > &col, const ColumnList< int32_t > &lst, const int x, const int y, Column< int32_t > &out)
std::string suffix(SQLTypes type)
Definition: Codegen.cpp:75
EXTENSION_NOINLINE_HOST int32_t ct_device_selection_udtf_cpu__cpu_(const Column< int32_t > &input, Column< int64_t > &out)
EXTENSION_NOINLINE int32_t ct_to_multilinestring__cpu_(TableFunctionManager &mgr, const Column< GeoPolygon > &polygons, Column< GeoMultiLineString > &mlinestrings)
EXTENSION_NOINLINE int32_t ct_test_calcite_casting_double__cpu_(TableFunctionManager &mgr, const Column< double > &input1, Column< double > &out)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer2a__cpu_1(const Column< int32_t > &input1, const int32_t x, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer1c__cpu_3(const Column< int32_t > &input1, const Column< int32_t > &input2, const Column< int32_t > &input3, const int32_t multiplier, const Column< int32_t > &input4, const int32_t x, Column< int32_t > &out)
#define HOST
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer1a__cpu_1(const Column< int32_t > &input1, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_9(const ColumnList< int32_t > &input1, const ColumnList< int64_t > &input2, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_20(const Column< int64_t > &input1, const ColumnList< int64_t > &input2, const Column< int64_t > &input3, const int32_t multiplier, Column< int64_t > &out)
NEVER_INLINE HOST int32_t ct_named_user_const_output__cpu_template(const Column< T > &input, int32_t c, Column< T > &out)
EXTENSION_NOINLINE int32_t column_list_first_last(const ColumnList< double > &col_list, const int m, Column< double > &col1, Column< double > &col2)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_3(const Column< int32_t > &input1, const Column< int32_t > &input2, const Column< int32_t > &input3, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer1d__cpu_4(const int32_t multiplier, const int32_t x, const Column< int32_t > &input1, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_device_selection_udtf_any(const Column< int32_t > &input, Column< int64_t > &out)
NEVER_INLINE HOST int32_t ct_overload_column_test__cpu_template(const Column< T > &input, Column< T > &out)
NEVER_INLINE HOST int32_t ct_templated_no_cursor_user_constant_sizer__cpu_template(const T input_num, int32_t c, Column< T > &output)
NEVER_INLINE HOST int32_t ct_binding_columnlist__cpu_template(const Column< T > &input1, const ColumnList< T > &input2, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer2c__cpu_3(const int32_t x, const int32_t multiplier, const Column< int32_t > &input1, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_test_preflight_sizer(const Column< int32_t > &input, const int32_t i, const int32_t j, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_2(const Column< int32_t > &input1, const Column< int32_t > &input2, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_dict_encoded4__cpu_1(const ColumnList< TextEncodingDict > &input, Column< TextEncodingDict > &out)
NEVER_INLINE HOST int32_t ct_union_pushdown_projection__cpu_template(TableFunctionManager &mgr, const Column< K > &input1_id, const Column< T > &input1_x, const Column< T > &input1_y, const Column< Z > &input1_z, const Column< K > &input2_id, const Column< T > &input2_x, const Column< T > &input2_y, const Column< Z > &input2_z, const Column< T > &input2_w, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z, Column< T > &output_w)
NEVER_INLINE HOST int32_t ct_named_const_output__cpu_template(const Column< T > &input, Column< T > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_dict_encoded1__cpu_1(const Column< TextEncodingDict > &input, const int32_t multiplier, Column< TextEncodingDict > &out)
EXTENSION_NOINLINE_HOST int32_t ct_timestamp_add_offset_cpu_only(const Column< Timestamp > &input, const int32_t multiplier, const Timestamp offset, Column< Timestamp > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_str_equals__cpu_(const ColumnList< TextEncodingDict > &input_strings, Column< TextEncodingDict > &string_if_equal, Column< bool > &strings_are_equal)
EXTENSION_NOINLINE int32_t ct_hamming_distance(const TextEncodingNone &str1, const TextEncodingNone &str2, Column< int32_t > &hamming_distance)
EXTENSION_NOINLINE int32_t row_copier(const Column< double > &input_col, int copy_multiplier, Column< double > &output_col)
EXTENSION_NOINLINE int32_t ct_test_preflight_sizer_const(const Column< int32_t > &input, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_test_string_default_arg__cpu_(TableFunctionManager &mgr, const Column< TextEncodingDict > &inp, const TextEncodingNone &suffix, Column< TextEncodingDict > &out)
#define EXTENSION_NOINLINE_HOST
Definition: heavydbTypes.h:55
NEVER_INLINE HOST int32_t sort_column_limit__cpu_template(const Column< T > &input, const int32_t limit, const bool sort_ascending, const bool nulls_last, Column< T > &output)
EXTENSION_NOINLINE_HOST int32_t ct_sleep2(TableFunctionManager &mgr, int32_t seconds, int32_t mode, Column< int32_t > &output)
NEVER_INLINE HOST int32_t ct_union_pushdown_stats__cpu_template(TableFunctionManager &mgr, const TextEncodingNone &agg_type, const Column< K > &input1_id, const Column< T > &input1_x, const Column< T > &input1_y, const Column< Z > &input1_z, const Column< K > &input2_id, const Column< T > &input2_x, const Column< T > &input2_y, const Column< Z > &input2_z, const Column< T > &input2_w, Column< int32_t > &output_row_count, Column< K > &output_id, Column< T > &output_x, Column< T > &output_y, Column< Z > &output_z, Column< T > &output_w)
EXTENSION_NOINLINE int32_t row_copier_text(const Column< TextEncodingDict > &input_col, int copy_multiplier, Column< TextEncodingDict > &output_col)
EXTENSION_NOINLINE int32_t ct_make_linestring2__cpu_(TableFunctionManager &mgr, const Column< double > &x, const Column< double > &y, double dx, double dy, Column< GeoLineString > &linestrings)
EXTENSION_NOINLINE_HOST int32_t ct_cursor_named_args__cpu_(TableFunctionManager &mgr, const Column< int32_t > &input_arg1, const Column< int32_t > &input_arg2, const int32_t arg1, const int32_t arg2, Column< int32_t > &out1, Column< int32_t > &out2)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_8(const ColumnList< int32_t > &input1, const Column< int64_t > &input2, Column< int32_t > &out)
NEVER_INLINE HOST int32_t sum_along_row__cpu_template(const Column< Array< T >> &input, Column< T > &output)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer3a__cpu_1(const Column< int32_t > &input1, const int32_t multiplier, const int32_t x, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_synthesize_new_dict__cpu_(TableFunctionManager &mgr, const int64_t num_strings, Column< TextEncodingDict > &new_dict_col)
TEMPLATE_NOINLINE int32_t row_repeater__cpu_template(TableFunctionManager &mgr, const Column< T > &input_col, const int reps, Column< T > &output_col)
NEVER_INLINE HOST int32_t ct_scalar_1_arg_runtime_sizing__cpu_template(const T num, Column< T > &answer)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_10(const Column< int64_t > &input1, const ColumnList< int64_t > &input2, const Column< int64_t > &input3, Column< int64_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_15(const Column< int64_t > &input1, const Column< int64_t > &input2, const Column< int32_t > &input3, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_17(const Column< int32_t > &input1, const ColumnList< int32_t > &input2, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_require_or_str__cpu_(const Column< int32_t > &input1, const TextEncodingNone &i, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_sleep1__cpu_(int32_t seconds, int32_t mode, Column< int32_t > &output)
EXTENSION_NOINLINE int32_t ct_shift__cpu_(TableFunctionManager &mgr, const Column< GeoPoint > &points, const double x, const double y, Column< GeoPoint > &shifted_points)
EXTENSION_NOINLINE int32_t ct_coords__cpu_(TableFunctionManager &mgr, const Column< GeoPoint > &points, Column< double > &xcoords, Column< double > &ycoords)
EXTENSION_NOINLINE_HOST int32_t ct_string_concat__cpu_(TableFunctionManager &mgr, const ColumnList< TextEncodingDict > &input_strings, const TextEncodingNone &separator, Column< TextEncodingDict > &concatted_string)
NEVER_INLINE HOST int32_t ct_timestamp_add_interval__template(TableFunctionManager &mgr, const Column< Timestamp > &input, const T inter, Column< Timestamp > &out)
EXTENSION_NOINLINE int32_t ct_make_multipolygon__cpu_(TableFunctionManager &mgr, const Column< GeoPolygon > &polygons, Column< GeoMultiPolygon > &mpolygons)
EXTENSION_NOINLINE_HOST int32_t column_list_row_sum__cpu_(const ColumnList< int32_t > &input, Column< int32_t > &out)
NEVER_INLINE HOST int32_t ct_throw_if_gt_100__cpu_template(TableFunctionManager &mgr, const Column< T > &input, Column< T > &output)
NEVER_INLINE HOST int32_t ct_binding_template__cpu_template(const Column< T > &input, Column< T > &out)
EXTENSION_NOINLINE int32_t ct_device_selection_udtf_gpu__gpu_(const Column< int32_t > &input, Column< int64_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf2__cpu_21(const int32_t multiplier, const Column< int32_t > &input1, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_6(const Column< int64_t > &input1, const Column< int32_t > &input2, const Column< int64_t > &input3, Column< int32_t > &out)
NEVER_INLINE HOST int32_t tf_metadata_getter__cpu_template(TableFunctionManager &mgr, const Column< bool > &input, Column< bool > &success)
EXTENSION_NOINLINE_HOST int32_t ct_binding_dict_encoded3__cpu_1(const Column< TextEncodingDict > &input1, const Column< TextEncodingDict > &input2, Column< TextEncodingDict > &out1, Column< TextEncodingDict > &out2)
EXTENSION_NOINLINE_HOST int32_t get_max_with_row_offset__cpu_(const Column< int > &input_col, Column< int > &output_max_col, Column< int > &output_max_row_col)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf4__cpu_23(const ColumnList< int32_t > &input1, const int32_t multiplier, const int32_t input2, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_dict_encoded5__cpu_1(const ColumnList< TextEncodingDict > &input, Column< TextEncodingDict > &out)
EXTENSION_NOINLINE int32_t ct_make_polygon3__cpu_(TableFunctionManager &mgr, const Column< GeoLineString > &rings, const Column< GeoLineString > &holes1, const Column< GeoLineString > &holes2, Column< GeoPolygon > &polygons, Column< int > &sizes)
NEVER_INLINE HOST int32_t ct_concat__generic2_cpu_template(TableFunctionManager &mgr, const Column< T > &input1, const T &input2, Column< T > &output)
TEMPLATE_NOINLINE int32_t ct_test_float_default_arg__template(const Column< T > &inp, const T x, const int32_t multiplier, Column< T > &out)
EXTENSION_NOINLINE int32_t ct_sleep_worker(int32_t seconds, Column< int32_t > &output)
EXTENSION_NOINLINE int32_t ct_require_range__cpu_(const Column< int32_t > &input1, const int32_t x, const int32_t multiplier, Column< int32_t > &out)
NEVER_INLINE HOST int32_t ct_overload_column_list_test2__cpu_template(const Column< K > &first_col, const ColumnList< K > &col_list1, const ColumnList< T > &col_list2, const Column< T > &last_col, Column< K > &out)
EXTENSION_NOINLINE int32_t row_adder(const int copy_multiplier, const Column< double > &input_col1, const Column< double > &input_col2, Column< double > &output_col)
NEVER_INLINE HOST int32_t ct_require_templating__cpu_template(const Column< T > &input1, const int32_t i, Column< K > &out)
EXTENSION_NOINLINE_HOST int32_t ct_require_and__cpu_(const Column< int32_t > &input1, const int32_t i, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_require_str_diff__cpu_(const Column< int32_t > &input1, const TextEncodingNone &i, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_timestamp_extract(TableFunctionManager &mgr, const Column< Timestamp > &input, Column< int64_t > &ns, Column< int64_t > &us, Column< int64_t > &ms, Column< int64_t > &s, Column< int64_t > &m, Column< int64_t > &h, Column< int64_t > &d, Column< int64_t > &mo, Column< int64_t > &y)
NEVER_INLINE HOST int32_t tf_metadata_setter__cpu_template(TableFunctionManager &mgr, Column< bool > &success)
#define NEVER_INLINE
EXTENSION_NOINLINE int32_t ct_linestringn__cpu_(TableFunctionManager &mgr, const Column< GeoPolygon > &polygons, int64_t n, Column< GeoLineString > &linestrings)
EXTENSION_NOINLINE int32_t ct_no_arg_constant_sizing(Column< int32_t > &answer)
EXTENSION_NOINLINE_HOST int32_t ct_test_allocator(TableFunctionManager &mgr, const Column< int32_t > &input, const TextEncodingNone &t, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_test_func__cpu_2(const Column< int32_t > &input1, const Column< int32_t > &input2, const int32_t multiplier, Column< int32_t > &out)
NEVER_INLINE HOST int32_t tf_metadata_setter_size_mismatch__cpu_template(TableFunctionManager &mgr, Column< bool > &success)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_12(const Column< int32_t > &input1, const Column< int32_t > &input2, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_13(const Column< int32_t > &input1, const Column< int32_t > &input2, const Column< int32_t > &input3, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_timestamp_test_columns_and_scalars__cpu(const Column< Timestamp > &input, const int64_t dummy, const int32_t multiplier, const Column< Timestamp > &input2, Column< Timestamp > &out)
NEVER_INLINE HOST int32_t ct_named_output__cpu_template(const Column< T > &input, Column< T > &out)
EXTENSION_NOINLINE int32_t ct_scalar_2_args_constant_sizing(const int64_t num1, const int64_t num2, Column< int64_t > &answer1, Column< int64_t > &answer2)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer4b__cpu_2(const int32_t multiplier, const Column< int32_t > &input, const int32_t x, Column< int32_t > &out)
EXTENSION_NOINLINE int32_t ct_to_polygon__cpu_(TableFunctionManager &mgr, const Column< GeoMultiLineString > &mlinestrings, Column< GeoPolygon > &polygons)
NEVER_INLINE HOST int32_t array_append__cpu_template(TableFunctionManager &mgr, const Column< Array< T >> &input1, const Array< T > &input2, Column< Array< T >> &output)
NEVER_INLINE HOST int32_t ct_pointn__cpu_template(TableFunctionManager &mgr, const Column< T > &points, int64_t n, Column< double > &xcoords, Column< double > &ycoords)
EXTENSION_NOINLINE_HOST int32_t ct_udtf_default_sizer1b__cpu_2(const Column< int32_t > &input1, const Column< int32_t > &input2, const int32_t multiplier, Column< int32_t > &out)
TEMPLATE_NOINLINE int32_t ct_test_calcite_casting_columnlist__template_cpu_(TableFunctionManager &mgr, const Column< T > &first, const ColumnList< T > &list, Column< T > &out)
EXTENSION_NOINLINE int32_t ct_polygonn__cpu_(TableFunctionManager &mgr, const Column< GeoMultiPolygon > &mpolygons, int64_t n, Column< GeoPolygon > &polygons)
constexpr double n
Definition: Utm.h:38
EXTENSION_NOINLINE_HOST int32_t column_list_get__cpu_(const ColumnList< double > &col_list, const int index, const int m, Column< double > &col)
EXTENSION_NOINLINE_HOST int32_t ct_timestamp_add_offset(TableFunctionManager &mgr, const Column< Timestamp > &input, const Timestamp offset, Column< Timestamp > &out)
NEVER_INLINE HOST int32_t ct_overload_column_list_test__cpu_template(const Column< K > &first_col, const ColumnList< T > &col_list, const Column< K > &last_col, Column< K > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf_constant__cpu_7(const Column< int32_t > &input1, const ColumnList< int32_t > &input2, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf3__cpu_25(const Column< int32_t > &input1, const int32_t input2, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_timestamp_column_list_input(TableFunctionManager &mgr, const ColumnList< int64_t > &input, const Column< Timestamp > &input2, Column< int64_t > &out)
NEVER_INLINE HOST int32_t ct_binding_column2__cpu_template(const Column< T > &input1, const Column< U > &input2, Column< K > &out)
EXTENSION_NOINLINE_HOST int32_t row_copier2__cpu__(const Column< double > &input_col, int copy_multiplier, Column< double > &output_col, Column< double > &output_col2)
NEVER_INLINE HOST int32_t tf_metadata_setter_repeated__cpu_template(TableFunctionManager &mgr, Column< bool > &success)
NEVER_INLINE HOST int32_t ct_no_arg_runtime_sizing__cpu_template(Column< T > &answer)
EXTENSION_NOINLINE_HOST int32_t ct_device_selection_udtf_both__cpu_(const Column< int32_t > &input, Column< int64_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_14(const Column< int64_t > &input1, const Column< int32_t > &input2, const Column< int32_t > &input3, const int32_t multiplier, Column< int32_t > &out)
NEVER_INLINE HOST int32_t ct_concat__generic_cpu_template(TableFunctionManager &mgr, const Column< T > &input1, const Column< T > &input2, Column< T > &outputs)
EXTENSION_NOINLINE_HOST int32_t ct_string_to_chars__cpu_(const TextEncodingNone &input, Column< int32_t > &char_idx, Column< int8_t > &char_bytes)
EXTENSION_NOINLINE_HOST int32_t ct_binding_udtf__cpu_18(const ColumnList< int32_t > &input1, const Column< int64_t > &input2, const int32_t multiplier, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_substr__cpu_(TableFunctionManager &mgr, const Column< TextEncodingDict > &input_str, const Column< int > &pos, const Column< int > &len, Column< TextEncodingDict > &output_substr)
EXTENSION_NOINLINE_HOST int32_t ct_no_cursor_user_constant_sizer__cpu_(const int32_t input_num, int32_t c, Column< int32_t > &output)
EXTENSION_NOINLINE_HOST int32_t ct_timestamp_truncate(TableFunctionManager &mgr, const Column< Timestamp > &input, Column< Timestamp > &y, Column< Timestamp > &mo, Column< Timestamp > &d, Column< Timestamp > &h, Column< Timestamp > &m, Column< Timestamp > &s, Column< Timestamp > &ms, Column< Timestamp > &us)
EXTENSION_NOINLINE int32_t ct_test_calcite_casting_timestamp__cpu_(TableFunctionManager &mgr, const Column< Timestamp > &input1, Column< Timestamp > &out)
EXTENSION_NOINLINE_HOST int32_t ct_binding_dict_encoded2__cpu_1(const Column< TextEncodingDict > &input1, const Column< TextEncodingDict > &input2, Column< TextEncodingDict > &out1, Column< TextEncodingDict > &out2)
#define TEMPLATE_NOINLINE
Definition: heavydbTypes.h:60
EXTENSION_NOINLINE int32_t ct_device_selection_udtf_both__gpu_(const Column< int32_t > &input, Column< int64_t > &out)
EXTENSION_NOINLINE int32_t ct_gpu_default_init__gpu_(Column< int32_t > &output_buffer)
EXTENSION_NOINLINE_HOST int32_t ct_require__cpu_(const Column< int32_t > &input1, const int32_t i, Column< int32_t > &out)
EXTENSION_NOINLINE_HOST int32_t ct_sparse_add(TableFunctionManager &mgr, const Column< int32_t > &x1, const Column< int32_t > &d1, int32_t f1, const Column< int32_t > &x2, const Column< int32_t > &d2, int32_t f2, Column< int32_t > &x, Column< int32_t > &d)
EXTENSION_NOINLINE int32_t ct_test_calcite_casting_bigint__cpu_(TableFunctionManager &mgr, const Column< int64_t > &input1, Column< int64_t > &out)