pg_pathman icon indicating copy to clipboard operation
pg_pathman copied to clipboard

latest_query_id auto increment caused pg_stat_statements inflate

Open hslightdb opened this issue 3 years ago • 1 comments

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?

hslightdb avatar Feb 08 '22 12:02 hslightdb

what if we remove assign_query_id() call?

hslightdb avatar Feb 08 '22 12:02 hslightdb