mirror of
https://github.com/vrana/adminer.git
synced 2025-08-06 22:56:46 +02:00
PostgreSQL: Hide only partitions, not all inherited tables from menu
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
- Allow specifying operator in search anywhere
|
- Allow specifying operator in search anywhere
|
||||||
- MySQL 5.0-: Do not load partitioning info in alter table (bug #1099)
|
- MySQL 5.0-: Do not load partitioning info in alter table (bug #1099)
|
||||||
- PostgreSQL: Show structure of inherited tables
|
- PostgreSQL: Show structure of inherited tables
|
||||||
|
- PostgreSQL: Hide only partitions, not all inherited tables from menu
|
||||||
- PostgreSQL 11-: Avoid duplicate oid in table status (bug #1089)
|
- PostgreSQL 11-: Avoid duplicate oid in table status (bug #1089)
|
||||||
- Plugins: Methods processList() and killProcess()
|
- Plugins: Methods processList() and killProcess()
|
||||||
|
|
||||||
|
@@ -340,7 +340,7 @@ if (isset($_GET["pgsql"])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function partitionsInfo(string $table): array {
|
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) {
|
if ($row) {
|
||||||
$attrs = get_vals("SELECT attname FROM pg_attribute WHERE attrelid = $row[partrelid] AND attnum IN (" . str_replace(" ", ", ", $row["partattrs"]) . ")"); //! ordering
|
$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');
|
$by = array('h' => 'HASH', 'l' => 'LIST', 'r' => 'RANGE');
|
||||||
@@ -453,7 +453,7 @@ ORDER BY 1";
|
|||||||
obj_description(oid, 'pg_class') AS \"Comment\",
|
obj_description(oid, 'pg_class') AS \"Comment\",
|
||||||
" . (min_version(12) ? "''" : "CASE WHEN relhasoids THEN 'oid' ELSE '' END") . " AS \"Oid\",
|
" . (min_version(12) ? "''" : "CASE WHEN relhasoids THEN 'oid' ELSE '' END") . " AS \"Oid\",
|
||||||
reltuples AS \"Rows\",
|
reltuples AS \"Rows\",
|
||||||
(SELECT inhparent FROM pg_inherits WHERE inhrelid = oid) AS inherited,
|
" . (min_version(10) ? "relispartition::int AS partition," : "") . "
|
||||||
current_schema() AS nspname
|
current_schema() AS nspname
|
||||||
FROM pg_class
|
FROM pg_class
|
||||||
WHERE relkind IN ('r', 'm', 'v', 'f', 'p')
|
WHERE relkind IN ('r', 'm', 'v', 'f', 'p')
|
||||||
|
@@ -1100,7 +1100,7 @@ class Adminer {
|
|||||||
foreach ($tables as $table => $status) {
|
foreach ($tables as $table => $status) {
|
||||||
$table = "$table"; // do not highlight "0" as active everywhere
|
$table = "$table"; // do not highlight "0" as active everywhere
|
||||||
$name = adminer()->tableName($status);
|
$name = adminer()->tableName($status);
|
||||||
if ($name != "" && !$status["inherited"]) {
|
if ($name != "" && !$status["partition"]) {
|
||||||
echo '<li><a href="' . h(ME) . 'select=' . urlencode($table) . '"'
|
echo '<li><a href="' . h(ME) . 'select=' . urlencode($table) . '"'
|
||||||
. bold($_GET["select"] == $table || $_GET["edit"] == $table, "select")
|
. bold($_GET["select"] == $table || $_GET["edit"] == $table, "select")
|
||||||
. " title='" . lang('Select data') . "'>" . lang('select') . "</a> "
|
. " title='" . lang('Select data') . "'>" . lang('select') . "</a> "
|
||||||
|
@@ -61,7 +61,7 @@ parameters:
|
|||||||
max: 80499
|
max: 80499
|
||||||
|
|
||||||
typeAliases:
|
typeAliases:
|
||||||
TableStatus: "array{Name:string, Engine?:?string, Comment?:string, Oid?:numeric-string, Rows?:?numeric-string, Collation?:string, Auto_increment?:?numeric-string, Data_length?:numeric-string, Index_length?:numeric-string, Data_free?:numeric-string, Create_options?:string, inherited?:numeric-string, nspname?:string}"
|
TableStatus: "array{Name:string, Engine?:?string, Comment?:string, Oid?:numeric-string, Rows?:?numeric-string, Collation?:string, Auto_increment?:?numeric-string, Data_length?:numeric-string, Index_length?:numeric-string, Data_free?:numeric-string, Create_options?:string, partition?:numeric-string, nspname?:string}"
|
||||||
Field: "array{field?:string, full_type:string, type:string, length:numeric-string, unsigned:string, default?:string, null:bool, auto_increment:bool, collation:string, privileges:int[], comment:string, primary:bool, generated:string, orig?:string, on_update?:string, on_delete?:string, default_constraint?: string}"
|
Field: "array{field?:string, full_type:string, type:string, length:numeric-string, unsigned:string, default?:string, null:bool, auto_increment:bool, collation:string, privileges:int[], comment:string, primary:bool, generated:string, orig?:string, on_update?:string, on_delete?:string, default_constraint?: string}"
|
||||||
FieldType: "array{type:string, length:numeric-string, unsigned:string, collation:string}" # subset of RoutineField and Field
|
FieldType: "array{type:string, length:numeric-string, unsigned:string, collation:string}" # subset of RoutineField and Field
|
||||||
RoutineField: "array{field:string, type:string, length:numeric-string, unsigned:string, null:bool, full_type:string, collation:string, inout?:string}"
|
RoutineField: "array{field:string, type:string, length:numeric-string, unsigned:string, null:bool, full_type:string, collation:string, inout?:string}"
|
||||||
|
@@ -36,7 +36,7 @@ class AdminerMenuLinks extends Adminer\Plugin {
|
|||||||
foreach ($tables as $table => $status) {
|
foreach ($tables as $table => $status) {
|
||||||
$table = "$table"; // do not highlight "0" as active everywhere
|
$table = "$table"; // do not highlight "0" as active everywhere
|
||||||
$name = Adminer\adminer()->tableName($status);
|
$name = Adminer\adminer()->tableName($status);
|
||||||
if ($name != "" && !$status["inherited"]) {
|
if ($name != "" && !$status["partition"]) {
|
||||||
echo '<li>';
|
echo '<li>';
|
||||||
if (!$menu) {
|
if (!$menu) {
|
||||||
echo '<a href="' . Adminer\h(Adminer\ME) . 'select=' . urlencode($table) . '"'
|
echo '<a href="' . Adminer\h(Adminer\ME) . 'select=' . urlencode($table) . '"'
|
||||||
|
Reference in New Issue
Block a user