This is an automated email from the ASF dual-hosted git repository.

shiro 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 857deae  ARROW-4154: [GLib] Add GArrowDecimal128DataType
857deae is described below

commit 857deae933478970b4fc0ff55fab61f32a5c6e4f
Author: Kouhei Sutou <k...@clear-code.com>
AuthorDate: Sat Jan 5 20:23:22 2019 +0900

    ARROW-4154: [GLib] Add GArrowDecimal128DataType
    
    garrow_decimal_data_type_new() is deprecated.
    
    Author: Kouhei Sutou <k...@clear-code.com>
    
    Closes #3305 from kou/glib-decimal128-data-type and squashes the following 
commits:
    
    b51b7a19 <Kouhei Sutou> Use decimal128
    4823eea6 <Kouhei Sutou>  Add GArrowDecimal128DataType
---
 c_glib/arrow-glib/Makefile.am                      |  6 +--
 c_glib/arrow-glib/array-builder.cpp                |  6 +--
 c_glib/arrow-glib/array-builder.h                  |  5 +-
 c_glib/arrow-glib/basic-array.cpp                  |  4 +-
 c_glib/arrow-glib/basic-data-type.cpp              | 61 +++++++++++++++++-----
 c_glib/arrow-glib/basic-data-type.h                | 28 ++++++++--
 c_glib/arrow-glib/{decimal.cpp => decimal128.cpp}  |  2 +-
 c_glib/arrow-glib/{decimal.h => decimal128.h}      |  0
 c_glib/arrow-glib/{decimal.hpp => decimal128.hpp}  |  2 +-
 c_glib/arrow-glib/meson.build                      |  6 +--
 c_glib/arrow-glib/orc-file-reader.h                |  2 +
 c_glib/doc/arrow-glib/arrow-glib-docs.xml          |  2 +-
 ...t-decimal-array.rb => test-decimal128-array.rb} |  6 +--
 ...l-data-type.rb => test-decimal128-data-type.rb} | 10 ++--
 .../test/{test-decimal.rb => test-decimal128.rb}   |  0
 15 files changed, 99 insertions(+), 41 deletions(-)

diff --git a/c_glib/arrow-glib/Makefile.am b/c_glib/arrow-glib/Makefile.am
index bf97168..a296595 100644
--- a/c_glib/arrow-glib/Makefile.am
+++ b/c_glib/arrow-glib/Makefile.am
@@ -59,7 +59,7 @@ libarrow_glib_la_headers =                    \
        composite-array.h                       \
        composite-data-type.h                   \
        data-type.h                             \
-       decimal.h                               \
+       decimal128.h                            \
        error.h                                 \
        field.h                                 \
        gobject-type.h                          \
@@ -110,7 +110,7 @@ libarrow_glib_la_sources =                  \
        column.cpp                              \
        composite-array.cpp                     \
        composite-data-type.cpp                 \
-       decimal.cpp                             \
+       decimal128.cpp                          \
        error.cpp                               \
        field.cpp                               \
        record-batch.cpp                        \
@@ -155,7 +155,7 @@ libarrow_glib_la_cpp_headers =                      \
        codec.hpp                               \
        column.hpp                              \
        data-type.hpp                           \
-       decimal.hpp                             \
+       decimal128.hpp                          \
        error.hpp                               \
        field.hpp                               \
        record-batch.hpp                        \
diff --git a/c_glib/arrow-glib/array-builder.cpp 
b/c_glib/arrow-glib/array-builder.cpp
index 4b61bfa..5f2d411 100644
--- a/c_glib/arrow-glib/array-builder.cpp
+++ b/c_glib/arrow-glib/array-builder.cpp
@@ -23,9 +23,9 @@
 
 #include <arrow-glib/array-builder.hpp>
 #include <arrow-glib/data-type.hpp>
+#include <arrow-glib/decimal128.hpp>
 #include <arrow-glib/error.hpp>
 #include <arrow-glib/type.hpp>
-#include <arrow-glib/decimal.hpp>
 
 template <typename BUILDER, typename VALUE>
 gboolean
