|
<< İçindekileri Görüntülemek İçin Tıklayın >> Yer: Teknik Kılavuzlar > Netsim System Agent Kurulum ve Yönetim Kılavuzu > 5. Servis yüzeyleri > 5.8 /crud/metadata — veritabanı kataloğu |
Katalog bilgisi motordan bağımsız tek bir biçimde sunulur; istemcinin
Firebird mi PostgreSQL mi sqlite mi konuştuğunu bilmesi gerekmez. Kapı /crud/data
ile aynıdır (kimlik + yönetici): katalog şema tasarımını dışarıya verir.
| İstek | Ne döner |
|---|---|
GET /crud/metadata/tables[?schema=] | Tablolar |
GET /crud/metadata/views[?schema=] | Görünümler |
GET /crud/metadata/columns/<tablo> | Kolonlar |
GET /crud/metadata/primarykeys/<tablo> | Birincil anahtar |
GET /crud/metadata/indexes/<tablo> | İndeksler |
GET /crud/metadata/procedures[?schema=] | Yordamlar |
GET /crud/metadata/functions[?schema=] | İşlevler |
Kolon tanımı, veri yanıtlarındaki metadata bloğuyla aynı sözlüğü
kullanır — type, charLen, nullable, precision,
scale — ve type motorun kendi yerleşik tip adıdır
(INTEGER, VARCHAR, DOUBLE PRECISION, CLOB,
JSON …). Buna ek olarak nativeType motorun kendi yazımını taşır
(int4, varchar(60)). Mantıksal alanlar gerçek JSON true/
false döner ve değeri olmayan anahtarlar hiç yazılmaz.
schema süzgecinin anlamı motora göre değişir: PostgreSQL'de gerçek şema adıdır,
Firebird'de nesnenin sahibine karşılık gelir, sqlite'ta ise şema kavramı olmadığı için
etkisizdir ve yanıtta schema her zaman boştur. sqlite'ta yordam ve işlev kavramı da
yoktur: o iki uç, doğru alanları taşıyan boş bir liste döner — “bilgi
yok” ile “böyle bir kavram yok” ayrı şeylerdir.
Aynı tablo MCP sunucusunu da besler, ama farkları bilmek gerekir.
-MCP kipi satırları HTTP_METHOD IN ('MCP','Local MCP') ile süzer ve
süreç başına bir kez yükler — yeni bir satır ya yeniden başlatmadan sonra ya da
yerleşik reload_tools aracı çağrılınca görünür; HTTP tarafında aynı
iş AdminREST EXECCOMMAND RELOADENDPOINTS'tır. Orada ROLE_KODU okunmaz: MCP stdio üzerinden yereldir, kendisini
başlatan kişinin yetkileriyle koşar ve yapılandırmanın veritabanı kimliğiyle bağlanır, yani
bir aracı gizlemek zaten yapabildiği bir şeyi kısıtlamaz. HTTP tarafında ise
ROLE_KODU uygulanır.