Michael Paesold wrote:
> Bruce Momjian wrote:
> > Michael Paesold wrote:
> > 
> >>Tom Lane wrote:
> >>
> >>>"Michael Paesold" <[EMAIL PROTECTED]> writes:
> >>>
> >>>>Robert Treat wrote:
> >>>>
> >>>>>ISTM even a GUC to enable/disable would have been better scheme than
> >>>>>what we have now; we are basically leaving no options for those who
> >>>>>found the old behavior useful, while what we had before would at least
> >>>>>let people switch back and forth. 
> >>>
> >>>>I think Robert is right here and the new behaviour is a step backwards.
> >>>
> >>>Should we revert the patch for the time being, and take another go at it
> >>>in 8.2?
> 
> > One idea is to hack \d not to honor \x, and let the others honor it.
> > That would probably hit most of the cases people will use in 8.1.
> > 
> > In fact, \d is pretty special because it is more of a group of outputs,
> > unlike \df, which is a single table output.
> 
> +1 from me. That seems like a workable compromise and should probably 
> meet the needs of the author of the patch to change the \x behavior.

OK, here is a patch that disables expanded output only for \d tablename.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/bin/psql/common.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/common.c,v
retrieving revision 1.108
diff -c -c -r1.108 common.c
*** src/bin/psql/common.c       15 Oct 2005 02:49:40 -0000      1.108
--- src/bin/psql/common.c       27 Oct 2005 05:03:11 -0000
***************
*** 795,802 ****
  {
        printQueryOpt my_popt = pset.popt;
  
-       my_popt.topt.normal_query = true;
- 
        /* write output to \g argument, if any */
        if (pset.gfname)
        {
--- 795,800 ----
Index: src/bin/psql/describe.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/describe.c,v
retrieving revision 1.128
diff -c -c -r1.128 describe.c
*** src/bin/psql/describe.c     20 Oct 2005 05:15:09 -0000      1.128
--- src/bin/psql/describe.c     27 Oct 2005 05:03:12 -0000
***************
*** 703,708 ****
--- 703,711 ----
  
        retval = false;
  
+       /* This output looks confusing in expanded mode. */
+       myopt.disableExpanded = true;
+ 
        initPQExpBuffer(&buf);
        initPQExpBuffer(&title);
        initPQExpBuffer(&tmpbuf);
Index: src/bin/psql/print.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/print.c,v
retrieving revision 1.78
diff -c -c -r1.78 print.c
*** src/bin/psql/print.c        15 Oct 2005 02:49:40 -0000      1.78
--- src/bin/psql/print.c        27 Oct 2005 05:03:12 -0000
***************
*** 1491,1497 ****
         * normal (user-submitted) query, not a table we're printing for a slash
         * command.
         */
!       if (opt->expanded && opt->normal_query)
                use_expanded = true;
        else
                use_expanded = false;
--- 1491,1497 ----
         * normal (user-submitted) query, not a table we're printing for a slash
         * command.
         */
!       if (opt->expanded && !opt->disableExpanded)
                use_expanded = true;
        else
                use_expanded = false;
Index: src/bin/psql/print.h
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/print.h,v
retrieving revision 1.29
diff -c -c -r1.29 print.h
*** src/bin/psql/print.h        15 Oct 2005 02:49:40 -0000      1.29
--- src/bin/psql/print.h        27 Oct 2005 05:03:12 -0000
***************
*** 43,50 ****
                                                                 * decimal 
marker */
        char       *tableAttr;          /* attributes for HTML <table ...> */
        int                     encoding;               /* character encoding */
!       bool            normal_query;   /* are we presenting the results of a 
"normal"
!                                                                * query, or a 
slash command? */
  } printTableOpt;
  
  
--- 43,49 ----
                                                                 * decimal 
marker */
        char       *tableAttr;          /* attributes for HTML <table ...> */
        int                     encoding;               /* character encoding */
!       bool            disableExpanded;/* Should we honor \x?  Not for \d. */
  } printTableOpt;
  
  
Index: src/bin/psql/startup.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/startup.c,v
retrieving revision 1.125
diff -c -c -r1.125 startup.c
*** src/bin/psql/startup.c      15 Oct 2005 02:49:40 -0000      1.125
--- src/bin/psql/startup.c      27 Oct 2005 05:03:12 -0000
***************
*** 147,153 ****
        pset.queryFout = stdout;
        pset.popt.topt.border = 1;
        pset.popt.topt.pager = 1;
!       pset.popt.topt.normal_query = false;
        pset.popt.default_footer = true;
  
        SetVariable(pset.vars, "VERSION", PG_VERSION_STR);
--- 147,153 ----
        pset.queryFout = stdout;
        pset.popt.topt.border = 1;
        pset.popt.topt.pager = 1;
!       pset.popt.topt.disableExpanded = false;
        pset.popt.default_footer = true;
  
        SetVariable(pset.vars, "VERSION", PG_VERSION_STR);
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to