1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-14 02:23:59 +02:00

PostgreSQL: Hide only partitions, not all inherited tables from menu

This commit is contained in:
Jakub Vrana
2025-06-03 15:05:12 +02:00
parent 57b6afc8cb
commit 4698686232
5 changed files with 6 additions and 5 deletions

View File

@@ -340,7 +340,7 @@ if (isset($_GET["pgsql"])) {
}
function partitionsInfo(string $table): array {
$row = connection()->query("SELECT * FROM pg_partitioned_table WHERE partrelid = " . driver()->tableOid($table))->fetch_assoc();
$row = connection()->query("SELECT * FROM pg_partitioned_table WHERE partrelid = " . $this->tableOid($table))->fetch_assoc();
if ($row) {
$attrs = get_vals("SELECT attname FROM pg_attribute WHERE attrelid = $row[partrelid] AND attnum IN (" . str_replace(" ", ", ", $row["partattrs"]) . ")"); //! ordering
$by = array('h' => 'HASH', 'l' => 'LIST', 'r' => 'RANGE');
@@ -453,7 +453,7 @@ ORDER BY 1";
obj_description(oid, 'pg_class') AS \"Comment\",
" . (min_version(12) ? "''" : "CASE WHEN relhasoids THEN 'oid' ELSE '' END") . " AS \"Oid\",
reltuples AS \"Rows\",
(SELECT inhparent FROM pg_inherits WHERE inhrelid = oid) AS inherited,
" . (min_version(10) ? "relispartition::int AS partition," : "") . "
current_schema() AS nspname
FROM pg_class
WHERE relkind IN ('r', 'm', 'v', 'f', 'p')

View File

@@ -1100,7 +1100,7 @@ class Adminer {
foreach ($tables as $table => $status) {
$table = "$table"; // do not highlight "0" as active everywhere
$name = adminer()->tableName($status);
if ($name != "" && !$status["inherited"]) {
if ($name != "" && !$status["partition"]) {
echo '<li><a href="' . h(ME) . 'select=' . urlencode($table) . '"'
. bold($_GET["select"] == $table || $_GET["edit"] == $table, "select")
. " title='" . lang('Select data') . "'>" . lang('select') . "</a> "