@@ -3803,14 +3803,14 @@ 
garrow_decimal128_array_builder_class_init(GArrowDecimal128ArrayBuilderClass *kl
 
 /**
  * garrow_decimal128_array_builder_new:
- * @data_type: #GArrowDecimalDataType for the decimal.
+ * @data_type: #GArrowDecimal128DataType for the decimal.
  *
  * Returns: A newly created #GArrowDecimal128ArrayBuilder.
  *
  * Since: 0.10.0
  */
 GArrowDecimal128ArrayBuilder *
-garrow_decimal128_array_builder_new(GArrowDecimalDataType *data_type)
+garrow_decimal128_array_builder_new(GArrowDecimal128DataType *data_type)
 {
   auto arrow_data_type = garrow_data_type_get_raw(GARROW_DATA_TYPE(data_type));
   auto builder = garrow_array_builder_new(arrow_data_type,
diff --git a/c_glib/arrow-glib/array-builder.h 
b/c_glib/arrow-glib/array-builder.h
index 1ddc026..b2ad6f4 100644
--- a/c_glib/arrow-glib/array-builder.h
+++ b/c_glib/arrow-glib/array-builder.h
@@ -20,8 +20,7 @@
 #pragma once
 
 #include <arrow-glib/array.h>
-#include <arrow-glib/gobject-type.h>
-#include <arrow-glib/decimal.h>
+#include <arrow-glib/decimal128.h>
 
 G_BEGIN_DECLS
 
@@ -1475,7 +1474,7 @@ struct _GArrowDecimal128ArrayBuilderClass
   GArrowArrayBuilderClass parent_class;
 };
 
-GArrowDecimal128ArrayBuilder 
*garrow_decimal128_array_builder_new(GArrowDecimalDataType *data_type);
+GArrowDecimal128ArrayBuilder 
*garrow_decimal128_array_builder_new(GArrowDecimal128DataType *data_type);
 
 #ifndef GARROW_DISABLE_DEPRECATED
 GARROW_DEPRECATED_IN_0_12_FOR(garrow_decimal128_array_builder_append_value)
diff --git a/c_glib/arrow-glib/basic-array.cpp 
b/c_glib/arrow-glib/basic-array.cpp
index fef43a0..9aebd9c 100644
--- a/c_glib/arrow-glib/basic-array.cpp
+++ b/c_glib/arrow-glib/basic-array.cpp
@@ -22,12 +22,12 @@
 #endif
 
 #include <arrow-glib/array.hpp>
+#include <arrow-glib/basic-data-type.hpp>
 #include <arrow-glib/buffer.hpp>
 #include <arrow-glib/compute.hpp>
-#include <arrow-glib/basic-data-type.hpp>
+#include <arrow-glib/decimal128.hpp>
 #include <arrow-glib/error.hpp>
 #include <arrow-glib/type.hpp>
-#include <arrow-glib/decimal.hpp>
 
 #include <sstream>
 
diff --git a/c_glib/arrow-glib/basic-data-type.cpp 
b/c_glib/arrow-glib/basic-data-type.cpp
index cd3aa97..2a59996 100644
--- a/c_glib/arrow-glib/basic-data-type.cpp
+++ b/c_glib/arrow-glib/basic-data-type.cpp
@@ -85,7 +85,9 @@ G_BEGIN_DECLS
  * #GArrowTime64DataType is a class for the number of microseconds or
  * nanoseconds since midnight in 64-bit signed integer data type.
  *
- * #GArrowDecimalDataType is a class for 128-bit decimal data type.
+ * #GArrowDecimalDataType is a base class for decimal data type.
+ *
+ * #GArrowDecimal128DataType is a class for 128-bit decimal data type.
  */
 
 typedef struct GArrowDataTypePrivate_ {
@@ -1040,9 +1042,9 @@ garrow_time64_data_type_new(GArrowTimeUnit unit, GError 
**error)
 }
 
 
-G_DEFINE_TYPE(GArrowDecimalDataType,
-              garrow_decimal_data_type,
-              GARROW_TYPE_DATA_TYPE)
+G_DEFINE_ABSTRACT_TYPE(GArrowDecimalDataType,
+                       garrow_decimal_data_type,
+                       GARROW_TYPE_DATA_TYPE)
 
 static void
 garrow_decimal_data_type_init(GArrowDecimalDataType *object)
@@ -1062,18 +1064,16 @@ 
garrow_decimal_data_type_class_init(GArrowDecimalDataTypeClass *klass)
  * Returns: The newly created decimal data type.
  *
  * Since: 0.10.0
+ *
+ * Deprecate: 0.12.0:
+ *   Use garrow_decimal128_data_type_new() instead.
  */
 GArrowDecimalDataType *
 garrow_decimal_data_type_new(gint32 precision,
                              gint32 scale)
 {
-  auto arrow_data_type = arrow::decimal(precision, scale);
-
-  GArrowDecimalDataType *data_type =
-    GARROW_DECIMAL_DATA_TYPE(g_object_new(GARROW_TYPE_DECIMAL_DATA_TYPE,
-                                          "data-type", &arrow_data_type,
-                                          NULL));
-  return data_type;
+  auto decimal128_data_type = garrow_decimal128_data_type_new(precision, 
scale);
+  return GARROW_DECIMAL_DATA_TYPE(decimal128_data_type);
 }
 
 /**
@@ -1112,6 +1112,43 @@ garrow_decimal_data_type_get_scale(GArrowDecimalDataType 
*decimal_data_type)
   return arrow_decimal_type->scale();
 }
 
+
+G_DEFINE_TYPE(GArrowDecimal128DataType,
+              garrow_decimal128_data_type,
+              GARROW_TYPE_DECIMAL_DATA_TYPE)
+
+static void
+garrow_decimal128_data_type_init(GArrowDecimal128DataType *object)
+{
+}
+
+static void
+garrow_decimal128_data_type_class_init(GArrowDecimal128DataTypeClass *klass)
+{
+}
+
+/**
+ * garrow_decimal128_data_type_new:
+ * @precision: The precision of decimal data.
+ * @scale: The scale of decimal data.
+ *
+ * Returns: The newly created 128-bit decimal data type.
+ *
+ * Since: 0.12.0
+ */
+GArrowDecimal128DataType *
+garrow_decimal128_data_type_new(gint32 precision,
+                                gint32 scale)
+{
+  auto arrow_data_type = arrow::decimal(precision, scale);
+
+  auto data_type =
+    GARROW_DECIMAL128_DATA_TYPE(g_object_new(GARROW_TYPE_DECIMAL128_DATA_TYPE,
+                                             "data-type", &arrow_data_type,
+                                             NULL));
+  return data_type;
+}
+
 G_END_DECLS
 
 GArrowDataType *
@@ -1199,7 +1236,7 @@ garrow_data_type_new_raw(std::shared_ptr<arrow::DataType> 
*arrow_data_type)
     type = GARROW_TYPE_DICTIONARY_DATA_TYPE;
     break;
   case arrow::Type::type::DECIMAL:
-    type = GARROW_TYPE_DECIMAL_DATA_TYPE;
+    type = GARROW_TYPE_DECIMAL128_DATA_TYPE;
     break;
   default:
     type = GARROW_TYPE_DATA_TYPE;
diff --git a/c_glib/arrow-glib/basic-data-type.h 
b/c_glib/arrow-glib/basic-data-type.h
index 45fddba..ef41f1d 100644
--- a/c_glib/arrow-glib/basic-data-type.h
+++ b/c_glib/arrow-glib/basic-data-type.h
@@ -19,9 +19,9 @@
 
 #pragma once
 
-#include <arrow-glib/gobject-type.h>
+#include <arrow-glib/decimal128.h>
 #include <arrow-glib/type.h>
-#include <arrow-glib/decimal.h>
+#include <arrow-glib/version.h>
 
 G_BEGIN_DECLS
 
@@ -651,6 +651,7 @@ GArrowTime64DataType *garrow_time64_data_type_new      
(GArrowTimeUnit unit,
 
 
 #define GARROW_TYPE_DECIMAL_DATA_TYPE (garrow_decimal_data_type_get_type())
+/* TODO: Delivered from GArrowFixedSizeBinaryDataType. */
 G_DECLARE_DERIVABLE_TYPE(GArrowDecimalDataType,
                          garrow_decimal_data_type,
                          GARROW,
@@ -661,9 +662,28 @@ struct _GArrowDecimalDataTypeClass
   GArrowDataTypeClass parent_class;
 };
 
-GArrowDecimalDataType   *garrow_decimal_data_type_new     (gint32 precision,
-                                                           gint32 scale);
+#ifndef GARROW_DISABLE_DEPRECATED
+GARROW_DEPRECATED_IN_0_12_FOR(garrow_decimal128_data_type_new)
+GArrowDecimalDataType *
+garrow_decimal_data_type_new(gint32 precision, gint32 scale);
+#endif
 gint32 garrow_decimal_data_type_get_precision(GArrowDecimalDataType 
*decimal_data_type);
 gint32 garrow_decimal_data_type_get_scale(GArrowDecimalDataType 
*decimal_data_type);
 
+
+#define GARROW_TYPE_DECIMAL128_DATA_TYPE 
(garrow_decimal128_data_type_get_type())
+G_DECLARE_DERIVABLE_TYPE(GArrowDecimal128DataType,
+                         garrow_decimal128_data_type,
+                         GARROW,
+                         DECIMAL128_DATA_TYPE,
+                         GArrowDecimalDataType)
+struct _GArrowDecimal128DataTypeClass
+{
+  GArrowDecimalDataTypeClass parent_class;
+};
+
+GARROW_AVAILABLE_IN_0_12
+GArrowDecimal128DataType *
+garrow_decimal128_data_type_new(gint32 precision, gint32 scale);
+
 G_END_DECLS
diff --git a/c_glib/arrow-glib/decimal.cpp b/c_glib/arrow-glib/decimal128.cpp
similarity index 99%
rename from c_glib/arrow-glib/decimal.cpp
rename to c_glib/arrow-glib/decimal128.cpp
index 34eb417..e30eb7e 100644
--- a/c_glib/arrow-glib/decimal.cpp
+++ b/c_glib/arrow-glib/decimal128.cpp
@@ -21,7 +21,7 @@
 #  include <config.h>
 #endif
 
-#include <arrow-glib/decimal.hpp>
+#include <arrow-glib/decimal128.hpp>
 #include <arrow-glib/error.hpp>
 
 G_BEGIN_DECLS
diff --git a/c_glib/arrow-glib/decimal.h b/c_glib/arrow-glib/decimal128.h
similarity index 100%
rename from c_glib/arrow-glib/decimal.h
rename to c_glib/arrow-glib/decimal128.h
diff --git a/c_glib/arrow-glib/decimal.hpp b/c_glib/arrow-glib/decimal128.hpp
similarity index 96%
rename from c_glib/arrow-glib/decimal.hpp
rename to c_glib/arrow-glib/decimal128.hpp
index ce56cfe..84bf47e 100644
--- a/c_glib/arrow-glib/decimal.hpp
+++ b/c_glib/arrow-glib/decimal128.hpp
@@ -23,7 +23,7 @@
 
 #include <arrow/util/decimal.h>
 
-#include <arrow-glib/decimal.h>
+#include <arrow-glib/decimal128.h>
 
 GArrowDecimal128 *garrow_decimal128_new_raw(std::shared_ptr<arrow::Decimal128> 
*arrow_decimal128);
 std::shared_ptr<arrow::Decimal128> garrow_decimal128_get_raw(GArrowDecimal128 
*decimal);
diff --git a/c_glib/arrow-glib/meson.build b/c_glib/arrow-glib/meson.build
index d962ec1..14126be 100644
--- a/c_glib/arrow-glib/meson.build
+++ b/c_glib/arrow-glib/meson.build
@@ -27,7 +27,7 @@ sources = files(
   'column.cpp',
   'composite-array.cpp',
   'composite-data-type.cpp',
-  'decimal.cpp',
+  'decimal128.cpp',
   'error.cpp',
   'field.cpp',
   'record-batch.cpp',
@@ -77,7 +77,7 @@ c_headers = files(
   'composite-array.h',
   'composite-data-type.h',
   'data-type.h',
-  'decimal.h',
+  'decimal128.h',
   'error.h',
   'field.h',
   'gobject-type.h',
@@ -128,7 +128,7 @@ cpp_headers = files(
   'codec.hpp',
   'column.hpp',
   'data-type.hpp',
-  'decimal.hpp',
+  'decimal128.hpp',
   'error.hpp',
   'field.hpp',
   'record-batch.hpp',
diff --git a/c_glib/arrow-glib/orc-file-reader.h 
b/c_glib/arrow-glib/orc-file-reader.h
index 97cf1ef..9551d52 100644
--- a/c_glib/arrow-glib/orc-file-reader.h
+++ b/c_glib/arrow-glib/orc-file-reader.h
@@ -45,6 +45,7 @@ garrow_orc_file_reader_set_field_indexes(GArrowORCFileReader 
*reader,
                                          const gint *field_indexes,
                                          guint n_field_indexes);
 #endif
+GARROW_AVAILABLE_IN_0_12
 void
 garrow_orc_file_reader_set_field_indices(GArrowORCFileReader *reader,
                                          const gint *field_indices,
@@ -55,6 +56,7 @@ const gint *
 garrow_orc_file_reader_get_field_indexes(GArrowORCFileReader *reader,
                                          guint *n_field_indexes);
 #endif
+GARROW_AVAILABLE_IN_0_12
 const gint *
 garrow_orc_file_reader_get_field_indices(GArrowORCFileReader *reader,
                                          guint *n_field_indices);
diff --git a/c_glib/doc/arrow-glib/arrow-glib-docs.xml 
b/c_glib/doc/arrow-glib/arrow-glib-docs.xml
index 17b7500..f9f01fe 100644
--- a/c_glib/doc/arrow-glib/arrow-glib-docs.xml
+++ b/c_glib/doc/arrow-glib/arrow-glib-docs.xml
@@ -53,7 +53,7 @@
     </chapter>
     <chapter id="decimal">
       <title>Decimal</title>
-      <xi:include href="xml/decimal.xml"/>
+      <xi:include href="xml/decimal128.xml"/>
     </chapter>
     <chapter id="tensor">
       <title>Tensor</title>
diff --git a/c_glib/test/test-decimal-array.rb 
b/c_glib/test/test-decimal128-array.rb
similarity index 89%
rename from c_glib/test/test-decimal-array.rb
rename to c_glib/test/test-decimal128-array.rb
index a5eb282..132ceb7 100644
--- a/c_glib/test/test-decimal-array.rb
+++ b/c_glib/test/test-decimal128-array.rb
@@ -15,9 +15,9 @@
 # specific language governing permissions and limitations
 # under the License.
 
-class TestDecimalArray < Test::Unit::TestCase
+class TestDecimal128Array < Test::Unit::TestCase
   def test_format_value
-    data_type = Arrow::DecimalDataType.new(8,2)
+    data_type = Arrow::Decimal128DataType.new(8, 2)
     builder = Arrow::Decimal128ArrayBuilder.new(data_type)
     decimal = Arrow::Decimal128.new("23423445")
     builder.append_value(decimal)
@@ -26,7 +26,7 @@ class TestDecimalArray < Test::Unit::TestCase
   end
 
   def test_value
-    data_type = Arrow::DecimalDataType.new(8,2)
+    data_type = Arrow::Decimal128DataType.new(8, 2)
     builder = Arrow::Decimal128ArrayBuilder.new(data_type)
     decimal = Arrow::Decimal128.new("23423445")
     builder.append_value(decimal)
diff --git a/c_glib/test/test-decimal-data-type.rb 
b/c_glib/test/test-decimal128-data-type.rb
similarity index 80%
rename from c_glib/test/test-decimal-data-type.rb
rename to c_glib/test/test-decimal128-data-type.rb
index 04bfe78..27a31e2 100644
--- a/c_glib/test/test-decimal-data-type.rb
+++ b/c_glib/test/test-decimal128-data-type.rb
@@ -15,24 +15,24 @@
 # specific language governing permissions and limitations
 # under the License.
 
-class TestDecimalDataType < Test::Unit::TestCase
+class TestDecimal128DataType < Test::Unit::TestCase
   def test_type
-    data_type = Arrow::DecimalDataType.new(2, 0)
+    data_type = Arrow::Decimal128DataType.new(2, 0)
     assert_equal(Arrow::Type::DECIMAL, data_type.id)
   end
 
   def test_to_s
-    data_type = Arrow::DecimalDataType.new(2, 0)
+    data_type = Arrow::Decimal128DataType.new(2, 0)
     assert_equal("decimal(2, 0)", data_type.to_s)
   end
 
   def test_precision
-    data_type = Arrow::DecimalDataType.new(8, 2)
+    data_type = Arrow::Decimal128DataType.new(8, 2)
     assert_equal(8, data_type.precision)
   end
 
   def test_scale
-    data_type = Arrow::DecimalDataType.new(8, 2)
+    data_type = Arrow::Decimal128DataType.new(8, 2)
     assert_equal(2, data_type.scale)
   end
 end
diff --git a/c_glib/test/test-decimal.rb b/c_glib/test/test-decimal128.rb
similarity index 100%
rename from c_glib/test/test-decimal.rb
rename to c_glib/test/test-decimal128.rb

Reply via email to