mirror of https://github.com/postgres/postgres
Fix comments that were mis-wrapped, for Tom Lane.
This commit is contained in:
parent
4e911c847c
commit
7cf952e7b4
|
@ -399,19 +399,29 @@ check_foreign_key(PG_FUNCTION_ARGS)
|
|||
{
|
||||
relname = args2[0];
|
||||
|
||||
/*
|
||||
* For 'R'estrict action we construct SELECT query - SELECT 1
|
||||
* FROM _referencing_relation_ WHERE Fkey1 = $1 [AND Fkey2 =
|
||||
* $2 [...]] - to check is tuple referenced or not.
|
||||
/*---------
|
||||
* For 'R'estrict action we construct SELECT query:
|
||||
*
|
||||
* SELECT 1
|
||||
* FROM _referencing_relation_
|
||||
* WHERE Fkey1 = $1 [AND Fkey2 = $2 [...]]
|
||||
*
|
||||
* to check is tuple referenced or not.
|
||||
*---------
|
||||
*/
|
||||
if (action == 'r')
|
||||
|
||||
sprintf(sql, "select 1 from %s where ", relname);
|
||||
|
||||
/*
|
||||
* For 'C'ascade action we construct DELETE query - DELETE
|
||||
* FROM _referencing_relation_ WHERE Fkey1 = $1 [AND Fkey2 =
|
||||
* $2 [...]] - to delete all referencing tuples.
|
||||
/*---------
|
||||
* For 'C'ascade action we construct DELETE query
|
||||
*
|
||||
* DELETE
|
||||
* FROM _referencing_relation_
|
||||
* WHERE Fkey1 = $1 [AND Fkey2 = $2 [...]]
|
||||
*
|
||||
* to delete all referencing tuples.
|
||||
*---------
|
||||
*/
|
||||
|
||||
/*
|
||||
|
|
|
@ -143,9 +143,10 @@ gistrescan(PG_FUNCTION_ARGS)
|
|||
for (i = 0; i < s->numberOfKeys; i++)
|
||||
{
|
||||
|
||||
/*
|
||||
/*----------
|
||||
* s->keyData[i].sk_procedure =
|
||||
* index_getprocid(s->relation, 1, GIST_CONSISTENT_PROC);
|
||||
* index_getprocid(s->relation, 1, GIST_CONSISTENT_PROC);
|
||||
*----------
|
||||
*/
|
||||
s->keyData[i].sk_procedure
|
||||
= RelationGetGISTStrategy(s->relation, s->keyData[i].sk_attno,
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/hash/hashsearch.c,v 1.25 2001/01/24 19:42:47 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/hash/hashsearch.c,v 1.26 2001/03/23 04:49:51 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -334,9 +334,11 @@ _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir, Buffer metabuf)
|
|||
while (offnum > maxoff)
|
||||
{
|
||||
|
||||
/*
|
||||
* either this page is empty (maxoff ==
|
||||
* InvalidOffsetNumber) or we ran off the end.
|
||||
/*--------
|
||||
* either this page is empty
|
||||
* (maxoff == InvalidOffsetNumber)
|
||||
* or we ran off the end.
|
||||
*--------
|
||||
*/
|
||||
_hash_readnext(rel, &buf, &page, &opaque);
|
||||
if (BufferIsInvalid(buf))
|
||||
|
@ -382,9 +384,11 @@ _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir, Buffer metabuf)
|
|||
while (offnum < FirstOffsetNumber)
|
||||
{
|
||||
|
||||
/*
|
||||
* either this page is empty (offnum ==
|
||||
* InvalidOffsetNumber) or we ran off the end.
|
||||
/*---------
|
||||
* either this page is empty
|
||||
* (offnum == InvalidOffsetNumber)
|
||||
* or we ran off the end.
|
||||
*---------
|
||||
*/
|
||||
_hash_readprev(rel, &buf, &page, &opaque);
|
||||
if (BufferIsInvalid(buf))
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/heap/tuptoaster.c,v 1.19 2001/03/22 06:16:07 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/heap/tuptoaster.c,v 1.20 2001/03/23 04:49:51 momjian Exp $
|
||||
*
|
||||
*
|
||||
* INTERFACE ROUTINES
|
||||
|
@ -458,9 +458,10 @@ toast_insert_or_update(Relation rel, HeapTuple newtup, HeapTuple oldtup)
|
|||
int32 biggest_size = MAXALIGN(sizeof(varattrib));
|
||||
Datum old_value;
|
||||
|
||||
/*
|
||||
* Search for the biggest yet inlined attribute with attstorage =
|
||||
* 'x' or 'e'
|
||||
/*------
|
||||
* Search for the biggest yet inlined attribute with
|
||||
* attstorage equals 'x' or 'e'
|
||||
*------
|
||||
*/
|
||||
for (i = 0; i < numAttrs; i++)
|
||||
{
|
||||
|
@ -572,9 +573,10 @@ toast_insert_or_update(Relation rel, HeapTuple newtup, HeapTuple oldtup)
|
|||
int32 biggest_size = MAXALIGN(sizeof(varattrib));
|
||||
Datum old_value;
|
||||
|
||||
/*
|
||||
* Search for the biggest yet inlined attribute with attstorage =
|
||||
* 'm'
|
||||
/*--------
|
||||
* Search for the biggest yet inlined attribute with
|
||||
* attstorage = 'm'
|
||||
*--------
|
||||
*/
|
||||
for (i = 0; i < numAttrs; i++)
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.65 2001/03/22 06:16:07 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.66 2001/03/23 04:49:51 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -584,8 +584,10 @@ _bt_first(IndexScanDesc scan, ScanDirection dir)
|
|||
|
||||
/*
|
||||
* At this point we are positioned at the first item >= scan key, or
|
||||
* possibly at the end of a page on which all the existing items are <
|
||||
* scan key and we know that everything on later pages is >= scan key.
|
||||
* possibly at the end of a page on which all the existing items are
|
||||
* greater than the scan key and we know that everything on later pages
|
||||
* is less than or equal to scan key.
|
||||
*
|
||||
* We could step forward in the latter case, but that'd be a waste of
|
||||
* time if we want to scan backwards. So, it's now time to examine
|
||||
* the scan strategy to find the exact place to start the scan.
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtutils.c,v 1.43 2001/03/22 03:59:15 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtutils.c,v 1.44 2001/03/23 04:49:52 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -412,8 +412,8 @@ _bt_orderkeys(Relation relation, BTScanOpaque so)
|
|||
if (DatumGetBool(test))
|
||||
xform[j].sk_argument = cur->sk_argument;
|
||||
else if (j == (BTEqualStrategyNumber - 1))
|
||||
so->qual_ok = false; /* key == a && key == b, but a !=
|
||||
* b */
|
||||
so->qual_ok = false;
|
||||
/* key == a && key == b, but a != b */
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* doesn't work! - jolly 8/19/95
|
||||
*
|
||||
*
|
||||
* $Id: version.c,v 1.25 2001/01/24 19:42:53 momjian Exp $
|
||||
* $Id: version.c,v 1.26 2001/03/23 04:49:52 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* At the point the version is defined, 2 physical relations are created
|
||||
|
@ -77,9 +77,12 @@ static void
|
|||
eval_as_new_xact(char *query)
|
||||
{
|
||||
|
||||
/*
|
||||
/*------
|
||||
* WARNING! do not uncomment the following lines WARNING!
|
||||
* CommitTransactionCommand(); StartTransactionCommand();
|
||||
*
|
||||
* CommitTransactionCommand();
|
||||
* StartTransactionCommand();
|
||||
*------
|
||||
*/
|
||||
CommandCounterIncrement();
|
||||
pg_exec_query(query);
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.124 2001/03/22 06:16:11 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.125 2001/03/23 04:49:52 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* The PerformAddAttribute() code, like most of the relation
|
||||
|
@ -1034,11 +1034,13 @@ AlterTableDropColumn(const char *relationName,
|
|||
ScanKeyEntryInitialize(&scankeys[0], 0x0, Anum_pg_attrdef_adrelid,
|
||||
F_OIDEQ, ObjectIdGetDatum(myrelid));
|
||||
|
||||
/*
|
||||
/*--------
|
||||
* Oops pg_attrdef doesn't have (adrelid,adnum) index
|
||||
* ScanKeyEntryInitialize(&scankeys[1], 0x0, Anum_pg_attrdef_adnum,
|
||||
* F_INT2EQ, Int16GetDatum(attnum)); sysscan =
|
||||
* systable_beginscan(adrel, AttrDefaultIndex, 2, scankeys);
|
||||
*
|
||||
* ScanKeyEntryInitialize(&scankeys[1], 0x0, Anum_pg_attrdef_adnum,
|
||||
* F_INT2EQ, Int16GetDatum(attnum));
|
||||
* sysscan = systable_beginscan(adrel, AttrDefaultIndex, 2, scankeys);
|
||||
*--------
|
||||
*/
|
||||
sysscan = systable_beginscan(adrel, AttrDefaultIndex, 1, scankeys);
|
||||
while (HeapTupleIsValid(tup = systable_getnext(sysscan)))
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.84 2001/03/22 03:59:26 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.85 2001/03/23 04:49:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1499,8 +1499,9 @@ ExecTargetList(List *targetlist,
|
|||
* and another array that holds the isDone status for each targetlist
|
||||
* item. The isDone status is needed so that we can iterate,
|
||||
* generating multiple tuples, when one or more tlist items return
|
||||
* sets. (We expect the caller to call us again if we return *isDone
|
||||
* = ExprMultipleResult.)
|
||||
* sets. (We expect the caller to call us again if we return:
|
||||
*
|
||||
* isDone = ExprMultipleResult.)
|
||||
*/
|
||||
if (nodomains > NPREALLOCDOMAINS)
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeLimit.c,v 1.5 2001/03/22 06:16:13 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeLimit.c,v 1.6 2001/03/23 04:49:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -79,8 +79,8 @@ ExecLimit(Limit *node)
|
|||
* tuple in the offset region before we can return NULL.
|
||||
* Otherwise we won't be correctly aligned to start going forward
|
||||
* again. So, although you might think we can quit when position
|
||||
* = offset + 1, we have to fetch a subplan tuple first, and then
|
||||
* exit when position = offset.
|
||||
* equals offset + 1, we have to fetch a subplan tuple first, and
|
||||
* then exit when position = offset.
|
||||
*/
|
||||
if (ScanDirectionIsForward(direction))
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.44 2001/03/22 06:16:13 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.45 2001/03/23 04:49:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -240,10 +240,11 @@ MergeCompare(List *eqQual, List *compareQual, ExprContext *econtext)
|
|||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
/*-----------
|
||||
* ok, the compare clause failed so we test if the keys are
|
||||
* equal... if key1 != key2, we return false. otherwise key1 =
|
||||
* key2 so we move on to the next pair of keys.
|
||||
* equal... if key1 != key2, we return false. otherwise
|
||||
* key1 = key2 so we move on to the next pair of keys.
|
||||
*-----------
|
||||
*/
|
||||
const_value = ExecEvalExpr((Node *) lfirst(eqclause),
|
||||
econtext,
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/clausesel.c,v 1.42 2001/03/22 03:59:34 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/clausesel.c,v 1.43 2001/03/23 04:49:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -297,9 +297,11 @@ addRangeClause(RangeQueryClause **rqlist, Node *clause,
|
|||
else
|
||||
{
|
||||
|
||||
/*
|
||||
* We have found two similar clauses, such as x < y AND x
|
||||
* < z. Keep only the more restrictive one.
|
||||
/*------
|
||||
* We have found two similar clauses, such as
|
||||
* x < y AND x < z.
|
||||
* Keep only the more restrictive one.
|
||||
*------
|
||||
*/
|
||||
if (rqelem->lobound > s2)
|
||||
rqelem->lobound = s2;
|
||||
|
@ -315,9 +317,11 @@ addRangeClause(RangeQueryClause **rqlist, Node *clause,
|
|||
else
|
||||
{
|
||||
|
||||
/*
|
||||
* We have found two similar clauses, such as x > y AND x
|
||||
* > z. Keep only the more restrictive one.
|
||||
/*------
|
||||
* We have found two similar clauses, such as
|
||||
* x > y AND x > z.
|
||||
* Keep only the more restrictive one.
|
||||
*------
|
||||
*/
|
||||
if (rqelem->hibound > s2)
|
||||
rqelem->hibound = s2;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.103 2001/03/22 03:59:35 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.104 2001/03/23 04:49:53 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1986,9 +1986,10 @@ prefix_quals(Var *leftop, Oid expr_op,
|
|||
expr = make_opclause(op, leftop, (Var *) con);
|
||||
result = makeList1(expr);
|
||||
|
||||
/*
|
||||
* If we can create a string larger than the prefix, we can say "x <
|
||||
* greaterstr".
|
||||
/*-------
|
||||
* If we can create a string larger than the prefix, we can say
|
||||
* "x < greaterstr".
|
||||
*-------
|
||||
*/
|
||||
greaterstr = make_greater_string(prefix, datatype);
|
||||
if (greaterstr)
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteDefine.c,v 1.60 2001/03/22 06:16:16 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteDefine.c,v 1.61 2001/03/23 04:49:54 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -130,10 +130,14 @@ ValidateRule(int event_type,
|
|||
|
||||
#ifdef NOT_USED
|
||||
|
||||
/*
|
||||
/*---------
|
||||
* on retrieve to class.attribute do instead nothing is converted to
|
||||
* 'on retrieve to class.attribute do instead retrieve (attribute =
|
||||
* NULL)' --- this is also a terrible hack that works well -- glass
|
||||
* 'on retrieve to class.attribute do instead:
|
||||
*
|
||||
* retrieve (attribute = NULL)'
|
||||
*
|
||||
* this is also a terrible hack that works well -- glass
|
||||
*---------
|
||||
*/
|
||||
if (is_instead && !*action && eslot_string && event_type == CMD_SELECT)
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.65 2001/03/22 06:16:16 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.66 2001/03/23 04:49:54 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
*
|
||||
|
@ -404,7 +404,7 @@ IpcSemaphoreLock(IpcSemaphoreId semId, int sem, bool interruptOK)
|
|||
* and entering the semop() call. If a cancel/die interrupt occurs in
|
||||
* that window, we would fail to notice it until after we acquire the
|
||||
* lock (or get another interrupt to escape the semop()). We can
|
||||
* avoid this problem by temporarily setting ImmediateInterruptOK =
|
||||
* avoid this problem by temporarily setting ImmediateInterruptOK to
|
||||
* true before we do CHECK_FOR_INTERRUPTS; then, a die() interrupt in
|
||||
* this interval will execute directly. However, there is a huge
|
||||
* pitfall: there is another window of a few instructions after the
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinval.c,v 1.28 2001/03/22 03:59:45 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinval.c,v 1.29 2001/03/23 04:49:54 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -319,11 +319,13 @@ GetSnapshotData(bool serializable)
|
|||
xid < FirstTransactionId || xid >= snapshot->xmax)
|
||||
{
|
||||
|
||||
/*
|
||||
* Seems that there is no sense to store xid >=
|
||||
* snapshot->xmax (what we got from ReadNewTransactionId
|
||||
* above) in snapshot->xip - we just assume that all xacts
|
||||
/*--------
|
||||
* Seems that there is no sense to store
|
||||
* xid >= snapshot->xmax
|
||||
* (what we got from ReadNewTransactionId above)
|
||||
* in snapshot->xip. We just assume that all xacts
|
||||
* with such xid-s are running and may be ignored.
|
||||
*--------
|
||||
*/
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* -----------------------------------------------------------------------
|
||||
* formatting.c
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/formatting.c,v 1.35 2001/03/22 06:16:17 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/formatting.c,v 1.36 2001/03/23 04:49:54 momjian Exp $
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1999-2000, PostgreSQL Global Development Group
|
||||
|
@ -2846,9 +2846,11 @@ to_timestamp(PG_FUNCTION_ARGS)
|
|||
else if (tmfc->yy)
|
||||
{
|
||||
|
||||
/*
|
||||
* 2-digit year: '00' ... '69' = 2000 ... 2069 '70' ... '99' =
|
||||
* 1970 ... 1999
|
||||
/*---------
|
||||
* 2-digit year:
|
||||
* '00' ... '69' = 2000 ... 2069
|
||||
* '70' ... '99' = 1970 ... 1999
|
||||
*---------
|
||||
*/
|
||||
tm->tm_year = tmfc->yy;
|
||||
|
||||
|
@ -2860,9 +2862,11 @@ to_timestamp(PG_FUNCTION_ARGS)
|
|||
else if (tmfc->yyy)
|
||||
{
|
||||
|
||||
/*
|
||||
* 3-digit year: '100' ... '999' = 1100 ... 1999 '000' ... '099' =
|
||||
* 2000 ... 2099
|
||||
/*---------
|
||||
* 3-digit year:
|
||||
* '100' ... '999' = 1100 ... 1999
|
||||
* '000' ... '099' = 2000 ... 2099
|
||||
*---------
|
||||
*/
|
||||
tm->tm_year = tmfc->yyy;
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.86 2001/03/22 03:59:54 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.87 2001/03/23 04:49:54 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1642,9 +1642,10 @@ prefix_selectivity(char *prefix,
|
|||
Int32GetDatum(SEL_CONSTANT | SEL_RIGHT)));
|
||||
pfree(DatumGetPointer(prefixcon));
|
||||
|
||||
/*
|
||||
* If we can create a string larger than the prefix, say "x <
|
||||
* greaterstr".
|
||||
/*-------
|
||||
* If we can create a string larger than the prefix, say
|
||||
* "x < greaterstr".
|
||||
*-------
|
||||
*/
|
||||
greaterstr = make_greater_string(prefix, datatype);
|
||||
if (greaterstr)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.51 2001/03/22 03:59:57 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/lsyscache.c,v 1.52 2001/03/23 04:49:55 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Eventually, the index information should go through here, too.
|
||||
|
@ -272,7 +272,7 @@ get_attdispersion(Oid relid, AttrNumber attnum, double min_estimate)
|
|||
|
||||
/*
|
||||
* VACUUM ANALYZE has not been run for this table. Produce an estimate
|
||||
* = 1/numtuples. This may produce unreasonably small estimates for
|
||||
* of 1/numtuples. This may produce unreasonably small estimates for
|
||||
* large tables, so limit the estimate to no less than min_estimate.
|
||||
*/
|
||||
dispersion = 1.0 / (double) ntuples;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.129 2001/03/22 03:59:57 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.130 2001/03/23 04:49:55 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -2833,11 +2833,14 @@ write_irels(void)
|
|||
* the descriptors, nail them into cache so we never lose them.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Removed the following ProcessingMode change -- inoue At this point
|
||||
* 1) Catalog Cache isn't initialized 2) Relation Cache for the
|
||||
* following critical indexes aren't built oldmode =
|
||||
* GetProcessingMode(); SetProcessingMode(BootstrapProcessing);
|
||||
/*---------
|
||||
* Removed the following ProcessingMode change -- inoue
|
||||
* At this point
|
||||
* 1) Catalog Cache isn't initialized
|
||||
* 2) Relation Cache for the following critical indexes aren't built
|
||||
* oldmode = GetProcessingMode();
|
||||
* SetProcessingMode(BootstrapProcessing);
|
||||
*---------
|
||||
*/
|
||||
|
||||
bi.infotype = INFO_RELNAME;
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/sort/tuplesort.c,v 1.14 2001/03/22 04:00:09 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/sort/tuplesort.c,v 1.15 2001/03/23 04:49:55 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -129,8 +129,10 @@ struct Tuplesortstate
|
|||
* kind of tuple we are sorting from the routines that don't need to
|
||||
* know it. They are set up by the tuplesort_begin_xxx routines.
|
||||
*
|
||||
* Function to compare two tuples; result is per qsort() convention, ie,
|
||||
* <0, 0, >0 according as a<b, a=b, a>b.
|
||||
* Function to compare two tuples; result is per qsort() convention,
|
||||
* ie:
|
||||
*
|
||||
* <0, 0, >0 according as a<b, a=b, a>b.
|
||||
*/
|
||||
int (*comparetup) (Tuplesortstate *state, const void *a, const void *b);
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* Implements the basic DB functions used by the archiver.
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.16 2001/03/22 04:00:12 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.17 2001/03/23 04:49:55 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
*
|
||||
|
@ -473,9 +473,10 @@ ExecuteSqlCommandBuf(ArchiveHandle *AH, void *qryv, int bufLen)
|
|||
qry += loc + 1;
|
||||
isEnd = (strcmp(AH->pgCopyBuf->data, "\\.\n") == 0);
|
||||
|
||||
/*
|
||||
* fprintf(stderr, "Sending '%s' via COPY (at end =
|
||||
* %d)\n\n", AH->pgCopyBuf->data, isEnd);
|
||||
/*---------
|
||||
* fprintf(stderr, "Sending '%s' via
|
||||
* COPY (at end = %d)\n\n", AH->pgCopyBuf->data, isEnd);
|
||||
*---------
|
||||
*/
|
||||
|
||||
if (PQputline(AH->connection, AH->pgCopyBuf->data) != 0)
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.196 2001/03/22 04:00:14 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.197 2001/03/23 04:49:55 momjian Exp $
|
||||
*
|
||||
* Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
|
||||
*
|
||||
|
@ -4405,8 +4405,10 @@ dumpSequence(Archive *fout, TableInfo tbinfo, const bool schemaOnly, const bool
|
|||
/*
|
||||
* The logic we use for restoring sequences is as follows: - Add a
|
||||
* basic CREATE SEQUENCE statement (use last_val for start if called
|
||||
* == 'f', else use min_val for start_val). - Add a 'SETVAL(seq,
|
||||
* last_val, iscalled)' at restore-time iff we load data
|
||||
* with 'f', else use min_val for start_val).
|
||||
*
|
||||
* Add a 'SETVAL(seq, last_val, iscalled)' at restore-time iff
|
||||
* we load data
|
||||
*/
|
||||
|
||||
if (!dataOnly)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pg_dump.h,v 1.59 2001/03/22 04:00:15 momjian Exp $
|
||||
* $Id: pg_dump.h,v 1.60 2001/03/23 04:49:56 momjian Exp $
|
||||
*
|
||||
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
|
||||
*
|
||||
|
@ -158,8 +158,12 @@ typedef struct _oprInfo
|
|||
{
|
||||
char *oid;
|
||||
char *oprname;
|
||||
char *oprkind; /* "b" = binary, "l" = left unary, "r" =
|
||||
* right unary */
|
||||
char *oprkind; /*----------
|
||||
* b = binary,
|
||||
* l = left unary
|
||||
* r = right unary
|
||||
*----------
|
||||
*/
|
||||
char *oprcode; /* operator function name */
|
||||
char *oprleft; /* left operand type */
|
||||
char *oprright; /* right operand type */
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pg_type.h,v 1.102 2001/03/22 04:00:41 momjian Exp $
|
||||
* $Id: pg_type.h,v 1.103 2001/03/23 04:49:56 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* the genbki.sh script reads this file and generates .bki
|
||||
|
@ -77,8 +77,9 @@ CATALOG(pg_type) BOOTSTRAP
|
|||
* be a "real" array type; some ordinary fixed-length types can also
|
||||
* be subscripted (e.g., oidvector). Variable-length types can *not*
|
||||
* be turned into pseudo-arrays like that. Hence, the way to determine
|
||||
* whether a type is a "true" array type is typelem != 0 and typlen <
|
||||
* 0.
|
||||
* whether a type is a "true" array type is if:
|
||||
*
|
||||
* typelem != 0 and typlen < 0.
|
||||
*/
|
||||
Oid typelem;
|
||||
regproc typinput;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: parsenodes.h,v 1.125 2001/03/22 04:00:51 momjian Exp $
|
||||
* $Id: parsenodes.h,v 1.126 2001/03/23 04:49:56 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -116,10 +116,16 @@ typedef enum InhOption
|
|||
typedef struct AlterTableStmt
|
||||
{
|
||||
NodeTag type;
|
||||
char subtype; /* A = add column, T = alter column, D =
|
||||
* drop column, C = add constraint, X =
|
||||
* drop constraint, E = add toast table, U
|
||||
* = change owner */
|
||||
char subtype; /*------------
|
||||
* A = add column
|
||||
* T = alter column
|
||||
* D = drop column
|
||||
* C = add constraint
|
||||
* X = drop constraint
|
||||
* E = add toast table,
|
||||
* U = change owner
|
||||
*------------
|
||||
*/
|
||||
char *relname; /* table to work on */
|
||||
InhOption inhOpt; /* recursively act on children? */
|
||||
char *name; /* column or constraint name to act on, or
|
||||
|
|
|
@ -307,10 +307,11 @@ ECPGconnect(int lineno, const char *name, const char *user, const char *passwd,
|
|||
if (strncmp(dbname + offset, "postgresql://", strlen("postgresql://")) == 0)
|
||||
{
|
||||
|
||||
/*
|
||||
/*------
|
||||
* new style:
|
||||
* <tcp|unix>:postgresql://server[:port|:/unixsocket/path:][/db
|
||||
* name][?options]
|
||||
* <tcp|unix>:postgresql://server[:port|:/unixsocket/path:]
|
||||
* [/db name][?options]
|
||||
*------
|
||||
*/
|
||||
offset += strlen("postgresql://");
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.162 2001/03/22 06:16:20 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.163 2001/03/23 04:49:57 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -582,10 +582,11 @@ update_db_info(PGconn *conn)
|
|||
if (strncmp(conn->dbName + offset, "postgresql://", strlen("postgresql://")) == 0)
|
||||
{
|
||||
|
||||
/*
|
||||
/*-------
|
||||
* new style:
|
||||
* <tcp|unix>:postgresql://server[:port|:/unixsocket/path:][/db
|
||||
* name][?options]
|
||||
* <tcp|unix>:postgresql://server[:port|:/unixsocket/path:]
|
||||
* [/db name][?options]
|
||||
*-------
|
||||
*/
|
||||
offset += strlen("postgresql://");
|
||||
|
||||
|
|
|
@ -1738,17 +1738,18 @@ SQLColumns(
|
|||
set_tuplefield_string(&row->tuple[5], field_type_name);
|
||||
|
||||
|
||||
/*
|
||||
/*----------
|
||||
* Some Notes about Postgres Data Types:
|
||||
*
|
||||
* VARCHAR - the length is stored in the pg_attribute.atttypmod field
|
||||
* BPCHAR - the length is also stored as varchar is
|
||||
*
|
||||
* NUMERIC - the scale is stored in atttypmod as follows: precision =
|
||||
* ((atttypmod - VARHDRSZ) >> 16) & 0xffff scale = (atttypmod
|
||||
* - VARHDRSZ) & 0xffff
|
||||
* NUMERIC - the scale is stored in atttypmod as follows:
|
||||
*
|
||||
* precision =((atttypmod - VARHDRSZ) >> 16) & 0xffff
|
||||
* scale = (atttypmod - VARHDRSZ) & 0xffff
|
||||
*
|
||||
*----------
|
||||
*/
|
||||
qlog("SQLColumns: table='%s',field_name='%s',type=%d,sqltype=%d,name='%s'\n",
|
||||
table_name, field_name, field_type, pgtype_to_sqltype, field_type_name);
|
||||
|
|
|
@ -81,16 +81,27 @@ set_statement_option(ConnectionClass *conn,
|
|||
stmt->options.scroll_concurrency = vParam;
|
||||
break;
|
||||
|
||||
/*
|
||||
* if (globals.lie) { if (conn)
|
||||
* conn->stmtOptions.scroll_concurrency = vParam; if (stmt)
|
||||
* stmt->options.scroll_concurrency = vParam; } else {
|
||||
/*----------
|
||||
* if (globals.lie)
|
||||
* {
|
||||
* if (conn)
|
||||
* conn->stmtOptions.scroll_concurrency = vParam;
|
||||
* if (stmt)
|
||||
* stmt->options.scroll_concurrency = vParam;
|
||||
* } else {
|
||||
* if (conn)
|
||||
* conn->stmtOptions.scroll_concurrency =
|
||||
* SQL_CONCUR_READ_ONLY;
|
||||
* if (stmt)
|
||||
* stmt->options.scroll_concurrency =
|
||||
* SQL_CONCUR_READ_ONLY;
|
||||
*
|
||||
* if (conn) conn->stmtOptions.scroll_concurrency =
|
||||
* SQL_CONCUR_READ_ONLY; if (stmt)
|
||||
* stmt->options.scroll_concurrency = SQL_CONCUR_READ_ONLY;
|
||||
*
|
||||
* if (vParam != SQL_CONCUR_READ_ONLY) changed = TRUE; } break;
|
||||
* if (vParam != SQL_CONCUR_READ_ONLY)
|
||||
* changed = TRUE;
|
||||
* }
|
||||
* break;
|
||||
* }
|
||||
*----------
|
||||
*/
|
||||
|
||||
case SQL_CURSOR_TYPE:
|
||||
|
|
Loading…
Reference in New Issue