Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 9660834

Browse files
committed
adjust query id feature to use pg_stat_activity.query_id
Previously, it was pg_stat_activity.queryid to match the pg_stat_statements queryid column. This is an adjustment to patch 4f0b096. This also adjusts some of the internal function calls to match. Catversion bumped. Reported-by: Álvaro Herrera, Julien Rouhaud Discussion: https://postgr.es/m/20210408032704.GA7498@alvherre.pgsql
1 parent 7645376 commit 9660834

File tree

14 files changed

+40
-40
lines changed

14 files changed

+40
-40
lines changed

doc/src/sgml/monitoring.sgml

+1-1
Original file line numberDiff line numberDiff line change
@@ -919,7 +919,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
919919

920920
<row>
921921
<entry role="catalog_table_entry"><para role="column_definition">
922-
<structfield>queryid</structfield> <type>bigint</type>
922+
<structfield>query_id</structfield> <type>bigint</type>
923923
</para>
924924
<para>
925925
Identifier of this backend's most recent query. If

src/backend/catalog/system_views.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,7 @@ CREATE VIEW pg_stat_activity AS
833833
S.state,
834834
S.backend_xid,
835835
s.backend_xmin,
836-
S.queryid,
836+
S.query_id,
837837
S.query,
838838
S.backend_type
839839
FROM pg_stat_get_activity(NULL) AS S

