|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/parallel.h"#include "libpq/libpq.h"#include "libpq/pqformat.h"#include "libpq/pqmq.h"#include "miscadmin.h"#include "pgstat.h"#include "replication/logicalworker.h"#include "tcop/tcopprot.h"#include "utils/builtins.h"
Go to the source code of this file.
Functions | |
| static void | pq_cleanup_redirect_to_shm_mq (dsm_segment *seg, Datum arg) |
| static void | mq_comm_reset (void) |
| static int | mq_flush (void) |
| static int | mq_flush_if_writable (void) |
| static bool | mq_is_send_pending (void) |
| static int | mq_putmessage (char msgtype, const char *s, size_t len) |
| static void | mq_putmessage_noblock (char msgtype, const char *s, size_t len) |
| void | pq_redirect_to_shm_mq (dsm_segment *seg, shm_mq_handle *mqh) |
| void | pq_set_parallel_leader (pid_t pid, ProcNumber procNumber) |
| void | pq_parse_errornotice (StringInfo msg, ErrorData *edata) |
Definition at line 122 of file pqmq.c.
References Assert, CHECK_FOR_INTERRUPTS, fb(), IsLogicalParallelApplyWorker(), IsParallelWorker, len, MyLatch, pfree(), pq_mq_busy, pq_mq_handle, pq_mq_parallel_leader_pid, pq_mq_parallel_leader_proc_number, PROCSIG_PARALLEL_APPLY_MESSAGE, PROCSIG_PARALLEL_MESSAGE, ResetLatch(), SendProcSignal(), shm_mq_detach(), SHM_MQ_DETACHED, shm_mq_sendv(), SHM_MQ_SUCCESS, SHM_MQ_WOULD_BLOCK, WaitLatch(), WL_EXIT_ON_PM_DEATH, and WL_LATCH_SET.
Definition at line 205 of file pqmq.c.
|
static |
Definition at line 67 of file pqmq.c.
References DestNone, fb(), pfree(), pq_mq_handle, and whereToSendOutput.
Referenced by pq_redirect_to_shm_mq().
| void pq_parse_errornotice | ( | StringInfo | msg, |
| ErrorData * | edata | ||
| ) |
Definition at line 222 of file pqmq.c.
References CurrentMemoryContext, DEBUG1, elog, ERROR, FATAL, fb(), INFO, LOG, MAKE_SQLSTATE, MemSet, NOTICE, PANIC, PG_DIAG_COLUMN_NAME, PG_DIAG_CONSTRAINT_NAME, PG_DIAG_CONTEXT, PG_DIAG_DATATYPE_NAME, PG_DIAG_INTERNAL_POSITION, PG_DIAG_INTERNAL_QUERY, PG_DIAG_MESSAGE_DETAIL, PG_DIAG_MESSAGE_HINT, PG_DIAG_MESSAGE_PRIMARY, PG_DIAG_SCHEMA_NAME, PG_DIAG_SEVERITY, PG_DIAG_SEVERITY_NONLOCALIZED, PG_DIAG_SOURCE_FILE, PG_DIAG_SOURCE_FUNCTION, PG_DIAG_SOURCE_LINE, PG_DIAG_SQLSTATE, PG_DIAG_STATEMENT_POSITION, PG_DIAG_TABLE_NAME, pg_strtoint32(), pq_getmsgbyte(), pq_getmsgend(), pq_getmsgrawstring(), pstrdup(), value, and WARNING.
Referenced by ProcessParallelApplyMessage(), and ProcessParallelMessage().
| void pq_redirect_to_shm_mq | ( | dsm_segment * | seg, |
| shm_mq_handle * | mqh | ||
| ) |
Definition at line 53 of file pqmq.c.
References DestRemote, fb(), FrontendProtocol, on_dsm_detach(), PG_PROTOCOL_LATEST, pq_cleanup_redirect_to_shm_mq(), pq_mq_handle, PqCommMethods, PqCommMqMethods, and whereToSendOutput.
Referenced by ParallelApplyWorkerMain(), and ParallelWorkerMain().
| void pq_set_parallel_leader | ( | pid_t | pid, |
| ProcNumber | procNumber | ||
| ) |
Definition at line 82 of file pqmq.c.
References Assert, pq_mq_parallel_leader_pid, pq_mq_parallel_leader_proc_number, PqCommMethods, and PqCommMqMethods.
Referenced by ParallelApplyWorkerMain(), and ParallelWorkerMain().
Definition at line 27 of file pqmq.c.
Referenced by mq_putmessage().
|
static |
Definition at line 26 of file pqmq.c.
Referenced by mq_putmessage(), pq_cleanup_redirect_to_shm_mq(), and pq_redirect_to_shm_mq().
|
static |
Definition at line 28 of file pqmq.c.
Referenced by mq_putmessage(), and pq_set_parallel_leader().
|
static |
Definition at line 29 of file pqmq.c.
Referenced by mq_putmessage(), and pq_set_parallel_leader().
|
static |
Definition at line 39 of file pqmq.c.
Referenced by pq_redirect_to_shm_mq(), and pq_set_parallel_leader().