This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Frage zu RemoteDataBook und dem Einschränken von Daten

Allgemeine Fragen zur Entwicklung von und mit JVx.

Frage zu RemoteDataBook und dem Einschränken von Daten

Postby alladinbp » Thu Nov 03, 2011 6:37 pm

Hallo!

In meiner Anwendung gibt es eine Tabelle die mit einem RemoteDataBook gefüttert wird. Wenn man doppelt auf eine Tabellezeile drückt öffnet sich ein neues Fenster in dem man die Daten die in der Tabelle angezeigt wird (und noch einige mehr) ändern kann. Es soll auch möglich sein mehrere von diesen Fenstern offen zu haben und somit unterschiedliche Datensätze "gleichzeitig" zu ändern.

Nun stellt sich mir die Frage wie man das am besten implementiert. In der Showcase Applikation ist es mit dem gleichen DataBook gelöst. Das bringt mir aber nicht viel, weil ich dann nicht mehrere Fenster gleichzeitig mit unterschiedlichen Daten offen haben kann. Gibt es eine Möglichkeit das zu machen? Es würde glaube ich schon reichen wenn man ein neues DataBook anlegt und das auf die id des Datensatzes den man ändern will beschränkt, aber wie macht man das?

Ich habe versucht mir aus der angeklickten Tabellenzeile das id-Feld zu holen und es via rdbCustomerData.setFilter(new Equals("ID", selectedRow)); zu setzen, das haut aber nicht hin. Gibt es da eine bessere Methode?

Außerdem habe ich bemerkt, dass das DataBook sehr viele SQL Statements ausführt. Bei mir sind das im Moment ca 110 Querys (wobei 4 Views involviert sind). Ist das normal?
alladinbp
 
Posts: 39
Joined: Tue Oct 11, 2011 2:27 pm

Re: Frage zu RemoteDataBook und dem Einschränken von Daten

Postby Support@SIB » Fri Nov 04, 2011 11:23 am

Die Methode setFilter schränkt grundsätzlich die Daten ein. Abhängig von der IDataBook Implementierung funktioniert auch die Filterung:

MemDataBook - filtert ausschließlich im Memory
RemoteDataBook - filtert in der Standardeinstellung remote - via IStorage, kann aber auch auf Mem Filterung umgestellt werden

Ihr Filter mit Equals ist grundsätzlich in Ordnung. Bei der Verwendung von DataBooks gibt es folgendes zu beachten:

Ein DateBook hat entweder genau 1 Zeile selektiert oder keine. Datenänderungen via setValue(s) werden immer auf die aktuell selektierte Zeile angewandt. Wenn Sie also eine Zeile ändern möchten, die nicht die aktuell selektierte Zeile ist, dann müssen sie diese zuerst selektieren. Um die Zeile zu finden können Sie searchNext, searchPrevious verwenden.
Außerdem liefern DataBooks IChangeableDataRows via getDataRow(). Dabei handelt es sich jedoch um "detached rows". Änderungen an den Werten haben keine direkte Auswirkung auf das DataBook!


Nun zu Ihren Fragen:

Ich habe versucht mir aus der angeklickten Tabellenzeile das id-Feld zu holen und es via rdbCustomerData.setFilter(new Equals("ID", selectedRow)); zu setzen, das haut aber nicht hin


Meinen Sie damit das die Datenanzeige nicht eingeschränkt wird? Dann ist ev. selectedRow kein vorhandener ID Wert. Sie können weiters bei eingeschaltetem Logging prüfen welcher Wert für das SELECT Statement verwendet wird!

