Skip to content

Commit 662128e

Browse files
committed
Some review feedback
1 parent 7704cf3 commit 662128e

11 files changed

Lines changed: 158 additions & 129 deletions

File tree

cpp/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -729,7 +729,8 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/gdb_arrow.py DESTINATION "${ARROW_GDB_
729729
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/generated/
730730
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/generated"
731731
FILES_MATCHING
732-
PATTERN "*.h")
732+
PATTERN "*.h"
733+
PATTERN "*.tcc")
733734
734735
#
735736
# Validate and print out Arrow configuration options

cpp/src/parquet/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,9 +309,9 @@ add_arrow_lib(parquet
309309
STATIC_LINK_LIBS
310310
${PARQUET_STATIC_LINK_LIBS}
311311
STATIC_INSTALL_INTERFACE_LIBS
312-
${PARQUET_STATIC_INSTALL_INTERFACE_LIBS})
313-
314-
target_include_directories(parquet_objlib SYSTEM PRIVATE ${ARROW_SOURCE_DIR}/thirdparty/flatbuffers/include)
312+
${PARQUET_STATIC_INSTALL_INTERFACE_LIBS}
313+
PRIVATE_INCLUDES
314+
${ARROW_SOURCE_DIR}/thirdparty/flatbuffers/include)
315315

316316
if(WIN32 AND NOT (ARROW_TEST_LINKAGE STREQUAL "static"))
317317
add_library(parquet_test_support STATIC

cpp/src/parquet/file_reader.cc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -441,13 +441,14 @@ class SerializedFile : public ParquetFileReader::Contents {
441441
PARQUET_ASSIGN_OR_THROW(
442442
auto footer_buffer,
443443
source_->ReadAt(source_size_ - footer_read_size, footer_read_size));
444-
if (properties_.read_metadata3()) {
444+
if (properties_.read_flatbuffer_metadata_if_present()) {
445445
// Try to extract flatbuffer metadata from footer
446446
std::string flatbuffer_data;
447447
auto result = ExtractFlatbuffer(footer_buffer, &flatbuffer_data);
448448
if (result.ok()) {
449-
int32_t required_or_consumed = *result;
450-
if (required_or_consumed > static_cast<int32_t>(footer_buffer->size())) {
449+
uint32_t required_or_consumed = *result;
450+
if (required_or_consumed > static_cast<uint32_t>(footer_buffer->size()) &&
451+
static_cast<int64_t>(required_or_consumed) <= source_size_) {
451452
PARQUET_ASSIGN_OR_THROW(
452453
footer_buffer,
453454
source_->ReadAt(source_size_ - required_or_consumed, required_or_consumed));
@@ -461,8 +462,8 @@ class SerializedFile : public ParquetFileReader::Contents {
461462
format3::GetFileMetaData(flatbuffer_data.data());
462463
auto thrift_metadata =
463464
std::make_unique<format::FileMetaData>(FromFlatbuffer(fb_metadata));
464-
file_metadata_ = FileMetaData::Make(
465-
std::move(thrift_metadata), static_cast<uint32_t>(*result), properties_);
465+
file_metadata_ =
466+
FileMetaData::Make(std::move(thrift_metadata), *result, properties_);
466467
return;
467468
}
468469
}

cpp/src/parquet/file_writer.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,7 @@ class PARQUET_EXPORT RowGroupWriter {
110110
};
111111

112112
PARQUET_EXPORT
113-
void WriteFileMetaData(const FileMetaData& file_metadata,
114-
::arrow::io::OutputStream* sink,
113+
void WriteFileMetaData(const FileMetaData& file_metadata, ::arrow::io::OutputStream* sink,
115114
bool use_metadata3 = false);
116115

117116
PARQUET_EXPORT

cpp/src/parquet/metadata.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
#include "parquet/platform.h"
3131
#include "parquet/properties.h"
3232
#include "parquet/type_fwd.h"
33-
#include "generated/parquet_types.h"
33+
34+
namespace parquet::format {
35+
class FileMetaData;
36+
}
3437

3538
namespace parquet {
3639

@@ -389,8 +392,8 @@ class PARQUET_EXPORT FileMetaData {
389392
const ReaderProperties& properties,
390393
std::shared_ptr<InternalFileDecryptor> file_decryptor = NULLPTR);
391394

392-
explicit FileMetaData(std::unique_ptr<format::FileMetaData> metadata, uint32_t metadata_len,
393-
const ReaderProperties& properties);
395+
explicit FileMetaData(std::unique_ptr<format::FileMetaData> metadata,
396+
uint32_t metadata_len, const ReaderProperties& properties);
394397

395398
void set_file_decryptor(std::shared_ptr<InternalFileDecryptor> file_decryptor);
396399
const std::shared_ptr<InternalFileDecryptor>& file_decryptor() const;

0 commit comments

Comments
 (0)