Skip to content

Commit 4feb59c

Browse files
committed
fix(indexes,search): resolve catalog aliases in connection lookup; fix duplicate score column
- resolve_connection_id falls back to managed database catalog lookup so `airbnb4.listings[description]` works in indexes create and search - BM25 search no longer appends 'score' when --select already includes it
1 parent 2ec6f54 commit 4feb59c

2 files changed

Lines changed: 16 additions & 9 deletions

File tree

src/connections.rs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -173,20 +173,24 @@ pub fn resolve_connection_id(api: &ApiClient, name_or_id: &str) -> String {
173173
}
174174

175175
let body: ListResponse = api.get("/connections");
176-
match body
176+
if let Some(conn) = body
177177
.connections
178178
.iter()
179179
.find(|c| c.id == name_or_id || c.name == name_or_id)
180180
{
181-
Some(conn) => conn.id.clone(),
182-
None => {
183-
eprintln!(
184-
"{}",
185-
format!("error: no connection named or with id '{name_or_id}'").red()
186-
);
187-
std::process::exit(1);
188-
}
181+
return conn.id.clone();
189182
}
183+
184+
// Fall back to managed databases: treat name_or_id as a catalog alias.
185+
if let Ok(db) = crate::databases::try_resolve_database(api, name_or_id) {
186+
return db.default_connection_id;
187+
}
188+
189+
eprintln!(
190+
"{}",
191+
format!("error: no connection named or with id '{name_or_id}'").red()
192+
);
193+
std::process::exit(1);
190194
}
191195

192196
pub fn get(workspace_id: &str, connection_id: &str, format: &str) {

src/main.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,9 @@ fn main() {
881881
let sql = match resolved_type.as_str() {
882882
"bm25" => {
883883
let bm25_columns = match select.as_deref() {
884+
Some(cols) if cols.split(',').any(|c| c.trim() == "score") => {
885+
cols.to_string()
886+
}
884887
Some(cols) => format!("{}, score", cols),
885888
None => "*".to_string(),
886889
};

0 commit comments

Comments
 (0)