Caveats
Full scan by design, data leaves the database, superuser install, cache per session.
- Full scan. Every row that reaches
jev()goes to the API. That is the product, not a bug. Cut the set with indexed predicates first; Large tables shows the guards. - Data leaves Postgres. Row contents are sent to TypeSafe. Do not run it on data you may not share.
- Untrusted Python.
plpython3uruns with the server's OS privileges. Only a superuser canCREATE EXTENSION jev. Where that is possible — and where it is not — is Where it runs, not here. - Cache is per backend session. Answers live in PL/Python
GD. A connection pool with many backends warms many caches.jev_cache_clear()drops the current session only.
Notices, tokens, and estimated cost are in jev_stats() and the per-batch NOTICE. See Functions and Settings.