aboutsummaryrefslogtreecommitdiff
path: root/src/bin/psql/print.c
Commit message (Collapse)AuthorAge
...
* Add psql expanded auto modePeter Eisentraut2011-11-12
| | | | | | | This adds the "auto" option to the \x command, which switches to the expanded mode when the normal output would be wider than the screen. reviewed by Noah Misch
* Remove many -Wcast-qual warningsPeter Eisentraut2011-09-11
| | | | | | This addresses only those cases that are easy to fix by adding or moving a const qualifier or removing an unnecessary cast. There are many more complicated cases remaining.
* Stamp copyrights for year 2011.Bruce Momjian2011-01-01
|
* Cleanup various comparisons with the constant "true".Robert Haas2010-11-14
| | | | Itagaki Takahiro, with slight modifications.
* Remove cvs keywords from all files.Magnus Hagander2010-09-20
|
* pgindent run for 9.0, second runBruce Momjian2010-07-06
|
* Suppress signed-vs-unsigned-char warning.Tom Lane2010-05-09
|
* Adjust comments about avoiding use of printf's %.*s.Tom Lane2010-05-09
| | | | | | | | | | | My initial impression that glibc was measuring the precision in characters (which is what the Linux man page says it does) was incorrect. It does take the precision to be in bytes, but it also tries to truncate the string at a character boundary. The bottom line remains the same: it will mess up if the string is not in the encoding it expects, so we need to avoid %.*s anytime there's a significant risk of that. Previous code changes are still good, but adjust the comments to reflect this knowledge. Per research by Hernan Gonzalez.
* Work around a subtle portability problem in use of printf %s format.Tom Lane2010-05-08
| | | | | | | | | | | | | Depending on which spec you read, field widths and precisions in %s may be counted either in bytes or characters. Our code was assuming bytes, which is wrong at least for glibc's implementation, and in any case libc might have a different idea of the prevailing encoding than we do. Hence, for portable results we must avoid using anything more complex than just "%s" unless the string to be printed is known to be all-ASCII. This patch fixes the cases I could find, including the psql formatting failure reported by Hernan Gonzalez. In HEAD only, I also added comments to some places where it appears safe to continue using "%.*s".
* Fix translation of strings in psql \d output (translation in headers worked,Heikki Linnakangas2010-03-01
| | | | but not in cells).
* Fix numericlocale psql option when used with a null string and latex and troffHeikki Linnakangas2010-03-01
| | | | | | | | | | formats; a null string must not be formatted as a numeric. The more exotic formats latex and troff also incorrectly formatted all strings as numerics when numericlocale was on. Backpatch to 8.1 where numericlocale option was added. This fixes bug #5355 reported by Andy Lester.
* pgindent run for 9.0Bruce Momjian2010-02-26
|
* Fix memory leakage introduced into print_aligned_text by 8.4 changesTom Lane2010-01-30
| | | | | | | (failure to free col_lineptrs[] array elements) and exacerbated in the current devel cycle (failure to free "wrap"). This resulted in moderate bloat of psql over long script runs. Noted while testing bug #5302, although what the reporter was complaining of was backend-side leakage.
* Update copyright for the year 2010.Bruce Momjian2010-01-02
|
* Simplify psql's new linestyle behavior to default to linestyle=ascii allTom Lane2009-11-25
| | | | | the time, rather than hoping we can tell whether the terminal supports UTF8 characters. Per discussion.
* Improve psql's tabular display of wrapped-around data by inserting markersTom Lane2009-11-22
| | | | | | | | | | | | | | | | in the formerly-always-blank columns just to left and right of the data. Different marking is used for a line break caused by a newline in the data than for a straight wraparound. A newline break is signaled by a "+" in the right margin column in ASCII mode, or a carriage return arrow in UNICODE mode. Wraparound is signaled by a dot in the right margin as well as the following left margin in ASCII mode, or an ellipsis symbol in the same places in UNICODE mode. "\pset linestyle old-ascii" is added to make the previous behavior available if anyone really wants it. In passing, this commit also cleans up a few regression test files that had unintended spacing differences from the current actual output. Roger Leigh, reviewed by Gabrielle Roth and other members of PDXPUG.
* Add "\pset linestyle ascii/unicode" option to psql, allowing our traditionalTom Lane2009-10-13
| | | | | | | | | | | ASCII-art style of table output to be upgraded to use Unicode box drawing characters if desired. By default, psql will use the Unicode characters whenever client_encoding is UTF8. The patch forces linestyle=ascii in pg_regress usage, ensuring we don't break the regression tests in Unicode locales. Roger Leigh
* Fix several places where a function was declared static and then definedTom Lane2009-06-12
| | | | without static. Per testing with a compiler that complains about this.
* 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef listBruce Momjian2009-06-11
| | | | provided by Andrew.
* Trivial code style cleanup around a couple of ngettext calls.Tom Lane2009-06-04
|
* Fix to use the same format specifiers in both branches of a ngettext().Peter Eisentraut2009-05-27
| | | | Zdenek Kotala
* Message fixPeter Eisentraut2009-04-11
| | | | (I guess this was a cruise replace mistake.)
* Gettext plural supportPeter Eisentraut2009-03-26
| | | | | | In the backend, I changed only a handful of exemplary or important-looking instances to make use of the plural support; there is probably more work there. For the rest of the source, this should cover all relevant cases.
* Update copyright for 2009.Bruce Momjian2009-01-01
|
* In psql, rename trans_* variables to translate_*, for clarity.Bruce Momjian2008-07-14
|
* Fix function headers not matching prototype in header file, perMagnus Hagander2008-05-21
| | | | compiler warnings on msvc.
* Remove old kluge put in to allow Windows regression tests to succeed, and nowAndrew Dunstan2008-05-18
| | | | | found to have been made necessary by our skipping tty detection on Windows. Now that we are doing tty detection on Windows the kluge is unnecessary and wrong.
* Use isatty() test for pager on Win32; not sure why it was disabled forBruce Momjian2008-05-17
| | | | that platform.
* In psql, test for output to stdout when forcing pager for wide output.Bruce Momjian2008-05-17
|
* Fix utterly-bogus code for computing row heights. Per crashes onTom Lane2008-05-17
| | | | | spoonbill, though one wonders why it didn't misbehave everywhere. In passing remove some unnecessary modulo calculations.
* Recent patch doesn't compile without <limits.h>Tom Lane2008-05-16
|
* Add detection of psql pager to trigger on wide output. Also add pagerBruce Momjian2008-05-16
| | | | | detection for wrapped lines or lines with newlines that need pager to display.
* Fix a bug in the previous patch, which caused the title pointer to be usedAlvaro Herrera2008-05-13
| | | | before it was actually set.
* Improve psql's internal print.c code by introducing an actual print API.Alvaro Herrera2008-05-12
| | | | | | | | Provides for better code readability, but mainly this is infrastructure changes to allow further changes such as arbitrary footers on printed tables. Also, the translation status of each element in the table is more easily customized. Brendan Jurd, with some editorialization by me.
* Restore psql's former behavior that padding spaces to the right of the lastTom Lane2008-05-10
| | | | | | output column are not emitted. (That change already caused more noise in the regression test output files than I would like.) Provide some needed editorial help for comments, clean up code formatting.
* Add psql '\pset format wrapped' mode to wrap output to screen width, orBruce Momjian2008-05-08
| | | | | | file/pipe output too if \pset columns' is set. Bryce Nesbitt
* Reduce the need for frontend programs to include "postgres.h" by refactoringTom Lane2008-03-27
| | | | | | | | | | | | inclusions in src/include/catalog/*.h files. The main idea here is to push function declarations for src/backend/catalog/*.c files into separate headers, rather than sticking them into the corresponding catalog definition file as has been done in the past. This commit only carries out that idea fully for pg_proc, pg_type and pg_conversion, but that's enough for the moment --- if pg_list.h ever becomes unsafe for frontend code to include, we'll need to work a bit more. Zdenek Kotala
* Update copyrights in source tree to 2008.Bruce Momjian2008-01-01
|
* Improve the method of localizing column names and other fixed strings inTom Lane2007-12-12
| | | | | | | | | | | | | | | psql's \d commands and other uses of printQuery(). Previously we would pass these strings through gettext() and then send them to the server as literals in the SQL query. But the code was not set up to handle doubling of quotes in the strings, causing failure if a translation attempted to use the wrong kind of quote marks, as indeed is now the case for (at least) the French translation of \dFp. Another hazard was that gettext() would translate to whatever encoding was implied by the client's LC_CTYPE setting, which might be different from the client_encoding setting, which would probably cause the server to reject the query as mis-encoded. The new arrangement is to send the untranslated ASCII strings to the server, and do the translations inside printQuery() after the query results come back. Per report from Guillaume Lelarge and subsequent discussion.
* Add more comments about thousands separator handling.Bruce Momjian2007-11-22
|
* Add comments about thousands separator logic.Bruce Momjian2007-11-22
|
* When setting default thousands separator when locale has "", use logicBruce Momjian2007-11-21
| | | | so new thousands separator doesn't match decimal symbol.
* Update CVS HEAD for 2007 copyright. Back branches are typically notBruce Momjian2007-01-05
| | | | back-stamped for this.
* pgindent run for 8.2.Bruce Momjian2006-10-04
|
* Create a FETCH_COUNT parameter that causes psql to execute SELECT-likeTom Lane2006-08-29
| | | | | | | | queries via a cursor, fetching a limited number of rows at a time and therefore not risking exhausting memory. A disadvantage of the scheme is that 'aligned' output mode will align each group of rows independently leading to odd-looking output, but all the other output formats work reasonably well. Chris Mair, with some additional hacking by moi.
* Remove 576 references of include files that were not needed.Bruce Momjian2006-07-14
|
* Clean up psql's control-C handling to avoid longjmp'ing out of randomTom Lane2006-06-14
| | | | | | | | | places --- that risks corrupting data structures, losing sync with the backend, etc. We now longjmp only from calls to readline, fgets, and fread, which we assume are coded to protect themselves against interrupts at undesirable times. This requires adding explicit tests for cancel_pressed in long-running loops, but on the whole it's far cleaner. Martijn van Oosterhout and Tom Lane.
* Prepare code to be built by MSVC:Bruce Momjian2006-06-07
| | | | | | | | | | o remove many WIN32_CLIENT_ONLY defines o add WIN32_ONLY_COMPILER define o add 3rd argument to open() for portability o add include/port/win32_msvc directory for system includes Magnus Hagander
* Update copyright for 2006. Update scripts.Bruce Momjian2006-03-05
|
* &apos; is not valid HTML 4.01, so print the plain character instead.Peter Eisentraut2006-02-18
|