src/backend/executor/execMain.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,11 @@ ExecutorStart(QueryDesc *queryDesc, int eflags)
131131
{
132132
/*
133133
* In some cases (e.g. an EXECUTE statement) a query execution will skip
134-
* parse analysis, which means that the queryid won't be reported. Note
135-
* that it's harmless to report the queryid multiple time, as the call will
136-
* be ignored if the top level queryid has already been reported.
134+
* parse analysis, which means that the query_id won't be reported. Note
135+
* that it's harmless to report the query_id multiple time, as the call will
136+
* be ignored if the top level query_id has already been reported.
137137
*/
138-
pgstat_report_queryid(queryDesc->plannedstmt->queryId, false);
138+
pgstat_report_query_id(queryDesc->plannedstmt->queryId, false);
139139

140140
if (ExecutorStart_hook)
141141
(*ExecutorStart_hook) (queryDesc, eflags);

src/backend/executor/execParallel.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ ExecSerializePlan(Plan *plan, EState *estate)
175175
*/
176176
pstmt = makeNode(PlannedStmt);
177177
pstmt->commandType = CMD_SELECT;
178-
pstmt->queryId = pgstat_get_my_queryid();
178+
pstmt->queryId = pgstat_get_my_query_id();
179179
pstmt->hasReturning = false;
180180
pstmt->hasModifyingCTE = false;
181181
pstmt->canSetTag = true;

src/backend/parser/analyze.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ parse_analyze(RawStmt *parseTree, const char *sourceText,
132132

133133
free_parsestate(pstate);
134134

135-
pgstat_report_queryid(query->queryId, false);
135+
pgstat_report_query_id(query->queryId, false);
136136

137137
return query;
138138
}
@@ -171,7 +171,7 @@ parse_analyze_varparams(RawStmt *parseTree, const char *sourceText,
171171

172172
free_parsestate(pstate);
173173

174-
pgstat_report_queryid(query->queryId, false);
174+
pgstat_report_query_id(query->queryId, false);
175175

176176
return query;
177177
}

src/backend/tcop/postgres.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ pg_analyze_and_rewrite_params(RawStmt *parsetree,
694694

695695
free_parsestate(pstate);
696696

697-
pgstat_report_queryid(query->queryId, false);
697+
pgstat_report_query_id(query->queryId, false);
698698

699699
if (log_parser_stats)
700700
ShowUsage("PARSE ANALYSIS STATISTICS");
@@ -1031,7 +1031,7 @@ exec_simple_query(const char *query_string)
10311031
DestReceiver *receiver;
10321032
int16 format;
10331033

1034-
pgstat_report_queryid(0, true);
1034+
pgstat_report_query_id(0, true);
10351035

10361036
/*
10371037
* Get the command name for use in status display (it also becomes the

src/backend/utils/activity/backend_status.c

+11-11
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ pgstat_report_activity(BackendState state, const char *cmd_str)
544544
beentry->st_activity_start_timestamp = 0;
545545
/* st_xact_start_timestamp and wait_event_info are also disabled */
546546
beentry->st_xact_start_timestamp = 0;
547-
beentry->st_queryid = UINT64CONST(0);
547+
beentry->st_query_id = UINT64CONST(0);
548548
proc->wait_event_info = 0;
549549
PGSTAT_END_WRITE_ACTIVITY(beentry);
550550
}
@@ -605,7 +605,7 @@ pgstat_report_activity(BackendState state, const char *cmd_str)
605605
* identifier.
606606
*/
607607
if (state == STATE_RUNNING)
608-
beentry->st_queryid = UINT64CONST(0);
608+
beentry->st_query_id = UINT64CONST(0);
609609

610610
if (cmd_str != NULL)
611611
{
@@ -618,32 +618,32 @@ pgstat_report_activity(BackendState state, const char *cmd_str)
618618
}
619619

620620
/* --------
621-
* pgstat_report_queryid() -
621+
* pgstat_report_query_id() -
622622
*
623623
* Called to update top-level query identifier.
624624
* --------
625625
*/
626626
void
627-
pgstat_report_queryid(uint64 queryId, bool force)
627+
pgstat_report_query_id(uint64 query_id, bool force)
628628
{
629629
volatile PgBackendStatus *beentry = MyBEEntry;
630630

631631
/*
632-
* if track_activities is disabled, st_queryid should already have been
632+
* if track_activities is disabled, st_query_id should already have been
633633
* reset
634634
*/
635635
if (!beentry || !pgstat_track_activities)
636636
return;
637637

638638
/*
639-
* We only report the top-level query identifiers. The stored queryid is
639+
* We only report the top-level query identifiers. The stored query_id is
640640
* reset when a backend calls pgstat_report_activity(STATE_RUNNING), or
641641
* with an explicit call to this function using the force flag. If the
642642
* saved query identifier is not zero it means that it's not a top-level
643643
* command, so ignore the one provided unless it's an explicit call to
644644
* reset the identifier.
645645
*/
646-
if (beentry->st_queryid != 0 && !force)
646+
if (beentry->st_query_id != 0 && !force)
647647
return;
648648

649649
/*
@@ -652,7 +652,7 @@ pgstat_report_queryid(uint64 queryId, bool force)
652652
* ensure the compiler doesn't try to get cute.
653653
*/
654654
PGSTAT_BEGIN_WRITE_ACTIVITY(beentry);
655-
beentry->st_queryid = queryId;
655+
beentry->st_query_id = query_id;
656656
PGSTAT_END_WRITE_ACTIVITY(beentry);
657657
}
658658

@@ -1022,12 +1022,12 @@ pgstat_get_crashed_backend_activity(int pid, char *buffer, int buflen)
10221022
}
10231023

10241024
/* ----------
1025-
* pgstat_get_my_queryid() -
1025+
* pgstat_get_my_query_id() -
10261026
*
10271027
* Return current backend's query identifier.
10281028
*/
10291029
uint64
1030-
pgstat_get_my_queryid(void)
1030+
pgstat_get_my_query_id(void)
10311031
{
10321032
if (!MyBEEntry)
10331033
return 0;
@@ -1037,7 +1037,7 @@ pgstat_get_my_queryid(void)
10371037
* pg_stat_get_activity which is already protected, or from the same
10381038
* backend which means that there won't be concurrent writes.
10391039
*/
1040-
return MyBEEntry->st_queryid;
1040+
return MyBEEntry->st_query_id;
10411041
}
10421042

10431043

