diff options
author | Tom Lane | 2003-11-12 21:15:59 +0000 |
---|---|---|
committer | Tom Lane | 2003-11-12 21:15:59 +0000 |
commit | fa5c8a055a02e44f446e4593e397c33a572c4d67 (patch) | |
tree | 9c0a7ded5a88c082c28dbe2b431660813abd72b8 /src/backend/nodes/copyfuncs.c | |
parent | 49f98fa833407b4e4252e42522e640ec8a0d08b2 (diff) |
Cross-data-type comparisons are now indexable by btrees, pursuant to my
pghackers proposal of 8-Nov. All the existing cross-type comparison
operators (int2/int4/int8 and float4/float8) have appropriate support.
The original proposal of storing the right-hand-side datatype as part of
the primary key for pg_amop and pg_amproc got modified a bit in the event;
it is easier to store zero as the 'default' case and only store a nonzero
when the operator is actually cross-type. Along the way, remove the
long-since-defunct bigbox_ops operator class.
Diffstat (limited to 'src/backend/nodes/copyfuncs.c')
-rw-r--r-- | src/backend/nodes/copyfuncs.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index c02270fa2e7..6cf8450567a 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -15,7 +15,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.266 2003/11/09 21:30:36 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.267 2003/11/12 21:15:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -273,6 +273,17 @@ _copyIndexScan(IndexScan *from) } newnode->indxstrategy = newstrat; } + /* this can become COPY_NODE_FIELD when OID lists are normal objects: */ + { + List *newsubtype = NIL; + List *tmp; + + foreach(tmp, from->indxsubtype) + { + newsubtype = lappend(newsubtype, listCopy(lfirst(tmp))); + } + newnode->indxsubtype = newsubtype; + } COPY_SCALAR_FIELD(indxorderdir); return newnode; |