summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2002-08-27 20:16:49 +0000
committerPeter Eisentraut <peter_e@gmx.net>2002-08-27 20:16:49 +0000
commit7292131c66db233675bef4767012783a584a2655 (patch)
tree6bc515529c6687d4665aa94519785b4995a013d2
parent7af5ea736f680109de569b00f2c36ea8e0211aea (diff)
Enable locale, so case conversion (identifier processing) and number
formatting (\timing) works correctly. Change "Total time" to "Time" since there is nothing that "total" refers to. Remove non-multibyte code.
-rw-r--r--doc/src/sgml/ref/psql-ref.sgml4
-rw-r--r--src/bin/psql/common.c4
-rw-r--r--src/bin/psql/describe.c4
-rw-r--r--src/bin/psql/mbprint.c19
-rw-r--r--src/bin/psql/mbprint.h8
-rw-r--r--src/bin/psql/print.c74
-rw-r--r--src/bin/psql/startup.c35
-rw-r--r--src/bin/psql/stringutils.c10
8 files changed, 18 insertions, 140 deletions
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 02c5d833b82..3bded5cf93b 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.73 2002/08/23 01:27:44 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.74 2002/08/27 20:16:48 petere Exp $
PostgreSQL documentation
-->
@@ -1591,7 +1591,7 @@ lo_import 152801
<term><literal>\timing</literal></term>
<listitem>
<para>
- Toggles a display of how long each query takes, in milliseconds.
+ Toggles a display of how long each SQL statement takes, in milliseconds.
</para>
</listitem>
</varlistentry>
diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c
index 9362886c4ce..f8bf9c9a35e 100644
--- a/src/bin/psql/common.c
+++ b/src/bin/psql/common.c
@@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.42 2002/08/10 19:35:00 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.43 2002/08/27 20:16:48 petere Exp $
*/
#include "postgres_fe.h"
@@ -466,7 +466,7 @@ SendQuery(const char *query)
/* Possible microtiming output */
if (pset.timing && success)
- printf(gettext("Total time: %.2f msec\n"),
+ printf(gettext("Time: %.2f ms\n"),
((after.tv_sec-before.tv_sec)*1000000 + after.tv_usec - before.tv_usec) / 1000.0);
return success;
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index 43ebe94e589..64cef431701 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -3,7 +3,7 @@
*
* Copyright 2000-2002 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/describe.c,v 1.65 2002/08/27 18:28:28 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/describe.c,v 1.66 2002/08/27 20:16:48 petere Exp $
*/
#include "postgres_fe.h"
#include "describe.h"
@@ -305,11 +305,9 @@ listAllDbs(bool verbose)
"SELECT d.datname as \"%s\",\n"
" u.usename as \"%s\"",
_("Name"), _("Owner"));
-#ifdef MULTIBYTE
appendPQExpBuffer(&buf,
",\n pg_catalog.pg_encoding_to_char(d.encoding) as \"%s\"",
_("Encoding"));
-#endif
if (verbose)
appendPQExpBuffer(&buf,
",\n pg_catalog.obj_description(d.oid, 'pg_database') as \"%s\"",
diff --git a/src/bin/psql/mbprint.c b/src/bin/psql/mbprint.c
index b0478eeef8d..dcd305d9212 100644
--- a/src/bin/psql/mbprint.c
+++ b/src/bin/psql/mbprint.c
@@ -3,14 +3,12 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/mbprint.c,v 1.3 2001/10/28 06:25:58 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/mbprint.c,v 1.4 2002/08/27 20:16:48 petere Exp $
*/
#include "postgres_fe.h"
#include "mbprint.h"
-#ifdef MULTIBYTE
-
#include "mb/pg_wchar.h"
#include "settings.h"
@@ -195,7 +193,7 @@ utf2ucs(const unsigned char *c)
/* mb_utf_wcwidth : calculate column length for the utf8 string pwcs
*/
static int
-mb_utf_wcswidth(unsigned char *pwcs, int len)
+mb_utf_wcswidth(unsigned char *pwcs, size_t len)
{
int w,
l = 0;
@@ -312,7 +310,7 @@ mb_utf_validate(unsigned char *pwcs)
*/
int
-pg_wcswidth(unsigned char *pwcs, int len)
+pg_wcswidth(unsigned char *pwcs, size_t len)
{
if (pset.encoding == PG_UTF8)
return mb_utf_wcswidth(pwcs, len);
@@ -340,14 +338,3 @@ mbvalidate(unsigned char *pwcs)
return pwcs;
}
}
-
-#else /* !MULTIBYTE */
-
-/* in single-byte environment, all cells take 1 column */
-int
-pg_wcswidth(unsigned char *pwcs, int len)
-{
- return len;
-}
-
-#endif
diff --git a/src/bin/psql/mbprint.h b/src/bin/psql/mbprint.h
index 3c5660f376f..826b71c84a4 100644
--- a/src/bin/psql/mbprint.h
+++ b/src/bin/psql/mbprint.h
@@ -1,17 +1,13 @@
-/* $Id: mbprint.h,v 1.4 2001/11/05 17:46:31 momjian Exp $ */
+/* $Id: mbprint.h,v 1.5 2002/08/27 20:16:48 petere Exp $ */
#ifndef MBPRINT_H
#define MBPRINT_H
-
-#ifdef MULTIBYTE
-
#include "mb/pg_wchar.h"
pg_wchar utf2ucs(const unsigned char *c);
unsigned char *mbvalidate(unsigned char *pwcs);
-#endif /* MULTIBYTE */
-int pg_wcswidth(unsigned char *pwcs, int len);
+int pg_wcswidth(unsigned char *pwcs, size_t len);
#endif /* MBPRINT_H */
diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index a8a0b9af7b0..f8dd092d677 100644
--- a/src/bin/psql/print.c
+++ b/src/bin/psql/print.c
@@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/print.c,v 1.28 2002/07/18 04:46:24 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/print.c,v 1.29 2002/08/27 20:16:48 petere Exp $
*/
#include "postgres_fe.h"
#include "print.h"
@@ -209,13 +209,9 @@ print_aligned_text(const char *title, const char *const * headers,
FILE *fout)
{
unsigned int col_count = 0;
-
-#ifdef MULTIBYTE
unsigned int cell_count = 0;
unsigned int *head_w,
*cell_w;
-#endif
-
unsigned int i,
tmp;
unsigned int *widths,
@@ -233,7 +229,6 @@ print_aligned_text(const char *title, const char *const * headers,
exit(EXIT_FAILURE);
}
-#ifdef MULTIBYTE
head_w = calloc(col_count, sizeof(*head_w));
if (!head_w)
{
@@ -256,7 +251,6 @@ print_aligned_text(const char *title, const char *const * headers,
}
else
cell_w = 0;
-#endif
/* calc column widths */
@@ -264,18 +258,14 @@ print_aligned_text(const char *title, const char *const * headers,
{
if ((tmp = pg_wcswidth((unsigned char *) headers[i], strlen(headers[i]))) > widths[i])
widths[i] = tmp;
-#ifdef MULTIBYTE
head_w[i] = tmp;
-#endif
}
for (i = 0, ptr = cells; *ptr; ptr++, i++)
{
if ((tmp = pg_wcswidth((unsigned char *) *ptr, strlen(*ptr))) > widths[i % col_count])
widths[i % col_count] = tmp;
-#ifdef MULTIBYTE
cell_w[i] = tmp;
-#endif
}
if (opt_border == 0)
total_w = col_count - 1;
@@ -313,11 +303,7 @@ print_aligned_text(const char *title, const char *const * headers,
{
int nbspace;
-#ifdef MULTIBYTE
nbspace = widths[i] - head_w[i];
-#else
- nbspace = widths[i] - strlen(headers[i]);
-#endif
/* centered */
fprintf(fout, "%-*s%s%-*s",
@@ -356,26 +342,16 @@ print_aligned_text(const char *title, const char *const * headers,
/* content */
if (opt_align[(i) % col_count] == 'r')
{
-#ifdef MULTIBYTE
fprintf(fout, "%*s%s",
widths[i % col_count] - cell_w[i], "", cells[i]);
-#else
- fprintf(fout, "%*s", widths[i % col_count], cells[i]);
-#endif
}
else
{
if ((i + 1) % col_count == 0 && opt_border != 2)
fputs(cells[i], fout);
else
- {
-#ifdef MULTIBYTE
fprintf(fout, "%-s%*s", cells[i],
widths[i % col_count] - cell_w[i], "");
-#else
- fprintf(fout, "%-*s", widths[i % col_count], cells[i]);
-#endif
- }
}
/* divider */
@@ -406,10 +382,8 @@ print_aligned_text(const char *title, const char *const * headers,
fputc('\n', fout);
/* clean up */
-#ifdef MULTIBYTE
free(cell_w);
free(head_w);
-#endif
free(widths);
}
@@ -429,12 +403,9 @@ print_aligned_vertical(const char *title, const char *const * headers,
hwidth = 0,
dwidth = 0;
char *divider;
-
-#ifdef MULTIBYTE
unsigned int cell_count = 0;
unsigned int *cell_w,
*head_w;
-#endif
if (cells[0] == NULL)
{
@@ -442,8 +413,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
return;
}
-#ifdef MULTIBYTE
- /* pre-count headers */
+ /* count headers and find longest one */
for (ptr = headers; *ptr; ptr++)
col_count++;
head_w = calloc(col_count, sizeof(*head_w));
@@ -480,22 +450,6 @@ print_aligned_vertical(const char *title, const char *const * headers,
dwidth = tmp;
cell_w[i] = tmp;
}
-#else
- /* count columns and find longest header */
- for (ptr = headers; *ptr; ptr++)
- {
- col_count++;
- if ((tmp = strlen(*ptr)) > hwidth)
- hwidth = tmp; /* don't wanna call strlen twice */
- }
-
- /* find longest data cell */
- for (ptr = cells; *ptr; ptr++)
- {
- if ((tmp = strlen(*ptr)) > dwidth)
- dwidth = tmp;
- }
-#endif
/* print title */
if (!opt_barebones && title)
@@ -569,12 +523,8 @@ print_aligned_vertical(const char *title, const char *const * headers,
if (opt_border == 2)
fputs("| ", fout);
-#if MULTIBYTE
fprintf(fout, "%-s%*s", headers[i % col_count],
hwidth - head_w[i % col_count], "");
-#else
- fprintf(fout, "%-*s", hwidth, headers[i % col_count]);
-#endif
if (opt_border > 0)
fputs(" | ", fout);
@@ -584,13 +534,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
if (opt_border < 2)
fprintf(fout, "%s\n", *ptr);
else
- {
-#ifdef MULTIBYTE
fprintf(fout, "%-s%*s |\n", *ptr, dwidth - cell_w[i], "");
-#else
- fprintf(fout, "%-*s |\n", dwidth, *ptr);
-#endif
- }
}
if (opt_border == 2)
@@ -610,10 +554,8 @@ print_aligned_vertical(const char *title, const char *const * headers,
fputc('\n', fout);
free(divider);
-#ifdef MULTIBYTE
free(cell_w);
free(head_w);
-#endif
}
@@ -1167,13 +1109,7 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
}
for (i = 0; i < nfields; i++)
- {
-#ifdef MULTIBYTE
headers[i] = mbvalidate(PQfname(result, i));
-#else
- headers[i] = PQfname(result, i);
-#endif
- }
/* set cells */
@@ -1189,13 +1125,7 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
if (PQgetisnull(result, i / nfields, i % nfields))
cells[i] = opt->nullPrint ? opt->nullPrint : "";
else
- {
-#ifdef MULTIBYTE
cells[i] = mbvalidate(PQgetvalue(result, i / nfields, i % nfields));
-#else
- cells[i] = PQgetvalue(result, i / nfields, i % nfields);
-#endif
- }
}
/* set footers */
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index ed734ec5a19..a93219d22fc 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.62 2002/08/10 19:35:01 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.63 2002/08/27 20:16:48 petere Exp $
*/
#include "postgres_fe.h"
@@ -11,7 +11,7 @@
#ifndef WIN32
#include <unistd.h>
-#else /* WIN32 */
+#else /* WIN32 */
#include <io.h>
#include <windows.h>
#include <win32.h>
@@ -21,9 +21,7 @@
#include <getopt.h>
#endif
-#ifdef ENABLE_NLS
#include <locale.h>
-#endif
#include "libpq-fe.h"
@@ -37,12 +35,7 @@
#include "settings.h"
#include "variables.h"
-#ifdef MULTIBYTE
#include "mb/pg_wchar.h"
-#else
-/* XXX Grand unified hard-coded badness; this should go into libpq */
-#define pg_encoding_to_char(x) "SQL_ASCII"
-#endif
/*
* Global psql options
@@ -105,8 +98,8 @@ main(int argc, char *argv[])
char *password = NULL;
bool need_pass;
-#ifdef ENABLE_NLS
setlocale(LC_ALL, "");
+#ifdef ENABLE_NLS
bindtextdomain("psql", LOCALEDIR);
textdomain("psql");
#endif
@@ -638,26 +631,8 @@ showVersion(void)
{
puts("psql (PostgreSQL) " PG_VERSION);
-#if defined(USE_READLINE) || defined(MULTIBYTE)
- fputs(gettext("contains support for: "), stdout);
-
-#ifdef USE_READLINE
- fputs(gettext("readline"), stdout);
-#define _Feature
-#endif
-
-#ifdef MULTIBYTE
-#ifdef _Feature
- fputs(", ", stdout);
-#else
-#define _Feature
-#endif
- fputs(gettext("multibyte"), stdout);
-#endif
-
-#undef _Feature
-
- puts("");
+#if defined(USE_READLINE)
+ puts(gettext("contains support for readline"));
#endif
puts(gettext("Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group\n"
diff --git a/src/bin/psql/stringutils.c b/src/bin/psql/stringutils.c
index a406c59c8d0..8ff58c46430 100644
--- a/src/bin/psql/stringutils.c
+++ b/src/bin/psql/stringutils.c
@@ -3,7 +3,7 @@
*
* Copyright 2000 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/stringutils.c,v 1.29 2002/07/02 05:49:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/stringutils.c,v 1.30 2002/08/27 20:16:49 petere Exp $
*/
#include "postgres_fe.h"
#include "stringutils.h"
@@ -52,10 +52,6 @@ strtokx(const char *s,
char *start;
char *cp = NULL;
-#ifndef MULTIBYTE
- (void) encoding; /* not used */
-#endif
-
if (s)
{
free(storage);
@@ -95,11 +91,7 @@ strtokx(const char *s,
for (p = start;
*p && (*p != *cp || *(p - 1) == escape);
-#ifdef MULTIBYTE
p += PQmblen(p, encoding)
-#else
- p++
-#endif
);
/* not yet end of string? */