Seite 1 von 1
PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER [erledigt]
Verfasst: Mi, 18. Jul 2012 5:29
von AUGE_OHR
hi,
wenn ich auf ORDER "__record" bin ist die "relative" Position ( DbPosition ) ja klar.
wenn ich einen INDEX verwende kann ich unter Xbase++ OrdKeyNo() verwenden um z.B. einen Scrollbar damit anzusteuern.
Frage : gibt es unter PostgreSQL so was wie OrdKeyNo() ?
Re: PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER
Verfasst: Mi, 18. Jul 2012 5:47
von georg
Guten Morgen, Jimmy -
hast Du Dir mal angesehen, was ich Dir geschickt habe? Da steht das alles drin ...
Georg
Re: PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER
Verfasst: Mi, 18. Jul 2012 6:06
von AUGE_OHR
georg hat geschrieben:hast Du Dir mal angesehen, was ich Dir geschickt habe? Da steht das alles drin ...
ah ... du hast schon "vorgearbeitet" ? nein ich bin noch nicht dazu gekommen.
ich habe nun auf XbpMultiCellGroup() umgestellt und es für Listview vorbereitet.
beim testen mit
ORDER kam ich auf das "Problem" wenn ich einen Scrollbar verwenden will.
für das "blättern" mit "
SELECT ...
LIMIT xxx
OFFSET yyy" stellt das kein Problem dar.
bei
BOF() wäre
OFFSET 0 und bei
EOF() zeigt er einfach nicht mehr an als da sind.
ich habe ja nun die "gesamt" Anzahl ( Lastrec() ) die ich in einem Thread ermittelt habe.
da hab ich mal ein Array per
AADD(i++,::Read("__record") )*** mitlaufen lassen bei > 500000
... < 8 Sec wobei 4 Sec. für das "
SELECT ..." vergehen, aber 200 KB RAM ?!
Re: PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER
Verfasst: Mi, 18. Jul 2012 6:54
von AUGE_OHR
georg hat geschrieben:Da steht das alles drin ...
YUP, jetzt hab ich es gelesen !
ich "denke" ich habe den selben Ansatz schon gehabt mit "3 Seiten" aber durch die Umstellung auf XbpMultiCellGroup() / ListView benötige ich keinen "Cache" mehr
es liegt am "normalen" Browse was einen dazu "verführt" mehr Daten bereitzustellen als zu Anzeige benötigt werden.
allerdings ist es nicht so einfach Daten "nachzuladen" wenn der "DbSkipper" meint er wäre bei EOF()
das "nachladen" passiert aber erst durch eine User Aktion : Cursor / Maus
Cursor -> oBrowse:Keyboard wäre eine Möglichkeit und wenn man die "Navigation" hat wer braucht dann noch ein "Browse" zur "Anzeige" ?
Maus -> Scrollbar -> DbPosition dafür brauche ich auch "LastRec()" -> "SELECT ..." -> 2nd Thread -> AADD(i++,::Read("__record") )
der Scrollbar liefert mir ja nur eine "ungefähre" Anzeige die ich in meinem Array finde um die Anzeige neu zu positionieren wenn der Scrollbar "fertig" ist.