From d0c0b312f5ced4a47f4cd36010677909d985fea9 Mon Sep 17 00:00:00 2001 From: Shubham Koti Date: Wed, 7 Jan 2026 13:22:07 +0000 Subject: [PATCH 1/4] GH-48740: [C++] Add missing CTypeTraits for decimal types --- cpp/src/arrow/type_traits.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cpp/src/arrow/type_traits.h b/cpp/src/arrow/type_traits.h index 1b7a02e1085..5a1a6ce012f 100644 --- a/cpp/src/arrow/type_traits.h +++ b/cpp/src/arrow/type_traits.h @@ -135,6 +135,21 @@ struct CTypeTraits : public TypeTraits { using ArrowType = BooleanType; }; +template <> +struct CTypeTraits { + using ArrowType = Decimal128Type; + using CType = Decimal128; +}; + +template <> +struct CTypeTraits { + using ArrowType = Decimal256Type; + using CType = Decimal256; +}; + + + + #define PRIMITIVE_TYPE_TRAITS_DEF_(CType_, ArrowType_, ArrowArrayType, ArrowBuilderType, \ ArrowScalarType, ArrowTensorType, SingletonFn) \ template <> \ From 33a4ff36a789e0e270e586ae5ab62fb68a85b5ef Mon Sep 17 00:00:00 2001 From: Shubham Koti Date: Thu, 8 Jan 2026 11:24:41 +0000 Subject: [PATCH 2/4] Fix linting whitespace --- cpp/src/arrow/type_traits.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/cpp/src/arrow/type_traits.h b/cpp/src/arrow/type_traits.h index 5a1a6ce012f..f2a5acf3a2c 100644 --- a/cpp/src/arrow/type_traits.h +++ b/cpp/src/arrow/type_traits.h @@ -147,9 +147,6 @@ struct CTypeTraits { using CType = Decimal256; }; - - - #define PRIMITIVE_TYPE_TRAITS_DEF_(CType_, ArrowType_, ArrowArrayType, ArrowBuilderType, \ ArrowScalarType, ArrowTensorType, SingletonFn) \ template <> \ From 733d23bb884ee461377b680b4b45c4037ed5583a Mon Sep 17 00:00:00 2001 From: Shubham Koti Date: Wed, 14 Jan 2026 11:20:44 +0000 Subject: [PATCH 3/4] Add Decimal32 and Decimal64 traits --- cpp/src/arrow/type_traits.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cpp/src/arrow/type_traits.h b/cpp/src/arrow/type_traits.h index f2a5acf3a2c..1992dd15096 100644 --- a/cpp/src/arrow/type_traits.h +++ b/cpp/src/arrow/type_traits.h @@ -147,6 +147,16 @@ struct CTypeTraits { using CType = Decimal256; }; +template <> struct CTypeTraits { + using ArrowType = Decimal32Type; + using CType = Decimal32; +}; + +template <> struct CTypeTraits { + using ArrowType = Decimal64Type; + using CType = Decimal64; +}; + #define PRIMITIVE_TYPE_TRAITS_DEF_(CType_, ArrowType_, ArrowArrayType, ArrowBuilderType, \ ArrowScalarType, ArrowTensorType, SingletonFn) \ template <> \ From be168d8dd99b67dbbfa878062c644158efc4f1d4 Mon Sep 17 00:00:00 2001 From: Shubham Koti Date: Wed, 14 Jan 2026 11:27:29 +0000 Subject: [PATCH 4/4] Fix Doxygen syntax in README --- cpp/src/arrow/flight/sql/odbc/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/src/arrow/flight/sql/odbc/README.md b/cpp/src/arrow/flight/sql/odbc/README.md index 8c2d9705a1d..27621d256d6 100644 --- a/cpp/src/arrow/flight/sql/odbc/README.md +++ b/cpp/src/arrow/flight/sql/odbc/README.md @@ -26,9 +26,9 @@ After the build succeeds, the ODBC DLL will be located in 2. Register your ODBC DLL: - Need to replace `` with actual path to repository in the commands. + Need to replace `` with actual path to repository in the commands. - 1. `cd ` + 1. `cd ` 2. Run script to register your ODBC DLL as Apache Arrow Flight SQL ODBC Driver ``` .\cpp\src\arrow\flight\sql\odbc\tests\install_odbc.cmd \cpp\build\< release | debug >\< Release | Debug>\arrow_flight_sql_odbc.dll