zobrazeni a aktualizace tabulky PostgreSQL

Martin Sittek martin.sittek na infoprojekt.cz
Pondělí Červen 10 11:54:21 CEST 2002


Zdravím vespolek,

začnu tošku obšírněji. Kdysi jsem vytvořil alikaci - skladovou 
evidenci pod dosem v PC FANDu. Vzhledem k tomu, že už nepoužívám
dos ani windows a také z kapacitních důvodů bych ji chtěl přepat
do GTK a PostgreSQL. A zde se vyskytl drobný problém. Když jsem
dělal v tom PC FANDu tak jsem se vůbec nemusel starat o zobrazování
tabulek a pod. Prostě jsem "spustil" datový editor a on si vše
hlídal sám: načetl si tabulku, zvýrazil řádek který byl naposledy 
editován a uživatel si sám pomocí kurzorových kláves a PageUp a
PageDown pohyboval po editoru. Tuto funci bych rád napodobil.

Příjemnou zaležitostí toho PC FADu bylo také to že každá
věta (v termiologii SQL řádek) měla své jedoznačné 'fyzické
číslo věty' a 'logické číslo věty'. Fyzické čislo věty odpovídalo
pozici věty zapsainé na disku a logické čílo odpovídalo pozici
podle zvoleého indexu. Je mi jasné, že fyzické člíslo věty by 
se dalo "napodobit" položkou typu automatické číslo ovšem já 
bych spíše potřeboval to logické číslo věty - existuje 
v PostgreSQL něco takového? 

Kdyby existovalo a já bych tudiž věděl že první řádek v okně 
setříděiného podle nějakého klíče ma logické číslo věty x, 
uživatel by stisknul PageUp pak bych vytvořil "select * from 
neco order by klic where  logicke_cislo_vety >= x - velikost_okne 
and logicke_cislo_vety <= x;".

Ovšem mám pocit že nic takového u PostgreSQL a jemu podobných 
systémů není. Tuduž otázka zní jak se něco takového dělá v
těchto DB systémech?

Vím o LIMIT a OFFSET, ovšem není mi jasné jak tyto hodoty 
"ukočírovat" když okno aktuálně zobrazuje někde prostředek tabulky
a já nemán žádný pevný bod od kterého bych se odpíchl (teď mě napadá,
že tenhle problém už také někdo řešil ovšem ten chtěl myslím hýbat
úplně něčím jiným :-).

Díky za jakékoliv nápady a podněty k mému dalšímu studiu, případně 
k vyřešení mého problému. Přivítal bych také odkazy na nějaké 
projekty v nichž se podobé věci řeší (ovšem něco né moc složitého
abych se v tom vyznal), preferované jazyky: Pike, C, Perl, Php, 
db server nejlépe PostgreSQL.

Dík ještě jednou.

--
Martin Sittek


Další informace o konferenci Test