mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
Fix inconsistencies and typos in the tree, take 9
This addresses more issues with code comments, variable names and unreferenced variables. Author: Alexander Lakhin Discussion: https://postgr.es/m/7ab243e0-116d-3e44-d120-76b3df7abefd@gmail.com
This commit is contained in:
parent
75506195da
commit
8548ddc61b
@ -58,7 +58,6 @@ char *triggerPath; /* where to find the trigger file? */
|
|||||||
char *xlogFilePath; /* where we are going to restore to */
|
char *xlogFilePath; /* where we are going to restore to */
|
||||||
char *nextWALFileName; /* the file we need to get from archive */
|
char *nextWALFileName; /* the file we need to get from archive */
|
||||||
char *restartWALFileName; /* the file from which we can restart restore */
|
char *restartWALFileName; /* the file from which we can restart restore */
|
||||||
char *priorWALFileName; /* the file we need to get from archive */
|
|
||||||
char WALFilePath[MAXPGPATH * 2]; /* the file path including archive */
|
char WALFilePath[MAXPGPATH * 2]; /* the file path including archive */
|
||||||
char restoreCommand[MAXPGPATH]; /* run this to restore */
|
char restoreCommand[MAXPGPATH]; /* run this to restore */
|
||||||
char exclusiveCleanupFileName[MAXFNAMELEN]; /* the file we need to get
|
char exclusiveCleanupFileName[MAXFNAMELEN]; /* the file we need to get
|
||||||
|
@ -761,7 +761,7 @@ pgp_pub_decrypt_text(PG_FUNCTION_ARGS)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper function for pgp_armor. Converts arrays of keys and values into
|
* Helper function for pg_armor. Converts arrays of keys and values into
|
||||||
* plain C arrays, and checks that they don't contain invalid characters.
|
* plain C arrays, and checks that they don't contain invalid characters.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
|
@ -50,9 +50,6 @@ void *px_realloc(void *p, size_t s);
|
|||||||
void px_free(void *p);
|
void px_free(void *p);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* max len of 'type' parms */
|
|
||||||
#define PX_MAX_NAMELEN 128
|
|
||||||
|
|
||||||
/* max salt returned */
|
/* max salt returned */
|
||||||
#define PX_MAX_SALT_LEN 128
|
#define PX_MAX_SALT_LEN 128
|
||||||
|
|
||||||
|
@ -59,16 +59,6 @@ static uint32 _K[] = {0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6};
|
|||||||
#define BCOUNT (ctxt->c.b64[0] / 8)
|
#define BCOUNT (ctxt->c.b64[0] / 8)
|
||||||
#define W(n) (ctxt->m.b32[(n)])
|
#define W(n) (ctxt->m.b32[(n)])
|
||||||
|
|
||||||
#define PUTBYTE(x) \
|
|
||||||
do { \
|
|
||||||
ctxt->m.b8[(COUNT % 64)] = (x); \
|
|
||||||
COUNT++; \
|
|
||||||
COUNT %= 64; \
|
|
||||||
ctxt->c.b64[0] += 8; \
|
|
||||||
if (COUNT % 64 == 0) \
|
|
||||||
sha1_step(ctxt); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define PUTPAD(x) \
|
#define PUTPAD(x) \
|
||||||
do { \
|
do { \
|
||||||
ctxt->m.b8[(COUNT % 64)] = (x); \
|
ctxt->m.b8[(COUNT % 64)] = (x); \
|
||||||
|
@ -2794,7 +2794,7 @@ estimate_path_cost_size(PlannerInfo *root,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Back into an estimate of the number of retrieved rows. Just in
|
* Back into an estimate of the number of retrieved rows. Just in
|
||||||
* case this is nuts, clamp to at most nrow.
|
* case this is nuts, clamp to at most nrows.
|
||||||
*/
|
*/
|
||||||
retrieved_rows = clamp_row_est(rows / fpinfo->local_conds_sel);
|
retrieved_rows = clamp_row_est(rows / fpinfo->local_conds_sel);
|
||||||
retrieved_rows = Min(retrieved_rows, nrows);
|
retrieved_rows = Min(retrieved_rows, nrows);
|
||||||
|
@ -271,7 +271,7 @@ extern void sepgsql_avc_init(void);
|
|||||||
*/
|
*/
|
||||||
extern char *sepgsql_get_client_label(void);
|
extern char *sepgsql_get_client_label(void);
|
||||||
extern void sepgsql_init_client_label(void);
|
extern void sepgsql_init_client_label(void);
|
||||||
extern char *sepgsql_get_label(Oid relOid, Oid objOid, int32 subId);
|
extern char *sepgsql_get_label(Oid classId, Oid objectId, int32 subId);
|
||||||
|
|
||||||
extern void sepgsql_object_relabel(const ObjectAddress *object,
|
extern void sepgsql_object_relabel(const ObjectAddress *object,
|
||||||
const char *seclabel);
|
const char *seclabel);
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
PG_MODULE_MAGIC;
|
PG_MODULE_MAGIC;
|
||||||
|
|
||||||
/* These must be available to pg_dlsym() */
|
/* These must be available to dlsym() */
|
||||||
extern void _PG_init(void);
|
extern void _PG_init(void);
|
||||||
extern void _PG_output_plugin_init(OutputPluginCallbacks *cb);
|
extern void _PG_output_plugin_init(OutputPluginCallbacks *cb);
|
||||||
|
|
||||||
|
@ -5509,7 +5509,7 @@ int PQendcopy(PGconn *conn);
|
|||||||
It should either be issued when the last string has been sent
|
It should either be issued when the last string has been sent
|
||||||
to the server using <xref linkend="libpq-PQputline"/> or when the
|
to the server using <xref linkend="libpq-PQputline"/> or when the
|
||||||
last string has been received from the server using
|
last string has been received from the server using
|
||||||
<function>PGgetline</function>. It must be issued or the server
|
<function>PQgetline</function>. It must be issued or the server
|
||||||
will get <quote>out of sync</quote> with the client. Upon return
|
will get <quote>out of sync</quote> with the client. Upon return
|
||||||
from this function, the server is ready to receive the next SQL
|
from this function, the server is ready to receive the next SQL
|
||||||
command. The return value is 0 on successful completion,
|
command. The return value is 0 on successful completion,
|
||||||
|
@ -70,7 +70,7 @@ RESET ROLE
|
|||||||
effectively drops all the privileges assigned directly to the session user
|
effectively drops all the privileges assigned directly to the session user
|
||||||
and to the other roles it is a member of, leaving only the privileges
|
and to the other roles it is a member of, leaving only the privileges
|
||||||
available to the named role. On the other hand, if the session user role
|
available to the named role. On the other hand, if the session user role
|
||||||
has the <literal>NOINHERITS</literal> attribute, <command>SET ROLE</command> drops the
|
has the <literal>NOINHERIT</literal> attribute, <command>SET ROLE</command> drops the
|
||||||
privileges assigned directly to the session user and instead acquires the
|
privileges assigned directly to the session user and instead acquires the
|
||||||
privileges available to the named role.
|
privileges available to the named role.
|
||||||
</para>
|
</para>
|
||||||
|
@ -185,7 +185,7 @@ countryName (alias C)
|
|||||||
localityName (alias L)
|
localityName (alias L)
|
||||||
stateOrProvinceName (alias ST)
|
stateOrProvinceName (alias ST)
|
||||||
organizationName (alias O)
|
organizationName (alias O)
|
||||||
organizationUnitName (alias OU)
|
organizationalUnitName (alias OU)
|
||||||
title
|
title
|
||||||
description
|
description
|
||||||
initials
|
initials
|
||||||
|
@ -270,7 +270,7 @@ is stored in the higher bits. That requires 43 bits in total, which
|
|||||||
conveniently fits in at most 6 bytes.
|
conveniently fits in at most 6 bytes.
|
||||||
|
|
||||||
A compressed posting list is passed around and stored on disk in a
|
A compressed posting list is passed around and stored on disk in a
|
||||||
PackedPostingList struct. The first item in the list is stored uncompressed
|
GinPostingList struct. The first item in the list is stored uncompressed
|
||||||
as a regular ItemPointerData, followed by the length of the list in bytes,
|
as a regular ItemPointerData, followed by the length of the list in bytes,
|
||||||
followed by the packed items.
|
followed by the packed items.
|
||||||
|
|
||||||
|
@ -650,7 +650,7 @@ ginPlaceToPage(GinBtree btree, GinBtreeStack *stack,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
elog(ERROR, "invalid return code from GIN placeToPage method: %d", rc);
|
elog(ERROR, "invalid return code from GIN beginPlaceToPage method: %d", rc);
|
||||||
result = false; /* keep compiler quiet */
|
result = false; /* keep compiler quiet */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ gistkillitems(IndexScanDesc scan)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Mark all killedItems as dead. We need no additional recheck, because,
|
* Mark all killedItems as dead. We need no additional recheck, because,
|
||||||
* if page was modified, pageLSN must have changed.
|
* if page was modified, curPageLSN must have changed.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < so->numKilled; i++)
|
for (i = 0; i < so->numKilled; i++)
|
||||||
{
|
{
|
||||||
@ -379,11 +379,11 @@ gistScanPage(IndexScanDesc scan, GISTSearchItem *pageItem, double *myDistances,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if the page was deleted after we saw the downlink. There's
|
* Check if the page was deleted after we saw the downlink. There's
|
||||||
* nothing of interest on a deleted page. Note that we must do this
|
* nothing of interest on a deleted page. Note that we must do this after
|
||||||
* after checking the NSN for concurrent splits! It's possible that
|
* checking the NSN for concurrent splits! It's possible that the page
|
||||||
* the page originally contained some tuples that are visible to us,
|
* originally contained some tuples that are visible to us, but was split
|
||||||
* but was split so that all the visible tuples were moved to another
|
* so that all the visible tuples were moved to another page, and then
|
||||||
* page, and then this page was deleted.
|
* this page was deleted.
|
||||||
*/
|
*/
|
||||||
if (GistPageIsDeleted(page))
|
if (GistPageIsDeleted(page))
|
||||||
{
|
{
|
||||||
|
@ -706,7 +706,7 @@ hash_xlog_squeeze_page(XLogReaderState *record)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* if the page on which are adding tuples is a page previous to freed
|
* if the page on which are adding tuples is a page previous to freed
|
||||||
* overflow page, then update its nextblno.
|
* overflow page, then update its nextblkno.
|
||||||
*/
|
*/
|
||||||
if (xldata->is_prev_bucket_same_wrt)
|
if (xldata->is_prev_bucket_same_wrt)
|
||||||
{
|
{
|
||||||
|
@ -257,8 +257,8 @@ restart_insert:
|
|||||||
* _hash_pgaddtup() -- add a tuple to a particular page in the index.
|
* _hash_pgaddtup() -- add a tuple to a particular page in the index.
|
||||||
*
|
*
|
||||||
* This routine adds the tuple to the page as requested; it does not write out
|
* This routine adds the tuple to the page as requested; it does not write out
|
||||||
* the page. It is an error to call pgaddtup() without pin and write lock on
|
* the page. It is an error to call this function without pin and write lock
|
||||||
* the target buffer.
|
* on the target buffer.
|
||||||
*
|
*
|
||||||
* Returns the offset number at which the tuple was inserted. This function
|
* Returns the offset number at which the tuple was inserted. This function
|
||||||
* is responsible for preserving the condition that tuples in a hash index
|
* is responsible for preserving the condition that tuples in a hash index
|
||||||
|
@ -74,7 +74,7 @@ static HeapTuple heap_prepare_insert(Relation relation, HeapTuple tup,
|
|||||||
TransactionId xid, CommandId cid, int options);
|
TransactionId xid, CommandId cid, int options);
|
||||||
static XLogRecPtr log_heap_update(Relation reln, Buffer oldbuf,
|
static XLogRecPtr log_heap_update(Relation reln, Buffer oldbuf,
|
||||||
Buffer newbuf, HeapTuple oldtup,
|
Buffer newbuf, HeapTuple oldtup,
|
||||||
HeapTuple newtup, HeapTuple old_key_tup,
|
HeapTuple newtup, HeapTuple old_key_tuple,
|
||||||
bool all_visible_cleared, bool new_all_visible_cleared);
|
bool all_visible_cleared, bool new_all_visible_cleared);
|
||||||
static Bitmapset *HeapDetermineModifiedColumns(Relation relation,
|
static Bitmapset *HeapDetermineModifiedColumns(Relation relation,
|
||||||
Bitmapset *interesting_cols,
|
Bitmapset *interesting_cols,
|
||||||
|
@ -124,7 +124,7 @@
|
|||||||
|
|
||||||
/* prototypes for internal routines */
|
/* prototypes for internal routines */
|
||||||
static Buffer vm_readbuf(Relation rel, BlockNumber blkno, bool extend);
|
static Buffer vm_readbuf(Relation rel, BlockNumber blkno, bool extend);
|
||||||
static void vm_extend(Relation rel, BlockNumber nvmblocks);
|
static void vm_extend(Relation rel, BlockNumber vm_nblocks);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -657,7 +657,7 @@ _bt_blwritepage(BTWriteState *wstate, Page page, BlockNumber blkno)
|
|||||||
/* XLOG stuff */
|
/* XLOG stuff */
|
||||||
if (wstate->btws_use_wal)
|
if (wstate->btws_use_wal)
|
||||||
{
|
{
|
||||||
/* We use the heap NEWPAGE record type for this */
|
/* We use the XLOG_FPI record type for this */
|
||||||
log_newpage(&wstate->index->rd_node, MAIN_FORKNUM, blkno, page, true);
|
log_newpage(&wstate->index->rd_node, MAIN_FORKNUM, blkno, page, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -530,7 +530,7 @@ void XLogResetInsertion(void)
|
|||||||
construction workspace. This is only needed if you have already called
|
construction workspace. This is only needed if you have already called
|
||||||
XLogBeginInsert(), but decide to not insert the record after all.
|
XLogBeginInsert(), but decide to not insert the record after all.
|
||||||
|
|
||||||
void XLogEnsureRecordSpace(int max_block_id, int nrdatas)
|
void XLogEnsureRecordSpace(int max_block_id, int ndatas)
|
||||||
|
|
||||||
Normally, the WAL record construction buffers have the following limits:
|
Normally, the WAL record construction buffers have the following limits:
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ static int ZeroCLOGPage(int pageno, bool writeXlog);
|
|||||||
static bool CLOGPagePrecedes(int page1, int page2);
|
static bool CLOGPagePrecedes(int page1, int page2);
|
||||||
static void WriteZeroPageXlogRec(int pageno);
|
static void WriteZeroPageXlogRec(int pageno);
|
||||||
static void WriteTruncateXlogRec(int pageno, TransactionId oldestXact,
|
static void WriteTruncateXlogRec(int pageno, TransactionId oldestXact,
|
||||||
Oid oldestXidDb);
|
Oid oldestXactDb);
|
||||||
static void TransactionIdSetPageStatus(TransactionId xid, int nsubxids,
|
static void TransactionIdSetPageStatus(TransactionId xid, int nsubxids,
|
||||||
TransactionId *subxids, XidStatus status,
|
TransactionId *subxids, XidStatus status,
|
||||||
XLogRecPtr lsn, int pageno,
|
XLogRecPtr lsn, int pageno,
|
||||||
|
@ -282,7 +282,7 @@ typedef struct MultiXactStateData
|
|||||||
} MultiXactStateData;
|
} MultiXactStateData;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Last element of OldestMemberMXactID and OldestVisibleMXactId arrays.
|
* Last element of OldestMemberMXactId and OldestVisibleMXactId arrays.
|
||||||
* Valid elements are (1..MaxOldestSlot); element 0 is never used.
|
* Valid elements are (1..MaxOldestSlot); element 0 is never used.
|
||||||
*/
|
*/
|
||||||
#define MaxOldestSlot (MaxBackends + max_prepared_xacts)
|
#define MaxOldestSlot (MaxBackends + max_prepared_xacts)
|
||||||
|
@ -4114,7 +4114,7 @@ pg_largeobject_aclmask_snapshot(Oid lobj_oid, Oid roleid,
|
|||||||
return mask;
|
return mask;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the largeobject's ACL from pg_language_metadata
|
* Get the largeobject's ACL from pg_largeobject_metadata
|
||||||
*/
|
*/
|
||||||
pg_lo_meta = table_open(LargeObjectMetadataRelationId,
|
pg_lo_meta = table_open(LargeObjectMetadataRelationId,
|
||||||
AccessShareLock);
|
AccessShareLock);
|
||||||
|
@ -48,10 +48,6 @@ CREATE FUNCTION _pg_expandarray(IN anyarray, OUT x anyelement, OUT n int)
|
|||||||
pg_catalog.array_upper($1,1),
|
pg_catalog.array_upper($1,1),
|
||||||
1) as g(s)';
|
1) as g(s)';
|
||||||
|
|
||||||
CREATE FUNCTION _pg_keysequal(smallint[], smallint[]) RETURNS boolean
|
|
||||||
LANGUAGE sql IMMUTABLE PARALLEL SAFE -- intentionally not STRICT, to allow inlining
|
|
||||||
AS 'select $1 operator(pg_catalog.<@) $2 and $2 operator(pg_catalog.<@) $1';
|
|
||||||
|
|
||||||
/* Given an index's OID and an underlying-table column number, return the
|
/* Given an index's OID and an underlying-table column number, return the
|
||||||
* column's position in the index (NULL if not there) */
|
* column's position in the index (NULL if not there) */
|
||||||
CREATE FUNCTION _pg_index_position(oid, smallint) RETURNS int
|
CREATE FUNCTION _pg_index_position(oid, smallint) RETURNS int
|
||||||
|
@ -530,7 +530,7 @@ static const ObjectPropertyType ObjectProperty[] =
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* This struct maps the string object types as returned by
|
* This struct maps the string object types as returned by
|
||||||
* getObjectTypeDescription into ObjType enum values. Note that some enum
|
* getObjectTypeDescription into ObjectType enum values. Note that some enum
|
||||||
* values can be obtained by different names, and that some string object types
|
* values can be obtained by different names, and that some string object types
|
||||||
* do not have corresponding values in the output enum. The user of this map
|
* do not have corresponding values in the output enum. The user of this map
|
||||||
* must be careful to test for invalid values being returned.
|
* must be careful to test for invalid values being returned.
|
||||||
|
@ -176,7 +176,6 @@ typedef struct CopyStateData
|
|||||||
* Working state for COPY FROM
|
* Working state for COPY FROM
|
||||||
*/
|
*/
|
||||||
AttrNumber num_defaults;
|
AttrNumber num_defaults;
|
||||||
FmgrInfo oid_in_function;
|
|
||||||
FmgrInfo *in_functions; /* array of input functions for each attrs */
|
FmgrInfo *in_functions; /* array of input functions for each attrs */
|
||||||
Oid *typioparams; /* array of element types for in_functions */
|
Oid *typioparams; /* array of element types for in_functions */
|
||||||
int *defmap; /* array of default att numbers */
|
int *defmap; /* array of default att numbers */
|
||||||
|
@ -139,7 +139,7 @@ defGetBoolean(DefElem *def)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* The set of strings accepted here should match up with the
|
* The set of strings accepted here should match up with the
|
||||||
* grammar's opt_boolean production.
|
* grammar's opt_boolean_or_string production.
|
||||||
*/
|
*/
|
||||||
if (pg_strcasecmp(sval, "true") == 0)
|
if (pg_strcasecmp(sval, "true") == 0)
|
||||||
return true;
|
return true;
|
||||||
|
@ -143,7 +143,7 @@ PrepareQuery(PrepareStmt *stmt, const char *queryString,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* grammar only allows OptimizableStmt, so this check should be redundant
|
* grammar only allows PreparableStmt, so this check should be redundant
|
||||||
*/
|
*/
|
||||||
switch (query->commandType)
|
switch (query->commandType)
|
||||||
{
|
{
|
||||||
|
@ -847,7 +847,7 @@ get_all_vacuum_rels(int options)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* vacuum_set_xid_limits() -- compute oldest-Xmin and freeze cutoff points
|
* vacuum_set_xid_limits() -- compute oldestXmin and freeze cutoff points
|
||||||
*
|
*
|
||||||
* The output parameters are:
|
* The output parameters are:
|
||||||
* - oldestXmin is the cutoff value used to distinguish whether tuples are
|
* - oldestXmin is the cutoff value used to distinguish whether tuples are
|
||||||
|
@ -93,7 +93,7 @@ typedef struct WindowStatePerFuncData
|
|||||||
bool resulttypeByVal;
|
bool resulttypeByVal;
|
||||||
|
|
||||||
bool plain_agg; /* is it just a plain aggregate function? */
|
bool plain_agg; /* is it just a plain aggregate function? */
|
||||||
int aggno; /* if so, index of its PerAggData */
|
int aggno; /* if so, index of its WindowStatePerAggData */
|
||||||
|
|
||||||
WindowObject winobj; /* object used in window function API */
|
WindowObject winobj; /* object used in window function API */
|
||||||
} WindowStatePerFuncData;
|
} WindowStatePerFuncData;
|
||||||
@ -142,7 +142,7 @@ typedef struct WindowStatePerAggData
|
|||||||
resulttypeByVal,
|
resulttypeByVal,
|
||||||
transtypeByVal;
|
transtypeByVal;
|
||||||
|
|
||||||
int wfuncno; /* index of associated PerFuncData */
|
int wfuncno; /* index of associated WindowStatePerFuncData */
|
||||||
|
|
||||||
/* Context holding transition value and possibly other subsidiary data */
|
/* Context holding transition value and possibly other subsidiary data */
|
||||||
MemoryContext aggcontext; /* may be private, or winstate->aggcontext */
|
MemoryContext aggcontext; /* may be private, or winstate->aggcontext */
|
||||||
|
@ -44,8 +44,8 @@
|
|||||||
* StreamClose - Close a client/backend connection
|
* StreamClose - Close a client/backend connection
|
||||||
* TouchSocketFiles - Protect socket files against /tmp cleaners
|
* TouchSocketFiles - Protect socket files against /tmp cleaners
|
||||||
* pq_init - initialize libpq at backend startup
|
* pq_init - initialize libpq at backend startup
|
||||||
* pq_comm_reset - reset libpq during error recovery
|
* socket_comm_reset - reset libpq during error recovery
|
||||||
* pq_close - shutdown libpq at backend exit
|
* socket_close - shutdown libpq at backend exit
|
||||||
*
|
*
|
||||||
* low-level I/O:
|
* low-level I/O:
|
||||||
* pq_getbytes - get a known number of bytes from connection
|
* pq_getbytes - get a known number of bytes from connection
|
||||||
|
@ -144,7 +144,7 @@ EstimateParamListSpace(ParamListInfo paramLI)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Serialize a paramListInfo structure into caller-provided storage.
|
* Serialize a ParamListInfo structure into caller-provided storage.
|
||||||
*
|
*
|
||||||
* We write the number of parameters first, as a 4-byte integer, and then
|
* We write the number of parameters first, as a 4-byte integer, and then
|
||||||
* write details for each parameter in turn. The details for each parameter
|
* write details for each parameter in turn. The details for each parameter
|
||||||
|
@ -1021,7 +1021,7 @@ tbm_iterate(TBMIterator *iterator)
|
|||||||
PagetableEntry *page;
|
PagetableEntry *page;
|
||||||
int ntuples;
|
int ntuples;
|
||||||
|
|
||||||
/* In ONE_PAGE state, we don't allocate an spages[] array */
|
/* In TBM_ONE_PAGE state, we don't allocate an spages[] array */
|
||||||
if (tbm->status == TBM_ONE_PAGE)
|
if (tbm->status == TBM_ONE_PAGE)
|
||||||
page = &tbm->entry1;
|
page = &tbm->entry1;
|
||||||
else
|
else
|
||||||
|
@ -91,7 +91,7 @@ geqo_selection(PlannerInfo *root, Chromosome *momma, Chromosome *daddy,
|
|||||||
static int
|
static int
|
||||||
linear_rand(PlannerInfo *root, int pool_size, double bias)
|
linear_rand(PlannerInfo *root, int pool_size, double bias)
|
||||||
{
|
{
|
||||||
double index; /* index between 0 and pop_size */
|
double index; /* index between 0 and pool_size */
|
||||||
double max = (double) pool_size;
|
double max = (double) pool_size;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4242,7 +4242,7 @@ consider_groupingsets_paths(PlannerInfo *root,
|
|||||||
* 2) If there are no empty sets and only unsortable sets, then the
|
* 2) If there are no empty sets and only unsortable sets, then the
|
||||||
* rollups list will be empty (and thus l_start == NULL), and
|
* rollups list will be empty (and thus l_start == NULL), and
|
||||||
* group_pathkeys will be NIL; we must ensure that the vacuously-true
|
* group_pathkeys will be NIL; we must ensure that the vacuously-true
|
||||||
* pathkeys_contain_in test doesn't cause us to crash.
|
* pathkeys_contained_in test doesn't cause us to crash.
|
||||||
*/
|
*/
|
||||||
if (l_start != NULL &&
|
if (l_start != NULL &&
|
||||||
pathkeys_contained_in(root->group_pathkeys, path->pathkeys))
|
pathkeys_contained_in(root->group_pathkeys, path->pathkeys))
|
||||||
@ -5177,7 +5177,7 @@ make_group_input_target(PlannerInfo *root, PathTarget *final_target)
|
|||||||
* a regular aggregation node would, plus any aggregates used in HAVING;
|
* a regular aggregation node would, plus any aggregates used in HAVING;
|
||||||
* except that the Aggref nodes should be marked as partial aggregates.
|
* except that the Aggref nodes should be marked as partial aggregates.
|
||||||
*
|
*
|
||||||
* In addition, we'd better emit any Vars and PlaceholderVars that are
|
* In addition, we'd better emit any Vars and PlaceHolderVars that are
|
||||||
* used outside of Aggrefs in the aggregation tlist and HAVING. (Presumably,
|
* used outside of Aggrefs in the aggregation tlist and HAVING. (Presumably,
|
||||||
* these would be Vars that are grouped by or used in grouping expressions.)
|
* these would be Vars that are grouped by or used in grouping expressions.)
|
||||||
*
|
*
|
||||||
|
@ -134,7 +134,7 @@ LookupOperName(ParseState *pstate, List *opername, Oid oprleft, Oid oprright,
|
|||||||
/*
|
/*
|
||||||
* LookupOperWithArgs
|
* LookupOperWithArgs
|
||||||
* Like LookupOperName, but the argument types are specified by
|
* Like LookupOperName, but the argument types are specified by
|
||||||
* a ObjectWithArg node.
|
* a ObjectWithArgs node.
|
||||||
*/
|
*/
|
||||||
Oid
|
Oid
|
||||||
LookupOperWithArgs(ObjectWithArgs *oper, bool noError)
|
LookupOperWithArgs(ObjectWithArgs *oper, bool noError)
|
||||||
|
@ -6122,7 +6122,7 @@ pgstat_recv_resetcounter(PgStat_MsgResetcounter *msg, int len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ----------
|
/* ----------
|
||||||
* pgstat_recv_resetshared() -
|
* pgstat_recv_resetsharedcounter() -
|
||||||
*
|
*
|
||||||
* Reset some shared statistics of the cluster.
|
* Reset some shared statistics of the cluster.
|
||||||
* ----------
|
* ----------
|
||||||
|
@ -288,7 +288,6 @@ struct vars
|
|||||||
#define NWBDRY 'W' /* non-word-boundary constraint */
|
#define NWBDRY 'W' /* non-word-boundary constraint */
|
||||||
#define SBEGIN 'A' /* beginning of string (even if not BOL) */
|
#define SBEGIN 'A' /* beginning of string (even if not BOL) */
|
||||||
#define SEND 'Z' /* end of string (even if not EOL) */
|
#define SEND 'Z' /* end of string (even if not EOL) */
|
||||||
#define PREFER 'P' /* length preference */
|
|
||||||
|
|
||||||
/* is an arc colored, and hence on a color chain? */
|
/* is an arc colored, and hence on a color chain? */
|
||||||
#define COLORED(a) \
|
#define COLORED(a) \
|
||||||
|
@ -1381,7 +1381,7 @@ ReorderBufferCopySnap(ReorderBuffer *rb, Snapshot orig_snap,
|
|||||||
snap->subxip[i++] = txn->xid;
|
snap->subxip[i++] = txn->xid;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* nsubxcnt isn't decreased when subtransactions abort, so count manually.
|
* subxcnt isn't decreased when subtransactions abort, so count manually.
|
||||||
* Since it's an upper boundary it is safe to use it for the allocation
|
* Since it's an upper boundary it is safe to use it for the allocation
|
||||||
* above.
|
* above.
|
||||||
*/
|
*/
|
||||||
|
@ -265,7 +265,6 @@ CreateSharedProcArray(void)
|
|||||||
&found);
|
&found);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Register and initialize fields of ProcLWLockTranche */
|
|
||||||
LWLockRegisterTranche(LWTRANCHE_PROC, "proc");
|
LWLockRegisterTranche(LWTRANCHE_PROC, "proc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1251,7 +1251,7 @@ shm_mq_inc_bytes_written(shm_mq *mq, Size n)
|
|||||||
pg_atomic_read_u64(&mq->mq_bytes_written) + n);
|
pg_atomic_read_u64(&mq->mq_bytes_written) + n);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Shim for on_dsm_callback. */
|
/* Shim for on_dsm_detach callback. */
|
||||||
static void
|
static void
|
||||||
shm_mq_detach_callback(dsm_segment *seg, Datum arg)
|
shm_mq_detach_callback(dsm_segment *seg, Datum arg)
|
||||||
{
|
{
|
||||||
|
@ -996,8 +996,8 @@ LockAcquireExtended(const LOCKTAG *locktag,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* We can't acquire the lock immediately. If caller specified no
|
* We can't acquire the lock immediately. If caller specified no
|
||||||
* blocking, remove useless table entries and return NOT_AVAIL without
|
* blocking, remove useless table entries and return
|
||||||
* waiting.
|
* LOCKACQUIRE_NOT_AVAIL without waiting.
|
||||||
*/
|
*/
|
||||||
if (dontWait)
|
if (dontWait)
|
||||||
{
|
{
|
||||||
|
@ -364,7 +364,7 @@ static SERIALIZABLEXACT *OldCommittedSxact;
|
|||||||
* These configuration variables are used to set the predicate lock table size
|
* These configuration variables are used to set the predicate lock table size
|
||||||
* and to control promotion of predicate locks to coarser granularity in an
|
* and to control promotion of predicate locks to coarser granularity in an
|
||||||
* attempt to degrade performance (mostly as false positive serialization
|
* attempt to degrade performance (mostly as false positive serialization
|
||||||
* failure) gracefully in the face of memory pressurel
|
* failure) gracefully in the face of memory pressure.
|
||||||
*/
|
*/
|
||||||
int max_predicate_locks_per_xact; /* set by guc.c */
|
int max_predicate_locks_per_xact; /* set by guc.c */
|
||||||
int max_predicate_locks_per_relation; /* set by guc.c */
|
int max_predicate_locks_per_relation; /* set by guc.c */
|
||||||
@ -4809,7 +4809,7 @@ OnConflict_CheckForSerializationFailure(const SERIALIZABLEXACT *reader,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PreCommit_CheckForSerializableConflicts
|
* PreCommit_CheckForSerializationFailure
|
||||||
* Check for dangerous structures in a serializable transaction
|
* Check for dangerous structures in a serializable transaction
|
||||||
* at commit.
|
* at commit.
|
||||||
*
|
*
|
||||||
|
@ -325,7 +325,7 @@ pg_read_binary_file(PG_FUNCTION_ARGS)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Wrapper functions for the 1 and 3 argument variants of pg_read_file_v2()
|
* Wrapper functions for the 1 and 3 argument variants of pg_read_file_v2()
|
||||||
* and pg_binary_read_file().
|
* and pg_read_binary_file().
|
||||||
*
|
*
|
||||||
* These are necessary to pass the sanity check in opr_sanity, which checks
|
* These are necessary to pass the sanity check in opr_sanity, which checks
|
||||||
* that all built-in functions that share the implementing C function take
|
* that all built-in functions that share the implementing C function take
|
||||||
|
@ -115,7 +115,7 @@ typedef struct
|
|||||||
List *windowTList; /* targetlist for resolving WINDOW clause */
|
List *windowTList; /* targetlist for resolving WINDOW clause */
|
||||||
int prettyFlags; /* enabling of pretty-print functions */
|
int prettyFlags; /* enabling of pretty-print functions */
|
||||||
int wrapColumn; /* max line length, or -1 for no limit */
|
int wrapColumn; /* max line length, or -1 for no limit */
|
||||||
int indentLevel; /* current indent level for prettyprint */
|
int indentLevel; /* current indent level for pretty-print */
|
||||||
bool varprefix; /* true to print prefixes on Vars */
|
bool varprefix; /* true to print prefixes on Vars */
|
||||||
ParseExprKind special_exprkind; /* set only for exprkinds needing special
|
ParseExprKind special_exprkind; /* set only for exprkinds needing special
|
||||||
* handling */
|
* handling */
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
*
|
*
|
||||||
* For each block, we maintain pointer to the first free chunk - this is quite
|
* For each block, we maintain pointer to the first free chunk - this is quite
|
||||||
* cheap and allows us to skip all the preceding used chunks, eliminating
|
* cheap and allows us to skip all the preceding used chunks, eliminating
|
||||||
* a significant number of lookups in many common usage patters. In the worst
|
* a significant number of lookups in many common usage patterns. In the worst
|
||||||
* case this performs as if the pointer was not maintained.
|
* case this performs as if the pointer was not maintained.
|
||||||
*
|
*
|
||||||
* We cache the freelist index for the blocks with the fewest free chunks
|
* We cache the freelist index for the blocks with the fewest free chunks
|
||||||
|
@ -1171,7 +1171,7 @@ AtEOXact_Snapshot(bool isCommit, bool resetXmin)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* During normal commit processing, we call ProcArrayEndTransaction() to
|
* During normal commit processing, we call ProcArrayEndTransaction() to
|
||||||
* reset the PgXact->xmin. That call happens prior to the call to
|
* reset the MyPgXact->xmin. That call happens prior to the call to
|
||||||
* AtEOXact_Snapshot(), so we need not touch xmin here at all.
|
* AtEOXact_Snapshot(), so we need not touch xmin here at all.
|
||||||
*/
|
*/
|
||||||
if (resetXmin)
|
if (resetXmin)
|
||||||
|
@ -1295,7 +1295,7 @@ setup_config(void)
|
|||||||
err = WSAStartup(MAKEWORD(2, 2), &wsaData);
|
err = WSAStartup(MAKEWORD(2, 2), &wsaData);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* for best results, this code should match parse_hba() */
|
/* for best results, this code should match parse_hba_line() */
|
||||||
hints.ai_flags = AI_NUMERICHOST;
|
hints.ai_flags = AI_NUMERICHOST;
|
||||||
hints.ai_family = AF_UNSPEC;
|
hints.ai_family = AF_UNSPEC;
|
||||||
hints.ai_socktype = 0;
|
hints.ai_socktype = 0;
|
||||||
|
@ -18,10 +18,6 @@
|
|||||||
|
|
||||||
|
|
||||||
#define oidcmp(x,y) ( ((x) < (y) ? -1 : ((x) > (y)) ? 1 : 0) )
|
#define oidcmp(x,y) ( ((x) < (y) ? -1 : ((x) > (y)) ? 1 : 0) )
|
||||||
#define oideq(x,y) ( (x) == (y) )
|
|
||||||
#define oidle(x,y) ( (x) <= (y) )
|
|
||||||
#define oidge(x,y) ( (x) >= (y) )
|
|
||||||
#define oidzero(x) ( (x) == 0 )
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The data structures used to store system catalog information. Every
|
* The data structures used to store system catalog information. Every
|
||||||
|
@ -54,8 +54,6 @@
|
|||||||
|
|
||||||
static void usage(const char *progname);
|
static void usage(const char *progname);
|
||||||
|
|
||||||
typedef struct option optType;
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
@ -934,8 +934,8 @@ RewriteControlFile(void)
|
|||||||
*
|
*
|
||||||
* On entry, ControlFile.checkPointCopy.redo and ControlFile.xlog_seg_size
|
* On entry, ControlFile.checkPointCopy.redo and ControlFile.xlog_seg_size
|
||||||
* are assumed valid (note that we allow the old xlog seg size to differ
|
* are assumed valid (note that we allow the old xlog seg size to differ
|
||||||
* from what we're using). On exit, newXlogId and newXlogSeg are set to
|
* from what we're using). On exit, newXlogSegNo is set to suitable
|
||||||
* suitable values for the beginning of replacement WAL (in our seg size).
|
* value for the beginning of replacement WAL (in our seg size).
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
FindEndOfXLOG(void)
|
FindEndOfXLOG(void)
|
||||||
|
@ -31,7 +31,7 @@ extern bool describeOperators(const char *pattern, bool verbose, bool showSystem
|
|||||||
extern bool describeRoles(const char *pattern, bool verbose, bool showSystem);
|
extern bool describeRoles(const char *pattern, bool verbose, bool showSystem);
|
||||||
|
|
||||||
/* \drds */
|
/* \drds */
|
||||||
extern bool listDbRoleSettings(const char *pattern1, const char *pattern2);
|
extern bool listDbRoleSettings(const char *pattern, const char *pattern2);
|
||||||
|
|
||||||
/* \z (or \dp) */
|
/* \z (or \dp) */
|
||||||
extern bool permissionsList(const char *pattern);
|
extern bool permissionsList(const char *pattern);
|
||||||
|
@ -66,7 +66,7 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
if (pg_wcscmp(test->output, result) != 0)
|
if (pg_wcscmp(test->output, result) != 0)
|
||||||
{
|
{
|
||||||
printf("FAILURE (Normalizationdata.txt line %d):\n", test->linenum);
|
printf("FAILURE (NormalizationTest.txt line %d):\n", test->linenum);
|
||||||
printf("input:\t%s\n", print_wchar_str(test->input));
|
printf("input:\t%s\n", print_wchar_str(test->input));
|
||||||
printf("expected:\t%s\n", print_wchar_str(test->output));
|
printf("expected:\t%s\n", print_wchar_str(test->output));
|
||||||
printf("got\t%s\n", print_wchar_str(result));
|
printf("got\t%s\n", print_wchar_str(result));
|
||||||
|
@ -35,7 +35,7 @@ extern Size CommitTsShmemSize(void);
|
|||||||
extern void CommitTsShmemInit(void);
|
extern void CommitTsShmemInit(void);
|
||||||
extern void BootStrapCommitTs(void);
|
extern void BootStrapCommitTs(void);
|
||||||
extern void StartupCommitTs(void);
|
extern void StartupCommitTs(void);
|
||||||
extern void CommitTsParameterChange(bool xlrecvalue, bool pgcontrolvalue);
|
extern void CommitTsParameterChange(bool newvalue, bool oldvalue);
|
||||||
extern void CompleteCommitTsInitialization(void);
|
extern void CompleteCommitTsInitialization(void);
|
||||||
extern void ShutdownCommitTs(void);
|
extern void ShutdownCommitTs(void);
|
||||||
extern void CheckPointCommitTs(void);
|
extern void CheckPointCommitTs(void);
|
||||||
|
@ -54,7 +54,7 @@ typedef struct GinState
|
|||||||
bool oneCol; /* true if single-column index */
|
bool oneCol; /* true if single-column index */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* origTupDesc is the nominal tuple descriptor of the index, ie, the i'th
|
* origTupdesc is the nominal tuple descriptor of the index, ie, the i'th
|
||||||
* attribute shows the key type (not the input data type!) of the i'th
|
* attribute shows the key type (not the input data type!) of the i'th
|
||||||
* index column. In a single-column index this describes the actual leaf
|
* index column. In a single-column index this describes the actual leaf
|
||||||
* index tuples. In a multi-column index, the actual leaf tuples contain
|
* index tuples. In a multi-column index, the actual leaf tuples contain
|
||||||
@ -443,7 +443,7 @@ extern void ginInsertCleanup(GinState *ginstate, bool full_clean,
|
|||||||
|
|
||||||
/* ginpostinglist.c */
|
/* ginpostinglist.c */
|
||||||
|
|
||||||
extern GinPostingList *ginCompressPostingList(const ItemPointer ptrs, int nptrs,
|
extern GinPostingList *ginCompressPostingList(const ItemPointer ipd, int nipd,
|
||||||
int maxsize, int *nwritten);
|
int maxsize, int *nwritten);
|
||||||
extern int ginPostingListDecodeAllSegmentsToTbm(GinPostingList *ptr, int totalsize, TIDBitmap *tbm);
|
extern int ginPostingListDecodeAllSegmentsToTbm(GinPostingList *ptr, int totalsize, TIDBitmap *tbm);
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ typedef struct HashMetaPageData
|
|||||||
uint32 hashm_maxbucket; /* ID of maximum bucket in use */
|
uint32 hashm_maxbucket; /* ID of maximum bucket in use */
|
||||||
uint32 hashm_highmask; /* mask to modulo into entire table */
|
uint32 hashm_highmask; /* mask to modulo into entire table */
|
||||||
uint32 hashm_lowmask; /* mask to modulo into lower half of table */
|
uint32 hashm_lowmask; /* mask to modulo into lower half of table */
|
||||||
uint32 hashm_ovflpoint; /* splitpoint from which ovflpgs being
|
uint32 hashm_ovflpoint; /* splitpoint from which ovflpage being
|
||||||
* allocated */
|
* allocated */
|
||||||
uint32 hashm_firstfree; /* lowest-number free ovflpage (bit#) */
|
uint32 hashm_firstfree; /* lowest-number free ovflpage (bit#) */
|
||||||
uint32 hashm_nmaps; /* number of bitmap pages */
|
uint32 hashm_nmaps; /* number of bitmap pages */
|
||||||
|
@ -259,4 +259,4 @@ extern void btree_desc(StringInfo buf, XLogReaderState *record);
|
|||||||
extern const char *btree_identify(uint8 info);
|
extern const char *btree_identify(uint8 info);
|
||||||
extern void btree_mask(char *pagedata, BlockNumber blkno);
|
extern void btree_mask(char *pagedata, BlockNumber blkno);
|
||||||
|
|
||||||
#endif /* NBXLOG_H */
|
#endif /* NBTXLOG_H */
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
extern void XLogBeginInsert(void);
|
extern void XLogBeginInsert(void);
|
||||||
extern void XLogSetRecordFlags(uint8 flags);
|
extern void XLogSetRecordFlags(uint8 flags);
|
||||||
extern XLogRecPtr XLogInsert(RmgrId rmid, uint8 info);
|
extern XLogRecPtr XLogInsert(RmgrId rmid, uint8 info);
|
||||||
extern void XLogEnsureRecordSpace(int nbuffers, int ndatas);
|
extern void XLogEnsureRecordSpace(int max_block_id, int ndatas);
|
||||||
extern void XLogRegisterData(char *data, int len);
|
extern void XLogRegisterData(char *data, int len);
|
||||||
extern void XLogRegisterBuffer(uint8 block_id, Buffer buffer, uint8 flags);
|
extern void XLogRegisterBuffer(uint8 block_id, Buffer buffer, uint8 flags);
|
||||||
extern void XLogRegisterBlock(uint8 block_id, RelFileNode *rnode,
|
extern void XLogRegisterBlock(uint8 block_id, RelFileNode *rnode,
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
*
|
*
|
||||||
* The rule for developers is: if you commit a change that requires
|
* The rule for developers is: if you commit a change that requires
|
||||||
* an initdb, you should update the catalog version number (as well as
|
* an initdb, you should update the catalog version number (as well as
|
||||||
* notifying the pghackers mailing list, which has been the informal
|
* notifying the pgsql-hackers mailing list, which has been the
|
||||||
* practice for a long time).
|
* informal practice for a long time).
|
||||||
*
|
*
|
||||||
* The catalog version number is placed here since modifying files in
|
* The catalog version number is placed here since modifying files in
|
||||||
* include/catalog is the most common kind of initdb-forcing change.
|
* include/catalog is the most common kind of initdb-forcing change.
|
||||||
|
@ -43,7 +43,7 @@ extern ObjectAddress InsertExtensionTuple(const char *extName, Oid extOwner,
|
|||||||
extern ObjectAddress ExecAlterExtensionStmt(ParseState *pstate, AlterExtensionStmt *stmt);
|
extern ObjectAddress ExecAlterExtensionStmt(ParseState *pstate, AlterExtensionStmt *stmt);
|
||||||
|
|
||||||
extern ObjectAddress ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt,
|
extern ObjectAddress ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt,
|
||||||
ObjectAddress *objAddress);
|
ObjectAddress *objAddr);
|
||||||
|
|
||||||
extern Oid get_extension_oid(const char *extname, bool missing_ok);
|
extern Oid get_extension_oid(const char *extname, bool missing_ok);
|
||||||
extern char *get_extension_name(Oid ext_oid);
|
extern char *get_extension_name(Oid ext_oid);
|
||||||
|
@ -87,7 +87,7 @@ extern void RangeVarCallbackOwnsTable(const RangeVar *relation,
|
|||||||
Oid relId, Oid oldRelId, void *arg);
|
Oid relId, Oid oldRelId, void *arg);
|
||||||
|
|
||||||
extern void RangeVarCallbackOwnsRelation(const RangeVar *relation,
|
extern void RangeVarCallbackOwnsRelation(const RangeVar *relation,
|
||||||
Oid relId, Oid oldRelId, void *noCatalogs);
|
Oid relId, Oid oldRelId, void *arg);
|
||||||
extern bool PartConstraintImpliedByRelConstraint(Relation scanrel,
|
extern bool PartConstraintImpliedByRelConstraint(Relation scanrel,
|
||||||
List *partConstraint);
|
List *partConstraint);
|
||||||
|
|
||||||
|
@ -576,7 +576,7 @@ typedef struct ExprEvalStep
|
|||||||
/* for EEOP_WINDOW_FUNC */
|
/* for EEOP_WINDOW_FUNC */
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
/* out-of-line state, modified by nodeWindowFunc.c */
|
/* out-of-line state, modified by nodeWindowAgg.c */
|
||||||
WindowFuncExprState *wfstate;
|
WindowFuncExprState *wfstate;
|
||||||
} window_func;
|
} window_func;
|
||||||
|
|
||||||
|
@ -289,7 +289,7 @@ typedef enum pg_enc
|
|||||||
#define PG_ENCODING_BE_LAST PG_KOI8U
|
#define PG_ENCODING_BE_LAST PG_KOI8U
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Please use these tests before access to pg_encconv_tbl[]
|
* Please use these tests before access to pg_enc2name_tbl[]
|
||||||
* or to other places...
|
* or to other places...
|
||||||
*/
|
*/
|
||||||
#define PG_VALID_BE_ENCODING(_enc) \
|
#define PG_VALID_BE_ENCODING(_enc) \
|
||||||
|
@ -11,8 +11,8 @@
|
|||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
#ifndef PARSER_FUNC_H
|
#ifndef PARSE_FUNC_H
|
||||||
#define PARSER_FUNC_H
|
#define PARSE_FUNC_H
|
||||||
|
|
||||||
#include "catalog/namespace.h"
|
#include "catalog/namespace.h"
|
||||||
#include "parser/parse_node.h"
|
#include "parser/parse_node.h"
|
||||||
|
@ -178,7 +178,7 @@ pg_atomic_init_flag(volatile pg_atomic_flag *ptr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pg_atomic_test_and_set_flag - TAS()
|
* pg_atomic_test_set_flag - TAS()
|
||||||
*
|
*
|
||||||
* Returns true if the flag has successfully been set, false otherwise.
|
* Returns true if the flag has successfully been set, false otherwise.
|
||||||
*
|
*
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
*
|
*
|
||||||
* This is a pointer to an item within a disk page of a known file
|
* This is a pointer to an item within a disk page of a known file
|
||||||
* (for example, a cross-link from an index to its parent table).
|
* (for example, a cross-link from an index to its parent table).
|
||||||
* blkid tells us which block, posid tells us which entry in the linp
|
* ip_blkid tells us which block, ip_posid tells us which entry in
|
||||||
* (ItemIdData) array we want.
|
* the linp (ItemIdData) array we want.
|
||||||
*
|
*
|
||||||
* Note: because there is an item pointer in each tuple header and index
|
* Note: because there is an item pointer in each tuple header and index
|
||||||
* tuple header on disk, it's very important not to waste space with
|
* tuple header on disk, it's very important not to waste space with
|
||||||
|
@ -26,7 +26,6 @@ typedef uint16 OffsetNumber;
|
|||||||
#define InvalidOffsetNumber ((OffsetNumber) 0)
|
#define InvalidOffsetNumber ((OffsetNumber) 0)
|
||||||
#define FirstOffsetNumber ((OffsetNumber) 1)
|
#define FirstOffsetNumber ((OffsetNumber) 1)
|
||||||
#define MaxOffsetNumber ((OffsetNumber) (BLCKSZ / sizeof(ItemIdData)))
|
#define MaxOffsetNumber ((OffsetNumber) (BLCKSZ / sizeof(ItemIdData)))
|
||||||
#define OffsetNumberMask (0xffff) /* valid uint16 bits */
|
|
||||||
|
|
||||||
/* ----------------
|
/* ----------------
|
||||||
* support macros
|
* support macros
|
||||||
|
@ -332,4 +332,4 @@ extern PGPROC *AuxiliaryPidGetProc(int pid);
|
|||||||
extern void BecomeLockGroupLeader(void);
|
extern void BecomeLockGroupLeader(void);
|
||||||
extern bool BecomeLockGroupMember(PGPROC *leader, int pid);
|
extern bool BecomeLockGroupMember(PGPROC *leader, int pid);
|
||||||
|
|
||||||
#endif /* PROC_H */
|
#endif /* _PROC_H_ */
|
||||||
|
@ -94,7 +94,7 @@ typedef struct JsonSemAction
|
|||||||
} JsonSemAction;
|
} JsonSemAction;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* parse_json will parse the string in the lex calling the
|
* pg_parse_json will parse the string in the lex calling the
|
||||||
* action functions in sem at the appropriate points. It is
|
* action functions in sem at the appropriate points. It is
|
||||||
* up to them to keep what state they need in semstate. If they
|
* up to them to keep what state they need in semstate. If they
|
||||||
* need access to the state of the lexer, then its pointer
|
* need access to the state of the lexer, then its pointer
|
||||||
|
@ -2062,8 +2062,9 @@ ecpg_do_prologue(int lineno, const int compat, const int force_indicator,
|
|||||||
/*------
|
/*------
|
||||||
* create a list of variables
|
* create a list of variables
|
||||||
*
|
*
|
||||||
* The variables are listed with input variables preceding outputvariables
|
* The variables are listed with input variables preceding output
|
||||||
* The end of each group is marked by an end marker. per variable we list:
|
* variables. The end of each group is marked by an end marker.
|
||||||
|
* Per variable we list:
|
||||||
*
|
*
|
||||||
* type - as defined in ecpgtype.h
|
* type - as defined in ecpgtype.h
|
||||||
* value - where to store the data
|
* value - where to store the data
|
||||||
|
@ -623,7 +623,7 @@ PGTYPESdate_defmt_asc(date * d, const char *fmt, const char *str)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* evil[tm] hack: if we read the pgtypes_date_months and haven't
|
* evil[tm] hack: if we read the pgtypes_date_months and haven't
|
||||||
* found a match, reset list to point to pgtypes_date_months_short
|
* found a match, reset list to point to months (abbreviations)
|
||||||
* and reset the counter variable i
|
* and reset the counter variable i
|
||||||
*/
|
*/
|
||||||
if (list == pgtypes_date_months)
|
if (list == pgtypes_date_months)
|
||||||
|
@ -3732,8 +3732,8 @@ internal_ping(PGconn *conn)
|
|||||||
* PQPING_NO_RESPONSE. This result could be somewhat misleading for a
|
* PQPING_NO_RESPONSE. This result could be somewhat misleading for a
|
||||||
* pre-7.4 server, since it won't send back a SQLSTATE, but those are long
|
* pre-7.4 server, since it won't send back a SQLSTATE, but those are long
|
||||||
* out of support. Another corner case where the server could return a
|
* out of support. Another corner case where the server could return a
|
||||||
* failure without a SQLSTATE is fork failure, but NO_RESPONSE isn't
|
* failure without a SQLSTATE is fork failure, but PQPING_NO_RESPONSE
|
||||||
* totally unreasonable for that anyway. We expect that every other
|
* isn't totally unreasonable for that anyway. We expect that every other
|
||||||
* failure case in a modern server will produce a report with a SQLSTATE.
|
* failure case in a modern server will produce a report with a SQLSTATE.
|
||||||
*
|
*
|
||||||
* NOTE: whenever we get around to making libpq generate SQLSTATEs for
|
* NOTE: whenever we get around to making libpq generate SQLSTATEs for
|
||||||
|
@ -3291,7 +3291,7 @@ PQflush(PGconn *conn)
|
|||||||
* PQfreemem - safely frees memory allocated
|
* PQfreemem - safely frees memory allocated
|
||||||
*
|
*
|
||||||
* Needed mostly by Win32, unless multithreaded DLL (/MD in VC6)
|
* Needed mostly by Win32, unless multithreaded DLL (/MD in VC6)
|
||||||
* Used for freeing memory from PQescapeByte()a/PQunescapeBytea()
|
* Used for freeing memory from PQescapeBytea()/PQunescapeBytea()
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
PQfreemem(void *ptr)
|
PQfreemem(void *ptr)
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* miscellaneous useful functions
|
* miscellaneous useful functions
|
||||||
*
|
*
|
||||||
* The communication routines here are analogous to the ones in
|
* The communication routines here are analogous to the ones in
|
||||||
* backend/libpq/pqcomm.c and backend/libpq/pqcomprim.c, but operate
|
* backend/libpq/pqcomm.c and backend/libpq/pqformat.c, but operate
|
||||||
* in the considerably different environment of the frontend libpq.
|
* in the considerably different environment of the frontend libpq.
|
||||||
* In particular, we work with a bare nonblock-mode socket, rather than
|
* In particular, we work with a bare nonblock-mode socket, rather than
|
||||||
* a stdio stream, so that we can avoid unwanted blocking of the application.
|
* a stdio stream, so that we can avoid unwanted blocking of the application.
|
||||||
|
@ -565,10 +565,10 @@ extern void PQdisplayTuples(const PGresult *res,
|
|||||||
|
|
||||||
extern void PQprintTuples(const PGresult *res,
|
extern void PQprintTuples(const PGresult *res,
|
||||||
FILE *fout, /* output stream */
|
FILE *fout, /* output stream */
|
||||||
int printAttName, /* print attribute names */
|
int PrintAttNames, /* print attribute names */
|
||||||
int terseOutput, /* delimiter bars */
|
int TerseOutput, /* delimiter bars */
|
||||||
int width); /* width of column, if 0, use variable
|
int colWidth); /* width of column, if 0, use
|
||||||
* width */
|
* variable width */
|
||||||
|
|
||||||
|
|
||||||
/* === in fe-lobj.c === */
|
/* === in fe-lobj.c === */
|
||||||
|
@ -169,7 +169,7 @@ struct pg_result
|
|||||||
int ntups;
|
int ntups;
|
||||||
int numAttributes;
|
int numAttributes;
|
||||||
PGresAttDesc *attDescs;
|
PGresAttDesc *attDescs;
|
||||||
PGresAttValue **tuples; /* each PGresTuple is an array of
|
PGresAttValue **tuples; /* each PGresult tuple is an array of
|
||||||
* PGresAttValue's */
|
* PGresAttValue's */
|
||||||
int tupArrSize; /* allocated size of tuples array */
|
int tupArrSize; /* allocated size of tuples array */
|
||||||
int numParameters;
|
int numParameters;
|
||||||
@ -232,7 +232,8 @@ typedef enum
|
|||||||
PGQUERY_DESCRIBE /* Describe Statement or Portal */
|
PGQUERY_DESCRIBE /* Describe Statement or Portal */
|
||||||
} PGQueryClass;
|
} PGQueryClass;
|
||||||
|
|
||||||
/* PGSetenvStatusType defines the state of the PQSetenv state machine */
|
/* PGSetenvStatusType defines the state of the pqSetenv state machine */
|
||||||
|
|
||||||
/* (this is used only for 2.0-protocol connections) */
|
/* (this is used only for 2.0-protocol connections) */
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
@ -2452,7 +2452,7 @@ delete_function(PLpgSQL_function *func)
|
|||||||
plpgsql_free_function_memory(func);
|
plpgsql_free_function_memory(func);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* exported so we can call it from plpgsql_init() */
|
/* exported so we can call it from _PG_init() */
|
||||||
void
|
void
|
||||||
plpgsql_HashTableInit(void)
|
plpgsql_HashTableInit(void)
|
||||||
{
|
{
|
||||||
|
@ -685,7 +685,7 @@ typedef struct PLpgSQL_stmt_fori
|
|||||||
/*
|
/*
|
||||||
* PLpgSQL_stmt_forq represents a FOR statement running over a SQL query.
|
* PLpgSQL_stmt_forq represents a FOR statement running over a SQL query.
|
||||||
* It is the common supertype of PLpgSQL_stmt_fors, PLpgSQL_stmt_forc
|
* It is the common supertype of PLpgSQL_stmt_fors, PLpgSQL_stmt_forc
|
||||||
* and PLpgSQL_dynfors.
|
* and PLpgSQL_stmt_dynfors.
|
||||||
*/
|
*/
|
||||||
typedef struct PLpgSQL_stmt_forq
|
typedef struct PLpgSQL_stmt_forq
|
||||||
{
|
{
|
||||||
|
@ -471,7 +471,7 @@ PLy_procedure_munge_source(const char *name, const char *src)
|
|||||||
*mp = '\0';
|
*mp = '\0';
|
||||||
|
|
||||||
if (mp > (mrc + mlen))
|
if (mp > (mrc + mlen))
|
||||||
elog(FATAL, "buffer overrun in PLy_munge_source");
|
elog(FATAL, "buffer overrun in PLy_procedure_munge_source");
|
||||||
|
|
||||||
return mrc;
|
return mrc;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ installcheck: all
|
|||||||
check: all
|
check: all
|
||||||
$(pg_isolation_regress_check) --schedule=$(srcdir)/isolation_schedule
|
$(pg_isolation_regress_check) --schedule=$(srcdir)/isolation_schedule
|
||||||
|
|
||||||
# Versions of the check tests that include the prepared_transactions test
|
# Versions of the check tests that include the prepared-transactions test
|
||||||
# It only makes sense to run these if set up to use prepared transactions,
|
# It only makes sense to run these if set up to use prepared transactions,
|
||||||
# via TEMP_CONFIG for the check case, or via the postgresql.conf for the
|
# via TEMP_CONFIG for the check case, or via the postgresql.conf for the
|
||||||
# installcheck case.
|
# installcheck case.
|
||||||
|
@ -230,8 +230,7 @@ sub AddDir
|
|||||||
if ($filter eq "LIBOBJS")
|
if ($filter eq "LIBOBJS")
|
||||||
{
|
{
|
||||||
no warnings qw(once);
|
no warnings qw(once);
|
||||||
if (grep(/$p/, @main::pgportfiles, @main::pgcommonfiles)
|
if (grep(/$p/, @main::pgportfiles) == 1)
|
||||||
== 1)
|
|
||||||
{
|
{
|
||||||
$p =~ s/\.c/\.o/;
|
$p =~ s/\.c/\.o/;
|
||||||
$matches .= $p . " ";
|
$matches .= $p . " ";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user