You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by em...@apache.org on 2019/05/17 18:43:17 UTC

[arrow] branch add_debug_string created (now 9568a67)

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

emkornfield pushed a change to branch add_debug_string
in repository https://gitbox.apache.org/repos/asf/arrow.git.


      at 9568a67  Add ToString method to ColumnDescripotor

This branch includes the following new commits:

     new 9568a67  Add ToString method to ColumnDescripotor

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[arrow] 01/01: Add ToString method to ColumnDescripotor

Posted by em...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

emkornfield pushed a commit to branch add_debug_string
in repository https://gitbox.apache.org/repos/asf/arrow.git

commit 9568a67448d44145187309e85e630987ee49ec50
Author: Micah Kornfield <mi...@google.com>
AuthorDate: Fri May 17 11:42:55 2019 -0700

    Add ToString method to ColumnDescripotor
---
 cpp/src/parquet/schema.cc | 27 ++++++++++++++++++++++++---
 cpp/src/parquet/schema.h  |  2 ++
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/cpp/src/parquet/schema.cc b/cpp/src/parquet/schema.cc
index 0a5668d..9206aba 100644
--- a/cpp/src/parquet/schema.cc
+++ b/cpp/src/parquet/schema.cc
@@ -16,17 +16,15 @@
 // under the License.
 
 #include "parquet/schema.h"
-#include "parquet/schema-internal.h"
 
 #include <algorithm>
 #include <cstring>
 #include <memory>
 #include <string>
 #include <utility>
-
 #include "arrow/util/logging.h"
-
 #include "parquet/exception.h"
+#include "parquet/schema-internal.h"
 #include "parquet/thrift.h"
 
 using parquet::format::SchemaElement;
@@ -746,6 +744,29 @@ std::string SchemaDescriptor::ToString() const {
   return ss.str();
 }
 
+std::string ColumnDescriptor::ToString() const {
+  std::ostringstream ss;
+  ss << "column descriptor = {" << std::endl
+     << "  name: " << name() << std::endl
+     << "  path: " << path()->ToDotString() << std::endl
+     << "  physical_type: " << TypeToString(physical_type()) << std::endl
+     << "  logical_type: " << LogicalTypeToString(logical_type()) << std::endl
+     << "  max_definition_level: " << max_definition_level() << std::endl
+     << "  max_repetition_level: " << max_repetition_level() << std::endl;
+
+  if (physical_type() == ::parquet::Type::FIXED_LEN_BYTE_ARRAY) {
+    ss << "  length: " << type_length() << std::endl;
+  }
+
+  if (logical_type() == parquet::LogicalType::DECIMAL) {
+    ss << "  precision: " << type_precision() << std::endl
+       << "  scale: " << type_scale() << std::endl;
+  }
+
+  ss << "}";
+  return ss.str();
+}
+
 int ColumnDescriptor::type_scale() const {
   return primitive_node_->decimal_metadata().scale;
 }
diff --git a/cpp/src/parquet/schema.h b/cpp/src/parquet/schema.h
index 76920c0..62cf95c 100644
--- a/cpp/src/parquet/schema.h
+++ b/cpp/src/parquet/schema.h
@@ -353,6 +353,8 @@ class PARQUET_EXPORT ColumnDescriptor {
 
   const schema::NodePtr& schema_node() const { return node_; }
 
+  std::string ToString() const;
+
   int type_length() const;
 
   int type_precision() const;