Psaní SQL dotazů
Nejběžnějším typem vnitřní karty je karta Dotazu (Query Tab), obsahující následující prvky:

- 1) Hlavička karty: Vidíte zde název karty a ikonu pro její zavření. Pokud na kartě právě probíhá dotaz, zobrazí se indikátor. Pokud dotaz na kartě doběhne a vy zrovna pracujete na jiné kartě, zobrazí se zelený indikátor. Dvojitým kliknutím na název karty ji můžete přejmenovat.
- 2) Přidat kartu: Rychle můžete přidat další vnitřní kartu kliknutím na ikonu plus.
- 3) SQL editor: Plnohodnotný SQL editor se zvýrazňováním syntaxe SQL,
funkcí Najít a nahradit (
Ctrl-FaCtrl-H) a komponentou automatického doplňování, popsanou níže. Úplný seznam klávesových zkratek editoru (výběr, více kurzorů, navigace, skládání kódu atd.) najdete v kapitole Klávesové zkratky editoru. - 4) Spustit (Execute): Text obsažený v SQL editoru se po kliknutí na
toto tlačítko (nebo použití zkratky, ve výchozím nastavení
Alt-Q) spustí proti aktuálně aktivní databázi. Pokud je v SQL editoru vybraný text, spustí se pouze tento vybraný text. Jakmile příkaz běží, zobrazí se červené tlačítko Zrušit (Cancel), které umožňuje spuštění zrušit (nebo pomocí zkratky, ve výchozím nastaveníAlt-C). - 5) Formátovat SQL (Indent SQL): Toto tlačítko zformátuje jakýkoli SQL kód
napsaný v SQL editoru (ve výchozím nastavení zkratka
Alt-S, na macOSCtrl-S). - 6) Historie dotazů (Query History): Všechny příkazy spuštěné proti aktuální databázi se ukládají do historie dotazů, ke které se dostanete kliknutím na toto tlačítko. Můžete také filtrovat podle data a textu, abyste našli potřebný SQL příkaz.
- 7) Explain (pouze PostgreSQL): Zavolá váš SQL dotaz proti PostgreSQL s
příkazem
EXPLAINna začátku. Výsledky se zobrazí v textové i grafické podobě na kartě Explain (podrobnosti naleznete v kapitole Vizualizace plánů dotazů). - 8) Explain Analyze (pouze PostgreSQL): Stejné jako tlačítko Explain, ale
dotaz se volá s příkazem
EXPLAIN ANALYZE, který dotaz skutečně provede. - 9) Autocommit (pouze PostgreSQL): Když je zapnuto, každý spuštěný dotaz se ihned potvrdí (commit) do databáze. Když je vypnuto, OmniDB zahájí transakci a po spuštění dotazu se v rozhraní zobrazí tlačítka umožňující uživateli provést Commit nebo Rollback. Uživatel může transakci také ponechat otevřenou a spouštět další příkazy.
- 10) Stav backendu (pouze PostgreSQL): Když otevřete novou kartu dotazu, stav je „Not Connected“ (Nepřipojeno), protože OmniDB ještě nespustilo backend PostgreSQL. Když spustíte první dotaz, OmniDB spustí nový backend a propojí jej s kartou dotazu (každá karta dotazu bude mít vlastní backend). Stav backendu (idle, active, idle in transaction atd.) se zobrazí v tomto poli. Když kartu dotazu zavřete, OmniDB backend ukončí.
- 11) Formát exportního souboru: Může být CSV, TSV, XLSX, JSON, XML nebo Markdown.
- 12) Export do souboru: Kliknutím na toto tlačítko OmniDB spustí aktuální dotaz a exportuje výsledky do souboru. V desktopové aplikaci se otevře nativní dialog „Uložit jako", ve kterém rovnou zvolíte, kam soubor uložit. Při běhu jako prohlížečový OmniDB Server se soubor nejprve uloží do dočasné složky na serveru a rozhraní pak zobrazí odkaz, pomocí kterého jej lze stáhnout přes prohlížeč.
- 13) Výsledky dat: Pokud je dotaz typu
SELECT, zobrazí se mřížka s výsledky. Pokud jde o příkaz DML nebo DDL, zobrazí se zpráva vrácená databázovým systémem. - 14) Zprávy (pouze PostgreSQL): Zde se zobrazí veškeré zprávy (například
ty vydané příkazem
RAISE NOTICE). - 15) Zobrazení Explain (pouze PostgreSQL): Zobrazuje plnohodnotnou komponentu pro prohlížení prováděcího plánu PostgreSQL v textové nebo grafické podobě.
Po spuštění se karty ukládají také do uživatelské databáze OmniDB (název i
obsah), takže při příštím otevření OmniDB je uvidíte všechny znovu otevřené.
Každý příkaz, který spustíte na kartě dotazu, se navíc ukládá do historie
dotazů a také do souboru omnidb.log.
Automatické doplňování SQL
SQL editor má funkci, která velmi pomáhá při psaní nových dotazů: doplňování
SQL kódu. Díky ní je možné doplňovat sloupce obsažené v tabulce, na kterou
odkazuje alias. Rozhraní automatického doplňování otevřete tak, že napíšete
alias, znak . a poté stisknete Ctrl-Space:

Pokud uživatel spustí automatické doplňování s kurzorem, který není blízko aliasu tabulky, komponenta zobrazí více kategorií dat. Psaním do filtračního textového pole se prvky ve všech kategoriích filtrují:

Komponenta automatického doplňování dokáže rozpoznat i některé kontextové
informace. Pokud například napíšete název schématu, poté znak . a stisknete
Ctrl-Space, budete moci filtrovat pouze mezi objekty obsaženými v daném
schématu:

Upozorňujeme, že u jiných databázových systémů než PostgreSQL funguje automatické doplňování pouze pro sloupce tabulek.