Revision dd3f1958
Von Moritz Bunkus vor fast 5 Jahren hinzugefügt
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
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.