duckdb 0.8.2-dev3458.0 → 0.8.2-dev3949.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +2 -0
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu_extension.cpp +5 -5
- package/src/duckdb/extension/json/include/json_deserializer.hpp +7 -16
- package/src/duckdb/extension/json/include/json_serializer.hpp +9 -15
- package/src/duckdb/extension/json/json_deserializer.cpp +29 -67
- package/src/duckdb/extension/json/json_scan.cpp +1 -1
- package/src/duckdb/extension/json/json_serializer.cpp +26 -69
- package/src/duckdb/src/common/enum_util.cpp +119 -7
- package/src/duckdb/src/common/extra_type_info.cpp +7 -3
- package/src/duckdb/src/common/radix_partitioning.cpp +8 -31
- package/src/duckdb/src/common/row_operations/row_aggregate.cpp +18 -3
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +62 -77
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +84 -84
- package/src/duckdb/src/common/serializer/format_serializer.cpp +1 -1
- package/src/duckdb/src/common/sort/partition_state.cpp +41 -33
- package/src/duckdb/src/common/types/data_chunk.cpp +44 -8
- package/src/duckdb/src/common/types/hyperloglog.cpp +21 -0
- package/src/duckdb/src/common/types/interval.cpp +3 -0
- package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +252 -126
- package/src/duckdb/src/common/types/row/row_layout.cpp +3 -31
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +40 -32
- package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +39 -26
- package/src/duckdb/src/common/types/row/tuple_data_layout.cpp +11 -1
- package/src/duckdb/src/common/types/row/tuple_data_segment.cpp +21 -16
- package/src/duckdb/src/common/types/value.cpp +63 -42
- package/src/duckdb/src/common/types/vector.cpp +33 -67
- package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +3 -2
- package/src/duckdb/src/execution/aggregate_hashtable.cpp +222 -364
- package/src/duckdb/src/execution/join_hashtable.cpp +5 -6
- package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +240 -310
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +202 -173
- package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +36 -2
- package/src/duckdb/src/execution/operator/{persistent → csv_scanner}/base_csv_reader.cpp +58 -162
- package/src/duckdb/src/execution/operator/csv_scanner/buffered_csv_reader.cpp +434 -0
- package/src/duckdb/src/execution/operator/csv_scanner/csv_buffer.cpp +80 -0
- package/src/duckdb/src/execution/operator/csv_scanner/csv_buffer_manager.cpp +90 -0
- package/src/duckdb/src/execution/operator/csv_scanner/csv_file_handle.cpp +95 -0
- package/src/duckdb/src/execution/operator/{persistent → csv_scanner}/csv_reader_options.cpp +47 -28
- package/src/duckdb/src/execution/operator/csv_scanner/csv_state_machine.cpp +35 -0
- package/src/duckdb/src/execution/operator/csv_scanner/csv_state_machine_cache.cpp +107 -0
- package/src/duckdb/src/execution/operator/{persistent → csv_scanner}/parallel_csv_reader.cpp +44 -44
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +52 -0
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +336 -0
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +165 -0
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +398 -0
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +175 -0
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +39 -0
- package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +1 -1
- package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +1 -2
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +614 -574
- package/src/duckdb/src/execution/window_executor.cpp +6 -5
- package/src/duckdb/src/function/cast/cast_function_set.cpp +1 -0
- package/src/duckdb/src/function/scalar/strftime_format.cpp +4 -4
- package/src/duckdb/src/function/table/copy_csv.cpp +94 -96
- package/src/duckdb/src/function/table/read_csv.cpp +150 -136
- package/src/duckdb/src/function/table/table_scan.cpp +0 -2
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +24 -0
- package/src/duckdb/src/include/duckdb/common/file_opener.hpp +9 -0
- package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +208 -0
- package/src/duckdb/src/include/duckdb/common/optional_idx.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/perfect_map_set.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/printer.hpp +11 -0
- package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +43 -30
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +36 -35
- package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +18 -0
- package/src/duckdb/src/include/duckdb/common/serializer/encoding_util.hpp +132 -0
- package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +125 -150
- package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +119 -107
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/shared_ptr.hpp +8 -0
- package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +13 -7
- package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +5 -0
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +7 -1
- package/src/duckdb/src/include/duckdb/common/types/interval.hpp +7 -0
- package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +41 -9
- package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +5 -0
- package/src/duckdb/src/include/duckdb/common/types/row/row_layout.hpp +1 -23
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +14 -8
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +6 -3
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_layout.hpp +7 -0
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_segment.hpp +13 -8
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +3 -2
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/vector.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +125 -146
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +5 -4
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +4 -3
- package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/base_csv_reader.hpp +17 -17
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/buffered_csv_reader.hpp +72 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_buffer.hpp +110 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_buffer_manager.hpp +103 -0
- package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/csv_file_handle.hpp +8 -15
- package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/csv_line_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/csv_reader_options.hpp +52 -28
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_sniffer.hpp +127 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_state_machine.hpp +75 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_state_machine_cache.hpp +51 -0
- package/src/duckdb/src/include/duckdb/execution/operator/{persistent → scan/csv}/parallel_csv_reader.hpp +21 -27
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/quote_rules.hpp +21 -0
- package/src/duckdb/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +18 -27
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +5 -6
- package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +17 -12
- package/src/duckdb/src/include/duckdb/main/client_context_file_opener.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/client_data.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/config.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/connection.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/relation/read_csv_relation.hpp +6 -6
- package/src/duckdb/src/include/duckdb/parallel/event.hpp +12 -1
- package/src/duckdb/src/include/duckdb/storage/block.hpp +6 -0
- package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +7 -3
- package/src/duckdb/src/include/duckdb/storage/statistics/column_statistics.hpp +4 -0
- package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +5 -0
- package/src/duckdb/src/include/duckdb/storage/statistics/list_stats.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/statistics/struct_stats.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +15 -3
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +4 -0
- package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +5 -0
- package/src/duckdb/src/include/duckdb/verification/deserialized_statement_verifier_v2.hpp +6 -0
- package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +1 -0
- package/src/duckdb/src/include/duckdb.h +12 -0
- package/src/duckdb/src/main/capi/logical_types-c.cpp +22 -0
- package/src/duckdb/src/main/client_context_file_opener.cpp +17 -0
- package/src/duckdb/src/main/client_verify.cpp +1 -0
- package/src/duckdb/src/main/config.cpp +2 -2
- package/src/duckdb/src/main/connection.cpp +3 -3
- package/src/duckdb/src/main/relation/read_csv_relation.cpp +19 -13
- package/src/duckdb/src/parallel/pipeline_finish_event.cpp +1 -1
- package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -16
- package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_export.cpp +41 -25
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +4 -4
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +10 -10
- package/src/duckdb/src/planner/logical_operator.cpp +1 -1
- package/src/duckdb/src/planner/planner.cpp +1 -1
- package/src/duckdb/src/storage/checkpoint_manager.cpp +4 -3
- package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +1 -1
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +5 -5
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +10 -10
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +20 -20
- package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +2 -2
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +118 -89
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +3 -3
- package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +27 -27
- package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +16 -16
- package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +8 -8
- package/src/duckdb/src/storage/serialization/serialize_statement.cpp +1 -1
- package/src/duckdb/src/storage/serialization/serialize_storage.cpp +39 -0
- package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +9 -9
- package/src/duckdb/src/storage/statistics/base_statistics.cpp +67 -4
- package/src/duckdb/src/storage/statistics/column_statistics.cpp +16 -0
- package/src/duckdb/src/storage/statistics/list_stats.cpp +21 -0
- package/src/duckdb/src/storage/statistics/numeric_stats.cpp +126 -1
- package/src/duckdb/src/storage/statistics/string_stats.cpp +23 -0
- package/src/duckdb/src/storage/statistics/struct_stats.cpp +27 -0
- package/src/duckdb/src/storage/storage_info.cpp +1 -1
- package/src/duckdb/src/storage/table/chunk_info.cpp +82 -3
- package/src/duckdb/src/storage/table/row_group.cpp +68 -1
- package/src/duckdb/src/storage/table/table_statistics.cpp +21 -0
- package/src/duckdb/src/storage/wal_replay.cpp +2 -2
- package/src/duckdb/src/verification/deserialized_statement_verifier_v2.cpp +15 -1
- package/src/duckdb/src/verification/statement_verifier.cpp +2 -0
- package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +8 -0
- package/src/duckdb/ub_src_execution.cpp +0 -2
- package/src/duckdb/ub_src_execution_operator_csv_scanner.cpp +18 -0
- package/src/duckdb/ub_src_execution_operator_csv_scanner_sniffer.cpp +12 -0
- package/src/duckdb/ub_src_execution_operator_persistent.cpp +0 -12
- package/src/duckdb/ub_src_storage_serialization.cpp +2 -0
- package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +0 -1487
- package/src/duckdb/src/execution/operator/persistent/csv_buffer.cpp +0 -72
- package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +0 -158
- package/src/duckdb/src/execution/partitionable_hashtable.cpp +0 -207
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/buffered_csv_reader.hpp +0 -133
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_buffer.hpp +0 -74
- package/src/duckdb/src/include/duckdb/execution/partitionable_hashtable.hpp +0 -73
@@ -1,6 +1,5 @@
|
|
1
1
|
#include "duckdb/storage/table/row_group.hpp"
|
2
2
|
#include "duckdb/common/types/vector.hpp"
|
3
|
-
#include "duckdb/transaction/transaction.hpp"
|
4
3
|
#include "duckdb/common/exception.hpp"
|
5
4
|
#include "duckdb/common/field_writer.hpp"
|
6
5
|
#include "duckdb/storage/table/column_data.hpp"
|
@@ -18,6 +17,8 @@
|
|
18
17
|
#include "duckdb/transaction/duck_transaction.hpp"
|
19
18
|
#include "duckdb/storage/table/append_state.hpp"
|
20
19
|
#include "duckdb/storage/table/scan_state.hpp"
|
20
|
+
#include "duckdb/common/serializer/format_serializer.hpp"
|
21
|
+
#include "duckdb/common/serializer/format_deserializer.hpp"
|
21
22
|
|
22
23
|
namespace duckdb {
|
23
24
|
|
@@ -927,6 +928,72 @@ RowGroupPointer RowGroup::Deserialize(Deserializer &main_source, const vector<Lo
|
|
927
928
|
return result;
|
928
929
|
}
|
929
930
|
|
931
|
+
void RowGroup::FormatSerialize(RowGroupPointer &pointer, FormatSerializer &serializer) {
|
932
|
+
serializer.WriteProperty(100, "row_start", pointer.row_start);
|
933
|
+
serializer.WriteProperty(101, "tuple_count", pointer.tuple_count);
|
934
|
+
serializer.WriteProperty(102, "data_pointers", pointer.data_pointers);
|
935
|
+
|
936
|
+
// Checkpoint deletes
|
937
|
+
auto versions = pointer.versions.get();
|
938
|
+
|
939
|
+
if (!versions) {
|
940
|
+
// no version information: write nothing
|
941
|
+
serializer.WriteProperty(103, "versions_count", 0);
|
942
|
+
return;
|
943
|
+
}
|
944
|
+
// first count how many ChunkInfo's we need to deserialize
|
945
|
+
idx_t chunk_info_count = 0;
|
946
|
+
idx_t idx_map[ROW_GROUP_VECTOR_COUNT];
|
947
|
+
for (idx_t vector_idx = 0; vector_idx < RowGroup::ROW_GROUP_VECTOR_COUNT; vector_idx++) {
|
948
|
+
auto chunk_info = versions->info[vector_idx].get();
|
949
|
+
if (!chunk_info) {
|
950
|
+
continue;
|
951
|
+
}
|
952
|
+
idx_map[chunk_info_count++] = vector_idx;
|
953
|
+
}
|
954
|
+
|
955
|
+
// now serialize the actual version information
|
956
|
+
serializer.WriteProperty(103, "versions_count", chunk_info_count);
|
957
|
+
serializer.WriteList(104, "versions", chunk_info_count, [&](FormatSerializer::List &list, idx_t i) {
|
958
|
+
auto vector_idx = idx_map[i];
|
959
|
+
auto chunk_info = versions->info[vector_idx].get();
|
960
|
+
list.WriteObject([&](FormatSerializer &obj) {
|
961
|
+
obj.WriteProperty(100, "vector_index", vector_idx);
|
962
|
+
obj.WriteProperty(101, "chunk_info", const_cast<const ChunkInfo *>(chunk_info));
|
963
|
+
});
|
964
|
+
});
|
965
|
+
}
|
966
|
+
|
967
|
+
RowGroupPointer RowGroup::FormatDeserialize(FormatDeserializer &deserializer) {
|
968
|
+
RowGroupPointer result;
|
969
|
+
result.row_start = deserializer.ReadProperty<uint64_t>(100, "row_start");
|
970
|
+
result.tuple_count = deserializer.ReadProperty<uint64_t>(101, "tuple_count");
|
971
|
+
result.data_pointers = deserializer.ReadProperty<vector<MetaBlockPointer>>(102, "data_pointers");
|
972
|
+
result.versions = nullptr;
|
973
|
+
// Deserialize Deletes
|
974
|
+
auto chunk_count = deserializer.ReadProperty<idx_t>(103, "versions_count");
|
975
|
+
if (chunk_count == 0) {
|
976
|
+
// no deletes
|
977
|
+
return result;
|
978
|
+
}
|
979
|
+
|
980
|
+
auto version_info = make_shared<VersionNode>();
|
981
|
+
deserializer.ReadList(104, "versions", [&](FormatDeserializer::List &list, idx_t i) {
|
982
|
+
list.ReadObject([&](FormatDeserializer &obj) {
|
983
|
+
auto vector_index = obj.ReadProperty<idx_t>(100, "vector_index");
|
984
|
+
if (vector_index >= RowGroup::ROW_GROUP_VECTOR_COUNT) {
|
985
|
+
throw Exception("In DeserializeDeletes, vector_index is out of range for the row group. Corrupted "
|
986
|
+
"file?");
|
987
|
+
}
|
988
|
+
version_info->info[vector_index] = obj.ReadProperty<unique_ptr<ChunkInfo>>(101, "chunk_info");
|
989
|
+
});
|
990
|
+
});
|
991
|
+
|
992
|
+
result.versions = version_info;
|
993
|
+
|
994
|
+
return result;
|
995
|
+
}
|
996
|
+
|
930
997
|
//===--------------------------------------------------------------------===//
|
931
998
|
// GetColumnSegmentInfo
|
932
999
|
//===--------------------------------------------------------------------===//
|
@@ -1,5 +1,7 @@
|
|
1
1
|
#include "duckdb/storage/table/table_statistics.hpp"
|
2
2
|
#include "duckdb/storage/table/persistent_table_data.hpp"
|
3
|
+
#include "duckdb/common/serializer/format_serializer.hpp"
|
4
|
+
#include "duckdb/common/serializer/format_deserializer.hpp"
|
3
5
|
|
4
6
|
namespace duckdb {
|
5
7
|
|
@@ -112,6 +114,25 @@ void TableStatistics::Deserialize(Deserializer &source, ColumnList &columns) {
|
|
112
114
|
}
|
113
115
|
}
|
114
116
|
|
117
|
+
void TableStatistics::FormatSerialize(FormatSerializer &serializer) {
|
118
|
+
auto column_count = column_stats.size();
|
119
|
+
serializer.WriteList(100, "column_stats", column_count,
|
120
|
+
[&](FormatSerializer::List &list, idx_t i) { list.WriteElement(column_stats[i]); });
|
121
|
+
}
|
122
|
+
|
123
|
+
void TableStatistics::FormatDeserialize(FormatDeserializer &deserializer, ColumnList &columns) {
|
124
|
+
auto physical_columns = columns.Physical();
|
125
|
+
auto iter = physical_columns.begin();
|
126
|
+
deserializer.ReadList(100, "column_stats", [&](FormatDeserializer::List &list, idx_t i) {
|
127
|
+
auto &col = *iter.operator++();
|
128
|
+
auto type = col.GetType();
|
129
|
+
deserializer.Set<LogicalType &>(type);
|
130
|
+
auto stats = ColumnStatistics::FormatDeserialize(deserializer);
|
131
|
+
deserializer.Unset<LogicalType>();
|
132
|
+
column_stats.push_back(std::move(stats));
|
133
|
+
});
|
134
|
+
}
|
135
|
+
|
115
136
|
unique_ptr<TableStatisticsLock> TableStatistics::GetLock() {
|
116
137
|
return make_uniq<TableStatisticsLock>(stats_lock);
|
117
138
|
}
|
@@ -53,7 +53,7 @@ bool WriteAheadLog::Replay(AttachedDatabase &database, string &path) {
|
|
53
53
|
}
|
54
54
|
}
|
55
55
|
} catch (std::exception &ex) { // LCOV_EXCL_START
|
56
|
-
Printer::
|
56
|
+
Printer::PrintF("Exception in WAL playback during initial read: %s\n", ex.what());
|
57
57
|
return false;
|
58
58
|
} catch (...) {
|
59
59
|
Printer::Print("Unknown Exception in WAL playback during initial read");
|
@@ -99,7 +99,7 @@ bool WriteAheadLog::Replay(AttachedDatabase &database, string &path) {
|
|
99
99
|
}
|
100
100
|
} catch (std::exception &ex) { // LCOV_EXCL_START
|
101
101
|
// FIXME: this should report a proper warning in the connection
|
102
|
-
Printer::
|
102
|
+
Printer::PrintF("Exception in WAL playback: %s\n", ex.what());
|
103
103
|
// exception thrown in WAL replay: rollback
|
104
104
|
con.Rollback();
|
105
105
|
} catch (...) {
|
@@ -11,10 +11,24 @@ DeserializedStatementVerifierV2::DeserializedStatementVerifierV2(unique_ptr<SQLS
|
|
11
11
|
unique_ptr<StatementVerifier> DeserializedStatementVerifierV2::Create(const SQLStatement &statement) {
|
12
12
|
auto &select_stmt = statement.Cast<SelectStatement>();
|
13
13
|
|
14
|
-
auto blob = BinarySerializer::Serialize(select_stmt);
|
14
|
+
auto blob = BinarySerializer::Serialize(select_stmt, true);
|
15
15
|
auto result = BinaryDeserializer::Deserialize<SelectStatement>(blob.data(), blob.size());
|
16
16
|
|
17
17
|
return make_uniq<DeserializedStatementVerifierV2>(std::move(result));
|
18
18
|
}
|
19
19
|
|
20
|
+
DeserializedStatementVerifierNoDefaultV2::DeserializedStatementVerifierNoDefaultV2(unique_ptr<SQLStatement> statement_p)
|
21
|
+
: StatementVerifier(VerificationType::DESERIALIZED_V2_NO_DEFAULT, "Deserialized V2 without default values",
|
22
|
+
std::move(statement_p)) {
|
23
|
+
}
|
24
|
+
|
25
|
+
unique_ptr<StatementVerifier> DeserializedStatementVerifierNoDefaultV2::Create(const SQLStatement &statement) {
|
26
|
+
auto &select_stmt = statement.Cast<SelectStatement>();
|
27
|
+
|
28
|
+
auto blob = BinarySerializer::Serialize(select_stmt, false);
|
29
|
+
auto result = BinaryDeserializer::Deserialize<SelectStatement>(blob.data(), blob.size());
|
30
|
+
|
31
|
+
return make_uniq<DeserializedStatementVerifierNoDefaultV2>(std::move(result));
|
32
|
+
}
|
33
|
+
|
20
34
|
} // namespace duckdb
|
@@ -35,6 +35,8 @@ unique_ptr<StatementVerifier> StatementVerifier::Create(VerificationType type, c
|
|
35
35
|
return DeserializedStatementVerifier::Create(statement_p);
|
36
36
|
case VerificationType::DESERIALIZED_V2:
|
37
37
|
return DeserializedStatementVerifierV2::Create(statement_p);
|
38
|
+
case VerificationType::DESERIALIZED_V2_NO_DEFAULT:
|
39
|
+
return DeserializedStatementVerifierNoDefaultV2::Create(statement_p);
|
38
40
|
case VerificationType::PARSED:
|
39
41
|
return ParsedStatementVerifier::Create(statement_p);
|
40
42
|
case VerificationType::UNOPTIMIZED:
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#include "src/execution/operator/csv_scanner/base_csv_reader.cpp"
|
2
|
+
|
3
|
+
#include "src/execution/operator/csv_scanner/buffered_csv_reader.cpp"
|
4
|
+
|
5
|
+
#include "src/execution/operator/csv_scanner/csv_buffer.cpp"
|
6
|
+
|
7
|
+
#include "src/execution/operator/csv_scanner/csv_buffer_manager.cpp"
|
8
|
+
|
9
|
+
#include "src/execution/operator/csv_scanner/csv_file_handle.cpp"
|
10
|
+
|
11
|
+
#include "src/execution/operator/csv_scanner/csv_reader_options.cpp"
|
12
|
+
|
13
|
+
#include "src/execution/operator/csv_scanner/csv_state_machine.cpp"
|
14
|
+
|
15
|
+
#include "src/execution/operator/csv_scanner/csv_state_machine_cache.cpp"
|
16
|
+
|
17
|
+
#include "src/execution/operator/csv_scanner/parallel_csv_reader.cpp"
|
18
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
#include "src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp"
|
2
|
+
|
3
|
+
#include "src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp"
|
4
|
+
|
5
|
+
#include "src/execution/operator/csv_scanner/sniffer/header_detection.cpp"
|
6
|
+
|
7
|
+
#include "src/execution/operator/csv_scanner/sniffer/type_detection.cpp"
|
8
|
+
|
9
|
+
#include "src/execution/operator/csv_scanner/sniffer/type_refinement.cpp"
|
10
|
+
|
11
|
+
#include "src/execution/operator/csv_scanner/sniffer/type_replacement.cpp"
|
12
|
+
|
@@ -1,15 +1,3 @@
|
|
1
|
-
#include "src/execution/operator/persistent/base_csv_reader.cpp"
|
2
|
-
|
3
|
-
#include "src/execution/operator/persistent/buffered_csv_reader.cpp"
|
4
|
-
|
5
|
-
#include "src/execution/operator/persistent/parallel_csv_reader.cpp"
|
6
|
-
|
7
|
-
#include "src/execution/operator/persistent/csv_buffer.cpp"
|
8
|
-
|
9
|
-
#include "src/execution/operator/persistent/csv_file_handle.cpp"
|
10
|
-
|
11
|
-
#include "src/execution/operator/persistent/csv_reader_options.cpp"
|
12
|
-
|
13
1
|
#include "src/execution/operator/persistent/csv_rejects_table.cpp"
|
14
2
|
|
15
3
|
#include "src/execution/operator/persistent/physical_fixed_batch_copy.cpp"
|