src/backend/utils/adt/pgstatfuncs.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -914,10 +914,10 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
914914
values[27] = BoolGetDatum(false); /* GSS Encryption not in
915915
* use */
916916
}
917-
if (beentry->st_queryid == 0)
917+
if (beentry->st_query_id == 0)
918918
nulls[29] = true;
919919
else
920-
values[29] = UInt64GetDatum(beentry->st_queryid);
920+
values[29] = UInt64GetDatum(beentry->st_query_id);
921921
}
922922
else
923923
{

src/backend/utils/error/elog.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -2717,10 +2717,10 @@ log_line_prefix(StringInfo buf, ErrorData *edata)
27172717
case 'Q':
27182718
if (padding != 0)
27192719
appendStringInfo(buf, "%*lld", padding,
2720-
(long long) pgstat_get_my_queryid());
2720+
(long long) pgstat_get_my_query_id());
27212721
else
27222722
appendStringInfo(buf, "%lld",
2723-
(long long) pgstat_get_my_queryid());
2723+
(long long) pgstat_get_my_query_id());
27242724
break;
27252725
default:
27262726
/* format error - ignore it */
@@ -2967,7 +2967,7 @@ write_csvlog(ErrorData *edata)
29672967
appendStringInfoChar(&buf, ',');
29682968

29692969
/* query id */
2970-
appendStringInfo(&buf, "%lld", (long long) pgstat_get_my_queryid());
2970+
appendStringInfo(&buf, "%lld", (long long) pgstat_get_my_query_id());
29712971

29722972
appendStringInfoChar(&buf, '\n');
29732973

src/backend/utils/misc/queryjumble.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
#define JUMBLE_SIZE 1024 /* query serialization buffer size */
4141

42-
static uint64 compute_utility_queryid(const char *str, int query_location, int query_len);
42+
static uint64 compute_utility_query_id(const char *str, int query_location, int query_len);
4343
static void AppendJumble(JumbleState *jstate,
4444
const unsigned char *item, Size size);
4545
static void JumbleQueryInternal(JumbleState *jstate, Query *query);
@@ -97,7 +97,7 @@ JumbleQuery(Query *query, const char *querytext)
9797
JumbleState *jstate = NULL;
9898
if (query->utilityStmt)
9999
{
100-
query->queryId = compute_utility_queryid(querytext,
100+
query->queryId = compute_utility_query_id(querytext,
101101
query->stmt_location,
102102
query->stmt_len);
103103
}
@@ -135,7 +135,7 @@ JumbleQuery(Query *query, const char *querytext)
135135
* Compute a query identifier for the given utility query string.
136136
*/
137137
static uint64
138-
compute_utility_queryid(const char *query_text, int query_location, int query_len)
138+
compute_utility_query_id(const char *query_text, int query_location, int query_len)
139139
{
140140
uint64 queryId;
141141
const char *sql;

src/include/catalog/catversion.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@
5353
*/
5454

5555
/* yyyymmddN */
56-
#define CATALOG_VERSION_NO 202104162
56+
#define CATALOG_VERSION_NO 202104201
5757

5858
#endif

src/include/catalog/pg_proc.dat

+1-1
Original file line numberDiff line numberDiff line change
@@ -5281,7 +5281,7 @@
52815281
prorettype => 'record', proargtypes => 'int4',
52825282
proallargtypes => '{int4,oid,int4,oid,text,text,text,text,text,timestamptz,timestamptz,timestamptz,timestamptz,inet,text,int4,xid,xid,text,bool,text,text,int4,text,numeric,text,bool,text,bool,int4,int8}',
52835283
proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}',
5284-
proargnames => '{pid,datid,pid,usesysid,application_name,state,query,wait_event_type,wait_event,xact_start,query_start,backend_start,state_change,client_addr,client_hostname,client_port,backend_xid,backend_xmin,backend_type,ssl,sslversion,sslcipher,sslbits,ssl_client_dn,ssl_client_serial,ssl_issuer_dn,gss_auth,gss_princ,gss_enc,leader_pid,queryid}',
5284+
proargnames => '{pid,datid,pid,usesysid,application_name,state,query,wait_event_type,wait_event,xact_start,query_start,backend_start,state_change,client_addr,client_hostname,client_port,backend_xid,backend_xmin,backend_type,ssl,sslversion,sslcipher,sslbits,ssl_client_dn,ssl_client_serial,ssl_issuer_dn,gss_auth,gss_princ,gss_enc,leader_pid,query_id}',
52855285
prosrc => 'pg_stat_get_activity' },
52865286
{ oid => '3318',
52875287
descr => 'statistics: information about progress of backends running maintenance command',

src/include/utils/backend_status.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ typedef struct PgBackendStatus
167167
int64 st_progress_param[PGSTAT_NUM_PROGRESS_PARAM];
168168

169169
/* query identifier, optionally computed using post_parse_analyze_hook */
170-
uint64 st_queryid;
170+
uint64 st_query_id;
171171
} PgBackendStatus;
172172

