pgDBE ... erste Vergleiche

Hier dreht es sich um den PostGre Server

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

pgDBE ... erste Vergleiche

Beitrag von AUGE_OHR »

so hier erst mal Code. Datei "fsicher" müsst ihr durch eure ersetzten

Code: Alles auswählen

#include "Gra.ch"
#include "Xbp.ch"
#include "AppEvent.ch"

*#include "pgdbe.ch" // gibt es nicht

#define _PG 1

PROCEDURE Main
   LOCAL oSession
   LOCAL cConnStr
   local nStart, nEnde
   local nRecno

   cls  // nix PM

   // Load the PostgreSQL DatabaseEngine
   DbeLoad("pgdbe")
   DbeSetDefault("pgdbe")

   // Connect to the Server
   cConnStr := "DBE=pgdbe;server=localhost;db=mdidemo;uid=postgres;pwd=********"
   oSession := PgSession():New(cConnStr)
   IF(!oSession:IsConnected())
     MsgBox("connection failed, database missing")
     QUIT
   ENDIF

   IF(!IsTable(oSession,"fsicher"))
     MsgBox("No fsicher table")
   ENDIF
   SET DELETED ON

   nStart := SECONDS()
   USE fsicher NEW
   nEnde  := SECONDS()
   Msgbox("USE "+LTRIM(STR(nEnde-nStart))+" sec.")

   IF ! NetErr()
      nStart := SECONDS()
      nRecno := LASTREC()           
      nEnde  := SECONDS()
      Msgbox("LastRec "+LTRIM(STR(nEnde-nStart))+" sec.")

       nStart := SECONDS()
      DbGoto( nRecno/2 )
      nEnde  := SECONDS()
      Msgbox("GOTO 1/2 "+LTRIM(STR(nEnde-nStart))+" sec.")

      nStart := SECONDS()
      DbGoto( 1 )
      nEnde  := SECONDS()
      Msgbox("GOTO 1 "+LTRIM(STR(nEnde-nStart))+" sec.")

      nStart := SECONDS()
      DbGoto( nRecno )
      nEnde  := SECONDS()
      Msgbox("GOTO Lastrec "+LTRIM(STR(nEnde-nStart))+" sec.")
   ENDIF

   nStart := SECONDS()
   GO TOP
   nEnde  := SECONDS()
   Msgbox("GOTO 1 "+LTRIM(STR(nEnde-nStart))+" sec.")

   nStart := SECONDS()
   BROWSE() 
   nEnde  := SECONDS()
   Msgbox("Browse "+LTRIM(STR(nEnde-nStart))+" sec.")

   nStart := SECONDS()
   GO TOP
   nEnde  := SECONDS()
   Msgbox("GOTO 1 "+LTRIM(STR(nEnde-nStart))+" sec.")

   nStart := SECONDS()
   BROWSE() 
   nEnde  := SECONDS()
   Msgbox("Browse "+LTRIM(STR(nEnde-nStart))+" sec.")

   nStart := SECONDS()
   GO TOP
   nEnde  := SECONDS()
   Msgbox("GOTO 1 "+LTRIM(STR(nEnde-nStart))+" sec.")

   nStart := SECONDS()
   BROWSE() 
   nEnde  := SECONDS()
   Msgbox("Browse "+LTRIM(STR(nEnde-nStart))+" sec.")

WAIT
RETURN


FUNCTION IsTable(oSession,cTable)
  LOCAL cStr,lRet
  LOCAL nOldSelect := Select()

  // checking if database is there
  cStr := "SELECT Count(table_name) AS Count FROM information_schema.tables WHERE table_name='%1'"
  cStr := StrTran(cStr,"%1",Lower(cTable))
  DbSelectArea(0)
  oSession:ExecuteQuery(cStr)
  IF(!Used())
    RETURN .F.
  ENDIF

  lRet := FIELD->Count!=0
  DbCloseArea()
  DbSelectArea(nOldSelect)
RETURN(lRet)
ihr seht das ich 3 x BROWSE() aufrufe da sollte ihr so vorgehen :

1st Browse : sobald er den Browse anfängt ESC drücken. spätestens wenn er "stable" ist, also die Cell "hilight" ist ESC

2nd Browse: jetzt wisst ihr ungefähr wie lange es bis zum "stable" dauert also beim 2nd BROWSE()
warten ... warten bis die Cell "hilight" erhält und dann CRTL-PGDN also an das Ende springen.

das "hilight" sollte weg sein ... mit PG_RIGHT (!) versuchen ob er noch reagiert, dann nochmal CRTL-PGDN sonst ESC.

3th Browse : ist nun zum "blättern" gedacht ... "oben"(BOF) und "unten"(EOF) mal "blättern" ob ihr einen Unterschied merkt.

damit bekommt man zumindest einen Eindruck was bei > 500000 und pgDBE passiert.

p.s. wer mit DbfUpSize.EXE nicht klar kommt sollte die "lates" PGu.EXE Version und den Import versuchen.
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: pgDBE ... erste Vergleiche

Beitrag von AUGE_OHR »

hier nun das "passende" PGu.EXE d.h. für Xbase++ v2.0.426 (Devcon Build)
... OHNE v2.x Runtime ... Tip : letzte CXP ...
Dateianhänge
PG2_052.RAR
PGu für v2.0.246
PostgreSQL Table Util can import DBF
(511.03 KiB) 211-mal heruntergeladen
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: pgDBE ... erste Vergleiche

Beitrag von AUGE_OHR »

AUGE_OHR hat geschrieben:hier nun das "passende" PGu.EXE d.h. für Xbase++ v2.0.426 (Devcon Build)
Kommentare erwünscht ...
gruss by OHR
Jimmy
Antworten