110 Querys (wobei 4 Views involviert sind


Der Normalfall ist das nicht und wir haben selbst bei komplexen Unit Tests diese Anzahl noch nicht erreicht!
Üblich ist eine Query pro DataBook, es sei denn die Datenmenge kann nicht auf einmal gefetched werden. Dann werden pro DataBook mehrere Queries abgesetzt (load-on-demand).

Weiters wird pro Master/Detail Beziehungen, für jedes noch nicht vollständig gefetchte Detail ebenfalls eine Query abgesetzt. Also wenn Sie einen Master mit 50 Zeilen haben und jeden Master selektieren und auf ein Detail auch tatsächlich zugreifen (zB in einer for/while Schleife), dann kommen Sie auf min. 51 Queries. Bei eingeschaltetem Block Fetch reduzieren sich die Queries auf 2 bis 5 (hängt von Ihrer Datenmenge ab).

Ein weiteres Statement kann abgesetzt werden, wenn Sie beginnen zu editieren. Dann wird versucht den Datensatz zu locken. Das ist aber nicht in jeder DB möglich und wird auch nur bei den jeweiligen DBs ausgeführt. Der Locking Mechanismus ist auch deaktivierbar.

Wir vermuten das Problem ist abhängig von Ihrer Verwendung. Ohne Log bzw. Source Code kann nicht sehr viel mehr analysiert werden.

Es soll auch möglich sein mehrere von diesen Fenstern offen zu haben und somit unterschiedliche Datensätze "gleichzeitig" zu ändern.


Dafür gibt es mehrere mögliche Lösungen. Es hängt aber auch davon ab wie Sie die Eingabe gestalten möchten. Soll das "Popup" eine Tabelle oder ein Formular mit Speichern/Übernehmen Button darstellen bzw. soll automatisch gespeichert werden?

Interessant wäre auch der konkrete Anwendungsfall, da mehrere unterschiedliche Datensätze in unterschiedlichen Fenstern auch schnell unübersichtlich werden.
Ist die Bearbeitung eines einzelnen Datensatzes in einem modalen Fenster keine Option?

Pro Screen 1 DataBook wäre eine Möglichkeit, allerdings werden dann immer wieder Queries und Remote Calls abgesetzt obwohl das nicht nötig wäre. Außerdem gilt zu beachten das bei mehrfach geöffneten Screens die Datenaktualität ein Problem sein kann.

Der Vorteil von DataBooks ist, daß alle Controls immer die Daten des "verbundenen" DataBooks darstellen und somit die Aktualität gewährleistet ist.

Eine Lösung wäre z.B. das DataBook in der Applikation zu speichern. Der Auswahl Screen stellt das DataBook dar und öffnet die Detail Screens, setzt jeweils eine DataRow als Datengrundlage.

Beim Speichern in einem Detail Screen muss zuerst die korrekte Row im DataBook selektiert werden, via searchNext, und dann einfach mit setValues(getValues()) die Werte übernehmen. Die selektierte Row kann bei Bedarf wieder auf den ursprünglichen Wert zurückgesetzt werden. Um die Aktualität der Daten müssten Sie sich selbst kümmern z.B. durch einen valueChanged event auf das DataBook - die DataRows der offenen Screens aktualisieren....

Aber um die bestmögliche Lösung zu finden wäre es notwendig zu wissen, wie der konkrete Anwendungfall ist.
User avatar
Support@SIB
 
Posts: 349
Joined: Mon Sep 28, 2009 1:56 pm

Re: Frage zu RemoteDataBook und dem Einschränken von Daten

Postby alladinbp » Fri Nov 04, 2011 12:45 pm

Danke für die ausführliche Antwort. Ich versuch es genauer zu erklären:

Support@SIB wrote:
Ich habe versucht mir aus der angeklickten Tabellenzeile das id-Feld zu holen und es via rdbCustomerData.setFilter(new Equals("ID", selectedRow)); zu setzen, das haut aber nicht hin


Meinen Sie damit das die Datenanzeige nicht eingeschränkt wird? Dann ist ev. selectedRow kein vorhandener ID Wert. Sie können weiters bei eingeschaltetem Logging prüfen welcher Wert für das SELECT Statement verwendet wird!


Derzeit öffne ich in dem sich öffnenden Fenster eine neues DataBook (ist bestimmt nicht der beste Weg). In dem Fenster befindet sich dann ein Formular. Dem DataBook versuche ich so die Id zu übergeben. Leider wird immer der Datensatz mit der id 1 angezeigt. Ich vermute den Fehler dafür aber inzwischen eher in meinem Code. Werde das noch genauer nachschaun. Die Idee mit der DataRow weiter unten wird das wahrscheinlich lösen.

Support@SIB wrote:
110 Querys (wobei 4 Views involviert sind)


Der Normalfall ist das nicht und wir haben selbst bei komplexen Unit Tests diese Anzahl noch nicht erreicht!
Üblich ist eine Query pro DataBook, es sei denn die Datenmenge kann nicht auf einmal gefetched werden. Dann werden pro DataBook mehrere Queries abgesetzt (load-on-demand).

...

Wir vermuten das Problem ist abhängig von Ihrer Verwendung. Ohne Log bzw. Source Code kann nicht sehr viel mehr analysiert werden.


Interressanterweise gehen diese Queries auf den pg_catalog. Es sieht so aus als ob die gleiche Abfrage oft mit unterschiedlichen Id's ausgeführt wird (und das doppelt). Der folgende Log-Ausschnitt zeigt alles was in der Sekunde abläuft wo eine Tabelle aufgebaut wird.

Code: Select all
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT * FROM customer WHERE  1=2
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '1'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '1'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '2'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '2'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '3'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '3'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '4'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '4'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '5'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '5'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '6'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '6'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '7'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '7'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '8'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '8'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '9'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '9'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '10'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '10'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '11'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '11'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '12'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '12'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '13'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '13'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '14'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '14'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '15'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '15'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '16'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '16'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '17'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '17'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '18'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '18'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '19'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '19'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '20'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '20'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '21'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '21'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '22'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16444', $2 = '22'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SHOW search_path
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME,  CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'  WHEN true THEN CASE  WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TABLE'   WHEN 'v' THEN 'SYSTEM VIEW'   WHEN 'i' THEN 'SYSTEM INDEX'   ELSE NULL   END  WHEN n.nspname = 'pg_toast' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TOAST TABLE'   WHEN 'i' THEN 'SYSTEM TOAST INDEX'   ELSE NULL   END  ELSE CASE c.relkind   WHEN 'r' THEN 'TEMPORARY TABLE'   WHEN 'i' THEN 'TEMPORARY INDEX'   WHEN 'S' THEN 'TEMPORARY SEQUENCE'   WHEN 'v' THEN 'TEMPORARY VIEW'   ELSE NULL   END  END  WHEN false THEN CASE c.relkind  WHEN 'r' THEN 'TABLE'  WHEN 'i' THEN 'INDEX'  WHEN 'S' THEN 'SEQUENCE'  WHEN 'v' THEN 'VIEW'  WHEN 'c' THEN 'TYPE'  ELSE NULL  END  ELSE NULL  END  AS TABLE_TYPE, d.description AS REMARKS  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c  LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0)  LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid=dc.relnamespace AND dn.nspname='pg_catalog')  WHERE c.relnamespace = n.oid  AND n.nspname LIKE 'vms'  AND c.relname LIKE 'customer'  AND (false  OR ( c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' )  OR ( c.relkind = 'v' AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' ) )  ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME,  CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'  WHEN true THEN CASE  WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TABLE'   WHEN 'v' THEN 'SYSTEM VIEW'   WHEN 'i' THEN 'SYSTEM INDEX'   ELSE NULL   END  WHEN n.nspname = 'pg_toast' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TOAST TABLE'   WHEN 'i' THEN 'SYSTEM TOAST INDEX'   ELSE NULL   END  ELSE CASE c.relkind   WHEN 'r' THEN 'TEMPORARY TABLE'   WHEN 'i' THEN 'TEMPORARY INDEX'   WHEN 'S' THEN 'TEMPORARY SEQUENCE'   WHEN 'v' THEN 'TEMPORARY VIEW'   ELSE NULL   END  END  WHEN false THEN CASE c.relkind  WHEN 'r' THEN 'TABLE'  WHEN 'i' THEN 'INDEX'  WHEN 'S' THEN 'SEQUENCE'  WHEN 'v' THEN 'VIEW'  WHEN 'c' THEN 'TYPE'  ELSE NULL  END  ELSE NULL  END  AS TABLE_TYPE, d.description AS REMARKS  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c  LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0)  LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid=dc.relnamespace AND dn.nspname='pg_catalog')  WHERE c.relnamespace = n.oid  AND n.nspname LIKE 'public'  AND c.relname LIKE 'customer'  AND (false  OR ( c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' )  OR ( c.relkind = 'v' AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' ) )  ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT * FROM (SELECT n.nspname,c.relname,a.attname,a.atttypid,a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) AS attnotnull,a.atttypmod,a.attlen,row_number() OVER (PARTITION BY a.attrelid ORDER BY a.attnum) AS attnum, pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS adsrc,dsc.description,t.typbasetype,t.typtype  FROM pg_catalog.pg_namespace n  JOIN pg_catalog.pg_class c ON (c.relnamespace = n.oid)  JOIN pg_catalog.pg_attribute a ON (a.attrelid=c.oid)  JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid)  LEFT JOIN pg_catalog.pg_attrdef def ON (a.attrelid=def.adrelid AND a.attnum = def.adnum)  LEFT JOIN pg_catalog.pg_description dsc ON (c.oid=dsc.objoid AND a.attnum = dsc.objsubid)  LEFT JOIN pg_catalog.pg_class dc ON (dc.oid=dsc.classoid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dc.relnamespace=dn.oid AND dn.nspname='pg_catalog')  WHERE a.attnum > 0 AND NOT a.attisdropped  AND n.nspname LIKE 'public'  AND c.relname LIKE 'customer' ) c WHERE true  ORDER BY nspname,c.relname,attnum
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM,  ct.relname AS TABLE_NAME,  a.attname AS COLUMN_NAME,  a.attnum AS KEY_SEQ,  ci.relname AS PK_NAME  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class ct, pg_catalog.pg_class ci, pg_catalog.pg_attribute a, pg_catalog.pg_index i  WHERE ct.oid=i.indrelid AND ci.oid=i.indexrelid  AND a.attrelid=ci.oid AND i.indisprimary  AND ct.relname = 'customer'  AND ct.relnamespace = n.oid  AND n.nspname = 'public'  ORDER BY table_name, pk_name, key_seq
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM,  ct.relname AS TABLE_NAME, NOT i.indisunique AS NON_UNIQUE, NULL AS INDEX_QUALIFIER, ci.relname AS INDEX_NAME,  CASE i.indisclustered  WHEN true THEN 1 ELSE CASE am.amname  WHEN 'hash' THEN 2 ELSE 3 END  END AS TYPE,  a.attnum AS ORDINAL_POSITION,  CASE WHEN i.indexprs IS NULL THEN a.attname ELSE pg_catalog.pg_get_indexdef(ci.oid,a.attnum,false) END AS COLUMN_NAME,  NULL AS ASC_OR_DESC,  ci.reltuples AS CARDINALITY,  ci.relpages AS PAGES,  pg_catalog.pg_get_expr(i.indpred, i.indrelid) AS FILTER_CONDITION  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class ct, pg_catalog.pg_class ci, pg_catalog.pg_attribute a, pg_catalog.pg_am am , pg_catalog.pg_index i  WHERE ct.oid=i.indrelid AND ci.oid=i.indexrelid AND a.attrelid=ci.oid AND ci.relam=am.oid  AND n.oid = ct.relnamespace  AND n.nspname = 'public'  AND ct.relname = 'customer'  AND i.indisunique  ORDER BY NON_UNIQUE, TYPE, INDEX_NAME, ORDINAL_POSITION
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM,  ct.relname AS TABLE_NAME,  a.attname AS COLUMN_NAME,  a.attnum AS KEY_SEQ,  ci.relname AS PK_NAME  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class ct, pg_catalog.pg_class ci, pg_catalog.pg_attribute a, pg_catalog.pg_index i  WHERE ct.oid=i.indrelid AND ci.oid=i.indexrelid  AND a.attrelid=ci.oid AND i.indisprimary  AND ct.relname = 'customer'  AND ct.relnamespace = n.oid  AND n.nspname = 'public'  ORDER BY table_name, pk_name, key_seq
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT * FROM v_customer_data WHERE  1=2
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '1'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '1'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '2'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '2'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '3'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '3'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '4'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '4'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '5'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '5'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '6'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '6'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '7'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '7'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '8'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '8'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '9'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '9'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '10'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '10'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '11'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '11'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '12'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '12'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '13'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '13'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '14'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '14'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '15'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '15'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '16'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '16'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '17'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '17'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '18'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '18'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '19'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '19'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '20'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '20'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '21'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '21'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '22'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '22'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '23'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '23'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '24'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '24'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '25'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16608', $2 = '25'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SHOW search_path
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME,  CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'  WHEN true THEN CASE  WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TABLE'   WHEN 'v' THEN 'SYSTEM VIEW'   WHEN 'i' THEN 'SYSTEM INDEX'   ELSE NULL   END  WHEN n.nspname = 'pg_toast' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TOAST TABLE'   WHEN 'i' THEN 'SYSTEM TOAST INDEX'   ELSE NULL   END  ELSE CASE c.relkind   WHEN 'r' THEN 'TEMPORARY TABLE'   WHEN 'i' THEN 'TEMPORARY INDEX'   WHEN 'S' THEN 'TEMPORARY SEQUENCE'   WHEN 'v' THEN 'TEMPORARY VIEW'   ELSE NULL   END  END  WHEN false THEN CASE c.relkind  WHEN 'r' THEN 'TABLE'  WHEN 'i' THEN 'INDEX'  WHEN 'S' THEN 'SEQUENCE'  WHEN 'v' THEN 'VIEW'  WHEN 'c' THEN 'TYPE'  ELSE NULL  END  ELSE NULL  END  AS TABLE_TYPE, d.description AS REMARKS  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c  LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0)  LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid=dc.relnamespace AND dn.nspname='pg_catalog')  WHERE c.relnamespace = n.oid  AND n.nspname LIKE 'vms'  AND c.relname LIKE 'v_customer_data'  AND (false  OR ( c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' )  OR ( c.relkind = 'v' AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' ) )  ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME,  CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'  WHEN true THEN CASE  WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TABLE'   WHEN 'v' THEN 'SYSTEM VIEW'   WHEN 'i' THEN 'SYSTEM INDEX'   ELSE NULL   END  WHEN n.nspname = 'pg_toast' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TOAST TABLE'   WHEN 'i' THEN 'SYSTEM TOAST INDEX'   ELSE NULL   END  ELSE CASE c.relkind   WHEN 'r' THEN 'TEMPORARY TABLE'   WHEN 'i' THEN 'TEMPORARY INDEX'   WHEN 'S' THEN 'TEMPORARY SEQUENCE'   WHEN 'v' THEN 'TEMPORARY VIEW'   ELSE NULL   END  END  WHEN false THEN CASE c.relkind  WHEN 'r' THEN 'TABLE'  WHEN 'i' THEN 'INDEX'  WHEN 'S' THEN 'SEQUENCE'  WHEN 'v' THEN 'VIEW'  WHEN 'c' THEN 'TYPE'  ELSE NULL  END  ELSE NULL  END  AS TABLE_TYPE, d.description AS REMARKS  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c  LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0)  LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid=dc.relnamespace AND dn.nspname='pg_catalog')  WHERE c.relnamespace = n.oid  AND n.nspname LIKE 'public'  AND c.relname LIKE 'v_customer_data'  AND (false  OR ( c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' )  OR ( c.relkind = 'v' AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' ) )  ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT * FROM note WHERE  1=2
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '1'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '1'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '2'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '2'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '3'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '3'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '4'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '4'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) FROM pg_catalog.pg_attribute a JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) WHERE a.attrelid = $1 AND a.attnum = $2
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '5'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT 1  FROM pg_catalog.pg_attrdef  WHERE adrelid = $1 AND adnum = $2   AND pg_catalog.pg_get_expr(adbin, adrelid)       LIKE '%nextval(%'
2011-11-04 11:20:30 CET DETAIL:  Parameter: $1 = '16540', $2 = '5'
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SHOW search_path
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME,  CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'  WHEN true THEN CASE  WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TABLE'   WHEN 'v' THEN 'SYSTEM VIEW'   WHEN 'i' THEN 'SYSTEM INDEX'   ELSE NULL   END  WHEN n.nspname = 'pg_toast' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TOAST TABLE'   WHEN 'i' THEN 'SYSTEM TOAST INDEX'   ELSE NULL   END  ELSE CASE c.relkind   WHEN 'r' THEN 'TEMPORARY TABLE'   WHEN 'i' THEN 'TEMPORARY INDEX'   WHEN 'S' THEN 'TEMPORARY SEQUENCE'   WHEN 'v' THEN 'TEMPORARY VIEW'   ELSE NULL   END  END  WHEN false THEN CASE c.relkind  WHEN 'r' THEN 'TABLE'  WHEN 'i' THEN 'INDEX'  WHEN 'S' THEN 'SEQUENCE'  WHEN 'v' THEN 'VIEW'  WHEN 'c' THEN 'TYPE'  ELSE NULL  END  ELSE NULL  END  AS TABLE_TYPE, d.description AS REMARKS  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c  LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0)  LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid=dc.relnamespace AND dn.nspname='pg_catalog')  WHERE c.relnamespace = n.oid  AND n.nspname LIKE 'vms'  AND c.relname LIKE 'note'  AND (false  OR ( c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' )  OR ( c.relkind = 'v' AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' ) )  ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME,  CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'  WHEN true THEN CASE  WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TABLE'   WHEN 'v' THEN 'SYSTEM VIEW'   WHEN 'i' THEN 'SYSTEM INDEX'   ELSE NULL   END  WHEN n.nspname = 'pg_toast' THEN CASE c.relkind   WHEN 'r' THEN 'SYSTEM TOAST TABLE'   WHEN 'i' THEN 'SYSTEM TOAST INDEX'   ELSE NULL   END  ELSE CASE c.relkind   WHEN 'r' THEN 'TEMPORARY TABLE'   WHEN 'i' THEN 'TEMPORARY INDEX'   WHEN 'S' THEN 'TEMPORARY SEQUENCE'   WHEN 'v' THEN 'TEMPORARY VIEW'   ELSE NULL   END  END  WHEN false THEN CASE c.relkind  WHEN 'r' THEN 'TABLE'  WHEN 'i' THEN 'INDEX'  WHEN 'S' THEN 'SEQUENCE'  WHEN 'v' THEN 'VIEW'  WHEN 'c' THEN 'TYPE'  ELSE NULL  END  ELSE NULL  END  AS TABLE_TYPE, d.description AS REMARKS  FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c  LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0)  LEFT JOIN pg_catalog.pg_class dc ON (d.classoid=dc.oid AND dc.relname='pg_class')  LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid=dc.relnamespace AND dn.nspname='pg_catalog')  WHERE c.relnamespace = n.oid  AND n.nspname LIKE 'public'  AND c.relname LIKE 'note'  AND (false  OR ( c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema' )  OR ( c.relkind = 'v' AND n.nspname <> 'pg_catalog' AND n.nspname <> 'information_schema' ) )  ORDER BY TABLE_TYPE,TABLE_SCHEM,TABLE_NAME
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT * FROM note
2011-11-04 11:20:30 CET LOG:  Ausf??hren <unnamed>: SELECT * FROM v_customer_data


