duckdb 0.3.2-dev1316.0 → 0.3.2-dev1325.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/package.json +1 -1
- package/src/duckdb.cpp +18 -1
- package/src/duckdb.hpp +482 -477
- package/src/parquet-amalgamation.cpp +36562 -36562
package/package.json
CHANGED
package/src/duckdb.cpp
CHANGED
|
@@ -49352,7 +49352,6 @@ SinkResultType PhysicalSimpleAggregate::Sink(ExecutionContext &context, GlobalSi
|
|
|
49352
49352
|
|
|
49353
49353
|
DataChunk &payload_chunk = sink.payload_chunk;
|
|
49354
49354
|
sink.child_executor.SetChunk(input);
|
|
49355
|
-
payload_chunk.SetCardinality(input);
|
|
49356
49355
|
for (idx_t aggr_idx = 0; aggr_idx < aggregates.size(); aggr_idx++) {
|
|
49357
49356
|
DataChunk filtered_input;
|
|
49358
49357
|
auto &aggregate = (BoundAggregateExpression &)*aggregates[aggr_idx];
|
|
@@ -49367,6 +49366,8 @@ SinkResultType PhysicalSimpleAggregate::Sink(ExecutionContext &context, GlobalSi
|
|
|
49367
49366
|
filtered_input.Slice(input, true_sel, count);
|
|
49368
49367
|
sink.child_executor.SetChunk(filtered_input);
|
|
49369
49368
|
payload_chunk.SetCardinality(count);
|
|
49369
|
+
} else {
|
|
49370
|
+
payload_chunk.SetCardinality(input);
|
|
49370
49371
|
}
|
|
49371
49372
|
// resolve the child expressions of the aggregate (if any)
|
|
49372
49373
|
if (!aggregate.children.empty()) {
|
|
@@ -148283,7 +148284,9 @@ unique_ptr<BoundTableRef> Binder::Bind(BaseTableRef &ref) {
|
|
|
148283
148284
|
subquery.column_name_alias =
|
|
148284
148285
|
BindContext::AliasColumnNames(subquery.alias, view_catalog_entry->aliases, ref.column_name_alias);
|
|
148285
148286
|
// bind the child subquery
|
|
148287
|
+
view_binder->AddBoundView(view_catalog_entry);
|
|
148286
148288
|
auto bound_child = view_binder->Bind(subquery);
|
|
148289
|
+
|
|
148287
148290
|
D_ASSERT(bound_child->type == TableReferenceType::SUBQUERY);
|
|
148288
148291
|
// verify that the types and names match up with the expected types and names
|
|
148289
148292
|
auto &bound_subquery = (BoundSubqueryRef &)*bound_child;
|
|
@@ -149272,6 +149275,7 @@ unique_ptr<LogicalOperator> Binder::CreatePlan(BoundTableFunction &ref) {
|
|
|
149272
149275
|
|
|
149273
149276
|
|
|
149274
149277
|
|
|
149278
|
+
|
|
149275
149279
|
#include <algorithm>
|
|
149276
149280
|
|
|
149277
149281
|
namespace duckdb {
|
|
@@ -149489,6 +149493,19 @@ bool Binder::CTEIsAlreadyBound(CommonTableExpressionInfo *cte) {
|
|
|
149489
149493
|
return false;
|
|
149490
149494
|
}
|
|
149491
149495
|
|
|
149496
|
+
void Binder::AddBoundView(ViewCatalogEntry *view) {
|
|
149497
|
+
// check if the view is already bound
|
|
149498
|
+
auto current = this;
|
|
149499
|
+
while (current) {
|
|
149500
|
+
if (current->bound_views.find(view) != current->bound_views.end()) {
|
|
149501
|
+
throw BinderException("infinite recursion detected: attempting to recursively bind view \"%s\"",
|
|
149502
|
+
view->name);
|
|
149503
|
+
}
|
|
149504
|
+
current = current->parent.get();
|
|
149505
|
+
}
|
|
149506
|
+
bound_views.insert(view);
|
|
149507
|
+
}
|
|
149508
|
+
|
|
149492
149509
|
idx_t Binder::GenerateTableIndex() {
|
|
149493
149510
|
if (parent) {
|
|
149494
149511
|
return parent->GenerateTableIndex();
|