diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index 63463dc..0319591 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -14,21 +14,21 @@ concurrency: jobs: duckdb-stable-build: name: Build extension binaries - uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@v1.4.0 + uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@main with: extension_name: sqlsmith - duckdb_version: v1.4.0 - ci_tools_version: v1.4.0 + duckdb_version: f59749da9cff1eb1d59be8b6449c8d607cac975f + ci_tools_version: main exclude_archs: '' duckdb-stable-deploy: name: Deploy extension binaries needs: duckdb-stable-build - uses: duckdb/extension-ci-tools/.github/workflows/_extension_deploy.yml@v1.4.0 + uses: duckdb/extension-ci-tools/.github/workflows/_extension_deploy.yml@main secrets: inherit with: extension_name: sqlsmith - duckdb_version: v1.4.0 - ci_tools_version: v1.4.0 + duckdb_version: f59749da9cff1eb1d59be8b6449c8d607cac975f + ci_tools_version: main exclude_archs: '' deploy_latest: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} diff --git a/duckdb b/duckdb index b8a06e4..f59749d 160000 --- a/duckdb +++ b/duckdb @@ -1 +1 @@ -Subproject commit b8a06e4a22672e254cd0baa68a3dbed2eb51c56e +Subproject commit f59749da9cff1eb1d59be8b6449c8d607cac975f diff --git a/src/include/statement_generator.hpp b/src/include/statement_generator.hpp index 57e8446..f436275 100644 --- a/src/include/statement_generator.hpp +++ b/src/include/statement_generator.hpp @@ -11,6 +11,8 @@ #include "duckdb.hpp" #include "duckdb/parser/parsed_data/detach_info.hpp" #include "duckdb/parser/query_node.hpp" +#include "duckdb/parser/statement/list.hpp" +#include "duckdb/parser/statement/multi_statement.hpp" #define TESTING_DIRECTORY_NAME "duckdb_unittest_tempdir" diff --git a/src/statement_generator.cpp b/src/statement_generator.cpp index 455833b..b8ffe8b 100644 --- a/src/statement_generator.cpp +++ b/src/statement_generator.cpp @@ -373,8 +373,9 @@ unique_ptr StatementGenerator::GenerateQueryNode() { GenerateCTEs(*setop); setop->setop_type = Choose({SetOperationType::EXCEPT, SetOperationType::INTERSECT, SetOperationType::UNION, SetOperationType::UNION_BY_NAME}); - setop->left = GenerateQueryNode(); - setop->right = GenerateQueryNode(); + for(idx_t i = 0; i < 2; i++) { + setop->children.push_back(GenerateQueryNode()); + } switch (setop->setop_type) { case SetOperationType::EXCEPT: case SetOperationType::INTERSECT: diff --git a/src/statement_simplifier.cpp b/src/statement_simplifier.cpp index 2cd7f06..4602928 100644 --- a/src/statement_simplifier.cpp +++ b/src/statement_simplifier.cpp @@ -196,8 +196,9 @@ void StatementSimplifier::Simplify(SelectNode &node) { } void StatementSimplifier::Simplify(SetOperationNode &node) { - Simplify(node.left); - Simplify(node.right); + for(auto &child : node.children) { + Simplify(child); + } } void StatementSimplifier::Simplify(CommonTableExpressionMap &cte) { @@ -218,8 +219,9 @@ void StatementSimplifier::Simplify(unique_ptr &node) { break; case QueryNodeType::SET_OPERATION_NODE: { auto &setop = node->Cast(); - SimplifyReplace(node, setop.left); - SimplifyReplace(node, setop.right); + for(auto &child : setop.children) { + SimplifyReplace(node, child); + } Simplify(setop); break; }