You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by we...@apache.org on 2016/07/10 19:37:22 UTC
parquet-cpp git commit: PARQUET-659: Export extern templates for
typed column reader/writer classes
Repository: parquet-cpp
Updated Branches:
refs/heads/master ca3e697e7 -> 9930b546e
PARQUET-659: Export extern templates for typed column reader/writer classes
While we've already force-instantiated these template classes, they were not visible across the board. gcc on Linux has no problem with it, but found that the Arrow OS X builds were core dumping (with a misleading error message) because of it. The test suites pass locally for me now.
Author: Wes McKinney <we...@apache.org>
Closes #137 from wesm/PARQUET-659 and squashes the following commits:
74907dc [Wes McKinney] Export extern templates for typed column reader/writer classes
Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/9930b546
Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/9930b546
Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/9930b546
Branch: refs/heads/master
Commit: 9930b546ecd52673903b442ca57d89dd4786a59a
Parents: ca3e697
Author: Wes McKinney <we...@apache.org>
Authored: Sun Jul 10 12:37:17 2016 -0700
Committer: Wes McKinney <we...@apache.org>
Committed: Sun Jul 10 12:37:17 2016 -0700
----------------------------------------------------------------------
CMakeLists.txt | 7 +++----
src/parquet/column/reader.h | 9 +++++++++
src/parquet/column/writer.h | 9 +++++++++
3 files changed, 21 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/9930b546/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7d7fa44..5b594a3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -505,7 +505,9 @@ add_library(parquet_objlib OBJECT
set_property(TARGET parquet_objlib PROPERTY POSITION_INDEPENDENT_CODE 1)
-if(NOT APPLE)
+if(APPLE)
+ set(SHARED_LINK_FLAGS "-undefined dynamic_lookup")
+elseif()
# Localize thirdparty symbols using a linker version script. This hides them
# from the client application. The OS X linker does not support the
# version-script option.
@@ -514,9 +516,6 @@ endif()
if (PARQUET_BUILD_SHARED)
add_library(parquet_shared SHARED $<TARGET_OBJECTS:parquet_objlib>)
- if(APPLE)
- set_target_properties(parquet_shared PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
- endif()
set_target_properties(parquet_shared
PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${BUILD_OUTPUT_ROOT_DIRECTORY}"
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/9930b546/src/parquet/column/reader.h
----------------------------------------------------------------------
diff --git a/src/parquet/column/reader.h b/src/parquet/column/reader.h
index 04f517c..5153698 100644
--- a/src/parquet/column/reader.h
+++ b/src/parquet/column/reader.h
@@ -207,6 +207,15 @@ typedef TypedColumnReader<DoubleType> DoubleReader;
typedef TypedColumnReader<ByteArrayType> ByteArrayReader;
typedef TypedColumnReader<FLBAType> FixedLenByteArrayReader;
+extern template class PARQUET_EXPORT TypedColumnReader<BooleanType>;
+extern template class PARQUET_EXPORT TypedColumnReader<Int32Type>;
+extern template class PARQUET_EXPORT TypedColumnReader<Int64Type>;
+extern template class PARQUET_EXPORT TypedColumnReader<Int96Type>;
+extern template class PARQUET_EXPORT TypedColumnReader<FloatType>;
+extern template class PARQUET_EXPORT TypedColumnReader<DoubleType>;
+extern template class PARQUET_EXPORT TypedColumnReader<ByteArrayType>;
+extern template class PARQUET_EXPORT TypedColumnReader<FLBAType>;
+
} // namespace parquet
#endif // PARQUET_COLUMN_READER_H
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/9930b546/src/parquet/column/writer.h
----------------------------------------------------------------------
diff --git a/src/parquet/column/writer.h b/src/parquet/column/writer.h
index 48e2f52..be441b8 100644
--- a/src/parquet/column/writer.h
+++ b/src/parquet/column/writer.h
@@ -191,6 +191,15 @@ typedef TypedColumnWriter<DoubleType> DoubleWriter;
typedef TypedColumnWriter<ByteArrayType> ByteArrayWriter;
typedef TypedColumnWriter<FLBAType> FixedLenByteArrayWriter;
+extern template class PARQUET_EXPORT TypedColumnWriter<BooleanType>;
+extern template class PARQUET_EXPORT TypedColumnWriter<Int32Type>;
+extern template class PARQUET_EXPORT TypedColumnWriter<Int64Type>;
+extern template class PARQUET_EXPORT TypedColumnWriter<Int96Type>;
+extern template class PARQUET_EXPORT TypedColumnWriter<FloatType>;
+extern template class PARQUET_EXPORT TypedColumnWriter<DoubleType>;
+extern template class PARQUET_EXPORT TypedColumnWriter<ByteArrayType>;
+extern template class PARQUET_EXPORT TypedColumnWriter<FLBAType>;
+
} // namespace parquet
#endif // PARQUET_COLUMN_READER_H