mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Phase 3 of pgindent updates.
Don't move parenthesized lines to the left, even if that means they flow past the right margin. By default, BSD indent lines up statement continuation lines that are within parentheses so that they start just to the right of the preceding left parenthesis. However, traditionally, if that resulted in the continuation line extending to the right of the desired right margin, then indent would push it left just far enough to not overrun the margin, if it could do so without making the continuation line start to the left of the current statement indent. That makes for a weird mix of indentations unless one has been completely rigid about never violating the 80-column limit. This behavior has been pretty universally panned by Postgres developers. Hence, disable it with indent's new -lpl switch, so that parenthesized lines are always lined up with the preceding left paren. This patch is much less interesting than the first round of indent changes, but also bulkier, so I thought it best to separate the effects. Discussion: https://postgr.es/m/E1dAmxK-0006EE-1r@gemulon.postgresql.org Discussion: https://postgr.es/m/30527.1495162840@sss.pgh.pa.us
This commit is contained in:
@ -685,7 +685,7 @@ dataBeginPlaceToPageLeaf(GinBtree btree, Buffer buf, GinBtreeStack *stack,
|
||||
|
||||
Assert(GinPageRightMost(page) ||
|
||||
ginCompareItemPointers(GinDataPageGetRightBound(*newlpage),
|
||||
GinDataPageGetRightBound(*newrpage)) < 0);
|
||||
GinDataPageGetRightBound(*newrpage)) < 0);
|
||||
|
||||
if (append)
|
||||
elog(DEBUG2, "appended %d items to block %u; split %d/%d (%d to go)",
|
||||
@ -1468,7 +1468,7 @@ addItemsToLeaf(disassembledLeaf *leaf, ItemPointer newItems, int nNewItems)
|
||||
ItemPointerData next_first;
|
||||
|
||||
next = (leafSegmentInfo *) dlist_container(leafSegmentInfo, node,
|
||||
dlist_next_node(&leaf->segments, iter.cur));
|
||||
dlist_next_node(&leaf->segments, iter.cur));
|
||||
if (next->items)
|
||||
next_first = next->items[0];
|
||||
else
|
||||
@ -1595,7 +1595,7 @@ leafRepackItems(disassembledLeaf *leaf, ItemPointer remaining)
|
||||
{
|
||||
seginfo->seg = ginCompressPostingList(seginfo->items,
|
||||
seginfo->nitems,
|
||||
GinPostingListSegmentMaxSize,
|
||||
GinPostingListSegmentMaxSize,
|
||||
&npacked);
|
||||
}
|
||||
if (npacked != seginfo->nitems)
|
||||
@ -1610,7 +1610,7 @@ leafRepackItems(disassembledLeaf *leaf, ItemPointer remaining)
|
||||
pfree(seginfo->seg);
|
||||
seginfo->seg = ginCompressPostingList(seginfo->items,
|
||||
seginfo->nitems,
|
||||
GinPostingListSegmentTargetSize,
|
||||
GinPostingListSegmentTargetSize,
|
||||
&npacked);
|
||||
if (seginfo->action != GIN_SEGMENT_INSERT)
|
||||
seginfo->action = GIN_SEGMENT_REPLACE;
|
||||
|
@ -107,9 +107,9 @@ GinFormTuple(GinState *ginstate,
|
||||
if (errorTooBig)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
||||
errmsg("index row size %zu exceeds maximum %zu for index \"%s\"",
|
||||
(Size) newsize, (Size) GinMaxItemSize,
|
||||
RelationGetRelationName(ginstate->index))));
|
||||
errmsg("index row size %zu exceeds maximum %zu for index \"%s\"",
|
||||
(Size) newsize, (Size) GinMaxItemSize,
|
||||
RelationGetRelationName(ginstate->index))));
|
||||
pfree(itup);
|
||||
return NULL;
|
||||
}
|
||||
@ -256,7 +256,7 @@ entryIsMoveRight(GinBtree btree, Page page)
|
||||
key = gintuple_get_key(btree->ginstate, itup, &category);
|
||||
|
||||
if (ginCompareAttEntries(btree->ginstate,
|
||||
btree->entryAttnum, btree->entryKey, btree->entryCategory,
|
||||
btree->entryAttnum, btree->entryKey, btree->entryCategory,
|
||||
attnum, key, category) > 0)
|
||||
return TRUE;
|
||||
|
||||
|
@ -482,7 +482,7 @@ ginHeapTupleFastCollect(GinState *ginstate,
|
||||
{
|
||||
collector->lentuples *= 2;
|
||||
collector->tuples = (IndexTuple *) repalloc(collector->tuples,
|
||||
sizeof(IndexTuple) * collector->lentuples);
|
||||
sizeof(IndexTuple) * collector->lentuples);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -874,7 +874,7 @@ ginInsertCleanup(GinState *ginstate, bool full_clean,
|
||||
*/
|
||||
ginBeginBAScan(&accum);
|
||||
while ((list = ginGetBAEntry(&accum,
|
||||
&attnum, &key, &category, &nlist)) != NULL)
|
||||
&attnum, &key, &category, &nlist)) != NULL)
|
||||
{
|
||||
ginEntryInsert(ginstate, attnum, key, category,
|
||||
list, nlist, NULL);
|
||||
@ -904,7 +904,7 @@ ginInsertCleanup(GinState *ginstate, bool full_clean,
|
||||
|
||||
ginBeginBAScan(&accum);
|
||||
while ((list = ginGetBAEntry(&accum,
|
||||
&attnum, &key, &category, &nlist)) != NULL)
|
||||
&attnum, &key, &category, &nlist)) != NULL)
|
||||
ginEntryInsert(ginstate, attnum, key, category,
|
||||
list, nlist, NULL);
|
||||
}
|
||||
@ -989,7 +989,7 @@ gin_clean_pending_list(PG_FUNCTION_ARGS)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("recovery is in progress"),
|
||||
errhint("GIN pending list cannot be cleaned up during recovery.")));
|
||||
errhint("GIN pending list cannot be cleaned up during recovery.")));
|
||||
|
||||
/* Must be a GIN index */
|
||||
if (indexRel->rd_rel->relkind != RELKIND_INDEX ||
|
||||
@ -1007,7 +1007,7 @@ gin_clean_pending_list(PG_FUNCTION_ARGS)
|
||||
if (RELATION_IS_OTHER_TEMP(indexRel))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("cannot access temporary indexes of other sessions")));
|
||||
errmsg("cannot access temporary indexes of other sessions")));
|
||||
|
||||
/* User must own the index (comparable to privileges needed for VACUUM) */
|
||||
if (!pg_class_ownercheck(indexoid, GetUserId()))
|
||||
|
@ -179,11 +179,11 @@ collectMatchBitmap(GinBtreeData *btree, GinBtreeStack *stack,
|
||||
*----------
|
||||
*/
|
||||
cmp = DatumGetInt32(FunctionCall4Coll(&btree->ginstate->comparePartialFn[attnum - 1],
|
||||
btree->ginstate->supportCollation[attnum - 1],
|
||||
btree->ginstate->supportCollation[attnum - 1],
|
||||
scanEntry->queryKey,
|
||||
idatum,
|
||||
UInt16GetDatum(scanEntry->strategy),
|
||||
PointerGetDatum(scanEntry->extra_data)));
|
||||
UInt16GetDatum(scanEntry->strategy),
|
||||
PointerGetDatum(scanEntry->extra_data)));
|
||||
|
||||
if (cmp > 0)
|
||||
return true;
|
||||
@ -628,7 +628,7 @@ entryLoadMoreItems(GinState *ginstate, GinScanEntry entry,
|
||||
{
|
||||
ItemPointerSet(&entry->btree.itemptr,
|
||||
GinItemPointerGetBlockNumber(&advancePast),
|
||||
OffsetNumberNext(GinItemPointerGetOffsetNumber(&advancePast)));
|
||||
OffsetNumberNext(GinItemPointerGetOffsetNumber(&advancePast)));
|
||||
}
|
||||
entry->btree.fullScan = false;
|
||||
stack = ginFindLeafPage(&entry->btree, true, snapshot);
|
||||
@ -990,7 +990,7 @@ keyGetItem(GinState *ginstate, MemoryContext tempCtx, GinScanKey key,
|
||||
Assert(GinItemPointerGetOffsetNumber(&minItem) > 0);
|
||||
ItemPointerSet(&advancePast,
|
||||
GinItemPointerGetBlockNumber(&minItem),
|
||||
OffsetNumberPrev(GinItemPointerGetOffsetNumber(&minItem)));
|
||||
OffsetNumberPrev(GinItemPointerGetOffsetNumber(&minItem)));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1249,7 +1249,7 @@ scanGetItem(IndexScanDesc scan, ItemPointerData advancePast,
|
||||
GinItemPointerGetBlockNumber(&key->curItem))
|
||||
{
|
||||
ItemPointerSet(&advancePast,
|
||||
GinItemPointerGetBlockNumber(&key->curItem),
|
||||
GinItemPointerGetBlockNumber(&key->curItem),
|
||||
InvalidOffsetNumber);
|
||||
}
|
||||
}
|
||||
@ -1461,11 +1461,11 @@ matchPartialInPendingList(GinState *ginstate, Page page,
|
||||
*----------
|
||||
*/
|
||||
cmp = DatumGetInt32(FunctionCall4Coll(&ginstate->comparePartialFn[entry->attnum - 1],
|
||||
ginstate->supportCollation[entry->attnum - 1],
|
||||
ginstate->supportCollation[entry->attnum - 1],
|
||||
entry->queryKey,
|
||||
datum[off - 1],
|
||||
UInt16GetDatum(entry->strategy),
|
||||
PointerGetDatum(entry->extra_data)));
|
||||
PointerGetDatum(entry->extra_data)));
|
||||
if (cmp == 0)
|
||||
return true;
|
||||
else if (cmp > 0)
|
||||
|
@ -292,7 +292,7 @@ ginBuildCallback(Relation index, HeapTuple htup, Datum *values,
|
||||
|
||||
ginBeginBAScan(&buildstate->accum);
|
||||
while ((list = ginGetBAEntry(&buildstate->accum,
|
||||
&attnum, &key, &category, &nlist)) != NULL)
|
||||
&attnum, &key, &category, &nlist)) != NULL)
|
||||
{
|
||||
/* there could be many entries, so be willing to abort here */
|
||||
CHECK_FOR_INTERRUPTS();
|
||||
@ -380,7 +380,7 @@ ginbuild(Relation heap, Relation index, IndexInfo *indexInfo)
|
||||
* ginExtractEntries(), and can be reset after each tuple
|
||||
*/
|
||||
buildstate.funcCtx = AllocSetContextCreate(CurrentMemoryContext,
|
||||
"Gin build temporary context for user-defined function",
|
||||
"Gin build temporary context for user-defined function",
|
||||
ALLOCSET_DEFAULT_SIZES);
|
||||
|
||||
buildstate.accum.ginstate = &buildstate.ginstate;
|
||||
|
@ -83,9 +83,9 @@ directBoolConsistentFn(GinScanKey key)
|
||||
key->query,
|
||||
UInt32GetDatum(key->nuserentries),
|
||||
PointerGetDatum(key->extra_data),
|
||||
PointerGetDatum(&key->recheckCurItem),
|
||||
PointerGetDatum(&key->recheckCurItem),
|
||||
PointerGetDatum(key->queryValues),
|
||||
PointerGetDatum(key->queryCategories)));
|
||||
PointerGetDatum(key->queryCategories)));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -95,15 +95,15 @@ static GinTernaryValue
|
||||
directTriConsistentFn(GinScanKey key)
|
||||
{
|
||||
return DatumGetGinTernaryValue(FunctionCall7Coll(
|
||||
key->triConsistentFmgrInfo,
|
||||
key->triConsistentFmgrInfo,
|
||||
key->collation,
|
||||
PointerGetDatum(key->entryRes),
|
||||
UInt16GetDatum(key->strategy),
|
||||
PointerGetDatum(key->entryRes),
|
||||
UInt16GetDatum(key->strategy),
|
||||
key->query,
|
||||
UInt32GetDatum(key->nuserentries),
|
||||
PointerGetDatum(key->extra_data),
|
||||
PointerGetDatum(key->queryValues),
|
||||
PointerGetDatum(key->queryCategories)));
|
||||
UInt32GetDatum(key->nuserentries),
|
||||
PointerGetDatum(key->extra_data),
|
||||
PointerGetDatum(key->queryValues),
|
||||
PointerGetDatum(key->queryCategories)));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -117,15 +117,15 @@ shimBoolConsistentFn(GinScanKey key)
|
||||
GinTernaryValue result;
|
||||
|
||||
result = DatumGetGinTernaryValue(FunctionCall7Coll(
|
||||
key->triConsistentFmgrInfo,
|
||||
key->triConsistentFmgrInfo,
|
||||
key->collation,
|
||||
PointerGetDatum(key->entryRes),
|
||||
UInt16GetDatum(key->strategy),
|
||||
PointerGetDatum(key->entryRes),
|
||||
UInt16GetDatum(key->strategy),
|
||||
key->query,
|
||||
UInt32GetDatum(key->nuserentries),
|
||||
PointerGetDatum(key->extra_data),
|
||||
PointerGetDatum(key->queryValues),
|
||||
PointerGetDatum(key->queryCategories)));
|
||||
UInt32GetDatum(key->nuserentries),
|
||||
PointerGetDatum(key->extra_data),
|
||||
PointerGetDatum(key->queryValues),
|
||||
PointerGetDatum(key->queryCategories)));
|
||||
if (result == GIN_MAYBE)
|
||||
{
|
||||
key->recheckCurItem = true;
|
||||
|
@ -310,11 +310,11 @@ ginNewScanKey(IndexScanDesc scan)
|
||||
/* OK to call the extractQueryFn */
|
||||
queryValues = (Datum *)
|
||||
DatumGetPointer(FunctionCall7Coll(&so->ginstate.extractQueryFn[skey->sk_attno - 1],
|
||||
so->ginstate.supportCollation[skey->sk_attno - 1],
|
||||
so->ginstate.supportCollation[skey->sk_attno - 1],
|
||||
skey->sk_argument,
|
||||
PointerGetDatum(&nQueryValues),
|
||||
UInt16GetDatum(skey->sk_strategy),
|
||||
PointerGetDatum(&partial_matches),
|
||||
UInt16GetDatum(skey->sk_strategy),
|
||||
PointerGetDatum(&partial_matches),
|
||||
PointerGetDatum(&extra_data),
|
||||
PointerGetDatum(&nullFlags),
|
||||
PointerGetDatum(&searchMode)));
|
||||
|
@ -131,8 +131,8 @@ initGinState(GinState *state, Relation index)
|
||||
if (!OidIsValid(typentry->cmp_proc_finfo.fn_oid))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_UNDEFINED_FUNCTION),
|
||||
errmsg("could not identify a comparison function for type %s",
|
||||
format_type_be(origTupdesc->attrs[i]->atttypid))));
|
||||
errmsg("could not identify a comparison function for type %s",
|
||||
format_type_be(origTupdesc->attrs[i]->atttypid))));
|
||||
fmgr_info_copy(&(state->compareFn[i]),
|
||||
&(typentry->cmp_proc_finfo),
|
||||
CurrentMemoryContext);
|
||||
@ -153,14 +153,14 @@ initGinState(GinState *state, Relation index)
|
||||
if (index_getprocid(index, i + 1, GIN_TRICONSISTENT_PROC) != InvalidOid)
|
||||
{
|
||||
fmgr_info_copy(&(state->triConsistentFn[i]),
|
||||
index_getprocinfo(index, i + 1, GIN_TRICONSISTENT_PROC),
|
||||
index_getprocinfo(index, i + 1, GIN_TRICONSISTENT_PROC),
|
||||
CurrentMemoryContext);
|
||||
}
|
||||
|
||||
if (index_getprocid(index, i + 1, GIN_CONSISTENT_PROC) != InvalidOid)
|
||||
{
|
||||
fmgr_info_copy(&(state->consistentFn[i]),
|
||||
index_getprocinfo(index, i + 1, GIN_CONSISTENT_PROC),
|
||||
index_getprocinfo(index, i + 1, GIN_CONSISTENT_PROC),
|
||||
CurrentMemoryContext);
|
||||
}
|
||||
|
||||
@ -178,7 +178,7 @@ initGinState(GinState *state, Relation index)
|
||||
if (index_getprocid(index, i + 1, GIN_COMPARE_PARTIAL_PROC) != InvalidOid)
|
||||
{
|
||||
fmgr_info_copy(&(state->comparePartialFn[i]),
|
||||
index_getprocinfo(index, i + 1, GIN_COMPARE_PARTIAL_PROC),
|
||||
index_getprocinfo(index, i + 1, GIN_COMPARE_PARTIAL_PROC),
|
||||
CurrentMemoryContext);
|
||||
state->canPartialMatch[i] = true;
|
||||
}
|
||||
@ -392,7 +392,7 @@ ginCompareEntries(GinState *ginstate, OffsetNumber attnum,
|
||||
|
||||
/* both not null, so safe to call the compareFn */
|
||||
return DatumGetInt32(FunctionCall2Coll(&ginstate->compareFn[attnum - 1],
|
||||
ginstate->supportCollation[attnum - 1],
|
||||
ginstate->supportCollation[attnum - 1],
|
||||
a, b));
|
||||
}
|
||||
|
||||
@ -499,7 +499,7 @@ ginExtractEntries(GinState *ginstate, OffsetNumber attnum,
|
||||
nullFlags = NULL; /* in case extractValue doesn't set it */
|
||||
entries = (Datum *)
|
||||
DatumGetPointer(FunctionCall3Coll(&ginstate->extractValueFn[attnum - 1],
|
||||
ginstate->supportCollation[attnum - 1],
|
||||
ginstate->supportCollation[attnum - 1],
|
||||
value,
|
||||
PointerGetDatum(nentries),
|
||||
PointerGetDatum(&nullFlags)));
|
||||
@ -602,7 +602,7 @@ ginoptions(Datum reloptions, bool validate)
|
||||
static const relopt_parse_elt tab[] = {
|
||||
{"fastupdate", RELOPT_TYPE_BOOL, offsetof(GinOptions, useFastUpdate)},
|
||||
{"gin_pending_list_limit", RELOPT_TYPE_INT, offsetof(GinOptions,
|
||||
pendingListCleanupSize)}
|
||||
pendingListCleanupSize)}
|
||||
};
|
||||
|
||||
options = parseRelOptions(reloptions, validate, RELOPT_KIND_GIN,
|
||||
|
Reference in New Issue
Block a user