BUG #16179: is it reasonable to callback pgss_post_parse_analyze or pg_hint_plan_post_parse_analyze ???
От | PG Bug reporting form |
---|---|
Тема | BUG #16179: is it reasonable to callback pgss_post_parse_analyze or pg_hint_plan_post_parse_analyze ??? |
Дата | |
Msg-id | 16179-f7f1d45afb4452bb@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #16179: is it reasonable to callback pgss_post_parse_analyzeor pg_hint_plan_post_parse_analyze ???
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 16179 Logged by: DamionZ Zhao Email address: zhq651@126.com PostgreSQL version: 11.5 Operating system: linux Description: When I only configure GUC as shared_preload_libraries = 'pg_hint_plan, pg_stat_statment' and have not run sql: 'create extension pg_hint_plan; create extension pg_stat_statment', I expected that parse_analyze will not run into functions :pgss_post_parse_analyze or pg_hint_plan_post_parse_analyze In fact , it does not . I print runtime call stack. ----------------------------------------------------- statment 1: select #0 pgss_post_parse_analyze (pstate=0x2a45818, query=0x2a45928) at pg_stat_statements.c:812 #1 0x00007fbe60506734 in pg_hint_plan_post_parse_analyze (pstate=0x2a45818, query=0x2a45928) at pg_hint_plan.c:2767 #2 0x000000000058fbe5 in parse_analyze (parseTree=0x2a45798, sourceText=0x2a44a90 "select * from abcd;", paramTypes=0x0, numParams=0, queryEnv=0x0) at analyze.c:124 #3 0x00000000008926b6 in pg_analyze_and_rewrite (parsetree=0x2a45798, query_string=0x2a44a90 "select * from abcd;", paramTypes=0x0, numParams=0, queryEnv=0x0) at postgres.c:694 #4 0x00000000008938a0 in exec_simple_query (query_string=0x2a44a90 "select * from abcd;") at postgres.c:1120 #5 0x0000000000897c04 in PostgresMain (argc=1, argv=0x2a73268, dbname=0x2a73178 "postgres", username=0x2a73158 "postgres") at postgres.c:4271 #6 0x00000000008021a0 in BackendRun (port=0x2a6b260) at postmaster.c:4405 #7 0x0000000000801934 in BackendStartup (port=0x2a6b260) at postmaster.c:4077 #8 0x00000000007fe148 in ServerLoop () at postmaster.c:1749 #9 0x00000000007fd936 in PostmasterMain (argc=3, argv=0x2a3cc40) at postmaster.c:1399 #10 0x0000000000731bab in main (argc=3, argv=0x2a3cc40) at main.c:232 Breakpoint 2, pgss_post_parse_analyze (pstate=0x2a45808, query=0x2a45918) at pg_stat_statements.c:782 statment 2: create table (gdb) bt #0 pgss_post_parse_analyze (pstate=0x2a45808, query=0x2a45918) at pg_stat_statements.c:782 #1 0x00007fbe60506734 in pg_hint_plan_post_parse_analyze (pstate=0x2a45808, query=0x2a45918) at pg_hint_plan.c:2767 #2 0x000000000058fbe5 in parse_analyze (parseTree=0x2a45788, sourceText=0x2a44a90 "create table abcd\n(i int);", paramTypes=0x0, numParams=0, queryEnv=0x0) at analyze.c:124 #3 0x00000000008926b6 in pg_analyze_and_rewrite (parsetree=0x2a45788, query_string=0x2a44a90 "create table abcd\n(i int);", paramTypes=0x0, numParams=0, queryEnv=0x0) at postgres.c:694 #4 0x00000000008938a0 in exec_simple_query (query_string=0x2a44a90 "create table abcd\n(i int);") at postgres.c:1120 #5 0x0000000000897c04 in PostgresMain (argc=1, argv=0x2a73268, dbname=0x2a73178 "postgres", username=0x2a73158 "postgres") at postgres.c:4271 #6 0x00000000008021a0 in BackendRun (port=0x2a6b260) at postmaster.c:4405 #7 0x0000000000801934 in BackendStartup (port=0x2a6b260) at postmaster.c:4077 #8 0x00000000007fe148 in ServerLoop () at postmaster.c:1749 #9 0x00000000007fd936 in PostmasterMain (argc=3, argv=0x2a3cc40) at postmaster.c:1399 #10 0x0000000000731bab in main (argc=3, argv=0x2a3cc40) at main.c:232 (gdb) It will degrade performance and may cause the wrong result if it contains modify operation.
В списке pgsql-bugs по дате отправления: