Upgrade to PyGreSQL (2.4)
This commit is contained in:
parent
9487ad8409
commit
0a8fb5a8f9
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.80 1999/05/13 07:28:26 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.81 1999/05/19 16:46:10 momjian Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* INTERFACE ROUTINES
|
* INTERFACE ROUTINES
|
||||||
@ -1514,7 +1514,7 @@ StoreAttrDefault(Relation rel, AttrDefault *attrdef)
|
|||||||
char nulls[4] = {' ', ' ', ' ', ' '};
|
char nulls[4] = {' ', ' ', ' ', ' '};
|
||||||
extern GlobalMemory CacheCxt;
|
extern GlobalMemory CacheCxt;
|
||||||
|
|
||||||
start:;
|
start:
|
||||||
/* Surround table name with double quotes to allow mixed-case and
|
/* Surround table name with double quotes to allow mixed-case and
|
||||||
* whitespaces in names. - BGA 1998-11-14
|
* whitespaces in names. - BGA 1998-11-14
|
||||||
*/
|
*/
|
||||||
@ -1537,7 +1537,21 @@ start:;
|
|||||||
|
|
||||||
if (type != atp->atttypid)
|
if (type != atp->atttypid)
|
||||||
{
|
{
|
||||||
if (IS_BINARY_COMPATIBLE(type, atp->atttypid))
|
/*
|
||||||
|
* Though these types are binary compatible, bpchar has a fixed
|
||||||
|
* length on the disk, requiring non-bpchar types to be padded
|
||||||
|
* before storage in the default table. bjm 1999/05/18
|
||||||
|
*/
|
||||||
|
if (atp->atttypid == BPCHAROID &&
|
||||||
|
(type == TEXTOID || type == BPCHAROID || type == UNKNOWNOID))
|
||||||
|
{
|
||||||
|
if (can_coerce_type(1, &(type), &(atp->atttypid)))
|
||||||
|
expr = coerce_type(NULL, (Node *)expr, type, atp->atttypid);
|
||||||
|
else
|
||||||
|
elog(ERROR, "DEFAULT clause const type '%s' can not be converted to char().",
|
||||||
|
typeidTypeName(type));
|
||||||
|
}
|
||||||
|
else if (IS_BINARY_COMPATIBLE(type, atp->atttypid))
|
||||||
; /* use without change */
|
; /* use without change */
|
||||||
else if (can_coerce_type(1, &(type), &(atp->atttypid)))
|
else if (can_coerce_type(1, &(type), &(atp->atttypid)))
|
||||||
expr = coerce_type(NULL, (Node *)expr, type, atp->atttypid);
|
expr = coerce_type(NULL, (Node *)expr, type, atp->atttypid);
|
||||||
@ -1556,8 +1570,7 @@ start:;
|
|||||||
|
|
||||||
adbin = nodeToString(expr);
|
adbin = nodeToString(expr);
|
||||||
oldcxt = MemoryContextSwitchTo((MemoryContext) CacheCxt);
|
oldcxt = MemoryContextSwitchTo((MemoryContext) CacheCxt);
|
||||||
attrdef->adbin = (char *) palloc(strlen(adbin) + 1);
|
attrdef->adbin = pstrdup(adbin);
|
||||||
strcpy(attrdef->adbin, adbin);
|
|
||||||
(void) MemoryContextSwitchTo(oldcxt);
|
(void) MemoryContextSwitchTo(oldcxt);
|
||||||
pfree(adbin);
|
pfree(adbin);
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 1994, Regents of the University of California
|
* Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $Id: outfuncs.c,v 1.83 1999/05/18 21:34:28 tgl Exp $
|
* $Id: outfuncs.c,v 1.84 1999/05/19 16:46:11 momjian Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
* Every (plan) node in POSTGRES has an associated "out" routine which
|
* Every (plan) node in POSTGRES has an associated "out" routine which
|
||||||
@ -1203,18 +1203,14 @@ _outDatum(StringInfo str, Datum value, Oid type)
|
|||||||
s = (char *) (&value);
|
s = (char *) (&value);
|
||||||
appendStringInfo(str, " %d [ ", length);
|
appendStringInfo(str, " %d [ ", length);
|
||||||
for (i = 0; i < sizeof(Datum); i++)
|
for (i = 0; i < sizeof(Datum); i++)
|
||||||
{
|
|
||||||
appendStringInfo(str, " %d ", (int) (s[i]));
|
appendStringInfo(str, " %d ", (int) (s[i]));
|
||||||
}
|
|
||||||
appendStringInfo(str, "] ");
|
appendStringInfo(str, "] ");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ /* !byValue */
|
{ /* !byValue */
|
||||||
s = (char *) DatumGetPointer(value);
|
s = (char *) DatumGetPointer(value);
|
||||||
if (!PointerIsValid(s))
|
if (!PointerIsValid(s))
|
||||||
{
|
|
||||||
appendStringInfo(str, " 0 [ ] ");
|
appendStringInfo(str, " 0 [ ] ");
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/nodes/read.c,v 1.14 1999/02/13 23:16:01 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/nodes/read.c,v 1.15 1999/05/19 16:46:11 momjian Exp $
|
||||||
*
|
*
|
||||||
* HISTORY
|
* HISTORY
|
||||||
* AUTHOR DATE MAJOR EVENT
|
* AUTHOR DATE MAJOR EVENT
|
||||||
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* stringToNode -
|
* stringToNode -
|
||||||
* returns a Node with a given legal ascii representation
|
* returns a Node with a given legal ASCII representation
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
stringToNode(char *str)
|
stringToNode(char *str)
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.12 1999/05/10 00:45:26 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.13 1999/05/19 16:46:12 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -75,7 +75,6 @@ coerce_type(ParseState *pstate, Node *node, Oid inputTypeId, Oid targetTypeId)
|
|||||||
*/
|
*/
|
||||||
else if (inputTypeId != UNKNOWNOID)
|
else if (inputTypeId != UNKNOWNOID)
|
||||||
{
|
{
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We already know there is a function which will do this, so
|
* We already know there is a function which will do this, so
|
||||||
* let's use it
|
* let's use it
|
||||||
|
Loading…
x
Reference in New Issue
Block a user