feat: add user_id index to profiles table for faster lookups

The profiles table previously lacked an index on the user_id column, causing full table scans during user lookups. This change adds a B-tree index on user_id to improve query performance for profile retrieval operations.
This commit is contained in:
2026-06-14 01:06:18 +00:00
parent 18df2086b8
commit 8bf0b145cc
17 changed files with 662 additions and 62 deletions
+80
View File
@@ -0,0 +1,80 @@
# retoor <retoor@molodetz.nl>
import requests
from tests.conftest import BASE_URL
from devplacepy.database import get_table
def _config(page, **fields):
page.request.post(f"{BASE_URL}/admin/services/openai/config", form=fields)
def test_embeddings_disabled_returns_503(alice):
page, _ = alice
page.request.post(f"{BASE_URL}/admin/services/openai/stop")
try:
r = requests.post(
f"{BASE_URL}/openai/v1/embeddings", json={"input": "hello"}
)
assert r.status_code == 503
finally:
page.request.post(f"{BASE_URL}/admin/services/openai/start")
def test_embeddings_requires_auth(alice):
page, _ = alice
page.request.post(f"{BASE_URL}/admin/services/openai/start")
_config(page, gateway_access_key="embedkey")
try:
no_creds = requests.post(
f"{BASE_URL}/openai/v1/embeddings", json={"input": "hello"}
)
assert no_creds.status_code == 401
finally:
_config(page, gateway_access_key="")
page.request.post(f"{BASE_URL}/admin/services/openai/start")
def test_embeddings_auth_passes_upstream_unreachable(alice):
page, user = alice
page.request.post(f"{BASE_URL}/admin/services/openai/start")
_config(
page,
gateway_embed_enabled="1",
gateway_embed_url="http://127.0.0.1:9/embeddings",
gateway_access_key="embedkey",
)
try:
with_key = requests.post(
f"{BASE_URL}/openai/v1/embeddings",
headers={"X-API-KEY": "embedkey"},
json={"model": "molodetz~embed", "input": "hello"},
)
assert with_key.status_code == 502
admin_key = get_table("users").find_one(username=user["username"])["api_key"]
with_admin = requests.post(
f"{BASE_URL}/openai/v1/embeddings",
headers={"Authorization": f"Bearer {admin_key}"},
json={"model": "molodetz~embed", "input": "hello"},
)
assert with_admin.status_code == 502
finally:
_config(page, gateway_access_key="")
page.request.post(f"{BASE_URL}/admin/services/openai/start")
def test_embeddings_disabled_via_config_returns_503(alice):
page, _ = alice
page.request.post(f"{BASE_URL}/admin/services/openai/start")
_config(page, gateway_embed_enabled="0", gateway_access_key="embedkey")
try:
r = requests.post(
f"{BASE_URL}/openai/v1/embeddings",
headers={"X-API-KEY": "embedkey"},
json={"input": "hello"},
)
assert r.status_code == 503
finally:
_config(page, gateway_embed_enabled="1", gateway_access_key="")
page.request.post(f"{BASE_URL}/admin/services/openai/start")
@@ -202,3 +202,85 @@ def test_authorize_require_auth_off_is_open(local_db):
assert svc.authorize(_make_request_openai_gateway()) is True
finally:
set_setting("gateway_require_auth", "1")
class FakeEmbedClient_openai_gateway:
def __init__(self, *a, **k):
self.calls = []
def build_request(self, method, url, headers=None, json=None, content=None):
return FakeRequest(method, url, json)
async def send(self, request):
self.calls.append((request.url, request.json_body))
body = request.json_body or {}
return FakeResp_openai_gateway(
payload={
"object": "list",
"model": body.get("model"),
"data": [{"object": "embedding", "index": 0, "embedding": [0.1, 0.2]}],
"usage": {"prompt_tokens": 5, "total_tokens": 5},
}
)
async def aclose(self):
pass
def test_embeddings_remaps_alias_to_configured_model(local_db, monkeypatch):
monkeypatch.setattr(gwmod.httpx, "AsyncClient", FakeEmbedClient_openai_gateway)
svc = GatewayService()
cfg = svc.effective_config()
cfg["gateway_force_model"] = False
cfg["gateway_embed_enabled"] = True
cfg["gateway_embed_model"] = "qwen/qwen3-embedding-8b"
rt = svc.runtime()
run_async(
rt.handle_embeddings(
{"model": "molodetz~embed", "input": "hello"},
cfg,
("guest", "test"),
"test",
)
)
assert rt._client.calls[-1][1]["model"] == "qwen/qwen3-embedding-8b"
def test_embeddings_disabled_returns_503(local_db, monkeypatch):
monkeypatch.setattr(gwmod.httpx, "AsyncClient", FakeEmbedClient_openai_gateway)
svc = GatewayService()
cfg = svc.effective_config()
cfg["gateway_embed_enabled"] = False
rt = svc.runtime()
resp = run_async(
rt.handle_embeddings(
{"input": "hello"}, cfg, ("guest", "test"), "test"
)
)
assert resp.status_code == 503
def test_compute_cost_embed_branch():
from devplacepy.services.openai_gateway.usage import (
Pricing,
compute_cost,
normalize_usage,
)
pricing = Pricing(
chat_cache_hit_per_m=0.0,
chat_cache_miss_per_m=0.0,
chat_output_per_m=0.0,
vision_input_per_m=0.0,
vision_output_per_m=0.0,
embed_input_per_m=0.01,
)
usage = {"prompt_tokens": 1_000_000, "total_tokens": 1_000_000}
norm = normalize_usage(usage)
total, input_cost, output_cost, native = compute_cost(
usage, norm, pricing, "embed"
)
assert native is False
assert output_cost == 0.0
assert abs(total - 0.01) < 1e-9
assert abs(input_cost - 0.01) < 1e-9