von PostgreSQL v8.x nach v9.x

Datenbank Migration (z. B. von MySQL auf PostgreSQL)

von PostgreSQL v8.x nach v9.x

Beitragvon Auge_Ohr » So 12. Aug 2012, 23:44

hi,

ich frage so die "DbStruc()"*** per libpq.dll ab
***( Structur eine DBF / Table )
Code: Alles auswählen
::exec( "SELECT column_name, data_type, character_maximum_length,numeric_precision, numeric_scale " + ;
"FROM  information_schema.columns WHERE table_name='" + cTable + "'"  )

oStruct := ::result
iMax := oStruct:rows
FOR i = 1 TO  iMax
     // reverse Order of Fields in v9.1 vx v8.3
NEXT
wenn ich vorher die Fields A,B,C,D,E,F angelegt habe wird mir das in der v8.x auch so im Result Set zurückgegeben.
unter v9.x bekomme ich nun F,E,D,C,B,A im Result Set zurück.

Frage : gibt es noch solche Result Set "reverse" in anderen Situationen wenn man von v8.x auf v9.x upgradet ?
gruss by OHR
Jimmy
Benutzeravatar
Auge_Ohr
Erfahrener Benutzer
 
Beiträge: 104
Registriert: So 12. Aug 2012, 20:23

Beitragvon akretschmer » Mo 13. Aug 2012, 07:58

Auge_Ohr hat geschrieben:hi,

ich frage so die "DbStruc()"*** per libpq.dll ab
***( Structur eine DBF / Table )
Code: Alles auswählen
::exec( "SELECT column_name, data_type, character_maximum_length,numeric_precision, numeric_scale " + ;
"FROM  information_schema.columns WHERE table_name='" + cTable + "'"  )

oStruct := ::result
iMax := oStruct:rows
FOR i = 1 TO  iMax
     // reverse Order of Fields in v9.1 vx v8.3
NEXT
wenn ich vorher die Fields A,B,C,D,E,F angelegt habe wird mir das in der v8.x auch so im Result Set zurückgegeben.
unter v9.x bekomme ich nun F,E,D,C,B,A im Result Set zurück.

Frage : gibt es noch solche Result Set "reverse" in anderen Situationen wenn man von v8.x auf v9.x upgradet ?




Ganz allgemein gilt: wenn da kein ORDER BY steht, ist die Reihenfolge dem Abfragenden offenbar egal. Wie PG die Daten rauspurzeln läßt ist dann eher Zufall. Es gibt (immer mal wieder) interne Änderungen, die das Verhalten von PG in solch einem Fall beeinflussen, und auch ein UPDATE einer Tabelle ändert oft die physische Reihenfolge und damit die Reihenfolge beim rauspurzeln.

Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5938
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon Auge_Ohr » Di 14. Aug 2012, 06:57

akretschmer hat geschrieben:Ganz allgemein gilt: wenn da kein ORDER BY steht, ist die Reihenfolge dem Abfragenden offenbar egal. Wie PG die Daten rauspurzeln läßt ist dann eher Zufall. Es gibt (immer mal wieder) interne Änderungen, die das Verhalten von PG in solch einem Fall beeinflussen, und auch ein UPDATE einer Tabelle ändert oft die physische Reihenfolge und damit die Reihenfolge beim rauspurzeln.
Danke für die Antwort.
ich "denke" hiermit habe ich die gewünschte Reihenfolge
Code: Alles auswählen
"ORDER BY ordinal_position"
gruss by OHR
Jimmy
Benutzeravatar
Auge_Ohr
Erfahrener Benutzer
 
Beiträge: 104
Registriert: So 12. Aug 2012, 20:23


Zurück zu Migration

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron