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

Alles zum SQL-Dialekt

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

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

Beitrag 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() ?
Zuletzt geändert von AUGE_OHR am Mi, 18. Jul 2012 6:54, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

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

Beitrag von georg »

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
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

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

Beitrag 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 ?!
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

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

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