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/09/18 17:01:10 UTC
parquet-cpp git commit: PARQUET-720: Mark ScanAllValues as inline to
prevent link error
Repository: parquet-cpp
Updated Branches:
refs/heads/master ffeb828ac -> 8ef68b17a
PARQUET-720: Mark ScanAllValues as inline to prevent link error
Closes #161
Author: Uwe L. Korn <uw...@xhochy.com>
Author: fscheibner <fl...@snowflake.net>
Closes #163 from xhochy/PARQUET-720 and squashes the following commits:
4d3125d [Uwe L. Korn] Add ScanAllValues to parquet namespace
b2c9ff1 [Uwe L. Korn] Format fixes
8f91550 [fscheibner] Move ScanAllValues to scan-all.cc
60dec35 [fscheibner] Mark ScanAllValues as inline to prevent link error
Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/8ef68b17
Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/8ef68b17
Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/8ef68b17
Branch: refs/heads/master
Commit: 8ef68b17addd74989b5ab8fae518d67c6d1cff64
Parents: ffeb828
Author: Uwe L. Korn <uw...@xhochy.com>
Authored: Sun Sep 18 13:01:00 2016 -0400
Committer: Wes McKinney <we...@apache.org>
Committed: Sun Sep 18 13:01:00 2016 -0400
----------------------------------------------------------------------
CMakeLists.txt | 1 +
src/parquet/column/scan-all.cc | 56 +++++++++++++++++++++++++++++++++++++
src/parquet/column/scan-all.h | 40 +++++---------------------
3 files changed, 64 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/8ef68b17/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 86d0684..3878056 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -493,6 +493,7 @@ set(LIBPARQUET_SRCS
src/parquet/column/reader.cc
src/parquet/column/writer.cc
src/parquet/column/scanner.cc
+ src/parquet/column/scan-all.cc
src/parquet/compression/codec.cc
src/parquet/compression/snappy-codec.cc
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/8ef68b17/src/parquet/column/scan-all.cc
----------------------------------------------------------------------
diff --git a/src/parquet/column/scan-all.cc b/src/parquet/column/scan-all.cc
new file mode 100644
index 0000000..36a7689
--- /dev/null
+++ b/src/parquet/column/scan-all.cc
@@ -0,0 +1,56 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+#include "parquet/column/scan-all.h"
+
+namespace parquet {
+
+int64_t ScanAllValues(int32_t batch_size, int16_t* def_levels, int16_t* rep_levels,
+ uint8_t* values, int64_t* values_buffered, parquet::ColumnReader* reader) {
+ switch (reader->type()) {
+ case parquet::Type::BOOLEAN:
+ return ScanAll<parquet::BoolReader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ case parquet::Type::INT32:
+ return ScanAll<parquet::Int32Reader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ case parquet::Type::INT64:
+ return ScanAll<parquet::Int64Reader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ case parquet::Type::INT96:
+ return ScanAll<parquet::Int96Reader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ case parquet::Type::FLOAT:
+ return ScanAll<parquet::FloatReader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ case parquet::Type::DOUBLE:
+ return ScanAll<parquet::DoubleReader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ case parquet::Type::BYTE_ARRAY:
+ return ScanAll<parquet::ByteArrayReader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ case parquet::Type::FIXED_LEN_BYTE_ARRAY:
+ return ScanAll<parquet::FixedLenByteArrayReader>(
+ batch_size, def_levels, rep_levels, values, values_buffered, reader);
+ default:
+ parquet::ParquetException::NYI("type reader not implemented");
+ }
+ // Unreachable code, but supress compiler warning
+ return 0;
+}
+
+} // namespace parquet
http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/8ef68b17/src/parquet/column/scan-all.h
----------------------------------------------------------------------
diff --git a/src/parquet/column/scan-all.h b/src/parquet/column/scan-all.h
index fd63bff..b701c17 100644
--- a/src/parquet/column/scan-all.h
+++ b/src/parquet/column/scan-all.h
@@ -20,6 +20,8 @@
#include "parquet/column/reader.h"
+namespace parquet {
+
template <typename RType>
int64_t ScanAll(int32_t batch_size, int16_t* def_levels, int16_t* rep_levels,
uint8_t* values, int64_t* values_buffered, parquet::ColumnReader* reader) {
@@ -30,38 +32,10 @@ int64_t ScanAll(int32_t batch_size, int16_t* def_levels, int16_t* rep_levels,
batch_size, def_levels, rep_levels, vals, values_buffered);
}
-int64_t ScanAllValues(int32_t batch_size, int16_t* def_levels, int16_t* rep_levels,
- uint8_t* values, int64_t* values_buffered, parquet::ColumnReader* reader) {
- switch (reader->type()) {
- case parquet::Type::BOOLEAN:
- return ScanAll<parquet::BoolReader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- case parquet::Type::INT32:
- return ScanAll<parquet::Int32Reader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- case parquet::Type::INT64:
- return ScanAll<parquet::Int64Reader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- case parquet::Type::INT96:
- return ScanAll<parquet::Int96Reader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- case parquet::Type::FLOAT:
- return ScanAll<parquet::FloatReader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- case parquet::Type::DOUBLE:
- return ScanAll<parquet::DoubleReader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- case parquet::Type::BYTE_ARRAY:
- return ScanAll<parquet::ByteArrayReader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- case parquet::Type::FIXED_LEN_BYTE_ARRAY:
- return ScanAll<parquet::FixedLenByteArrayReader>(
- batch_size, def_levels, rep_levels, values, values_buffered, reader);
- default:
- parquet::ParquetException::NYI("type reader not implemented");
- }
- // Unreachable code, but supress compiler warning
- return 0;
-}
+int64_t PARQUET_EXPORT ScanAllValues(int32_t batch_size, int16_t* def_levels,
+ int16_t* rep_levels, uint8_t* values, int64_t* values_buffered,
+ parquet::ColumnReader* reader);
+
+} // namespace parquet
#endif // PARQUET_SCAN_ALL_H