Das nächste Entwicklertreffen findet Anfang Mai in Münster statt - weitere Infos bzw. zur Anmeldung!

PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER [erledigt]

Alles zum SQL-Dialekt

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11551
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER [erledigt]

Beitrag von AUGE_OHR » Mi, 18. Jul 2012 5:29

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() ?
Zuletzt geändert von AUGE_OHR am Mi, 18. Jul 2012 6:54, insgesamt 1-mal geändert.
gruss by OHR
Jimmy

georg
Foren-Administrator
Foren-Administrator
Beiträge: 2255
Registriert: Fr, 08. Feb 2008 21:29

Re: PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER

Beitrag von georg » Mi, 18. Jul 2012 5:47

Guten Morgen, Jimmy -


hast Du Dir mal angesehen, was ich Dir geschickt habe? Da steht das alles drin ...


Georg
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11551
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER

Beitrag von AUGE_OHR » Mi, 18. Jul 2012 6:06

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 ?!
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11551
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL "Position" ( OrdKeyNo() ) mit ORDER

Beitrag von AUGE_OHR » Mi, 18. Jul 2012 6:54

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.
gruss by OHR
Jimmy

Antworten