MCPcopy Create free account
hub / github.com/apache/cloudberry / write_syslogger_in_csv

Function write_syslogger_in_csv

src/backend/utils/error/elog.c:4021–4142  ·  view source on GitHub ↗

* Directly write the message in CSV format to the syslogger file or stderr. */

Source from the content-addressed store, hash-verified

4019 * Directly write the message in CSV format to the syslogger file or stderr.
4020 */
4021static void
4022write_syslogger_in_csv(ErrorData *edata, bool amsyslogger)
4023{
4024 /* timestamp_with_millisecond */
4025 syslogger_append_current_timestamp(amsyslogger);
4026
4027 /* username */
4028 if (MyProcPort != NULL && MyProcPort->user_name != NULL)
4029 write_syslogger_file_string(MyProcPort->user_name, amsyslogger, true);
4030 else
4031 write_syslogger_file_string(NULL, amsyslogger, true);
4032
4033 /* databasename */
4034 if (MyProcPort != NULL && MyProcPort->database_name != NULL)
4035 write_syslogger_file_string(MyProcPort->database_name, amsyslogger, true);
4036 else
4037 write_syslogger_file_string(NULL, amsyslogger, true);
4038
4039 /* Process id, thread id */
4040 syslogger_write_int32(false, "p", MyProcPid, amsyslogger, true);
4041 syslogger_write_int32(false, "th", mythread(), amsyslogger, true);
4042
4043 /* Remote host, remote port */
4044 if (MyProcPort != NULL && MyProcPort->remote_host != NULL)
4045 write_syslogger_file_string(MyProcPort->remote_host, amsyslogger, true);
4046 else
4047 write_syslogger_file_string(NULL, amsyslogger, true);
4048 if (MyProcPort != NULL && MyProcPort->remote_port != NULL)
4049 write_syslogger_file_string(MyProcPort->remote_port, amsyslogger, true);
4050 else
4051 write_syslogger_file_string(NULL, amsyslogger, true);
4052
4053 /* session start timestamp */
4054 syslogger_append_timestamp((MyProcPort != NULL ?
4055 (pg_time_t) timestamptz_to_time_t(MyStartTimestamp): 0),
4056 amsyslogger, true);
4057
4058 /* transaction id */
4059 syslogger_write_int32(false, "", GetTopTransactionIdIfAny(), amsyslogger, true);
4060
4061 /* GPDB specific options */
4062 syslogger_write_int32(true, "con", gp_session_id, amsyslogger, true);
4063 syslogger_write_int32(true, "cmd", gp_command_count, amsyslogger, true);
4064 syslogger_write_int32(false, "seg", GpIdentity.segindex, amsyslogger, true);
4065 syslogger_write_int32(true, "slice", currentSliceId, amsyslogger, true);
4066 {
4067 DistributedTransactionId dist_trans_id;
4068 TransactionId local_trans_id;
4069 TransactionId subtrans_id;
4070
4071 GetAllTransactionXids(&dist_trans_id,
4072 &local_trans_id,
4073 &subtrans_id);
4074
4075 syslogger_write_int32(true, "dx", dist_trans_id, amsyslogger, true);
4076 syslogger_write_int32(true, "x", local_trans_id, amsyslogger, true);
4077 syslogger_write_int32(true, "sx", subtrans_id, amsyslogger, true);
4078 }

Callers 2

write_stderrFunction · 0.70

Calls 13

syslogger_write_int32Function · 0.85
GetTopTransactionIdIfAnyFunction · 0.85
GetAllTransactionXidsFunction · 0.85
error_severityFunction · 0.70
unpack_sql_stateFunction · 0.70
is_log_level_outputFunction · 0.70
append_stacktraceFunction · 0.70
ignore_returned_resultFunction · 0.70

Tested by

no test coverage detected