Code Duplication    Length = 20-23 lines in 5 locations

src/database/databasetraits/FtsTrait.php 3 locations

@@ 87-109 (lines=23) @@
84
     *
85
     * @return \PHPPgAdmin\ADORecordSet A recordset
86
     */
87
    public function getFtsConfigurations($all = true)
88
    {
89
        $c_schema = $this->_schema;
90
        $this->clean($c_schema);
91
        $sql = "
92
            SELECT
93
                n.nspname as schema,
94
                c.cfgname as name,
95
                pg_catalog.obj_description(c.oid, 'pg_ts_config') as comment
96
            FROM
97
                pg_catalog.pg_ts_config c
98
                JOIN pg_catalog.pg_namespace n ON n.oid = c.cfgnamespace
99
            WHERE
100
                pg_catalog.pg_ts_config_is_visible(c.oid)";
101
102
        if (!$all) {
103
            $sql .= " AND  n.nspname='{$c_schema}'\n";
104
        }
105
106
        $sql .= 'ORDER BY name';
107
108
        return $this->selectSet($sql);
109
    }
110
111
    // Aggregate functions
112
@@ 161-181 (lines=21) @@
158
     *
159
     * @return \PHPPgAdmin\ADORecordSet A recordset
160
     */
161
    public function getFtsParsers($all = true)
162
    {
163
        $c_schema = $this->_schema;
164
        $this->clean($c_schema);
165
        $sql = "
166
            SELECT
167
               n.nspname as schema,
168
               p.prsname as name,
169
               pg_catalog.obj_description(p.oid, 'pg_ts_parser') as comment
170
            FROM pg_catalog.pg_ts_parser p
171
                LEFT JOIN pg_catalog.pg_namespace n ON (n.oid = p.prsnamespace)
172
            WHERE pg_catalog.pg_ts_parser_is_visible(p.oid)";
173
174
        if (!$all) {
175
            $sql .= " AND n.nspname='{$c_schema}'\n";
176
        }
177
178
        $sql .= 'ORDER BY name';
179
180
        return $this->selectSet($sql);
181
    }
182
183
    /**
184
     * Returns FTS dictionaries available.
@@ 190-209 (lines=20) @@
187
     *
188
     * @return \PHPPgAdmin\ADORecordSet A recordset
189
     */
190
    public function getFtsDictionaries($all = true)
191
    {
192
        $c_schema = $this->_schema;
193
        $this->clean($c_schema);
194
        $sql = "
195
            SELECT
196
                n.nspname as schema, d.dictname as name,
197
                pg_catalog.obj_description(d.oid, 'pg_ts_dict') as comment
198
            FROM pg_catalog.pg_ts_dict d
199
                LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.dictnamespace
200
            WHERE pg_catalog.pg_ts_dict_is_visible(d.oid)";
201
202
        if (!$all) {
203
            $sql .= " AND n.nspname='{$c_schema}'\n";
204
        }
205
206
        $sql .= 'ORDER BY name;';
207
208
        return $this->selectSet($sql);
209
    }
210
211
    /**
212
     * Returns all FTS dictionary templates available.

src/database/databasetraits/SequenceTrait.php 1 location

@@ 21-42 (lines=22) @@
18
     *
19
     * @return \PHPPgAdmin\ADORecordSet A recordset
20
     */
21
    public function getSequences($all = false)
22
    {
23
        if ($all) {
24
            // Exclude pg_catalog and information_schema tables
25
            $sql = "SELECT n.nspname, c.relname AS seqname, u.usename AS seqowner
26
				FROM pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n
27
				WHERE c.relowner=u.usesysid AND c.relnamespace=n.oid
28
				AND c.relkind = 'S'
29
				AND n.nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast')
30
				ORDER BY nspname, seqname";
31
        } else {
32
            $c_schema = $this->_schema;
33
            $this->clean($c_schema);
34
            $sql = "SELECT c.relname AS seqname, u.usename AS seqowner, pg_catalog.obj_description(c.oid, 'pg_class') AS seqcomment,
35
				(SELECT spcname FROM pg_catalog.pg_tablespace pt WHERE pt.oid=c.reltablespace) AS tablespace
36
				FROM pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n
37
				WHERE c.relowner=u.usesysid AND c.relnamespace=n.oid
38
				AND c.relkind = 'S' AND n.nspname='{$c_schema}' ORDER BY seqname";
39
        }
40
41
        return $this->selectSet($sql);
42
    }
43
44
    /**
45
     * Execute nextval on a given sequence.

src/database/Postgres74.php 1 location

@@ 493-513 (lines=21) @@
490
     *
491
     * @return \PHPPgAdmin\ADORecordSet A recordset
492
     */
493
    public function getSequences($all = false)
494
    {
495
        $c_schema = $this->_schema;
496
        $this->clean($c_schema);
497
        if ($all) {
498
            // Exclude pg_catalog and information_schema tables
499
            $sql = "SELECT n.nspname, c.relname AS seqname, u.usename AS seqowner
500
				FROM pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n
501
				WHERE c.relowner=u.usesysid AND c.relnamespace=n.oid
502
				AND c.relkind = 'S'
503
				AND n.nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast')
504
				ORDER BY nspname, seqname";
505
        } else {
506
            $sql = "SELECT c.relname AS seqname, u.usename AS seqowner, pg_catalog.obj_description(c.oid, 'pg_class') AS seqcomment
507
				FROM pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n
508
				WHERE c.relowner=u.usesysid AND c.relnamespace=n.oid
509
				AND c.relkind = 'S' AND n.nspname='{$c_schema}' ORDER BY seqname";
510
        }
511
512
        return $this->selectSet($sql);
513
    }
514
515
    // Sequence functions
516