Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/duckdb-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4ce2416bbf4996e191679c19316517ba03ce36f6
21 changes: 18 additions & 3 deletions .github/workflows/MainDistributionPipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,26 @@ concurrency:
cancel-in-progress: true

jobs:
# Pin the duckdb build to the commit our submodule references (.github/duckdb-version), instead of
# tracking duckdb main — otherwise upstream-main API drift breaks CI on changes unrelated to this repo.
get-duckdb-version:
name: Get DuckDB version
runs-on: ubuntu-latest
outputs:
duckdb_version: ${{ steps.version.outputs.duckdb_version }}
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: .github
- id: version
run: echo "duckdb_version=$(cat .github/duckdb-version)" >> $GITHUB_OUTPUT

duckdb-stable-build:
name: Build extension binaries
needs: get-duckdb-version
uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@main
with:
duckdb_version: main
duckdb_version: ${{ needs.get-duckdb-version.outputs.duckdb_version }}
ci_tools_version: main
extension_name: fts

Expand All @@ -26,15 +41,15 @@ jobs:
uses: duckdb/extension-ci-tools/.github/workflows/_extension_deploy.yml@main
secrets: inherit
with:
duckdb_version: main
duckdb_version: ${{ needs.get-duckdb-version.outputs.duckdb_version }}
ci_tools_version: main
extension_name: fts

code-quality-check:
name: Code Quality Check
uses: duckdb/extension-ci-tools/.github/workflows/_extension_code_quality.yml@main
with:
duckdb_version: main
duckdb_version: ${{ needs.get-duckdb-version.outputs.duckdb_version }}
ci_tools_version: main
extension_name: fts
format_checks: 'format;tidy'
2 changes: 1 addition & 1 deletion duckdb
Submodule duckdb updated 886 files
18 changes: 8 additions & 10 deletions src/fts_indexing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@ static QualifiedName GetQualifiedName(ClientContext &context,
const string &qname_str) {
auto qname = QualifiedName::Parse(qname_str);
if (qname.Schema() == INVALID_SCHEMA) {
qname.SchemaMutable() =
return QualifiedName(
qname.Catalog(),
ClientData::Get(context).catalog_search_path->GetDefaultSchema(
qname.Catalog());
qname.Catalog()),
qname.Name());
}
return qname;
}
Expand Down Expand Up @@ -82,8 +84,7 @@ static string GetFTSBuildDictTable(const QualifiedName &qname) {

static bool TableExists(ClientContext &context, const QualifiedName &qname) {
return Catalog::GetEntry<TableCatalogEntry>(
context, qname.Catalog(), qname.Schema(), qname.Name(),
OnEntryNotFound::RETURN_NULL) != nullptr;
context, qname, OnEntryNotFound::RETURN_NULL) != nullptr;
}

static bool SupportsFTSTriggers(ClientContext &context,
Expand Down Expand Up @@ -712,8 +713,7 @@ string FTSIndexing::CreateFTSIndexQuery(ClientContext &context,
const FunctionParameters &parameters) {
auto qname =
GetQualifiedName(context, StringValue::Get(parameters.values[0]));
Catalog::GetEntry<TableCatalogEntry>(context, qname.Catalog(), qname.Schema(),
qname.Name());
Catalog::GetEntry<TableCatalogEntry>(context, qname);

// Named parameters
auto get_string = [&](const string &name, const string &def) {
Expand Down Expand Up @@ -741,8 +741,7 @@ string FTSIndexing::CreateFTSIndexQuery(ClientContext &context,

if (stopwords != "english" && stopwords != "none") {
auto sw_qname = GetQualifiedName(context, stopwords);
Catalog::GetEntry<TableCatalogEntry>(context, sw_qname.Catalog(),
sw_qname.Schema(), sw_qname.Name());
Catalog::GetEntry<TableCatalogEntry>(context, sw_qname);
}

const string fts_schema = GetFTSSchema(qname);
Expand All @@ -760,8 +759,7 @@ string FTSIndexing::CreateFTSIndexQuery(ClientContext &context,

// Positional parameters: table, id column, value column(s)
const string doc_id = StringValue::Get(parameters.values[1]);
auto &table = Catalog::GetEntry<TableCatalogEntry>(
context, qname.Catalog(), qname.Schema(), qname.Name());
auto &table = Catalog::GetEntry<TableCatalogEntry>(context, qname);
if (!table.ColumnExists(Identifier(doc_id))) {
throw CatalogException("Table '%s.%s' does not have a column named '%s'!",
qname.Schema().GetIdentifierName(),
Expand Down
Loading