edit 2: Hab gerade gesehen, dass es in der pg_catalog.pg_attribute Tabelle garkeinen Datensatz mit der attrelid 16608 gibt. Die anderen überprüften ids gibts aber (16444 und 16540). Die meisten der Abfragen werden sogar doppelt mich gleichen ids ausgeführt.
Scheinbar geht dieses Verhalten aber auf JDBC zurück. Siehe zum Beispiel http://stackoverflow.com/questions/5453 ... postgresql und http://archives.postgresql.org/pgsql-ge ... g00093.php

Support@SIB wrote:
Es soll auch möglich sein mehrere von diesen Fenstern offen zu haben und somit unterschiedliche Datensätze "gleichzeitig" zu ändern.


Dafür gibt es mehrere mögliche Lösungen. Es hängt aber auch davon ab wie Sie die Eingabe gestalten möchten. Soll das "Popup" eine Tabelle oder ein Formular mit Speichern/Übernehmen Button darstellen bzw. soll automatisch gespeichert werden?


Diese Popups bestehen aus mehreren Formularen (mit einem TabsetPanel), die aber alle einen Speichern Button haben. Wenn man das Fenster schließt wird noch überprüft ob es ungespeicherte Änderungen gibt. Der Benutzer muss dann aber selbst auf speichern drücken. Also ist automatisches speichern nicht nötig.

