On Sat, Jan 14, 2017 at 12:58 AM, Dilip Kumar <dilipbal...@gmail.com> wrote: > On Wed, Jan 11, 2017 at 7:47 PM, Dilip Kumar <dilipbal...@gmail.com> wrote: >> +void >> +pgstat_count_sqlstmt(const char *commandTag) >> +{ >> + PgStat_SqlstmtEntry *htabent; >> + bool found; >> + >> + if (!pgstat_track_sql) >> + return >> >> Callers of pgstat_count_sqlstmt are always ensuring that >> pgstat_track_sql is true, seems it's redundant here. > > I have done testing of the feature, it's mostly working as per the > expectation. > > I have few comments/questions. > > -------- > If you execute the query with EXECUTE then commandTag will be EXECUTE > that way we will not show the actual query type, I mean all the > statements will get the common tag "EXECUTE". > > You can try this. > PREPARE fooplan (int) AS INSERT INTO t VALUES($1); > EXECUTE fooplan(1); > > ------ > > + /* Destroy the SQL statement counter stats HashTable */ > + hash_destroy(pgstat_sql); > + > + /* Create SQL statement counter Stats HashTable */ > > I think in the patch we have used mixed of "Stats HashTable" and > "stats HashTable", I think better > to be consistent throughout the patch. Check other similar instances. > > ---------------- > > @@ -1102,6 +1102,12 @@ exec_simple_query(const char *query_string) > > PortalDrop(portal, false); > > + /* > + * Count SQL statement for pg_stat_sql view > + */ > + if (pgstat_track_sql) > + pgstat_count_sqlstmt(commandTag); > > We are only counting the successful SQL statement, Is that intentional? > > ------ > I have noticed that pgstat_count_sqlstmt is called from > exec_simple_query and exec_execute_message. Don't we want to track the > statement executed from functions? > -------
The latest patch available has rotten, could you rebase please? -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers