duckdb 0.8.2-dev77.0 → 0.8.2-dev87.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 +7 -7
- package/package.json +1 -1
- package/src/duckdb/src/execution/physical_operator.cpp +17 -14
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +3 -0
- package/src/duckdb/src/parallel/pipeline_executor.cpp +1 -0
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +0 -1
- package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +5 -5
package/binding.gyp
CHANGED
@@ -237,18 +237,18 @@
|
|
237
237
|
"src/duckdb/third_party/zstd/compress/zstd_lazy.cpp",
|
238
238
|
"src/duckdb/third_party/zstd/compress/zstd_ldm.cpp",
|
239
239
|
"src/duckdb/third_party/zstd/compress/zstd_opt.cpp",
|
240
|
-
"src/duckdb/extension/icu/./icu_extension.cpp",
|
241
|
-
"src/duckdb/extension/icu/./icu-list-range.cpp",
|
242
|
-
"src/duckdb/extension/icu/./icu-datefunc.cpp",
|
243
240
|
"src/duckdb/extension/icu/./icu-datepart.cpp",
|
244
|
-
"src/duckdb/extension/icu/./icu-
|
241
|
+
"src/duckdb/extension/icu/./icu-timezone.cpp",
|
242
|
+
"src/duckdb/extension/icu/./icu-makedate.cpp",
|
245
243
|
"src/duckdb/extension/icu/./icu-table-range.cpp",
|
244
|
+
"src/duckdb/extension/icu/./icu-datefunc.cpp",
|
245
|
+
"src/duckdb/extension/icu/./icu-list-range.cpp",
|
246
246
|
"src/duckdb/extension/icu/./icu-dateadd.cpp",
|
247
|
-
"src/duckdb/extension/icu/./icu-strptime.cpp",
|
248
247
|
"src/duckdb/extension/icu/./icu-datesub.cpp",
|
249
|
-
"src/duckdb/extension/icu/./icu-makedate.cpp",
|
250
|
-
"src/duckdb/extension/icu/./icu-timezone.cpp",
|
251
248
|
"src/duckdb/extension/icu/./icu-timebucket.cpp",
|
249
|
+
"src/duckdb/extension/icu/./icu-strptime.cpp",
|
250
|
+
"src/duckdb/extension/icu/./icu_extension.cpp",
|
251
|
+
"src/duckdb/extension/icu/./icu-datetrunc.cpp",
|
252
252
|
"src/duckdb/ub_extension_icu_third_party_icu_common.cpp",
|
253
253
|
"src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp",
|
254
254
|
"src/duckdb/extension/icu/third_party/icu/stubdata/stubdata.cpp",
|
package/package.json
CHANGED
@@ -124,6 +124,22 @@ idx_t PhysicalOperator::GetMaxThreadMemory(ClientContext &context) {
|
|
124
124
|
return (max_memory / num_threads) / 4;
|
125
125
|
}
|
126
126
|
|
127
|
+
bool PhysicalOperator::OperatorCachingAllowed(ExecutionContext &context) {
|
128
|
+
if (!context.client.config.enable_caching_operators) {
|
129
|
+
return false;
|
130
|
+
} else if (!context.pipeline) {
|
131
|
+
return false;
|
132
|
+
} else if (!context.pipeline->GetSink()) {
|
133
|
+
return false;
|
134
|
+
} else if (context.pipeline->GetSink()->RequiresBatchIndex()) {
|
135
|
+
return false;
|
136
|
+
} else if (context.pipeline->IsOrderDependent()) {
|
137
|
+
return false;
|
138
|
+
}
|
139
|
+
|
140
|
+
return true;
|
141
|
+
}
|
142
|
+
|
127
143
|
//===--------------------------------------------------------------------===//
|
128
144
|
// Pipeline Construction
|
129
145
|
//===--------------------------------------------------------------------===//
|
@@ -239,20 +255,7 @@ OperatorResultType CachingPhysicalOperator::Execute(ExecutionContext &context, D
|
|
239
255
|
#if STANDARD_VECTOR_SIZE >= 128
|
240
256
|
if (!state.initialized) {
|
241
257
|
state.initialized = true;
|
242
|
-
state.can_cache_chunk =
|
243
|
-
|
244
|
-
if (!context.client.config.enable_caching_operators) {
|
245
|
-
state.can_cache_chunk = false;
|
246
|
-
} else if (!context.pipeline || !caching_supported) {
|
247
|
-
state.can_cache_chunk = false;
|
248
|
-
} else if (!context.pipeline->GetSink()) {
|
249
|
-
// Disabling for pipelines without Sink, i.e. when pulling
|
250
|
-
state.can_cache_chunk = false;
|
251
|
-
} else if (context.pipeline->GetSink()->RequiresBatchIndex()) {
|
252
|
-
state.can_cache_chunk = false;
|
253
|
-
} else if (context.pipeline->IsOrderDependent()) {
|
254
|
-
state.can_cache_chunk = false;
|
255
|
-
}
|
258
|
+
state.can_cache_chunk = caching_supported && PhysicalOperator::OperatorCachingAllowed(context);
|
256
259
|
}
|
257
260
|
if (!state.can_cache_chunk) {
|
258
261
|
return child_result;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#ifndef DUCKDB_VERSION
|
2
|
-
#define DUCKDB_VERSION "0.8.2-
|
2
|
+
#define DUCKDB_VERSION "0.8.2-dev87"
|
3
3
|
#endif
|
4
4
|
#ifndef DUCKDB_SOURCE_ID
|
5
|
-
#define DUCKDB_SOURCE_ID "
|
5
|
+
#define DUCKDB_SOURCE_ID "8a17511028"
|
6
6
|
#endif
|
7
7
|
#include "duckdb/function/table/system_functions.hpp"
|
8
8
|
#include "duckdb/main/database.hpp"
|
@@ -156,6 +156,9 @@ public:
|
|
156
156
|
//! The maximum amount of memory the operator should use per thread.
|
157
157
|
static idx_t GetMaxThreadMemory(ClientContext &context);
|
158
158
|
|
159
|
+
//! Whether operator caching is allowed in the current execution context
|
160
|
+
static bool OperatorCachingAllowed(ExecutionContext &context);
|
161
|
+
|
159
162
|
virtual bool IsSink() const {
|
160
163
|
return false;
|
161
164
|
}
|
@@ -78,6 +78,7 @@ bool PipelineExecutor::TryFlushCachingOperators() {
|
|
78
78
|
OperatorResultType push_result;
|
79
79
|
|
80
80
|
if (in_process_operators.empty()) {
|
81
|
+
curr_chunk.Reset();
|
81
82
|
StartOperator(current_operator);
|
82
83
|
finalize_result = current_operator.FinalExecute(context, curr_chunk, *current_operator.op_state,
|
83
84
|
*intermediate_states[flushing_idx]);
|
@@ -315,7 +315,6 @@ unique_ptr<SelectNode> Binder::BindPivot(PivotRef &ref, vector<unique_ptr<Parsed
|
|
315
315
|
}
|
316
316
|
ExtractPivotExpressions(*aggr, handled_columns);
|
317
317
|
}
|
318
|
-
value_set_t pivots;
|
319
318
|
|
320
319
|
// first add all pivots to the set of handled columns, and check for duplicates
|
321
320
|
idx_t total_pivots = 1;
|
@@ -348,17 +348,17 @@
|
|
348
348
|
|
349
349
|
#include "extension/icu/third_party/icu/i18n/wintzimpl.cpp"
|
350
350
|
|
351
|
-
#include "extension/icu/third_party/icu/i18n/double-conversion-fast-dtoa.cpp"
|
352
|
-
|
353
351
|
#include "extension/icu/third_party/icu/i18n/double-conversion-double-to-string.cpp"
|
354
352
|
|
355
|
-
#include "extension/icu/third_party/icu/i18n/double-conversion-
|
353
|
+
#include "extension/icu/third_party/icu/i18n/double-conversion-string-to-double.cpp"
|
356
354
|
|
357
355
|
#include "extension/icu/third_party/icu/i18n/double-conversion-cached-powers.cpp"
|
358
356
|
|
359
|
-
#include "extension/icu/third_party/icu/i18n/double-conversion-
|
357
|
+
#include "extension/icu/third_party/icu/i18n/double-conversion-fast-dtoa.cpp"
|
358
|
+
|
359
|
+
#include "extension/icu/third_party/icu/i18n/double-conversion-bignum.cpp"
|
360
360
|
|
361
361
|
#include "extension/icu/third_party/icu/i18n/double-conversion-bignum-dtoa.cpp"
|
362
362
|
|
363
|
-
#include "extension/icu/third_party/icu/i18n/double-conversion-
|
363
|
+
#include "extension/icu/third_party/icu/i18n/double-conversion-strtod.cpp"
|
364
364
|
|