This is an automated email from the ASF dual-hosted git repository. uwe pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push: new 9fb806c ARROW-1811: [C++/Python] Rename all Decimal based APIs to Decimal128 9fb806c is described below commit 9fb806ce2ca0ccdee1b89c510dcfae16996cf243 Author: Phillip Cloud <cpcl...@gmail.com> AuthorDate: Wed Nov 15 13:23:51 2017 +0100 ARROW-1811: [C++/Python] Rename all Decimal based APIs to Decimal128 Author: Phillip Cloud <cpcl...@gmail.com> Closes #1321 from cpcloud/ARROW-1811 and squashes the following commits: 1b0a3b8 [Phillip Cloud] ARROW-1811: [C++/Python] Rename all Decimal based APIs to Decimal128 --- cpp/src/arrow/array.cc | 2 +- cpp/src/arrow/array.h | 2 +- cpp/src/arrow/builder.cc | 9 +++++---- cpp/src/arrow/builder.h | 8 +++++--- cpp/src/arrow/compare.cc | 4 ++-- cpp/src/arrow/ipc/json-internal.cc | 8 ++++---- cpp/src/arrow/ipc/metadata-internal.cc | 2 +- cpp/src/arrow/python/arrow_to_pandas.cc | 4 ++-- cpp/src/arrow/python/builtin_convert.cc | 2 +- cpp/src/arrow/python/numpy_to_arrow.cc | 6 +++--- cpp/src/arrow/type.cc | 6 +++--- cpp/src/arrow/type.h | 6 ++++-- cpp/src/arrow/type_fwd.h | 4 ++-- cpp/src/arrow/type_traits.h | 4 ++-- cpp/src/arrow/visitor.h | 2 +- cpp/src/arrow/visitor_inline.h | 2 +- 16 files changed, 38 insertions(+), 33 deletions(-) diff --git a/cpp/src/arrow/array.cc b/cpp/src/arrow/array.cc index 651fa26..f2dd753 100644 --- a/cpp/src/arrow/array.cc +++ b/cpp/src/arrow/array.cc @@ -320,7 +320,7 @@ Decimal128Array::Decimal128Array(const std::shared_ptr<ArrayData>& data) } std::string Decimal128Array::FormatValue(int64_t i) const { - const auto& type_ = static_cast<const DecimalType&>(*type()); + const auto& type_ = static_cast<const Decimal128Type&>(*type()); const Decimal128 value(GetValue(i)); return value.ToString(type_.scale()); } diff --git a/cpp/src/arrow/array.h b/cpp/src/arrow/array.h index 3337e4b..28756a6 100644 --- a/cpp/src/arrow/array.h +++ b/cpp/src/arrow/array.h @@ -562,7 +562,7 @@ class ARROW_EXPORT FixedSizeBinaryArray : public PrimitiveArray { // Decimal128Array class ARROW_EXPORT Decimal128Array : public FixedSizeBinaryArray { public: - using TypeClass = DecimalType; + using TypeClass = Decimal128Type; using FixedSizeBinaryArray::FixedSizeBinaryArray; diff --git a/cpp/src/arrow/builder.cc b/cpp/src/arrow/builder.cc index c910170..d2d3dbd 100644 --- a/cpp/src/arrow/builder.cc +++ b/cpp/src/arrow/builder.cc @@ -1147,17 +1147,18 @@ template class DictionaryBuilder<BinaryType>; template class DictionaryBuilder<StringType>; // ---------------------------------------------------------------------- -// DecimalBuilder +// Decimal128Builder -DecimalBuilder::DecimalBuilder(const std::shared_ptr<DataType>& type, MemoryPool* pool) +Decimal128Builder::Decimal128Builder(const std::shared_ptr<DataType>& type, + MemoryPool* pool) : FixedSizeBinaryBuilder(type, pool) {} -Status DecimalBuilder::Append(const Decimal128& value) { +Status Decimal128Builder::Append(const Decimal128& value) { RETURN_NOT_OK(FixedSizeBinaryBuilder::Reserve(1)); return FixedSizeBinaryBuilder::Append(value.ToBytes()); } -Status DecimalBuilder::FinishInternal(std::shared_ptr<ArrayData>* out) { +Status Decimal128Builder::FinishInternal(std::shared_ptr<ArrayData>* out) { std::shared_ptr<Buffer> data; RETURN_NOT_OK(byte_builder_.Finish(&data)); diff --git a/cpp/src/arrow/builder.h b/cpp/src/arrow/builder.h index c580eeb..bc25d0d 100644 --- a/cpp/src/arrow/builder.h +++ b/cpp/src/arrow/builder.h @@ -753,10 +753,10 @@ class ARROW_EXPORT FixedSizeBinaryBuilder : public ArrayBuilder { BufferBuilder byte_builder_; }; -class ARROW_EXPORT DecimalBuilder : public FixedSizeBinaryBuilder { +class ARROW_EXPORT Decimal128Builder : public FixedSizeBinaryBuilder { public: - explicit DecimalBuilder(const std::shared_ptr<DataType>& type, - MemoryPool* pool ARROW_MEMORY_POOL_DEFAULT); + explicit Decimal128Builder(const std::shared_ptr<DataType>& type, + MemoryPool* pool ARROW_MEMORY_POOL_DEFAULT); using FixedSizeBinaryBuilder::Append; @@ -765,6 +765,8 @@ class ARROW_EXPORT DecimalBuilder : public FixedSizeBinaryBuilder { Status FinishInternal(std::shared_ptr<ArrayData>* out) override; }; +using DecimalBuilder = Decimal128Builder; + // ---------------------------------------------------------------------- // Struct diff --git a/cpp/src/arrow/compare.cc b/cpp/src/arrow/compare.cc index 253c2e1..72ef122 100644 --- a/cpp/src/arrow/compare.cc +++ b/cpp/src/arrow/compare.cc @@ -615,8 +615,8 @@ class TypeEqualsVisitor { return Status::OK(); } - Status Visit(const DecimalType& left) { - const auto& right = static_cast<const DecimalType&>(right_); + Status Visit(const Decimal128Type& left) { + const auto& right = static_cast<const Decimal128Type&>(right_); result_ = left.precision() == right.precision() && left.scale() == right.scale(); return Status::OK(); } diff --git a/cpp/src/arrow/ipc/json-internal.cc b/cpp/src/arrow/ipc/json-internal.cc index 976f966..bdf1ef5 100644 --- a/cpp/src/arrow/ipc/json-internal.cc +++ b/cpp/src/arrow/ipc/json-internal.cc @@ -253,7 +253,7 @@ class SchemaWriter { writer_->Int(type.byte_width()); } - void WriteTypeMetadata(const DecimalType& type) { + void WriteTypeMetadata(const Decimal128Type& type) { writer_->Key("precision"); writer_->Int(type.precision()); writer_->Key("scale"); @@ -347,7 +347,7 @@ class SchemaWriter { return WritePrimitive("fixedsizebinary", type); } - Status Visit(const DecimalType& type) { return WritePrimitive("decimal", type); } + Status Visit(const Decimal128Type& type) { return WritePrimitive("decimal", type); } Status Visit(const TimestampType& type) { return WritePrimitive("timestamp", type); } Status Visit(const IntervalType& type) { return WritePrimitive("interval", type); } @@ -1063,7 +1063,7 @@ class ArrayReader { template <typename T> typename std::enable_if<std::is_base_of<FixedSizeBinaryType, T>::value && - !std::is_base_of<DecimalType, T>::value, + !std::is_base_of<Decimal128Type, T>::value, Status>::type Visit(const T& type) { typename TypeTraits<T>::BuilderType builder(type_, pool_); @@ -1105,7 +1105,7 @@ class ArrayReader { } template <typename T> - typename std::enable_if<std::is_base_of<DecimalType, T>::value, Status>::type Visit( + typename std::enable_if<std::is_base_of<Decimal128Type, T>::value, Status>::type Visit( const T& type) { typename TypeTraits<T>::BuilderType builder(type_, pool_); diff --git a/cpp/src/arrow/ipc/metadata-internal.cc b/cpp/src/arrow/ipc/metadata-internal.cc index 63ef8a5..87b4708 100644 --- a/cpp/src/arrow/ipc/metadata-internal.cc +++ b/cpp/src/arrow/ipc/metadata-internal.cc @@ -458,7 +458,7 @@ static Status TypeToFlatbuffer(FBB& fbb, const DataType& type, *offset = flatbuf::CreateTimestamp(fbb, fb_unit, fb_timezone).Union(); } break; case Type::DECIMAL: { - const auto& dec_type = static_cast<const DecimalType&>(*value_type); + const auto& dec_type = static_cast<const Decimal128Type&>(*value_type); *out_type = flatbuf::Type_Decimal; *offset = flatbuf::CreateDecimal(fbb, dec_type.precision(), dec_type.scale()).Union(); diff --git a/cpp/src/arrow/python/arrow_to_pandas.cc b/cpp/src/arrow/python/arrow_to_pandas.cc index f966b29..2b0f964 100644 --- a/cpp/src/arrow/python/arrow_to_pandas.cc +++ b/cpp/src/arrow/python/arrow_to_pandas.cc @@ -634,7 +634,7 @@ static Status ConvertDecimals(PandasOptions options, const ChunkedArray& data, for (int c = 0; c < data.num_chunks(); c++) { auto* arr(static_cast<arrow::Decimal128Array*>(data.chunk(c).get())); - auto type(std::dynamic_pointer_cast<arrow::DecimalType>(arr->type())); + auto type(std::dynamic_pointer_cast<arrow::Decimal128Type>(arr->type())); const int scale = type->scale(); for (int64_t i = 0; i < arr->length(); ++i) { @@ -1600,7 +1600,7 @@ class ArrowDeserializer { return VisitObjects(ConvertFixedSizeBinary); } - Status Visit(const DecimalType& type) { return VisitObjects(ConvertDecimals); } + Status Visit(const Decimal128Type& type) { return VisitObjects(ConvertDecimals); } Status Visit(const Time32Type& type) { return VisitObjects(ConvertTimes<Time32Type>); } diff --git a/cpp/src/arrow/python/builtin_convert.cc b/cpp/src/arrow/python/builtin_convert.cc index 0e775a0..fa0098b 100644 --- a/cpp/src/arrow/python/builtin_convert.cc +++ b/cpp/src/arrow/python/builtin_convert.cc @@ -700,7 +700,7 @@ class ListConverter : public TypedConverterVisitor<ListBuilder, ListConverter> { }; class DecimalConverter - : public TypedConverterVisitor<arrow::DecimalBuilder, DecimalConverter> { + : public TypedConverterVisitor<arrow::Decimal128Builder, DecimalConverter> { public: inline Status AppendItem(const OwnedRef& item) { /// TODO(phillipc): Check for nan? diff --git a/cpp/src/arrow/python/numpy_to_arrow.cc b/cpp/src/arrow/python/numpy_to_arrow.cc index c5aff2e..a6c28af 100644 --- a/cpp/src/arrow/python/numpy_to_arrow.cc +++ b/cpp/src/arrow/python/numpy_to_arrow.cc @@ -305,7 +305,7 @@ class NumPyConverter { return TypeNotImplemented(type.ToString()); } - Status Visit(const DecimalType& type) { return TypeNotImplemented(type.ToString()); } + Status Visit(const Decimal128Type& type) { return TypeNotImplemented(type.ToString()); } Status Visit(const DictionaryType& type) { return TypeNotImplemented(type.ToString()); } @@ -669,9 +669,9 @@ Status NumPyConverter::ConvertDecimals() { RETURN_NOT_OK(internal::InferDecimalPrecisionAndScale(object, &precision, &scale)); - type_ = std::make_shared<DecimalType>(precision, scale); + type_ = std::make_shared<Decimal128Type>(precision, scale); - DecimalBuilder builder(type_, pool_); + Decimal128Builder builder(type_, pool_); RETURN_NOT_OK(builder.Resize(length_)); for (int64_t i = 0; i < length_; ++i) { diff --git a/cpp/src/arrow/type.cc b/cpp/src/arrow/type.cc index 0d1985f..ae17118 100644 --- a/cpp/src/arrow/type.cc +++ b/cpp/src/arrow/type.cc @@ -373,7 +373,7 @@ ACCEPT_VISITOR(FixedSizeBinaryType); ACCEPT_VISITOR(StringType); ACCEPT_VISITOR(ListType); ACCEPT_VISITOR(StructType); -ACCEPT_VISITOR(DecimalType); +ACCEPT_VISITOR(Decimal128Type); ACCEPT_VISITOR(UnionType); ACCEPT_VISITOR(Date32Type); ACCEPT_VISITOR(Date64Type); @@ -471,7 +471,7 @@ std::shared_ptr<Field> field(const std::string& name, } std::shared_ptr<DataType> decimal(int32_t precision, int32_t scale) { - return std::make_shared<DecimalType>(precision, scale); + return std::make_shared<Decimal128Type>(precision, scale); } static const BufferDescr kValidityBuffer(BufferType::VALIDITY, 1); @@ -511,7 +511,7 @@ std::vector<BufferDescr> UnionType::GetBufferLayout() const { } } -std::string DecimalType::ToString() const { +std::string Decimal128Type::ToString() const { std::stringstream s; s << "decimal(" << precision_ << ", " << scale_ << ")"; return s.str(); diff --git a/cpp/src/arrow/type.h b/cpp/src/arrow/type.h index 9e11a03..d86e7ef 100644 --- a/cpp/src/arrow/type.h +++ b/cpp/src/arrow/type.h @@ -498,11 +498,11 @@ class ARROW_EXPORT StructType : public NestedType { std::vector<BufferDescr> GetBufferLayout() const override; }; -class ARROW_EXPORT DecimalType : public FixedSizeBinaryType { +class ARROW_EXPORT Decimal128Type : public FixedSizeBinaryType { public: static constexpr Type::type type_id = Type::DECIMAL; - explicit DecimalType(int32_t precision, int32_t scale) + explicit Decimal128Type(int32_t precision, int32_t scale) : FixedSizeBinaryType(16, Type::DECIMAL), precision_(precision), scale_(scale) {} Status Accept(TypeVisitor* visitor) const override; @@ -517,6 +517,8 @@ class ARROW_EXPORT DecimalType : public FixedSizeBinaryType { int32_t scale_; }; +using DecimalType = Decimal128Type; + struct UnionMode { enum type { SPARSE, DENSE }; }; diff --git a/cpp/src/arrow/type_fwd.h b/cpp/src/arrow/type_fwd.h index 3434870..b8b3c5a 100644 --- a/cpp/src/arrow/type_fwd.h +++ b/cpp/src/arrow/type_fwd.h @@ -68,9 +68,9 @@ class StructType; class StructArray; class StructBuilder; -class DecimalType; +class Decimal128Type; class Decimal128Array; -class DecimalBuilder; +class Decimal128Builder; class UnionType; class UnionArray; diff --git a/cpp/src/arrow/type_traits.h b/cpp/src/arrow/type_traits.h index bc60037..6707f37 100644 --- a/cpp/src/arrow/type_traits.h +++ b/cpp/src/arrow/type_traits.h @@ -230,9 +230,9 @@ struct TypeTraits<DoubleType> { }; template <> -struct TypeTraits<DecimalType> { +struct TypeTraits<Decimal128Type> { using ArrayType = Decimal128Array; - using BuilderType = DecimalBuilder; + using BuilderType = Decimal128Builder; constexpr static bool is_parameter_free = false; }; diff --git a/cpp/src/arrow/visitor.h b/cpp/src/arrow/visitor.h index 34679eb..030ffc8 100644 --- a/cpp/src/arrow/visitor.h +++ b/cpp/src/arrow/visitor.h @@ -83,7 +83,7 @@ class ARROW_EXPORT TypeVisitor { virtual Status Visit(const Time64Type& type); virtual Status Visit(const TimestampType& type); virtual Status Visit(const IntervalType& type); - virtual Status Visit(const DecimalType& type); + virtual Status Visit(const Decimal128Type& type); virtual Status Visit(const ListType& type); virtual Status Visit(const StructType& type); virtual Status Visit(const UnionType& type); diff --git a/cpp/src/arrow/visitor_inline.h b/cpp/src/arrow/visitor_inline.h index 5ecabd2..72c82a3 100644 --- a/cpp/src/arrow/visitor_inline.h +++ b/cpp/src/arrow/visitor_inline.h @@ -55,7 +55,7 @@ inline Status VisitTypeInline(const DataType& type, VISITOR* visitor) { TYPE_VISIT_INLINE(TimestampType); TYPE_VISIT_INLINE(Time32Type); TYPE_VISIT_INLINE(Time64Type); - TYPE_VISIT_INLINE(DecimalType); + TYPE_VISIT_INLINE(Decimal128Type); TYPE_VISIT_INLINE(ListType); TYPE_VISIT_INLINE(StructType); TYPE_VISIT_INLINE(UnionType); -- To stop receiving notification emails like this one, please contact ['"commits@arrow.apache.org" <commits@arrow.apache.org>'].