7.3 İmleç

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > Netsim System Agent İstemci Protokolü Referansı > 7. IVEDI oturum protokolü (/ivedi) >

7.3 İmleç

Komut Alanlar Yanıt
fetch cursorId, count? (öndeğer oturumun fetchSize'ı) rows[][], rowCount, done (true ise imleç kapanmıştır)
closeCursor cursorId closed

İmleç ileri yönlüdür ve işlemle birlikte yaşar: COMMIT / ROLLBACK (RETAINING dahil) sonrasında, o işlem bitmeden açılmış imleçler kapanır ve yanıtın closedCursors[] alanında bildirilir. Aynı istekte işlem bittikten SONRA açılan imleç (kendi içinde commit eden ALTER DATABASE … UPGRADE / ADOPT LEVEL raporu, commit; select … betiği) açık kalır ve fetch ile sonuna kadar çekilir; boşta kalan imleç cursorIdleTimeout (conf) sonunda bir sonraki komutta kapatılır. Düşen bir fetch (iptal, koşucu hatası) imleci kapatır.

7.3.1 Blob tutamaçları

Satır içini (maxInlineBlob, conf) aşan ikili değer (BLOB / BINARY, csNONE) satırda değerin yerine {"blob": id, "size": n} nesnesi olarak gelir; gövde parça parça okunur. Metin blob'ları (CLOB) hep satır içidir.

Komut Alanlar Yanıt
readBlob blobId, offset? (0), length? (öndeğer maxInlineBlob) data (JSON base64 / BSON ikili), offset, length, size, done
writeBlob blobId? (yoksa yeni tutamaç), data (JSON base64 metin / BSON ikili) - parça eklenir blobId, size
closeBlob blobId closed

writeBlob ile yüklenen gövde bir parametreye {"blob": id} değeriyle bağlanır (execute / executePrepared params dizisinde ya da nesnesinde). Tutamaçlar oturumla yaşar; boşta kalan tutamaç cursorIdleTimeout sonunda düşer. Durumsuz uçta (§7.7) tutamaç yoktur: değer boyutu ne olursa olsun satır içidir.