|
|
|
Hi All! Как узнать "кто" вызвал функцию?
|
|||
|---|---|---|---|
|
#18+
В БД есть функция, которая вызывается из многих мест(и из других функций и из приложения). Назовем ее условно UpdateEntity. Есть ли возможность определить в UpdateEntity, кто ее дернул? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2015, 20:36 |
|
||
|
Hi All! Как узнать "кто" вызвал функцию?
|
|||
|---|---|---|---|
|
#18+
в какую строну куда копать? делать выборку из pg_stat_activity ? не то вроде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2015, 20:48 |
|
||
|
Hi All! Как узнать "кто" вызвал функцию?
|
|||
|---|---|---|---|
|
#18+
VladM2, вообще-то добавьте необязательный параметр tag и передавайте в него что хотите. с недавних времён -- вот это должно работать http://www.postgresql.org/docs/9.4/static/plpgsql-control-structures.html 40.6.7. Obtaining Current Execution Information Код: sql 1. Currently only one information item is supported. Status item PG_CONTEXT will return a text string with line(s) of text describing the call stack. The first line refers to the current function and currently executing GET DIAGNOSTICS command. The second and any subsequent lines refer to calling functions further up the call stack. For example: я пока не пользовал -- тонкости не расскажу. ну и current_query() в умелых руках что--то о себе умеет рассказать. -- это к вопросу о "что" дернуло кто дернул -- session_user : http://www.postgresql.org/docs/9.4/static/functions-info.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2015, 21:09 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=107&tid=1997866]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 365ms |

| 0 / 0 |