Support@SIB wrote:Interessant wäre auch der konkrete Anwendungsfall, da mehrere unterschiedliche Datensätze in unterschiedlichen Fenstern auch schnell unübersichtlich werden.
Ist die Bearbeitung eines einzelnen Datensatzes in einem modalen Fenster keine Option?


Da stimme ich Ihnen zu. Der Kunde will aber zum Beispiel zwei Kunden vergleichen können indem er beide Kunden in ihrem eigenen Fenster offen hat.

Support@SIB wrote:Eine Lösung wäre z.B. das DataBook in der Applikation zu speichern. Der Auswahl Screen stellt das DataBook dar und öffnet die Detail Screens, setzt jeweils eine DataRow als Datengrundlage.

Beim Speichern in einem Detail Screen muss zuerst die korrekte Row im DataBook selektiert werden, via searchNext, und dann einfach mit setValues(getValues()) die Werte übernehmen. Die selektierte Row kann bei Bedarf wieder auf den ursprünglichen Wert zurückgesetzt werden. Um die Aktualität der Daten müssten Sie sich selbst kümmern z.B. durch einen valueChanged event auf das DataBook - die DataRows der offenen Screens aktualisieren....


Hört sich gut an. Allerdings gibt es in den Popups weitere Beziehungen. Also nicht nur die persönlichen Daten des Benutzers, sondern auch zum Beispiel hochgeladene Dateien (generell n:1 und n:m Relationen) usw., dargestellt durch Tabellen und weitere Formulare. Für diese Tabelle werde ich weitere DataBooks benötigen.
Ich frage mich nun ob ich die DataRow dann hernehmen kann um den anderen DataBooks diese Abhängigkeit zu setzen, also dass das HochgeladeneDaten-DataBook dann nur die Dateien des aktuellen Benutzers anzeigt?

