Skip to content

fix(database): preserve reserved characters in connection credentials - #969

Open
saksim wants to merge 1 commit into
NanmiCoder:mainfrom
saksim:codex/upstream-database-url
Open

fix(database): preserve reserved characters in connection credentials#969
saksim wants to merge 1 commit into
NanmiCoder:mainfrom
saksim:codex/upstream-database-url

Conversation

@saksim

@saksim saksim commented Sep 9, 2026

Copy link
Copy Markdown

Building database URLs with f-strings parses reserved characters in usernames/passwords as URL delimiters. For example, p@ss/word:#?% is read as password p. This breaks both initialization and normal connections.

Use SQLAlchemy URL.create to pass connection fields directly for MySQL/PostgreSQL initialization and regular engines, and the SQLite database path. Drivers, database schemas, and dependencies are unchanged. Credentials should be supplied literally, without manual percent encoding.

Validation: 4 new MySQL/PostgreSQL credential tests fail before the fix; the SQLite compatibility test passes. The isolated upstream branch passes all 101 tests (Python 3.11, Windows with PYTHONUTF8=1). Initialization and normal connections are tested through mocked engines; a temporary SQLite database executes create/insert/select. No live MySQL/PostgreSQL service is used.

Only this connection URL issue is included. Fork tracking and CI: PR #18. Related report: saksim#8.

@saksim
saksim requested a review from NanmiCoder as a code owner September 9, 2026 03:01
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant