@@ 383-394 (lines=12) @@ | ||
380 | * |
|
381 | * @return \PHPPgAdmin\ADORecordSet A recordset |
|
382 | */ |
|
383 | public function getPreparedXacts($database = null) |
|
384 | { |
|
385 | if ($database === null) { |
|
386 | $sql = 'SELECT * FROM pg_prepared_xacts'; |
|
387 | } else { |
|
388 | $this->clean($database); |
|
389 | $sql = "SELECT transaction, gid, prepared, owner FROM pg_prepared_xacts |
|
390 | WHERE database='{$database}' ORDER BY owner"; |
|
391 | } |
|
392 | ||
393 | return $this->selectSet($sql); |
|
394 | } |
|
395 | ||
396 | /** |
|
397 | * Returns all available process information. |
|
@@ 403-420 (lines=18) @@ | ||
400 | * |
|
401 | * @return \PHPPgAdmin\ADORecordSet A recordset |
|
402 | */ |
|
403 | public function getProcesses($database = null) |
|
404 | { |
|
405 | if ($database === null) { |
|
406 | $sql = "SELECT datname, usename, pid, waiting, state_change as query_start, |
|
407 | case when state='idle in transaction' then '<IDLE> in transaction' when state = 'idle' then '<IDLE>' else query end as query |
|
408 | FROM pg_catalog.pg_stat_activity |
|
409 | ORDER BY datname, usename, pid"; |
|
410 | } else { |
|
411 | $this->clean($database); |
|
412 | $sql = "SELECT datname, usename, pid, waiting, state_change as query_start, |
|
413 | case when state='idle in transaction' then '<IDLE> in transaction' when state = 'idle' then '<IDLE>' else query end as query |
|
414 | FROM pg_catalog.pg_stat_activity |
|
415 | WHERE datname='{$database}' |
|
416 | ORDER BY usename, pid"; |
|
417 | } |
|
418 | ||
419 | return $this->selectSet($sql); |
|
420 | } |
|
421 | ||
422 | // interfaces Statistics collector functions |
|
423 |
@@ 255-272 (lines=18) @@ | ||
252 | * |
|
253 | * @return \PHPPgAdmin\ADORecordSet A recordset |
|
254 | */ |
|
255 | public function getProcesses($database = null) |
|
256 | { |
|
257 | if ($database === null) { |
|
258 | $sql = "SELECT datname, usename, procpid AS pid, current_query AS query, query_start, |
|
259 | case when (select count(*) from pg_locks where pid=pg_stat_activity.procpid and granted is false) > 0 then 't' else 'f' end as waiting |
|
260 | FROM pg_catalog.pg_stat_activity |
|
261 | ORDER BY datname, usename, procpid"; |
|
262 | } else { |
|
263 | $this->clean($database); |
|
264 | $sql = "SELECT datname, usename, procpid AS pid, current_query AS query, query_start |
|
265 | case when (select count(*) from pg_locks where pid=pg_stat_activity.procpid and granted is false) > 0 then 't' else 'f' end as waiting |
|
266 | FROM pg_catalog.pg_stat_activity |
|
267 | WHERE datname='{$database}' |
|
268 | ORDER BY usename, procpid"; |
|
269 | } |
|
270 | ||
271 | return $this->selectSet($sql); |
|
272 | } |
|
273 | ||
274 | // Tablespace functions |
|
275 |
@@ 32-47 (lines=16) @@ | ||
29 | * |
|
30 | * @return \PHPPgAdmin\ADORecordSet A recordset |
|
31 | */ |
|
32 | public function getProcesses($database = null) |
|
33 | { |
|
34 | if ($database === null) { |
|
35 | $sql = 'SELECT datname, usename, procpid AS pid, waiting, current_query AS query, query_start |
|
36 | FROM pg_catalog.pg_stat_activity |
|
37 | ORDER BY datname, usename, procpid'; |
|
38 | } else { |
|
39 | $this->clean($database); |
|
40 | $sql = "SELECT datname, usename, procpid AS pid, waiting, current_query AS query, query_start |
|
41 | FROM pg_catalog.pg_stat_activity |
|
42 | WHERE datname='{$database}' |
|
43 | ORDER BY usename, procpid"; |
|
44 | } |
|
45 | ||
46 | return $this->selectSet($sql); |
|
47 | } |
|
48 | ||
49 | // Tablespace functions |
|
50 |
@@ 25-42 (lines=18) @@ | ||
22 | * |
|
23 | * @return \PHPPgAdmin\ADORecordSet A recordset |
|
24 | */ |
|
25 | public function getProcesses($database = null) |
|
26 | { |
|
27 | if ($database === null) { |
|
28 | $sql = "SELECT datname, usename, pid, waiting, state_change as query_start, |
|
29 | case when state='idle in transaction' then '<IDLE> in transaction' when state = 'idle' then '<IDLE>' else query end as query |
|
30 | FROM pg_catalog.pg_stat_activity |
|
31 | ORDER BY datname, usename, pid"; |
|
32 | } else { |
|
33 | $this->clean($database); |
|
34 | $sql = "SELECT datname, usename, pid, waiting, state_change as query_start, |
|
35 | case when state='idle in transaction' then '<IDLE> in transaction' when state = 'idle' then '<IDLE>' else query end as query |
|
36 | FROM pg_catalog.pg_stat_activity |
|
37 | WHERE datname='{$database}' |
|
38 | ORDER BY usename, pid"; |
|
39 | } |
|
40 | ||
41 | return $this->selectSet($sql); |
|
42 | } |
|
43 | ||
44 | /** |
|
45 | * Retrieves information for all tablespaces. |
@@ 27-50 (lines=24) @@ | ||
24 | * |
|
25 | * @return \PHPPgAdmin\ADORecordSet A recordset |
|
26 | */ |
|
27 | public function getProcesses($database = null) |
|
28 | { |
|
29 | if ($database === null) { |
|
30 | $sql = "SELECT datid, datname, pid, usename, application_name, client_addr, state, wait_event_type, wait_event, state_change as query_start, |
|
31 | CASE |
|
32 | WHEN state='active' THEN query |
|
33 | ELSE state |
|
34 | END AS query |
|
35 | FROM pg_catalog.pg_stat_activity |
|
36 | ORDER BY datname, usename, pid"; |
|
37 | } else { |
|
38 | $this->clean($database); |
|
39 | $sql = "SELECT datid, datname, pid, usename, application_name, client_addr, state, wait_event_type, wait_event, state_change as query_start, |
|
40 | CASE |
|
41 | WHEN state='active' THEN query |
|
42 | ELSE state |
|
43 | END AS query |
|
44 | FROM pg_catalog.pg_stat_activity |
|
45 | WHERE datname='{$database}' |
|
46 | ORDER BY usename, pid"; |
|
47 | } |
|
48 | ||
49 | return $this->selectSet($sql); |
|
50 | } |
|
51 | ||
52 | public function hasUserSignals() |
|
53 | { |