/src/duckdb/extension/parquet/include/templated_column_reader.hpp
Line | Count | Source (jump to first uncovered line) |
1 | | //===----------------------------------------------------------------------===// |
2 | | // DuckDB |
3 | | // |
4 | | // templated__column_reader.hpp |
5 | | // |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | |
9 | | #pragma once |
10 | | |
11 | | #include "column_reader.hpp" |
12 | | |
13 | | namespace duckdb { |
14 | | |
15 | | template <class VALUE_TYPE> |
16 | | struct TemplatedParquetValueConversion { |
17 | 0 | static VALUE_TYPE DictRead(ByteBuffer &dict, uint32_t &offset, ColumnReader &reader) { |
18 | 0 | D_ASSERT(offset < dict.len / sizeof(VALUE_TYPE)); |
19 | 0 | return ((VALUE_TYPE *)dict.ptr)[offset]; |
20 | 0 | } Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<unsigned int>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<unsigned long>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<int>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<long>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<float>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<double>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<duckdb::timestamp_t>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<duckdb::date_t>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<duckdb::dtime_t>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) |
21 | | |
22 | 0 | static VALUE_TYPE PlainRead(ByteBuffer &plain_data, ColumnReader &reader) { |
23 | 0 | return plain_data.read<VALUE_TYPE>(); |
24 | 0 | } Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<unsigned int>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<unsigned long>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<int>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<long>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<float>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<double>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) |
25 | | |
26 | 0 | static void PlainSkip(ByteBuffer &plain_data, ColumnReader &reader) { |
27 | 0 | plain_data.inc(sizeof(VALUE_TYPE)); |
28 | 0 | } Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<unsigned int>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<unsigned long>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<int>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<long>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<float>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::TemplatedParquetValueConversion<double>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) |
29 | | }; |
30 | | |
31 | | template <class VALUE_TYPE, class VALUE_CONVERSION> |
32 | | class TemplatedColumnReader : public ColumnReader { |
33 | | public: |
34 | | TemplatedColumnReader(ParquetReader &reader, LogicalType type_p, const SchemaElement &schema_p, idx_t schema_idx_p, |
35 | | idx_t max_define_p, idx_t max_repeat_p) |
36 | 0 | : ColumnReader(reader, move(type_p), schema_p, schema_idx_p, max_define_p, max_repeat_p) {}; Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::string_t, duckdb::StringParquetValueConversion>::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, true> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, true> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, true> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, true> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, false> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, false> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, false> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, false> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<bool, duckdb::BooleanParquetValueConversion>::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned char, duckdb::TemplatedParquetValueConversion<unsigned int> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned short, duckdb::TemplatedParquetValueConversion<unsigned int> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned int, duckdb::TemplatedParquetValueConversion<unsigned int> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned long, duckdb::TemplatedParquetValueConversion<unsigned long> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<signed char, duckdb::TemplatedParquetValueConversion<int> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<int> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<int> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<long> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<float, duckdb::TemplatedParquetValueConversion<float> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<double, duckdb::TemplatedParquetValueConversion<double> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<duckdb::Int96, duckdb::timestamp_t, &duckdb::ImpalaTimestampToTimestamp> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMicrosToTimestamp> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMsToTimestamp> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::date_t, duckdb::CallbackParquetValueConversion<int, duckdb::date_t, &duckdb::ParquetIntToDate> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::dtime_t, duckdb::CallbackParquetValueConversion<long, duckdb::dtime_t, &duckdb::ParquetIntToTime> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<int> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<long> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<long> >::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::UUIDValueConversion>::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::interval_t, duckdb::IntervalValueConversion>::TemplatedColumnReader(duckdb::ParquetReader&, duckdb::LogicalType, duckdb_parquet::format::SchemaElement const&, unsigned long, unsigned long, unsigned long) |
37 | | |
38 | | shared_ptr<ByteBuffer> dict; |
39 | | |
40 | | public: |
41 | 0 | void Dictionary(shared_ptr<ByteBuffer> data, idx_t num_entries) override { |
42 | 0 | dict = move(data); |
43 | 0 | } Unexecuted instantiation: duckdb::TemplatedColumnReader<bool, duckdb::BooleanParquetValueConversion>::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::string_t, duckdb::StringParquetValueConversion>::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, true> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, true> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, true> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, true> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, false> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, false> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, false> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, false> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned char, duckdb::TemplatedParquetValueConversion<unsigned int> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned short, duckdb::TemplatedParquetValueConversion<unsigned int> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned int, duckdb::TemplatedParquetValueConversion<unsigned int> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned long, duckdb::TemplatedParquetValueConversion<unsigned long> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<signed char, duckdb::TemplatedParquetValueConversion<int> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<int> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<int> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<long> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<float, duckdb::TemplatedParquetValueConversion<float> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<double, duckdb::TemplatedParquetValueConversion<double> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<duckdb::Int96, duckdb::timestamp_t, &duckdb::ImpalaTimestampToTimestamp> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMicrosToTimestamp> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMsToTimestamp> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::date_t, duckdb::CallbackParquetValueConversion<int, duckdb::date_t, &duckdb::ParquetIntToDate> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::dtime_t, duckdb::CallbackParquetValueConversion<long, duckdb::dtime_t, &duckdb::ParquetIntToTime> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<int> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<long> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<long> >::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::UUIDValueConversion>::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::interval_t, duckdb::IntervalValueConversion>::Dictionary(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned long) |
44 | | |
45 | | void Offsets(uint32_t *offsets, uint8_t *defines, uint64_t num_values, parquet_filter_t &filter, |
46 | 0 | idx_t result_offset, Vector &result) override { |
47 | 0 | auto result_ptr = FlatVector::GetData<VALUE_TYPE>(result); |
48 | 0 | auto &result_mask = FlatVector::Validity(result); |
49 | |
|
50 | 0 | idx_t offset_idx = 0; |
51 | 0 | for (idx_t row_idx = 0; row_idx < num_values; row_idx++) { |
52 | 0 | if (HasDefines() && defines[row_idx + result_offset] != max_define) { |
53 | 0 | result_mask.SetInvalid(row_idx + result_offset); |
54 | 0 | continue; |
55 | 0 | } |
56 | 0 | if (filter[row_idx + result_offset]) { |
57 | 0 | VALUE_TYPE val = VALUE_CONVERSION::DictRead(*dict, offsets[offset_idx++], *this); |
58 | 0 | result_ptr[row_idx + result_offset] = val; |
59 | 0 | } else { |
60 | 0 | offset_idx++; |
61 | 0 | } |
62 | 0 | } |
63 | 0 | } Unexecuted instantiation: duckdb::TemplatedColumnReader<bool, duckdb::BooleanParquetValueConversion>::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, true> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, true> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, true> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, true> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, false> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, false> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, false> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, false> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned char, duckdb::TemplatedParquetValueConversion<unsigned int> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned short, duckdb::TemplatedParquetValueConversion<unsigned int> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned int, duckdb::TemplatedParquetValueConversion<unsigned int> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned long, duckdb::TemplatedParquetValueConversion<unsigned long> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<signed char, duckdb::TemplatedParquetValueConversion<int> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<int> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<int> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<long> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<float, duckdb::TemplatedParquetValueConversion<float> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<double, duckdb::TemplatedParquetValueConversion<double> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<duckdb::Int96, duckdb::timestamp_t, &duckdb::ImpalaTimestampToTimestamp> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMicrosToTimestamp> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMsToTimestamp> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::date_t, duckdb::CallbackParquetValueConversion<int, duckdb::date_t, &duckdb::ParquetIntToDate> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::dtime_t, duckdb::CallbackParquetValueConversion<long, duckdb::dtime_t, &duckdb::ParquetIntToTime> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<int> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<long> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<long> >::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::UUIDValueConversion>::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::interval_t, duckdb::IntervalValueConversion>::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::string_t, duckdb::StringParquetValueConversion>::Offsets(unsigned int*, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) |
64 | | |
65 | | void Plain(shared_ptr<ByteBuffer> plain_data, uint8_t *defines, uint64_t num_values, parquet_filter_t &filter, |
66 | 0 | idx_t result_offset, Vector &result) override { |
67 | 0 | auto result_ptr = FlatVector::GetData<VALUE_TYPE>(result); |
68 | 0 | auto &result_mask = FlatVector::Validity(result); |
69 | 0 | for (idx_t row_idx = 0; row_idx < num_values; row_idx++) { |
70 | 0 | if (HasDefines() && defines[row_idx + result_offset] != max_define) { |
71 | 0 | result_mask.SetInvalid(row_idx + result_offset); |
72 | 0 | continue; |
73 | 0 | } |
74 | 0 | if (filter[row_idx + result_offset]) { |
75 | 0 | VALUE_TYPE val = VALUE_CONVERSION::PlainRead(*plain_data, *this); |
76 | 0 | result_ptr[row_idx + result_offset] = val; |
77 | 0 | } else { // there is still some data there that we have to skip over |
78 | 0 | VALUE_CONVERSION::PlainSkip(*plain_data, *this); |
79 | 0 | } |
80 | 0 | } |
81 | 0 | } Unexecuted instantiation: duckdb::TemplatedColumnReader<bool, duckdb::BooleanParquetValueConversion>::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, true> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, true> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, true> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, true> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::DecimalParquetValueConversion<short, false> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::DecimalParquetValueConversion<int, false> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::DecimalParquetValueConversion<long, false> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::DecimalParquetValueConversion<duckdb::hugeint_t, false> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned char, duckdb::TemplatedParquetValueConversion<unsigned int> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned short, duckdb::TemplatedParquetValueConversion<unsigned int> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned int, duckdb::TemplatedParquetValueConversion<unsigned int> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<unsigned long, duckdb::TemplatedParquetValueConversion<unsigned long> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<signed char, duckdb::TemplatedParquetValueConversion<int> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<int> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<int> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<long> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<float, duckdb::TemplatedParquetValueConversion<float> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<double, duckdb::TemplatedParquetValueConversion<double> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<duckdb::Int96, duckdb::timestamp_t, &duckdb::ImpalaTimestampToTimestamp> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMicrosToTimestamp> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::timestamp_t, duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMsToTimestamp> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::date_t, duckdb::CallbackParquetValueConversion<int, duckdb::date_t, &duckdb::ParquetIntToDate> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::dtime_t, duckdb::CallbackParquetValueConversion<long, duckdb::dtime_t, &duckdb::ParquetIntToTime> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<long, duckdb::TemplatedParquetValueConversion<int> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<short, duckdb::TemplatedParquetValueConversion<long> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<int, duckdb::TemplatedParquetValueConversion<long> >::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::hugeint_t, duckdb::UUIDValueConversion>::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::interval_t, duckdb::IntervalValueConversion>::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) Unexecuted instantiation: duckdb::TemplatedColumnReader<duckdb::string_t, duckdb::StringParquetValueConversion>::Plain(std::__1::shared_ptr<duckdb::ByteBuffer>, unsigned char*, unsigned long, std::__1::bitset<1024ul>&, unsigned long, duckdb::Vector&) |
82 | | }; |
83 | | |
84 | | template <class PARQUET_PHYSICAL_TYPE, class DUCKDB_PHYSICAL_TYPE, |
85 | | DUCKDB_PHYSICAL_TYPE (*FUNC)(const PARQUET_PHYSICAL_TYPE &input)> |
86 | | struct CallbackParquetValueConversion { |
87 | 0 | static DUCKDB_PHYSICAL_TYPE DictRead(ByteBuffer &dict, uint32_t &offset, ColumnReader &reader) { |
88 | 0 | return TemplatedParquetValueConversion<DUCKDB_PHYSICAL_TYPE>::DictRead(dict, offset, reader); |
89 | 0 | } Unexecuted instantiation: duckdb::CallbackParquetValueConversion<duckdb::Int96, duckdb::timestamp_t, &duckdb::ImpalaTimestampToTimestamp>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMicrosToTimestamp>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMsToTimestamp>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<int, duckdb::date_t, &duckdb::ParquetIntToDate>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::dtime_t, &duckdb::ParquetIntToTime>::DictRead(duckdb::ByteBuffer&, unsigned int&, duckdb::ColumnReader&) |
90 | | |
91 | 0 | static DUCKDB_PHYSICAL_TYPE PlainRead(ByteBuffer &plain_data, ColumnReader &reader) { |
92 | 0 | return FUNC(plain_data.read<PARQUET_PHYSICAL_TYPE>()); |
93 | 0 | } Unexecuted instantiation: duckdb::CallbackParquetValueConversion<duckdb::Int96, duckdb::timestamp_t, &duckdb::ImpalaTimestampToTimestamp>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMicrosToTimestamp>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMsToTimestamp>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<int, duckdb::date_t, &duckdb::ParquetIntToDate>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::dtime_t, &duckdb::ParquetIntToTime>::PlainRead(duckdb::ByteBuffer&, duckdb::ColumnReader&) |
94 | | |
95 | 0 | static void PlainSkip(ByteBuffer &plain_data, ColumnReader &reader) { |
96 | 0 | plain_data.inc(sizeof(PARQUET_PHYSICAL_TYPE)); |
97 | 0 | } Unexecuted instantiation: duckdb::CallbackParquetValueConversion<duckdb::Int96, duckdb::timestamp_t, &duckdb::ImpalaTimestampToTimestamp>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMicrosToTimestamp>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::timestamp_t, &duckdb::ParquetTimestampMsToTimestamp>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<int, duckdb::date_t, &duckdb::ParquetIntToDate>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) Unexecuted instantiation: duckdb::CallbackParquetValueConversion<long, duckdb::dtime_t, &duckdb::ParquetIntToTime>::PlainSkip(duckdb::ByteBuffer&, duckdb::ColumnReader&) |
98 | | }; |
99 | | |
100 | | } // namespace duckdb |