diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-03-10 22:09:26 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-03-10 22:09:26 +0000 |
| commit | dcf3902f02db09a067f066bd46bc3ad354f323b9 (patch) | |
| tree | a315476b4728f96646d4dfef5ce7edaad2e22f94 /src/include/nodes/primnodes.h | |
| parent | 4886dc92e0a45e50600187e7ff8e289e14ded5ca (diff) | |
Make SubPlan nodes carry the result's typmod as well as datatype OID. This is
for consistency with the (relatively) recent addition of typmod to SubLink.
An example of why it's a good idea is to be seen in the recent "failed to
locate grouping columns" bug, which wouldn't have happened if a SubPlan
exposed the same typmod info as the SubLink it was derived from.
This could be back-patched, since it doesn't affect any on-disk data format,
but for the moment it doesn't seem necessary to do so.
Diffstat (limited to 'src/include/nodes/primnodes.h')
| -rw-r--r-- | src/include/nodes/primnodes.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h index 3315329923e..9cb4e8e50ee 100644 --- a/src/include/nodes/primnodes.h +++ b/src/include/nodes/primnodes.h @@ -10,7 +10,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/nodes/primnodes.h,v 1.146 2009/02/25 03:30:37 tgl Exp $ + * $PostgreSQL: pgsql/src/include/nodes/primnodes.h,v 1.147 2009/03/10 22:09:26 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -504,6 +504,7 @@ typedef struct SubPlan int plan_id; /* Index (from 1) in PlannedStmt.subplans */ /* Extra data useful for determining subplan's output type: */ Oid firstColType; /* Type of first column of subplan result */ + int32 firstColTypmod; /* Typmod of first column of subplan result */ /* Information about execution strategy: */ bool useHashTable; /* TRUE to store subselect output in a hash * table (implies we are doing "IN") */ |
