diff --git a/.github/workflows/MainDistributionPipeline.yml b/.github/workflows/MainDistributionPipeline.yml index 14214e9..a88fc9c 100644 --- a/.github/workflows/MainDistributionPipeline.yml +++ b/.github/workflows/MainDistributionPipeline.yml @@ -14,9 +14,9 @@ concurrency: jobs: duckdb-stable-build: name: Build extension binaries - uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@v0.10.3 + uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@v1.0.0 with: - duckdb_version: v0.10.3 + duckdb_version: main extension_name: sqlsmith duckdb-stable-deploy: @@ -25,6 +25,6 @@ jobs: uses: ./.github/workflows/_extension_deploy.yml secrets: inherit with: - duckdb_version: v0.10.3 + duckdb_version: main extension_name: sqlsmith deploy_latest: ${{ startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' }} diff --git a/src/statement_generator.cpp b/src/statement_generator.cpp index 3d0b975..21a555d 100644 --- a/src/statement_generator.cpp +++ b/src/statement_generator.cpp @@ -165,7 +165,7 @@ unique_ptr StatementGenerator::GenerateSet() { name_expr = make_uniq(Value(name)); } auto set = make_uniq("schema", std::move(name_expr), SetScope::AUTOMATIC); - return set; + return unique_ptr_cast(std::move(set)); } unique_ptr StatementGenerator::GenerateAttachUse() { @@ -517,9 +517,19 @@ unique_ptr StatementGenerator::GenerateSubqueryRef() { } unique_ptr StatementGenerator::GenerateTableFunctionRef() { - auto function = make_uniq(); - auto &table_function_ref = Choose(generator_context->table_functions); - auto &entry = table_function_ref.get().Cast(); + auto num_table_functions = generator_context->table_functions.size(); + auto random_val = RandomValue(num_table_functions); + auto original_val = random_val; + auto table_function_ref = &generator_context->table_functions[random_val]; + while (table_function_ref->get().type == CatalogType::TABLE_MACRO_ENTRY) { + random_val += 1; + random_val %= num_table_functions; + if (random_val == original_val) { + throw InternalException("No table_functions to test."); + } + table_function_ref = &generator_context->table_functions[random_val]; + } + auto &entry = table_function_ref->get().Cast(); auto table_function = entry.functions.GetFunctionByOffset(RandomValue(entry.functions.Size())); auto result = make_uniq(); @@ -1201,7 +1211,7 @@ string StatementGenerator::RandomString(idx_t length) { const string charset = "$_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; string result = ""; - for (int i = 0; i < length; ++i) { + for (idx_t i = 0; i < length; ++i) { int randomIndex = RandomValue(charset.length()); result += charset[randomIndex]; }