mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Remove the query_id_squash_values GUC
Commit 62d712ecfd
introduced the capability to calculate the same
queryId for queries with different lengths of constants in a list for an
IN clause. This behavior was originally enabled with a GUC
query_id_squash_values. After a discussion about the value of such a
GUC, it was decided to back out of the use of a GUC and make the
squashing behavior the only available option.
Author: Sami Imseih <samimseih@gmail.com>
Discussion: https://postgr.es/m/Z-LZyygkkNyA8-kR@msg.df7cb.de
Discussion: https://postgr.es/m/CA+q6zcVTK-3C-8NWV1oY2NZrvtnMCDqnyYYyk1T7WMUG65MeOQ@mail.gmail.com
This commit is contained in:
@ -46,9 +46,6 @@
|
||||
/* GUC parameters */
|
||||
int compute_query_id = COMPUTE_QUERY_ID_AUTO;
|
||||
|
||||
/* Whether to merge constants in a list when computing query_id */
|
||||
bool query_id_squash_values = false;
|
||||
|
||||
/*
|
||||
* True when compute_query_id is ON or AUTO, and a module requests them.
|
||||
*
|
||||
@ -472,7 +469,7 @@ IsSquashableConstList(List *elements, Node **firstExpr, Node **lastExpr)
|
||||
* If squashing is disabled, or the list is too short, we don't try to
|
||||
* squash it.
|
||||
*/
|
||||
if (!query_id_squash_values || list_length(elements) < 2)
|
||||
if (list_length(elements) < 2)
|
||||
return false;
|
||||
|
||||
foreach(temp, elements)
|
||||
@ -520,13 +517,10 @@ do { \
|
||||
#include "queryjumblefuncs.funcs.c"
|
||||
|
||||
/*
|
||||
* When query_id_squash_values is enabled, we jumble lists of constant
|
||||
* elements as one individual item regardless of how many elements are
|
||||
* in the list. This means different queries jumble to the same query_id,
|
||||
* if the only difference is the number of elements in the list.
|
||||
*
|
||||
* If query_id_squash_values is disabled or the list is not "simple
|
||||
* enough", we jumble each element normally.
|
||||
* We jumble lists of constant elements as one individual item regardless
|
||||
* of how many elements are in the list. This means different queries
|
||||
* jumble to the same query_id, if the only difference is the number of
|
||||
* elements in the list.
|
||||
*/
|
||||
static void
|
||||
_jumbleElements(JumbleState *jstate, List *elements)
|
||||
|
@ -116,7 +116,6 @@ typedef struct
|
||||
bool redirection_done;
|
||||
bool IsBinaryUpgrade;
|
||||
bool query_id_enabled;
|
||||
bool query_id_squash_values;
|
||||
int max_safe_fds;
|
||||
int MaxBackends;
|
||||
int num_pmchild_slots;
|
||||
@ -778,7 +777,6 @@ save_backend_variables(BackendParameters *param,
|
||||
param->redirection_done = redirection_done;
|
||||
param->IsBinaryUpgrade = IsBinaryUpgrade;
|
||||
param->query_id_enabled = query_id_enabled;
|
||||
param->query_id_squash_values = query_id_squash_values;
|
||||
param->max_safe_fds = max_safe_fds;
|
||||
|
||||
param->MaxBackends = MaxBackends;
|
||||
@ -1039,7 +1037,6 @@ restore_backend_variables(BackendParameters *param)
|
||||
redirection_done = param->redirection_done;
|
||||
IsBinaryUpgrade = param->IsBinaryUpgrade;
|
||||
query_id_enabled = param->query_id_enabled;
|
||||
query_id_squash_values = param->query_id_squash_values;
|
||||
max_safe_fds = param->max_safe_fds;
|
||||
|
||||
MaxBackends = param->MaxBackends;
|
||||
|
@ -2122,16 +2122,6 @@ struct config_bool ConfigureNamesBool[] =
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"query_id_squash_values", PGC_USERSET, STATS_MONITORING,
|
||||
gettext_noop("Allows to merge constants in a list when computing "
|
||||
"query_id."),
|
||||
},
|
||||
&query_id_squash_values,
|
||||
false,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
|
||||
{
|
||||
{"vacuum_truncate", PGC_USERSET, VACUUM_DEFAULT,
|
||||
gettext_noop("Enables vacuum to truncate empty pages at the end of the table."),
|
||||
|
@ -664,7 +664,6 @@
|
||||
# - Monitoring -
|
||||
|
||||
#compute_query_id = auto
|
||||
#query_id_squash_values = off
|
||||
#log_statement_stats = off
|
||||
#log_parser_stats = off
|
||||
#log_planner_stats = off
|
||||
|
@ -86,7 +86,6 @@ extern JumbleState *JumbleQuery(Query *query);
|
||||
extern void EnableQueryId(void);
|
||||
|
||||
extern PGDLLIMPORT bool query_id_enabled;
|
||||
extern PGDLLIMPORT bool query_id_squash_values;
|
||||
|
||||
/*
|
||||
* Returns whether query identifier computation has been enabled, either
|
||||
|
Reference in New Issue
Block a user