In Oracle23aiClient.get(), the limit variable was referenced in log.info() before it was assigned. Python treats limit as a local variable throughout the entire function scope (due to the assignment on the next line), causing UnboundLocalError: cannot access local variable 'limit' where it is not associated with a value when hybrid search calls VECTOR_DB_CLIENT.get(collection_name).
Fix
Move limit = 1000 assignment before the log.info() call so the variable is defined when first referenced.
Impact
Hybrid search with Oracle 23ai was completely broken
Users enabling Hybrid Search and performing RAG queries would hit this crash
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/open-webui/open-webui/pull/22765
**Author:** [@aayushbaluni](https://github.com/aayushbaluni)
**Created:** 3/17/2026
**Status:** ❌ Closed
**Base:** `main` ← **Head:** `fix/22664-oracle23ai-limit-unbound`
---
### 📝 Commits (1)
- [`2532617`](https://github.com/open-webui/open-webui/commit/253261765f2ebbcda70cef8c3f65c35a97c76bce) fix(oracle23ai): assign limit before use to fix UnboundLocalError (#22664)
### 📊 Changes
**1 file changed** (+1 additions, -1 deletions)
<details>
<summary>View changed files</summary>
📝 `backend/open_webui/retrieval/vector/dbs/oracle23ai.py` (+1 -1)
</details>
### 📄 Description
## Summary
Fixes #22664
## Root Cause
In `Oracle23aiClient.get()`, the `limit` variable was referenced in `log.info()` before it was assigned. Python treats `limit` as a local variable throughout the entire function scope (due to the assignment on the next line), causing `UnboundLocalError: cannot access local variable 'limit' where it is not associated with a value` when hybrid search calls `VECTOR_DB_CLIENT.get(collection_name)`.
## Fix
Move `limit = 1000` assignment before the `log.info()` call so the variable is defined when first referenced.
## Impact
- Hybrid search with Oracle 23ai was completely broken
- Users enabling Hybrid Search and performing RAG queries would hit this crash
- Minimal one-line fix, no behavior change
Made with [Cursor](https://cursor.com)
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/22765
Author: @aayushbaluni
Created: 3/17/2026
Status: ❌ Closed
Base:
main← Head:fix/22664-oracle23ai-limit-unbound📝 Commits (1)
2532617fix(oracle23ai): assign limit before use to fix UnboundLocalError (#22664)📊 Changes
1 file changed (+1 additions, -1 deletions)
View changed files
📝
backend/open_webui/retrieval/vector/dbs/oracle23ai.py(+1 -1)📄 Description
Summary
Fixes #22664
Root Cause
In
Oracle23aiClient.get(), thelimitvariable was referenced inlog.info()before it was assigned. Python treatslimitas a local variable throughout the entire function scope (due to the assignment on the next line), causingUnboundLocalError: cannot access local variable 'limit' where it is not associated with a valuewhen hybrid search callsVECTOR_DB_CLIENT.get(collection_name).Fix
Move
limit = 1000assignment before thelog.info()call so the variable is defined when first referenced.Impact
Made with Cursor
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.