Skip to content

Commit d18dcfc

Browse files
wcchang1115claude
authored andcommitted
fix(adapter): match DuckDB 1.5.x external-access denial wording
DuckDB 1.5.x reworded its runtime denial from "Cannot change enable_external_access setting while database is running" to "Cannot enable external access while database is running". The pinned matcher in is_duckdb_external_access_blocked() no longer matched, so the raw InvalidInputException escaped unwrapped instead of becoming DuckDBExternalAccessBlocked — breaking the HTTP 400 contract and turning CI red (test_blocks_external_access_sql_when_disabled[SET bypass]) once duckdb==1.5.2 resolved. Add the new wording to the pinned denial list, keeping the old one for DuckDB <= 1.4.x still in use. Validated locally against both duckdb 1.4.4 and 1.5.2: the SET-bypass case fails without this change and passes with it. Refs DRC-3578 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Wei-Chun, Chang <wcchang@infuseai.io>
1 parent 5ef9c4b commit d18dcfc

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

recce/exceptions.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ def __init__(self, original_message: str):
3737
_DUCKDB_EXTERNAL_ACCESS_DENIAL_MESSAGES = (
3838
"file system operations are disabled by configuration",
3939
"Loading external extensions is disabled through configuration",
40+
# DuckDB <= 1.4.x
4041
"Cannot change enable_external_access setting while database is running",
42+
# DuckDB >= 1.5.x reworded this denial
43+
"Cannot enable external access while database is running",
4144
)
4245

4346

0 commit comments

Comments
 (0)