Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision dd3f1958

Von Moritz Bunkus vor fast 5 Jahren hinzugefügt

  • ID dd3f1958ace6996b4db38f1de88aacdb2c660632
  • Vorgänger c1c33278
  • Nachfolger 05f8844c

Unterstützung für PostgreSQL 12

Das Format von `pg_attrdef` wurde in PostgreSQL 12 deutlich geändert;
die Spalte `adsrc` gibt es nicht mehr. Für den Auth-Code ist
allerdings nur interessant, ob es Spalte X in Tabelle Y bereits
gibt. Also auch nur genau diese Informationen auslesen.

Unterschiede anzeigen:

SL/Auth/ColumnInformation.pm
27 27

  
28 28
  foreach my $table (qw(session session_content)) {
29 29
    my $query = <<SQL;
30
      SELECT a.attname, format_type(a.atttypid, a.atttypmod) AS format_type, d.adsrc, a.attnotnull
31
      FROM pg_attribute a
32
      LEFT JOIN pg_attrdef d ON (a.attrelid = d.adrelid) AND (a.attnum = d.adnum)
33
      WHERE (a.attrelid = 'auth.${table}'::regclass)
34
        AND (a.attnum > 0)
35
        AND NOT a.attisdropped
36
      ORDER BY a.attnum
30
      SELECT attname
31
      FROM pg_attribute
32
      WHERE (attrelid = 'auth.${table}'::regclass)
33
        AND (attnum > 0)
34
        AND NOT attisdropped
37 35
SQL
38 36

  
39
    $self->{info}->{$table} = { selectall_as_map($::form, $self->{auth}->dbconnect, $query, 'attname', [ qw(format_type adsrc attnotnull) ]) };
37
    $self->{info}->{$table} = { selectall_as_map($::form, $self->{auth}->dbconnect, $query, 'attname', [ qw(attname) ]) };
40 38
  }
41 39

  
42 40
  return $self;

Auch abrufbar als: Unified diff