You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2018/12/13 14:56:23 UTC

[arrow] branch master updated: PARQUET-1473: [C++] Add helper function that converts ParquetVersion to human-friendly string

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

wesm 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 2a726c1  PARQUET-1473: [C++] Add helper function that converts ParquetVersion to human-friendly string
2a726c1 is described below

commit 2a726c179fdb794a9fbc2025aced0dbab3c5c362
Author: Hatem Helal <Ha...@mathworks.co.uk>
AuthorDate: Thu Dec 13 08:56:16 2018 -0600

    PARQUET-1473: [C++] Add helper function that converts ParquetVersion to human-friendly string
    
    Author: Hatem Helal <Ha...@mathworks.co.uk>
    Author: Hatem Helal <ha...@gmail.com>
    
    Closes #3148 from hatemhelal/parquet-1473-wip and squashes the following commits:
    
    8983ae629 <Hatem Helal> remove default case from switch to make any omission a compile-time error
    a87c3ba99 <Hatem Helal> Add helper function parquet::ParquetVersionToString and use it in parquet-reader tool
---
 cpp/src/parquet/metadata.cc         | 12 ++++++++++++
 cpp/src/parquet/metadata.h          |  2 ++
 cpp/src/parquet/printer.cc          |  2 +-
 cpp/tools/parquet/parquet-reader.cc |  2 +-
 4 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/cpp/src/parquet/metadata.cc b/cpp/src/parquet/metadata.cc
index cf63b0f..22cfbdb 100644
--- a/cpp/src/parquet/metadata.cc
+++ b/cpp/src/parquet/metadata.cc
@@ -47,6 +47,18 @@ const ApplicationVersion& ApplicationVersion::PARQUET_CPP_FIXED_STATS_VERSION()
   return version;
 }
 
+std::string ParquetVersionToString(ParquetVersion::type ver) {
+  switch (ver) {
+    case ParquetVersion::PARQUET_1_0:
+      return "1.0";
+    case ParquetVersion::PARQUET_2_0:
+      return "2.0";
+  }
+
+  // This should be unreachable
+  return "UNKNOWN";
+}
+
 template <typename DType>
 static std::shared_ptr<RowGroupStatistics> MakeTypedColumnStats(
     const format::ColumnMetaData& metadata, const ColumnDescriptor* descr) {
diff --git a/cpp/src/parquet/metadata.h b/cpp/src/parquet/metadata.h
index 706e980..25f4d4c 100644
--- a/cpp/src/parquet/metadata.h
+++ b/cpp/src/parquet/metadata.h
@@ -282,6 +282,8 @@ class PARQUET_EXPORT FileMetaDataBuilder {
   std::unique_ptr<FileMetaDataBuilderImpl> impl_;
 };
 
+PARQUET_EXPORT std::string ParquetVersionToString(ParquetVersion::type ver);
+
 }  // namespace parquet
 
 #endif  // PARQUET_FILE_METADATA_H
diff --git a/cpp/src/parquet/printer.cc b/cpp/src/parquet/printer.cc
index 9f26a41..5be8d9d 100644
--- a/cpp/src/parquet/printer.cc
+++ b/cpp/src/parquet/printer.cc
@@ -38,7 +38,7 @@ void ParquetFilePrinter::DebugPrint(std::ostream& stream, std::list<int> selecte
   const FileMetaData* file_metadata = fileReader->metadata().get();
 
   stream << "File Name: " << filename << "\n";
-  stream << "Version: " << file_metadata->version() << "\n";
+  stream << "Version: " << ParquetVersionToString(file_metadata->version()) << "\n";
   stream << "Created By: " << file_metadata->created_by() << "\n";
   stream << "Total rows: " << file_metadata->num_rows() << "\n";
 
diff --git a/cpp/tools/parquet/parquet-reader.cc b/cpp/tools/parquet/parquet-reader.cc
index 34bdfc1..a5b7db1 100644
--- a/cpp/tools/parquet/parquet-reader.cc
+++ b/cpp/tools/parquet/parquet-reader.cc
@@ -23,7 +23,7 @@
 
 int main(int argc, char** argv) {
   if (argc > 5 || argc < 2) {
-    std::cerr << "Usage: parquet_reader [--only-metadata] [--no-memory-map] [--json]"
+    std::cerr << "Usage: parquet-reader [--only-metadata] [--no-memory-map] [--json]"
                  "[--print-key-value-metadata] [--columns=...] <file>"
               << std::endl;
     return -1;