duckdb 0.6.2-dev572.0 → 0.6.2-dev579.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 +12 -7
- package/src/duckdb.hpp +585 -582
- package/src/parquet-amalgamation.cpp +28508 -28508
package/package.json
CHANGED
package/src/duckdb.cpp
CHANGED
|
@@ -184488,7 +184488,8 @@ void Transformer::TransformCTE(duckdb_libpgquery::PGWithClause *de_with_clause,
|
|
|
184488
184488
|
if (cte->cterecursive || de_with_clause->recursive) {
|
|
184489
184489
|
info->query = TransformRecursiveCTE(cte, *info);
|
|
184490
184490
|
} else {
|
|
184491
|
-
|
|
184491
|
+
Transformer cte_transformer(this);
|
|
184492
|
+
info->query = cte_transformer.TransformSelect(cte->ctequery);
|
|
184492
184493
|
}
|
|
184493
184494
|
D_ASSERT(info->query);
|
|
184494
184495
|
auto cte_name = string(cte->ctename);
|
|
@@ -194958,6 +194959,7 @@ public:
|
|
|
194958
194959
|
} // namespace duckdb
|
|
194959
194960
|
|
|
194960
194961
|
|
|
194962
|
+
|
|
194961
194963
|
namespace duckdb {
|
|
194962
194964
|
|
|
194963
194965
|
unique_ptr<BoundTableRef> Binder::Bind(BaseTableRef &ref) {
|
|
@@ -195013,14 +195015,17 @@ unique_ptr<BoundTableRef> Binder::Bind(BaseTableRef &ref) {
|
|
|
195013
195015
|
auto table_name = ref.schema_name.empty() ? ref.table_name : (ref.schema_name + "." + ref.table_name);
|
|
195014
195016
|
// table could not be found: try to bind a replacement scan
|
|
195015
195017
|
auto &config = DBConfig::GetConfig(context);
|
|
195016
|
-
|
|
195017
|
-
auto
|
|
195018
|
-
|
|
195019
|
-
|
|
195020
|
-
|
|
195021
|
-
|
|
195018
|
+
if (context.config.use_replacement_scans) {
|
|
195019
|
+
for (auto &scan : config.replacement_scans) {
|
|
195020
|
+
auto replacement_function = scan.function(context, table_name, scan.data.get());
|
|
195021
|
+
if (replacement_function) {
|
|
195022
|
+
replacement_function->alias = ref.alias.empty() ? ref.table_name : ref.alias;
|
|
195023
|
+
replacement_function->column_name_alias = ref.column_name_alias;
|
|
195024
|
+
return Bind(*replacement_function);
|
|
195025
|
+
}
|
|
195022
195026
|
}
|
|
195023
195027
|
}
|
|
195028
|
+
|
|
195024
195029
|
// we still didn't find the table
|
|
195025
195030
|
if (GetBindingMode() == BindingMode::EXTRACT_NAMES) {
|
|
195026
195031
|
// if we are in EXTRACT_NAMES, we create a dummy table ref
|