Skip to content

Commit 8d5719c

Browse files
EDsCODEclaude
andcommitted
Fix DuckLake detach by switching away from default database first
When DuckLake is configured, we set it as the default database with `USE ducklake`. On connection close, attempting to `DETACH ducklake` fails with: "Cannot detach database 'ducklake' because it is the default database." Fix by running `USE memory` before detaching to switch to a different database first. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 72f7837 commit 8d5719c

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

server/conn.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ func (c *clientConn) serve() error {
8989
if c.db != nil {
9090
// Detach DuckLake to release the RDS metadata connection
9191
if c.server.cfg.DuckLake.MetadataStore != "" {
92+
// Must switch away from ducklake before detaching - DuckDB doesn't allow
93+
// detaching the default database
94+
c.db.Exec("USE memory")
9295
if _, err := c.db.Exec("DETACH ducklake"); err != nil {
9396
log.Printf("Warning: failed to detach DuckLake for user %q: %v", c.username, err)
9497
}

0 commit comments

Comments
 (0)