pg_pathman
pg_pathman copied to clipboard
latest_query_id auto increment caused pg_stat_statements inflate
the following code /*
- HACK: We have to mark each Query with a unique
- id in order to recognize them properly. */ #define QUERY_ID_INITIAL 0 static uint64 latest_query_id = QUERY_ID_INITIAL;
void assign_query_id(Query *query) { uint64 prev_id = latest_query_id++;
if (prev_id > latest_query_id)
elog(WARNING, "assign_query_id(): queryId overflow");
query->queryId = latest_query_id;
} cause queryId changed every request, so pg_stat_statements cannot agg by queryId, finally it's inflate. but we don't find any where that use queryId in pg_pathman.
We have to mark each Query with a unique
- id in order to recognize them properly so can you help to explain what is the purpose and which place use it?
what if we remove assign_query_id() call?