edit: Kann man dann weiter mit dem UIEditor arbeiten wenn man nur eine DataRow hat? Oder muss man sich um das dann selbst kümmern?
Oder kann man zum Beispiel ein leeres MemDataBook anlegen, diese Zeile dort einfügen und dann so damit arbeiten?
Last edited by alladinbp on Fri Nov 04, 2011 2:04 pm, edited 1 time in total.
alladinbp
 
Posts: 39
Joined: Tue Oct 11, 2011 2:27 pm

Re: Frage zu RemoteDataBook und dem Einschränken von Daten

Postby Support@SIB » Fri Nov 04, 2011 1:57 pm

Sieht nicht nach JVx Log aus. Das sind Statements die direkt vom JDBC Treiber abgesetzt werden. Da hat JVx wenig Einfluß. Allerdings ermittelt JVx die Constraints im Falle von automatischen Link Cell Editoren. Wenn Sie dieses Feature für die Storage deaktivieren, sollten es weniger Statements sein.

Wenn Sie das Logging nur für JVx setzen sollten Sie die Anzahl der reinen "JVx" Statements sehen.

Für Master/Detail Beziehungen benötigen Sie ein IDataBook. Ganz einfach ein MemDataBook anlegen und die Row als Basis verwenden. Danach können Sie auch wieder beliebige Master/Detail Beziehungen herstellen.
User avatar
Support@SIB
 
