POST /ivedi/cancel gövde {"connectionId": n, "cancelKey": "..."} (ikisi de open yanıtından). Uç
kimliksizdir: cancelKey oturumun sırrıdır. Başka bir HTTP bağlantısından (başka bir işçi süreç) gelir, koşan
deyimin bağlantısına bir bayrak koyar; motor onu deyim sınırında ve satır döngüsünde yakalar ve deyim
QUERY_CANCELED (27021, SQLSTATE 57014) ile biter, oturum kullanılabilir kalır. Yanıt 200 {"result": true},
eşleşmeyen kimlik/anahtar 200 {"result": false}.
Deyim süre sınırı (statementTimeoutMs, oturum ayarı; conf öndeğeri): execute / executePrepared / fetch /
script ve durumsuz uç için aynı iptal yolu bir bekçi iş parçacığından tetiklenir. Deyim QUERY_CANCELED (57014)
ile biter, iletisinde (statement timeout: N ms) yazar; scriptte betik o deyimde durur ve yanıt timedOut: true
taşır. Oturum kullanılabilir kalır.
POST_EVENT)Motorun POST_EVENT '<ad>' [USING (<değer>, ...)] deyimi (PSQL) COMMIT'te ajanın mesaj kuyruğuna
/event/<VERİTABANI>/<ad> konusuyla yayınlanır (ROLLBACK yayınlamaz); gövde {"event", "database", "params": [...]}
(parametreler konumsal). Oturum abone olur, teslim sunucu kaynaklı çerçevedir (id yok):
| Komut | Alanlar | Yanıt |
|---|---|---|
subscribe |
event (ad ya da * = veritabanının bütün olayları), database? (öndeğer oturumun veritabanı) |
topic, subscribed |
unsubscribe |
aynı | topic, changed |
Çerçeve: {"notification": "event", "topic", "sequence", "messageId", "event": {"event", "database", "params": [...]}};
olay dışı bir konu (oturum başka bir kanala aboneyse) {"notification": "message", "topic", ..., "message": "<metin>"}.
Kodlama open.encoding (öndeğer JSON). Teslim, soket boştayken yapılır: kuyruğa düşen olay istemcinin bir sonraki
komutundan (ping yeter) sonra ya da bekleme sırasında gelir. Aynı kuyruk /message ucundan da okunabilir.
subscribe event: "trace")Oturum ajanın bütün oturumlarında (/ivedi, POST /ivedi/execute, betik, zamanlayıcı) koşan her üst düzey deyimin
olayını canlı alır. Kalıcı değildir; yalnız abone varken üretilir (abone yokken maliyeti bir sayaç okumasıdır). LSP
oturumu abone olamaz.
| Komut | Alanlar | Yanıt |
|---|---|---|
subscribe |
event: "trace", süzgeç: login?, database? (ikisi büyük-küçük harf duyarsız), kind?, minMs? |
topic: "/trace", subscribed: true |
unsubscribe |
event: "trace" |
topic, subscribed: false |
Yeniden subscribe süzgeci değiştirir. Çerçeve (id yok):
{"notification": "trace", "trace": {"time": "2026-09-27 21:14:03.512", "database": "TZ", "login": "SYSDBA",
"connectionId": 7, "kind": "query", "text": "select ad from app.t where id = ?", "paramCount": 1,
"elapsedUs": 338, "fetchUs": 262, "rows": 1, "inserts": 0, "updates": 0, "deletes": 0,
"storageSql": ["SELECT AD AS F0, ID AS F1, ROWID AS K FROM T WHERE ((ID = ?))"]}}
kind: query (sonuç kümesi döndüren deyim ya da PSQL bloğu), command (DML), block (PSQL), ddl,
privilege, transaction, compile (derlenemeyen ya da yetki denetiminde reddedilen deyim), other.text en çok 8000 bayt (fazlası ... ile kesilir); parametre değerleri gönderilmez, yalnız paramCount.elapsedUs deyimin süresi; sonuç kümesinde ilk sayfanın okunması da içindedir (fetchUs, rows = ilk sayfadaki
satır; ilk sayfası yazılmayan sonuç kümesinde bu iki alan yoktur).storageSql: deyim sırasında depolama motoruna giden SELECT / INSERT / UPDATE / DELETE metinleri (en çok 50;
art arda aynı metin bir kez). Bellek motorunda boştur.error (durum adı) ve message.