Re: [PATCHES] [HACKERS] expanded \df+ display broken in beta4
Bruce Momjian wrote: 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. The patch is even easier than the original patch. There was never any need for normal_query. Because the structure is a copy of the session-wide structure, we can just set expanded to true/false as desired. I have applied this updated patch which simply turns off expanded mode for \d tablename. That seemed like the only complex backslash output in describe.c. I have also updated the release notes. -- 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: doc/src/sgml/release.sgml === RCS file: /cvsroot/pgsql/doc/src/sgml/release.sgml,v retrieving revision 1.393 diff -c -c -r1.393 release.sgml *** doc/src/sgml/release.sgml 25 Oct 2005 17:54:30 - 1.393 --- doc/src/sgml/release.sgml 27 Oct 2005 13:05:45 - *** *** 1690,1696 listitem para Prevent command\x/ (expanded mode) from affecting ! backslash-command displays (Neil) /para /listitem --- 1690,1696 listitem para Prevent command\x/ (expanded mode) from affecting ! the output of command\d tablename\ (Neil) /para /listitem 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 - 1.108 --- src/bin/psql/common.c 27 Oct 2005 13:05:48 - *** *** 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 - 1.128 --- src/bin/psql/describe.c 27 Oct 2005 13:05:48 - *** *** 703,708 --- 703,711 retval = false; + /* This output looks confusing in expanded mode. */ + myopt.expanded = false; + 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.c15 Oct 2005 02:49:40 - 1.78 --- src/bin/psql/print.c27 Oct 2005 13:05:49 - *** *** 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) 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.h15 Oct 2005 02:49:40 - 1.29 --- src/bin/psql/print.h27 Oct 2005 13:05:49 - *** *** 43,50 * decimal marker */ char *tableAttr;
Re: [PATCHES] [HACKERS] expanded \df+ display broken in beta4
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 - 1.108 --- src/bin/psql/common.c 27 Oct 2005 05:03:11 - *** *** 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 - 1.128 --- src/bin/psql/describe.c 27 Oct 2005 05:03:12 - *** *** 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.c15 Oct 2005 02:49:40 - 1.78 --- src/bin/psql/print.c27 Oct 2005 05:03:12 - *** *** 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.h15 Oct 2005 02:49:40 - 1.29 --- src/bin/psql/print.h27 Oct 2005 05:03:12 - *** *** 43,50 * decimal marker */ char *tableAttr; /* attributes for HTML table ... */ int encoding; /* character encoding */ ! boolnormal_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 */ ! booldisableExpanded;/* 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 - 1.125 --- src/bin/psql/startup.c 27 Oct 2005 05:03:12 - *** *** 147,153 pset.queryFout = stdout; pset.popt.topt.border = 1; pset.popt.topt.pager = 1; !
Re: [PATCHES] [HACKERS] expanded \df+ display broken in beta4
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? Is it practical to have the old behavior for \df (and anything else with particularly wide output) while still forcing \x off for \d? Here is a quick patch, not for application, that makes \df+ honor \x, but not \df. Basicaly verbose honors \x, non-verbose does not. I think would need renaming of the normal_query variable, and more checking in the code to make sure we are OK. -- 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/command.c === RCS file: /cvsroot/pgsql/src/bin/psql/command.c,v retrieving revision 1.154 diff -c -c -r1.154 command.c *** src/bin/psql/command.c 15 Oct 2005 02:49:40 - 1.154 --- src/bin/psql/command.c 26 Oct 2005 00:00:11 - *** *** 305,311 OT_NORMAL, NULL, true); show_verbose = strchr(cmd, '+') ? true : false; ! switch (cmd[1]) { case '\0': --- 305,315 OT_NORMAL, NULL, true); show_verbose = strchr(cmd, '+') ? true : false; ! if (show_verbose) ! pset.popt.topt.normal_query = true; ! else ! pset.popt.topt.normal_query = false; ! switch (cmd[1]) { case '\0': ---(end of broadcast)--- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly