fix: use sor.sqlPaging — no ORDER BY/LIMIT in SQL per sqlor spec

This commit is contained in:
yumoqing 2026-07-09 13:31:13 +08:00
parent eb34810fd6
commit 7a5876a295

View File

@ -2,17 +2,14 @@ ns = params_kw.copy()
for k,v in ns.items():
if v == "NaN" or v == "null":
ns[k] = None
page = int(ns.get("page", 1))
pagerows = int(ns.get("rows", 20))
offset = (page - 1) * pagerows
ns["pagerows"] = pagerows
ns["offset"] = offset
if "page" not in ns:
ns["page"] = 1
ns["sort"] = "created_at"
ns["order"] = "desc"
env = request._run_ns
rows = []
async with get_sor_context(env, "tenant") as sor:
recs = await sor.sqlExe("SELECT count(*) as total FROM tenant_domain", {})
total = recs[0].total if recs else 0
recs = await sor.sqlExe("SELECT * FROM tenant_domain ORDER BY created_at desc LIMIT ${pagerows}$ OFFSET ${offset}$", ns)
for r in recs:
recs = await sor.sqlPaging("SELECT * FROM tenant_domain", ns)
rows = []
for r in recs["rows"]:
rows.append({"id": r.id, "domain": r.domain, "resellerid": r.resellerid, "orgid": r.orgid, "status": r.status, "created_at": str(r.created_at), "updated_at": str(r.updated_at)})
return {"total": total, "rows": rows}
return {"total": recs["total"], "rows": rows}