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