@@ 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. |
@@ 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. |
@@ 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 |