Code Duplication    Length = 29-32 lines in 2 locations

sources/lib/Inspector/LegacyInspector.php 1 location

@@ 243-271 (lines=29) @@
240
     * @return \PommProject\Foundation\ConvertedResultIterator
241
     * @deprecated
242
     */
243
    public function getSchemaRelations($schema_oid, Where $where = null)
244
    {
245
        $condition = Where::create('relnamespace = $*', [$schema_oid])
246
            ->andWhere(Where::createWhereIn('relkind', ['r', 'v', 'm', 'f']))
247
            ->andWhere($where)
248
            ;
249
250
        $sql = <<<SQL
251
select
252
    cl.relname      as "name",
253
    case
254
        when cl.relkind = 'r' then 'table'
255
        when cl.relkind = 'v' then 'view'
256
        when cl.relkind = 'm' then 'materialized view'
257
        when cl.relkind = 'f' then 'foreign table'
258
        else 'other'
259
    end             as "type",
260
    cl.oid          as "oid",
261
    des.description as "comment"
262
from
263
    pg_catalog.pg_class cl
264
        left join pg_catalog.pg_description des on
265
            cl.oid = des.objoid and des.objsubid = 0
266
where {condition}
267
order by name asc
268
SQL;
269
270
        return $this->executeSql($sql, $condition);
271
    }
272
273
    /**
274
     * getTableComment

sources/lib/Inspector/RelationInspector.php 1 location

@@ 62-93 (lines=32) @@
59
     * @param   Where $where
60
     * @return  ConvertedResultIterator
61
     */
62
    public function getRelations(Where $where = null)
63
    {
64
        $condition = Where::createWhereIn('relkind', ['r', 'v', 'm', 'f'])
65
            ->andWhere($where)
66
            ;
67
68
        $sql = <<<SQL
69
select
70
    cl.relname      as "name",
71
    case
72
        when cl.relkind = 'r' then 'table'
73
        when cl.relkind = 'v' then 'view'
74
        when cl.relkind = 'm' then 'materialized view'
75
        when cl.relkind = 'f' then 'foreign table'
76
        else 'other'
77
    end             as "type",
78
    n.nspname       as "schema",
79
    cl.oid          as "oid",
80
    o.rolname       as "owner",
81
    case
82
        when cl.relkind = 'r' then pg_size_pretty(pg_relation_size(cl.oid::regclass))
83
        else null
84
    end             as "size",
85
    des.description as "comment"
86
from
87
    pg_catalog.pg_class cl
88
        left join pg_catalog.pg_description des on
89
            cl.oid = des.objoid and des.objsubid = 0
90
        join pg_catalog.pg_roles o on cl.relowner = o.oid
91
        join pg_catalog.pg_namespace n on cl.relnamespace = n.oid
92
where {condition}
93
order by name asc
94
SQL;
95
96
        return $this->executeSql($sql, $condition);