173173

@@ -297,14 +297,14 @@ extern void pgstat_clear_backend_activity_snapshot(void);
297297

298298
/* Activity reporting functions */
299299
extern void pgstat_report_activity(BackendState state, const char *cmd_str);
300-
extern void pgstat_report_queryid(uint64 queryId, bool force);
300+
extern void pgstat_report_query_id(uint64 query_id, bool force);
301301
extern void pgstat_report_tempfile(size_t filesize);
302302
extern void pgstat_report_appname(const char *appname);
303303
extern void pgstat_report_xact_timestamp(TimestampTz tstamp);
304304
extern const char *pgstat_get_backend_current_activity(int pid, bool checkUser);
305305
extern const char *pgstat_get_crashed_backend_activity(int pid, char *buffer,
306306
int buflen);
307-
extern uint64 pgstat_get_my_queryid(void);
307+
extern uint64 pgstat_get_my_query_id(void);
308308

309309

310310
/* ----------

src/test/regress/expected/rules.out

+5-5
Original file line numberDiff line numberDiff line change
@@ -1762,10 +1762,10 @@ pg_stat_activity| SELECT s.datid,
17621762
s.state,
17631763
s.backend_xid,
17641764
s.backend_xmin,
1765-
s.queryid,
1765+
s.query_id,
17661766
s.query,
17671767
s.backend_type
1768-
FROM ((pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, queryid)
1768+
FROM ((pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, query_id)
17691769
LEFT JOIN pg_database d ON ((s.datid = d.oid)))
17701770
LEFT JOIN pg_authid u ON ((s.usesysid = u.oid)));
17711771
pg_stat_all_indexes| SELECT c.oid AS relid,
@@ -1877,7 +1877,7 @@ pg_stat_gssapi| SELECT s.pid,
18771877
s.gss_auth AS gss_authenticated,
18781878
s.gss_princ AS principal,
18791879
s.gss_enc AS encrypted
1880-
FROM pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, queryid)
1880+
FROM pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, query_id)
18811881
WHERE (s.client_port IS NOT NULL);
18821882
pg_stat_prefetch_recovery| SELECT s.stats_reset,
18831883
s.prefetch,
@@ -2058,7 +2058,7 @@ pg_stat_replication| SELECT s.pid,
20582058
w.sync_priority,
20592059
w.sync_state,
20602060
w.reply_time
2061-
FROM ((pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, queryid)
2061+
FROM ((pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, query_id)
20622062
JOIN pg_stat_get_wal_senders() w(pid, state, sent_lsn, write_lsn, flush_lsn, replay_lsn, write_lag, flush_lag, replay_lag, sync_priority, sync_state, reply_time) ON ((s.pid = w.pid)))
20632063
LEFT JOIN pg_authid u ON ((s.usesysid = u.oid)));
20642064
pg_stat_replication_slots| SELECT s.slot_name,
@@ -2090,7 +2090,7 @@ pg_stat_ssl| SELECT s.pid,
20902090
s.ssl_client_dn AS client_dn,
20912091
s.ssl_client_serial AS client_serial,
20922092
s.ssl_issuer_dn AS issuer_dn
2093-
FROM pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, queryid)
2093+
FROM pg_stat_get_activity(NULL::integer) s(datid, pid, usesysid, application_name, state, query, wait_event_type, wait_event, xact_start, query_start, backend_start, state_change, client_addr, client_hostname, client_port, backend_xid, backend_xmin, backend_type, ssl, sslversion, sslcipher, sslbits, ssl_client_dn, ssl_client_serial, ssl_issuer_dn, gss_auth, gss_princ, gss_enc, leader_pid, query_id)
20942094
WHERE (s.client_port IS NOT NULL);
20952095
pg_stat_subscription| SELECT su.oid AS subid,
20962096
su.subname,

0 commit comments

Comments
 (0)