Repository navigation
Python: Forward Oracle pool configuration settings - #9233
Eduard van Valkenburg (eavanvalkenburg) merged 4 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Explicit unknown pool parameters are silently discarded instead of rejected.
1 open finding
What changed in this PR
Adds forwarding and validation for Oracle async pool settings while updating Oracle 26ai terminology.
Changes:
- Expands
OracleSettingsand forwards resolved pool options. - Adds precedence, conversion, masking, and compatibility tests.
- Updates documentation and product naming.
| File | Description |
|---|---|
python/packages/oracle/agent_framework_oracle/_vector_store.py |
Implements pool configuration forwarding. |
python/packages/oracle/agent_framework_oracle/__init__.py |
Updates package description. |
python/packages/oracle/tests/oracle/test_settings.py |
Tests pool settings and precedence. |
python/packages/oracle/tests/oracle/test_integration.py |
Updates integration-test terminology. |
python/packages/oracle/samples/oracle_vectors.py |
Updates sample terminology. |
python/packages/oracle/README.md |
Documents pool configuration and 26ai. |
python/packages/oracle/pyproject.toml |
Updates package and test metadata. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
MAF Automated Review — Iteration 1
Result: Findings reported
Scope: full PR (1 commit(s)): d5d70fcfee9d
Model: gpt-5.6-sol
Overview
The change expands OracleSettings, resolves typed pool options through the existing settings loader, and forwards them while preserving lazy pool creation, ownership, secret masking, and default pool bounds. Tests cover precedence, conversion failures, installed-driver compatibility, and pool lifecycle behavior. One residual configuration defect remains: unknown keys supplied through the new explicit mapping are silently discarded, which can leave production pools running with unintended defaults.
Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
1 verified finding remained after source verification (1 medium) across 1 file. Details are attached to the affected lines below.
Affected areas: python/packages/oracle/agent_framework_oracle/_vector_store.py
Jose Alvarez (jpalvarezl)
left a comment
There was a problem hiding this comment.
Two configuration paths added to the public settings surface are still rejected before python-oracledb receives them; details are inline.
Jose Alvarez (jpalvarezl)
left a comment
There was a problem hiding this comment.
Verified the follow-up commit addresses both prior findings: access-token authentication now preserves python-oracledb's string, IAM tuple, and callable forms without requiring user/password, and host/service_name or sid can be forwarded without a DSN. The added regression coverage and documentation match the implementation.

Motivation & Context
The Oracle vector store resolved only the core DSN, user, and password settings and did not forward additional Oracle connection and pool options. This prevented wallet configuration and other scalar
python-oracledbsettings from reachingcreate_pool_async(). The package documentation also still used the former Oracle Database 23ai product name.Description & Review Guide
OracleSettingscontract with supported scalar pool options, addedpool_parameterstoOracleStoreandOracleCollection, defined the precedence order for named credentials, typed mappings, dotenv files, environment variables, and defaults, and forwarded resolved options tocreate_pool_async(). Added type conversion, secret masking, installed-driver parameter validation, focused tests, and Oracle AI Database 26ai terminology updates.min=0/max=4defaults.OracleSettingsfield surface, and the filtering of options against the installedpython-oracledbversion.Related Issue
N/A - trivial change. This is a scoped correction to the new alpha Oracle connector's configuration forwarding and product terminology, reviewed directly without a separate tracking issue.
AI Assistance
AI assistance details: GitHub Copilot assisted with implementation, tests, documentation, and this PR description.
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and the title prefix in sync automatically.