5.8 /crud/metadata — veritabanı kataloğu

<< İç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.

İstekNe 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.

Not

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.

Not

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.