C, python, perl, ...?
Karel Zak
zakkr na zf.jcu.cz
Úterý Říjen 16 11:33:27 CEST 2001
On Tue, Oct 16, 2001 at 11:10:11AM +0200, Ing. Pavel PaJaSoft Janousek wrote:
> > IMHO ani nativni API nemusi byt zase tak moc komplikovane. Pravda
>
> Mozna jsem se spatne vyjadril, upresnim to - API muze byt velice
> jednoduche, pokud to vsak nebude opravdu silene komplexni funkce (nebo
> naopak jednoducha funkce s silenou strukturou predavanou jako parametr -
> Oraclisti, klobouk dolu:->), bude rozsah funkci rekneme desitky (neco
> ala dBase neni databaze:->).
>
> Ma vytka nesmerovala na slozitost, ale na prosty fakt, ze pri pouziti
> API se __upisu__. Narazim na vlastni zkusenost, kdy ekvivalentni
> aplikace byla psana (s ohledem na moznosti (autoincrement, sequence,
> transakce apod.)) pod PostgreSQl s ESQl a MySQL s pouze API - v C jsem
> jinou moznost nemel (unixODBC bylo alfa alfa (a navic dekuji nechci)),
> pokud nyni ESQL existuje pod MySQL, je to jen dobre, pred 3 lety to
> pravda nebyla. Jenom prosty pomer source aplikace pro PostgreSQL vs.
> MySQL bylo 1:5 (nekecam). Ano, kdybych si navrh 'abstraktni' vrstvu,
> snizil bych to - to vsak nebylo ucelem ani zadanim a pro ucely srovnani
> ani mozne (vlastni ESQL si psat nebudu)...
Ja pochopitelne tim 'abstarktni' nemyslel vlastni ESQL. Ale proste
kdyz budu volat PQexec() tak si to dam do vlastni funkce, dle si
vyresim ohlidani statutu vysledku, do nejake struktury si ulozim
pocet radek, sloupcu resultu apod. A ve vlastni aplikaci pak budu
pouzivat tuto funkci. Pochopitelne, ze pokud nekdo vsude pouziva
primo PQexec() a pak si testuje odpoved apod. tak mu to naroste
a asi se opravdu upise :-) Pokud se podivate do zdrojaku napr.
PHP tak uvidite, ze ta PHP funkce pg_exec() nedela nic jineho nez
jsem zde uvedl.
Mimochodem existuje (oficialni) knihovna libpgeasy (od Bruce Momjian),
ktera pokud by to nekdo chtel tak dela prave urcite zjednoduseni API.
Akorat je to zcela nepouzitelne u threadu, je to takova hracka, ale
na nejaky skriptik muze byt dobra.
Karel
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Další informace o konferenci Linux