@@ -270,7 +270,6 @@ struct PrimitiveTypeTraits;
270270 * ColumnItemType: Data item type in column
271271 * DataType: DataType which is mapping to this PrimitiveType
272272 * ColumnType: ColumnType which is mapping to this PrimitiveType
273- * NearestPrimitiveType: Nearest primitive type
274273 */
275274template <>
276275struct PrimitiveTypeTraits <TYPE_BOOLEAN> {
@@ -280,8 +279,6 @@ struct PrimitiveTypeTraits<TYPE_BOOLEAN> {
280279 using ColumnItemType = vectorized::UInt8;
281280 using DataType = vectorized::DataTypeBool;
282281 using ColumnType = vectorized::ColumnUInt8;
283- static constexpr PrimitiveType NearestPrimitiveType = TYPE_BIGINT;
284- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_BIGINT;
285282};
286283template <>
287284struct PrimitiveTypeTraits <TYPE_TINYINT> {
@@ -291,8 +288,6 @@ struct PrimitiveTypeTraits<TYPE_TINYINT> {
291288 using ColumnItemType = CppType;
292289 using DataType = vectorized::DataTypeInt8;
293290 using ColumnType = vectorized::ColumnInt8;
294- static constexpr PrimitiveType NearestPrimitiveType = TYPE_BIGINT;
295- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_BIGINT;
296291};
297292template <>
298293struct PrimitiveTypeTraits <TYPE_SMALLINT> {
@@ -302,8 +297,6 @@ struct PrimitiveTypeTraits<TYPE_SMALLINT> {
302297 using ColumnItemType = CppType;
303298 using DataType = vectorized::DataTypeInt16;
304299 using ColumnType = vectorized::ColumnInt16;
305- static constexpr PrimitiveType NearestPrimitiveType = TYPE_BIGINT;
306- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_BIGINT;
307300};
308301template <>
309302struct PrimitiveTypeTraits <TYPE_INT> {
@@ -313,8 +306,6 @@ struct PrimitiveTypeTraits<TYPE_INT> {
313306 using ColumnItemType = CppType;
314307 using DataType = vectorized::DataTypeInt32;
315308 using ColumnType = vectorized::ColumnInt32;
316- static constexpr PrimitiveType NearestPrimitiveType = TYPE_BIGINT;
317- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_BIGINT;
318309};
319310template <>
320311struct PrimitiveTypeTraits <TYPE_BIGINT> {
@@ -324,8 +315,6 @@ struct PrimitiveTypeTraits<TYPE_BIGINT> {
324315 using ColumnItemType = CppType;
325316 using DataType = vectorized::DataTypeInt64;
326317 using ColumnType = vectorized::ColumnInt64;
327- static constexpr PrimitiveType NearestPrimitiveType = TYPE_BIGINT;
328- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_LARGEINT;
329318};
330319template <>
331320struct PrimitiveTypeTraits <TYPE_LARGEINT> {
@@ -335,8 +324,6 @@ struct PrimitiveTypeTraits<TYPE_LARGEINT> {
335324 using ColumnItemType = CppType;
336325 using DataType = vectorized::DataTypeInt128;
337326 using ColumnType = vectorized::ColumnInt128;
338- static constexpr PrimitiveType NearestPrimitiveType = TYPE_LARGEINT;
339- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_LARGEINT;
340327};
341328template <>
342329struct PrimitiveTypeTraits <TYPE_NULL> {
@@ -346,8 +333,6 @@ struct PrimitiveTypeTraits<TYPE_NULL> {
346333 using ColumnItemType = CppType;
347334 using DataType = vectorized::DataTypeNothing;
348335 using ColumnType = vectorized::IColumnDummy;
349- static constexpr PrimitiveType NearestPrimitiveType = TYPE_NULL;
350- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_NULL;
351336};
352337template <>
353338struct PrimitiveTypeTraits <TYPE_FLOAT> {
@@ -357,8 +342,6 @@ struct PrimitiveTypeTraits<TYPE_FLOAT> {
357342 using ColumnItemType = CppType;
358343 using DataType = vectorized::DataTypeFloat32;
359344 using ColumnType = vectorized::ColumnFloat32;
360- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DOUBLE;
361- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DOUBLE;
362345};
363346template <>
364347struct PrimitiveTypeTraits <TYPE_DOUBLE> {
@@ -368,8 +351,6 @@ struct PrimitiveTypeTraits<TYPE_DOUBLE> {
368351 using ColumnItemType = CppType;
369352 using DataType = vectorized::DataTypeFloat64;
370353 using ColumnType = vectorized::ColumnFloat64;
371- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DOUBLE;
372- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DOUBLE;
373354};
374355template <>
375356struct PrimitiveTypeTraits <TYPE_TIMEV2> {
@@ -379,8 +360,6 @@ struct PrimitiveTypeTraits<TYPE_TIMEV2> {
379360 using ColumnItemType = CppType;
380361 using DataType = vectorized::DataTypeTimeV2;
381362 using ColumnType = vectorized::ColumnTimeV2;
382- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DOUBLE;
383- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DOUBLE;
384363};
385364template <>
386365struct PrimitiveTypeTraits <TYPE_TIME> {
@@ -390,8 +369,6 @@ struct PrimitiveTypeTraits<TYPE_TIME> {
390369 using ColumnItemType = CppType;
391370 using DataType = vectorized::DataTypeTimeV2;
392371 using ColumnType = vectorized::ColumnTime;
393- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DOUBLE;
394- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DOUBLE;
395372};
396373template <>
397374struct PrimitiveTypeTraits <TYPE_DATE> {
@@ -402,8 +379,6 @@ struct PrimitiveTypeTraits<TYPE_DATE> {
402379 using ColumnItemType = vectorized::Int64;
403380 using DataType = vectorized::DataTypeDate;
404381 using ColumnType = vectorized::ColumnDate;
405- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DATE;
406- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DATE;
407382};
408383template <>
409384struct PrimitiveTypeTraits <TYPE_DATETIME> {
@@ -413,8 +388,6 @@ struct PrimitiveTypeTraits<TYPE_DATETIME> {
413388 using ColumnItemType = vectorized::Int64;
414389 using DataType = vectorized::DataTypeDateTime;
415390 using ColumnType = vectorized::ColumnDateTime;
416- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DATETIME;
417- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DATETIME;
418391};
419392template <>
420393struct PrimitiveTypeTraits <TYPE_DATETIMEV2> {
@@ -424,8 +397,6 @@ struct PrimitiveTypeTraits<TYPE_DATETIMEV2> {
424397 using ColumnItemType = vectorized::UInt64;
425398 using DataType = vectorized::DataTypeDateTimeV2;
426399 using ColumnType = vectorized::ColumnDateTimeV2;
427- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DATETIMEV2;
428- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DATETIMEV2;
429400};
430401template <>
431402struct PrimitiveTypeTraits <TYPE_DATEV2> {
@@ -435,8 +406,6 @@ struct PrimitiveTypeTraits<TYPE_DATEV2> {
435406 using ColumnItemType = vectorized::UInt32;
436407 using DataType = vectorized::DataTypeDateV2;
437408 using ColumnType = vectorized::ColumnDateV2;
438- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DATEV2;
439- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DATEV2;
440409};
441410
442411template <>
@@ -447,9 +416,6 @@ struct PrimitiveTypeTraits<TYPE_TIMESTAMPTZ> {
447416 using ColumnItemType = vectorized::UInt64;
448417 using DataType = vectorized::DataTypeTimeStampTz;
449418 using ColumnType = vectorized::ColumnTimeStampTz;
450- static constexpr PrimitiveType NearestPrimitiveType = TYPE_TIMESTAMPTZ;
451- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_TIMESTAMPTZ;
452- static constexpr PrimitiveType AvgNearestPrimitiveType256 = TYPE_TIMESTAMPTZ;
453419};
454420
455421template <>
@@ -461,8 +427,6 @@ struct PrimitiveTypeTraits<TYPE_DECIMALV2> {
461427 using ColumnItemType = vectorized::Decimal128V2;
462428 using DataType = vectorized::DataTypeDecimalV2;
463429 using ColumnType = vectorized::ColumnDecimal128V2;
464- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DECIMALV2;
465- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DECIMALV2;
466430};
467431template <>
468432struct PrimitiveTypeTraits <TYPE_DECIMAL32> {
@@ -472,8 +436,6 @@ struct PrimitiveTypeTraits<TYPE_DECIMAL32> {
472436 using ColumnItemType = CppType;
473437 using DataType = vectorized::DataTypeDecimal32;
474438 using ColumnType = vectorized::ColumnDecimal32;
475- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DECIMAL32;
476- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DECIMAL128I;
477439};
478440template <>
479441struct PrimitiveTypeTraits <TYPE_DECIMAL64> {
@@ -483,8 +445,6 @@ struct PrimitiveTypeTraits<TYPE_DECIMAL64> {
483445 using ColumnItemType = CppType;
484446 using DataType = vectorized::DataTypeDecimal64;
485447 using ColumnType = vectorized::ColumnDecimal64;
486- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DECIMAL64;
487- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DECIMAL128I;
488448};
489449template <>
490450struct PrimitiveTypeTraits <TYPE_DECIMAL128I> {
@@ -494,8 +454,6 @@ struct PrimitiveTypeTraits<TYPE_DECIMAL128I> {
494454 using ColumnItemType = CppType;
495455 using DataType = vectorized::DataTypeDecimal128;
496456 using ColumnType = vectorized::ColumnDecimal128V3;
497- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DECIMAL128I;
498- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DECIMAL128I;
499457};
500458template <>
501459struct PrimitiveTypeTraits <TYPE_DECIMAL256> {
@@ -505,8 +463,6 @@ struct PrimitiveTypeTraits<TYPE_DECIMAL256> {
505463 using ColumnItemType = CppType;
506464 using DataType = vectorized::DataTypeDecimal256;
507465 using ColumnType = vectorized::ColumnDecimal256;
508- static constexpr PrimitiveType NearestPrimitiveType = TYPE_DECIMAL256;
509- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DECIMAL256;
510466};
511467template <>
512468struct PrimitiveTypeTraits <TYPE_IPV4> {
@@ -516,8 +472,6 @@ struct PrimitiveTypeTraits<TYPE_IPV4> {
516472 using ColumnItemType = CppType;
517473 using DataType = vectorized::DataTypeIPv4;
518474 using ColumnType = vectorized::ColumnIPv4;
519- static constexpr PrimitiveType NearestPrimitiveType = TYPE_IPV4;
520- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_IPV4;
521475};
522476template <>
523477struct PrimitiveTypeTraits <TYPE_IPV6> {
@@ -527,8 +481,6 @@ struct PrimitiveTypeTraits<TYPE_IPV6> {
527481 using ColumnItemType = CppType;
528482 using DataType = vectorized::DataTypeIPv6;
529483 using ColumnType = vectorized::ColumnIPv6;
530- static constexpr PrimitiveType NearestPrimitiveType = TYPE_IPV6;
531- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_IPV6;
532484};
533485template <>
534486struct PrimitiveTypeTraits <TYPE_CHAR> {
@@ -538,8 +490,6 @@ struct PrimitiveTypeTraits<TYPE_CHAR> {
538490 using ColumnItemType = CppType;
539491 using DataType = vectorized::DataTypeString;
540492 using ColumnType = vectorized::ColumnString;
541- static constexpr PrimitiveType NearestPrimitiveType = TYPE_CHAR;
542- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_CHAR;
543493};
544494template <>
545495struct PrimitiveTypeTraits <TYPE_VARCHAR> {
@@ -549,8 +499,6 @@ struct PrimitiveTypeTraits<TYPE_VARCHAR> {
549499 using ColumnItemType = CppType;
550500 using DataType = vectorized::DataTypeString;
551501 using ColumnType = vectorized::ColumnString;
552- static constexpr PrimitiveType NearestPrimitiveType = TYPE_VARCHAR;
553- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_VARCHAR;
554502};
555503template <>
556504struct PrimitiveTypeTraits <TYPE_STRING> {
@@ -560,8 +508,6 @@ struct PrimitiveTypeTraits<TYPE_STRING> {
560508 using ColumnItemType = CppType;
561509 using DataType = vectorized::DataTypeString;
562510 using ColumnType = vectorized::ColumnString;
563- static constexpr PrimitiveType NearestPrimitiveType = TYPE_STRING;
564- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_STRING;
565511};
566512template <>
567513struct PrimitiveTypeTraits <TYPE_VARBINARY> {
@@ -571,9 +517,6 @@ struct PrimitiveTypeTraits<TYPE_VARBINARY> {
571517 using ColumnItemType = CppType;
572518 using DataType = vectorized::DataTypeVarbinary;
573519 using ColumnType = vectorized::ColumnVarbinary;
574- // StringView is non-owning, but StringViewField wraps it with String for ownership
575- static constexpr PrimitiveType NearestPrimitiveType = TYPE_VARBINARY;
576- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_VARBINARY;
577520};
578521template <>
579522struct PrimitiveTypeTraits <TYPE_HLL> {
@@ -583,8 +526,6 @@ struct PrimitiveTypeTraits<TYPE_HLL> {
583526 using ColumnItemType = CppType;
584527 using DataType = vectorized::DataTypeHLL;
585528 using ColumnType = vectorized::ColumnHLL;
586- static constexpr PrimitiveType NearestPrimitiveType = TYPE_HLL;
587- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_HLL;
588529};
589530template <>
590531struct PrimitiveTypeTraits <TYPE_JSONB> {
@@ -594,8 +535,6 @@ struct PrimitiveTypeTraits<TYPE_JSONB> {
594535 using ColumnItemType = CppType;
595536 using DataType = vectorized::DataTypeJsonb;
596537 using ColumnType = vectorized::ColumnString;
597- static constexpr PrimitiveType NearestPrimitiveType = TYPE_JSONB;
598- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_JSONB;
599538};
600539template <>
601540struct PrimitiveTypeTraits <TYPE_ARRAY> {
@@ -605,8 +544,6 @@ struct PrimitiveTypeTraits<TYPE_ARRAY> {
605544 using ColumnItemType = CppType;
606545 using DataType = vectorized::DataTypeArray;
607546 using ColumnType = vectorized::ColumnArray;
608- static constexpr PrimitiveType NearestPrimitiveType = TYPE_ARRAY;
609- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_ARRAY;
610547};
611548template <>
612549struct PrimitiveTypeTraits <TYPE_MAP> {
@@ -616,8 +553,6 @@ struct PrimitiveTypeTraits<TYPE_MAP> {
616553 using ColumnItemType = CppType;
617554 using DataType = vectorized::DataTypeMap;
618555 using ColumnType = vectorized::ColumnMap;
619- static constexpr PrimitiveType NearestPrimitiveType = TYPE_MAP;
620- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_MAP;
621556};
622557template <>
623558struct PrimitiveTypeTraits <TYPE_STRUCT> {
@@ -627,8 +562,6 @@ struct PrimitiveTypeTraits<TYPE_STRUCT> {
627562 using ColumnItemType = CppType;
628563 using DataType = vectorized::DataTypeStruct;
629564 using ColumnType = vectorized::ColumnStruct;
630- static constexpr PrimitiveType NearestPrimitiveType = TYPE_STRUCT;
631- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_STRUCT;
632565};
633566template <>
634567struct PrimitiveTypeTraits <TYPE_VARIANT> {
@@ -638,8 +571,6 @@ struct PrimitiveTypeTraits<TYPE_VARIANT> {
638571 using ColumnItemType = CppType;
639572 using DataType = vectorized::DataTypeVariant;
640573 using ColumnType = vectorized::ColumnVariant;
641- static constexpr PrimitiveType NearestPrimitiveType = TYPE_VARIANT;
642- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_VARIANT;
643574};
644575template <>
645576struct PrimitiveTypeTraits <TYPE_BITMAP> {
@@ -649,8 +580,6 @@ struct PrimitiveTypeTraits<TYPE_BITMAP> {
649580 using ColumnItemType = CppType;
650581 using DataType = vectorized::DataTypeBitMap;
651582 using ColumnType = vectorized::ColumnBitmap;
652- static constexpr PrimitiveType NearestPrimitiveType = TYPE_BITMAP;
653- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_BITMAP;
654583};
655584template <>
656585struct PrimitiveTypeTraits <TYPE_QUANTILE_STATE> {
@@ -660,8 +589,6 @@ struct PrimitiveTypeTraits<TYPE_QUANTILE_STATE> {
660589 using ColumnItemType = CppType;
661590 using DataType = vectorized::DataTypeQuantileState;
662591 using ColumnType = vectorized::ColumnQuantileState;
663- static constexpr PrimitiveType NearestPrimitiveType = TYPE_QUANTILE_STATE;
664- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_QUANTILE_STATE;
665592};
666593template <>
667594struct PrimitiveTypeTraits <TYPE_UINT32> {
@@ -671,8 +598,6 @@ struct PrimitiveTypeTraits<TYPE_UINT32> {
671598 using ColumnItemType = CppType;
672599 using DataType = vectorized::DataTypeNothing;
673600 using ColumnType = vectorized::ColumnOffset32;
674- static constexpr PrimitiveType NearestPrimitiveType = TYPE_UINT32;
675- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_UINT32;
676601};
677602template <>
678603struct PrimitiveTypeTraits <TYPE_UINT64> {
@@ -682,8 +607,6 @@ struct PrimitiveTypeTraits<TYPE_UINT64> {
682607 using ColumnItemType = CppType;
683608 using DataType = vectorized::DataTypeNothing;
684609 using ColumnType = vectorized::ColumnOffset64;
685- static constexpr PrimitiveType NearestPrimitiveType = TYPE_UINT64;
686- static constexpr PrimitiveType AvgNearestPrimitiveType = TYPE_DOUBLE;
687610};
688611
689612template <PrimitiveType PT>
0 commit comments