Posts: 349
Joined: Mon Sep 28, 2009 1:56 pm

Re: Frage zu RemoteDataBook und dem Einschränken von Daten

Postby Support@SIB » Fri Nov 04, 2011 2:09 pm

Ihre edits wurden nun zufällig gelesen. Bitte vermeiden, da bereits geantwortet wurde.

Bitte beachten Sie die javadoc!

Der UIEditor benötigt eine IDataRow. Ein IDataBook erbt von IChangeableDataRow und in weiterer Folge von IDataRow.

Eine ReferenceDefinition benötigt ein IDataBook.
Eine UITable benötigt ein IDataBook.
User avatar
Support@SIB
 
Posts: 349
Joined: Mon Sep 28, 2009 1:56 pm

Re: Frage zu RemoteDataBook und dem Einschränken von Daten

Postby alladinbp » Fri Nov 04, 2011 3:09 pm

Support@SIB wrote:Für Master/Detail Beziehungen benötigen Sie ein IDataBook. Ganz einfach ein MemDataBook anlegen und die Row als Basis verwenden. Danach können Sie auch wieder beliebige Master/Detail Beziehungen herstellen.


Soweit ich gesehen hab gibt es keine einfache Möglichkeit eine DataRow wieder in ein DataBook einzufügen. Mit getDataRow(...) bekommt man die Row sehr einfach. Aber muss ich jetzt beim Einfügen insert(false); aufrufen und dann alle Werte händisch setzen?
alladinbp
 
Posts: 39
Joined: Tue Oct 11, 2011 2:27 pm

Re: Frage zu RemoteDataBook und dem Einschränken von Daten

Postby Support@SIB » Fri Nov 04, 2011 3:27 pm

Die schnelle Variante

Code: Select all
  mdb.insert(false);
  mdb.setValues(null, row.getValues(null));

oder die "schöne":

Code: Select all
  mdb.insert(false);
  mdb.setValues(mdb.getRowDefinition().getColumnNames(),
                row.getValues(mdb.getRowDefinition().getColumnNames()));
User avatar
Support@SIB
 
Posts: 349
Joined: Mon Sep 28, 2009 1:56 pm

Re: Frage zu RemoteDataBook und dem Einschränken von Daten

Postby alladinbp » Fri Nov 04, 2011 3:38 pm

Sehr gut, danke!
alladinbp
 
Posts: 39
Joined: Tue Oct 11, 2011 2:27 pm


Return to Development (DE)