Hlavní navigace

Vyšla první veřejná verze SQL-DK 0.8

Sdílet

Franta Kučera 13. 1. 2014

Vyšla první veřejná verze klienta pro relační databáze SQL-DK. Program je určen pro příkazovou řádku a použití v shellových skriptech nebo k ručnímu spouštění SQL dotazů. Podporuje číslované i pojmenované parametry dotazů. Díky formátovacím modulům může produkovat výsledky databázových dotazů v libovolném formátu. Více naleznete v oznámení o vydání verze 0.8

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?
  • Aktualita je stará, nové názory již nelze přidávat.
  • 13. 1. 2014 14:20

    Ja (neregistrovaný) ---.idc.prg.mynet.cz

    Na první pohled hezké, ale asi by se tomu dalo vytknout, že výstupní formáty nejsou zrovna přizpůsobené potřebám shellu (co třeba vracet escapované přiřezení do proměnných?) a závislost na javě taky nebývá všude snadné splnit. Ale myšlenka pěkná, třeba by to šlo přepsat do bashe (řekl bych do pythonu, ale to bych musel adminy donutit, aby mi na všechny servery dali pythoní modul pro databázi a to je nad mé síly :-).

  • 13. 1. 2014 15:10

    Franta Kučera

    Dík za odpověď :-)

    Co se týče formátů – mám v plánu další, přesně tohle chci, aby z toho lezly třeba proměnné nebo pole v nějakém jazyce… do prvního vydání se prostě nevejde všechno a kdybych to neutnul, tak to pořád vylepšuju a nevydám nikdy :-)

    K tomu jazyku – v C/C++ se mi to psát nechtělo (i když by to asi bylo ideální z pohledu výkonu) a stejně by to bylo závislé na nějakých knihovnách (framework, DB ovladače) a další jazyky vyžadují taky nějaký interpret nebo běhové prostředí… a ta Java je mi prostě nejbližší. Za důležité považuji, aby ty závislosti šly nainstalovat přes balíčkovací systém běžných distribucí.

    Doba odezvy je pro mě přijatelná už teď, alespoň co se provádění příkazů týče – ale ta příprava dávky by měla být rychlejší (teď trvá příprava jednoho příkazu kolem 100 ms, protože se kvůli tomu startuje JVM, což spuštěné v nějakém dlouhém cyklu už je znát), tuhle část chci přepsat do něčeho jiného. Mám i další nápady na optimalizace, takže zrychlit by se to ještě mělo – uvidíme jaké budou priority :-) funkčních požadavků mám taky spoustu (např. obdobu ProxyCommandu ze SSH, makra a aliasy, aby se nemusely psát dlouhé SQL příkazy, a další věci…)

  • 14. 1. 2014 10:35

    Ja (neregistrovaný) ---.idc.prg.mynet.cz

    Jasně, taky myslím, že je lepší vydat a vylepšovat, než čekat na dokonalost a nevydat nikdy :-).

    To C/C++ by asi opravdu bylo nejlepší - framework asi zapotřebí není a db ovladače pro C obvykle obnáší nějakou libmysql nebo něco podobného, kterou ta java používá také, ne? Ale je to tvůj projekt a nevím, proč bych ti měl předepisovat v čem ho máš psát :-).

    Makra a aliasy... je to nástroj pro příkazovou řádku... tak by měla být makra a aliasy dělané jako shellové scripty a aliasy, ne? Čím jednodušší nástroj je, tím lépe se používá.

  • 14. 1. 2014 16:02

    Franta Kučera

    Ty aliasy a makra mají sloužit k tomu, abys místo:

    sql-dk --sql "SELECT … nějaké dlouhé SQL …" … 

    mohl napsat jen

    sql-dk --sql můj-alias … 

    Jasně, šlo by to i přes aliasy v Bashi – jako:

    sql-dk-můj-alias … 

    ale tam by se hůř spolupracovalo s Bash completion (ta funkce, co nabízí možnosti se teď chytá na příkaz sql-dk – tak by se musela chytat na všechny ty aliasy) a taky tam chci udělat překrývání pro databáze – alias bude moci být globální nebo specifický pro DB – takže se ti jeden alias může přeložit na různé SQL, podle toho, nad jakou DB ho spouštíš (pro různé dialekty v jednotlivých DBMS nebo různé struktury jednotlivých databází).

    Makra budou podobná, akorát to nebude jen alias pro SQL řetězec, ale spíš něco jako uložená procedura na straně klienta.