duckdb 0.3.3-dev581.0 → 0.3.3-dev626.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/src/duckdb.hpp CHANGED
@@ -11,8 +11,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
11
11
  #pragma once
12
12
  #define DUCKDB_AMALGAMATION 1
13
13
  #define DUCKDB_AMALGAMATION_EXTENDED 1
14
- #define DUCKDB_SOURCE_ID "818903e44"
15
- #define DUCKDB_VERSION "v0.3.3-dev581"
14
+ #define DUCKDB_SOURCE_ID "8d8a8d16d"
15
+ #define DUCKDB_VERSION "v0.3.3-dev626"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -261,6 +261,19 @@ enum class ProfilerPrintFormat : uint8_t { NONE, QUERY_TREE, JSON, QUERY_TREE_OP
261
261
  #endif
262
262
 
263
263
  namespace duckdb {
264
+
265
+ // explicit fallthrough for switch_statementss
266
+ #ifndef __has_cpp_attribute // For backwards compatibility
267
+ #define __has_cpp_attribute(x) 0
268
+ #endif
269
+ #if __has_cpp_attribute(clang::fallthrough)
270
+ #define DUCKDB_EXPLICIT_FALLTHROUGH [[clang::fallthrough]]
271
+ #elif __has_cpp_attribute(gnu::fallthrough)
272
+ #define DUCKDB_EXPLICIT_FALLTHROUGH [[gnu::fallthrough]]
273
+ #else
274
+ #define DUCKDB_EXPLICIT_FALLTHROUGH
275
+ #endif
276
+
264
277
  #if !defined(_MSC_VER) && (__cplusplus < 201402L)
265
278
  template <typename T, typename... Args>
266
279
  unique_ptr<T> make_unique(Args &&... args) {
@@ -5038,7 +5051,15 @@ private:
5038
5051
  static inline void ExecuteLoop(INPUT_TYPE *__restrict ldata, RESULT_TYPE *__restrict result_data, idx_t count,
5039
5052
  const SelectionVector *__restrict sel_vector, ValidityMask &mask,
5040
5053
  ValidityMask &result_mask, void *dataptr, bool adds_nulls) {
5041
- ASSERT_RESTRICT(ldata, ldata + count, result_data, result_data + count);
5054
+ #ifdef DEBUG
5055
+ // ldata may point to a compressed dictionary buffer which can be smaller than ldata + count
5056
+ idx_t max_index = 0;
5057
+ for (idx_t i = 0; i < count; i++) {
5058
+ auto idx = sel_vector->get_index(i);
5059
+ max_index = MaxValue(max_index, idx);
5060
+ }
5061
+ ASSERT_RESTRICT(ldata, ldata + max_index, result_data, result_data + count);
5062
+ #endif
5042
5063
 
5043
5064
  if (!mask.AllValid()) {
5044
5065
  result_mask.EnsureWritable();
@@ -19626,6 +19647,17 @@ struct CompressedSegmentState {
19626
19647
  }
19627
19648
  };
19628
19649
 
19650
+ struct UncompressedCompressState : public CompressionState {
19651
+ explicit UncompressedCompressState(ColumnDataCheckpointer &checkpointer);
19652
+
19653
+ ColumnDataCheckpointer &checkpointer;
19654
+ unique_ptr<ColumnSegment> current_segment;
19655
+
19656
+ virtual void CreateEmptySegment(idx_t row_start);
19657
+ void FlushSegment(idx_t segment_size);
19658
+ void Finalize(idx_t segment_size);
19659
+ };
19660
+
19629
19661
  //===--------------------------------------------------------------------===//
19630
19662
  // Analyze
19631
19663
  //===--------------------------------------------------------------------===//