public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tatsuo Ishii <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: Re: Proposal: Recent mutated table tracking in memory
Date: Thu, 26 Feb 2026 16:47:42 +0900 (JST)
Message-ID: <[email protected]> (raw)
In-Reply-To: <CACeKOO0gEfwBQ1J6sdpXDV_=2RYhg9wemE=x=LOEDimvyH5Xfg@mail.gmail.com>
References: <[email protected]>
	<CACeKOO14e4h1na+J5TEPkHGuSVKA8YzL6gUaoCqgCqyoffCjHA@mail.gmail.com>
	<CACeKOO0gEfwBQ1J6sdpXDV_=2RYhg9wemE=x=LOEDimvyH5Xfg@mail.gmail.com>

> Added some handling for possible causes - works now.

Here are comments for the patch.

- Some code lines are too long. We recommend to limit each source code
  line up to 78 chars. You can use following script to detect too long
  lines (you can ignore reports other than *.[c]) See
  https://wiki.postgresql.org/wiki/Committing_checklist

git diff origin/master | grep -E '^(\+|diff)' | sed 's/^+//' | expand -t4 | awk "length > 78 || /^diff/"

--- /dev/null
+++ b/src/test/regression/tests/043.track_table_mutation_watchdog/.gitignore

Please avoid to install .gitignore. .gitignore file are maintained by
pgpool core developers.

+++ b/src/test/regression/tests/043.track_table_mutation_watchdog/leader.conf

To test watchdog, you should use the standard watchdog_setup too.

+++ b/src/utils/pool_track_table_mutation.c

+static inline void
+query_cache_lock(void)

"query_cache_*" is confusing since we already have query cache
feature. Please use different name.

+static int
+track_table_mutation_get_database_oid_internal(void)
+{
:
:
+	/* Ensure we have a valid query context */
+	if (session_context->query_context == NULL)
+		return oid;

Why does this need? The query context is not used in this function.

+/* ----------------
+ * Public API implementation
+ * ----------------
+ */

Please add a comments on what these function do.

+Size
+pool_track_table_mutation_shmem_size(void)

+void
+pool_track_table_mutation_init(void)

+void
+pool_track_table_mutation_child_init(void)

+bool
+pool_track_table_mutation_in_cold_start(void)

+void
+pool_track_table_mutation_trigger_global_cold_start(void)

+bool
+pool_track_table_mutation_table_is_stale(int table_oid, int dboid)

__sync_fetch_and_add are old functions.  I recommend to replace with
ordinary statements using semaphore to protect the critical region.

+		__sync_fetch_and_add(&track_table_mutation_shmem->state.stats_queries_checked, 1);

Please add a comments on what these function do.

+pool_track_table_mutation_mark_tables_written(const int *table_oids, int num_tables, int dboid)

+void
+pool_track_table_mutation_update_ttl(uint64 delay_us)

+bool
+pool_track_table_mutation_get_cached_parse(uint64 hash, bool *is_write,

+void
+pool_track_table_mutation_cache_parse(uint64 hash, bool is_write,
+							const char table_names[][TRACK_TABLE_MUTATION_TABLE_NAME_LEN],
+							int num_tables)

+uint64
+pool_track_table_mutation_normalize_and_hash(const char *query)

Best regards,
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp





reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Proposal: Recent mutated table tracking in memory
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox