open-webui/backend/open_webui/retrieval
Classic298 d03e9af0b7
perf: use the orjson codec to parse Oracle vector metadata (#27813)
`_json_to_metadata` parses the metadata of every result row returned by search and get. It now goes through `JSONCodec`, which selects orjson when `ENABLE_ORJSON` is set.

The text it parses is produced by Oracle's own `JSON_SERIALIZE`, and the column is a native `JSON` type, so the database normalises whatever was written and the reader never depends on the writer's escaping.

The matching `_metadata_to_json` write deliberately keeps stdlib `json`: it passes `default=self._decimal_handler`, orjson accepts none of stdlib's keyword arguments, and dropping the handler would turn a currently successful insert of a `Decimal` into a hard failure. The read side has no such constraint.

With `ENABLE_ORJSON` unset, which is the default, `JSONCodec` is stdlib `json` and this call site behaves exactly as before.
2026-07-31 17:31:14 -04:00
..
loaders refac 2026-07-27 19:39:36 -04:00
models refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
vector perf: use the orjson codec to parse Oracle vector metadata (#27813) 2026-07-31 17:31:14 -04:00
web refac 2026-07-27 19:39:36 -04:00
external.py refac 2026-07-27 01:59:17 -04:00
utils.py perf: stop query_collection blocking the event loop (#27824) 2026-07-31 17:24:31 -04:00