diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-05-06 00:20:33 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-05-06 00:20:33 +0000 |
commit | 2cf57c8f8d060711c1ad7e1dd6cc1115a2839b47 (patch) | |
tree | b3b2a9616d425072d26cfc57efcbe676c56b399e /src/backend/tcop/postgres.c | |
parent | 94a3c60324465f98850b60f548c1ea481ab4e52f (diff) | |
download | postgresql-2cf57c8f8d060711c1ad7e1dd6cc1115a2839b47.tar.gz postgresql-2cf57c8f8d060711c1ad7e1dd6cc1115a2839b47.zip |
Implement feature of new FE/BE protocol whereby RowDescription identifies
the column by table OID and column number, if it's a simple column
reference. Along the way, get rid of reskey/reskeyop fields in Resdoms.
Turns out that representation was not convenient for either the planner
or the executor; we can make the planner deliver exactly what the
executor wants with no more effort.
initdb forced due to change in stored rule representation.
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r-- | src/backend/tcop/postgres.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index d57ccd973b2..d9172655e2a 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.332 2003/05/05 00:44:56 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.333 2003/05/06 00:20:33 tgl Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -1460,7 +1460,15 @@ exec_describe_portal_message(const char *portal_name) return; /* can't actually do anything... */ if (portal->tupDesc) - SendRowDescriptionMessage(portal->tupDesc); + { + List *targetlist; + + if (portal->strategy == PORTAL_ONE_SELECT) + targetlist = ((Plan *) lfirst(portal->planTrees))->targetlist; + else + targetlist = NIL; + SendRowDescriptionMessage(portal->tupDesc, targetlist); + } else pq_putemptymessage('n'); /* NoData */ } @@ -2335,7 +2343,7 @@ PostgresMain(int argc, char *argv[], const char *username) if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); - puts("$Revision: 1.332 $ $Date: 2003/05/05 00:44:56 $\n"); + puts("$Revision: 1.333 $ $Date: 2003/05/06 00:20:33 $\n"); } /* |