Sledování toho, jaké indexy v tabulce existují a jak jsou nakonfigurovány, dříve vyžadovalo ruční kontrolu prostřednictvím editoru struktury. Díky nové funkci `getIndexes()` mohou vývojáři 4D nyní provádět introspekci indexů přímo z kódu, což usnadňuje ověřování konfigurace za běhu, vytváření diagnostických nástrojů nebo automatickou validaci nasazení.
4D přidává novou funkci pro analýzu indexů přímo z kódu:
var $indexes := ds.MyTable.getIndexes()
Volání funkce `getIndexes()` na tabulce vrátí kolekci popisující každý index definovaný v dané tabulce, ať už byl vytvořen pomocí Editoru struktury, nebo kódem pomocí ` CREATE INDEX`.
Podrobnosti o položkách indexu
Každá položka ve vrácené kolekci popisuje index s následujícími atributy:
| Atribut | Typ | Popis |
|---|---|---|
typ |
celé číslo | Typ indexovacího algoritmu (relevantní při volbě „Automaticky“) |
automatický |
logická | True, pokud je vybrán index „Automatický“ |
název |
text | Název indexu, je-li k dispozici |
druh |
text | „klíčová slova“ nebo „běžný“ |
atributy |
sbírka | Pole zahrnutá v indexu |
UUID |
text | Jedinečný identifikátor indexu |
uniqueKey |
boolean | Zda index vynucuje jedinečnost |
To umožňuje ověřit stav indexu pole za běhu, což je užitečné zejména pro diagnostiku a automatizované skripty nasazení.

var $indexes:=ds.Discuss.getIndexes()

Výhody
Před zaveden ím funkce `getIndexes()` bylo nutné pro ověření existence kritického indexu nebo správnosti jeho konfigurace otevřít Editor struktury a provést kontrolu ručně. To však není škálovatelné pro automatizované pracovní postupy. Díky této funkci můžete:
- Ověřit nasazení: zkontrolovat, zda jsou všechny očekávané indexy přítomny ihned po aktualizaci struktury nebo migraci databáze.
- Vytvářet diagnostické nástroje: zobrazit konfiguraci indexů v administračním panelu nebo v koncovém bodě pro kontrolu stavu.
- Provádět audit omezení jedinečnosti: rychle zjistit, která pole jsou chráněna indexem uniqueKey.
- Identifikovat typ indexu: rozlišit standardní, klíčová a vektorové indexy (Cosine, Dot, Euclidean) na základě atributů type a kind.
Závěr
getIndexes() vyplňuje mezeru v API pro správu indexů v 4D: vývojáři již nemusí spoléhat na uživatelské rozhraní, aby zjistili, jaké indexy v tabulce existují. V kombinaci s CREATE INDEX, SET INDEXa DELETE INDEXtak vzniká plně programový pracovní postup pro správu indexů.
K tomuto příspěvku zatím nelze přidávat komentáře.