summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut2002-08-27 20:16:49 +0000
committerPeter Eisentraut2002-08-27 20:16:49 +0000
commit7292131c66db233675bef4767012783a584a2655 (patch)
tree6bc515529c6687d4665aa94519785b4995a013d2 /src
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.
Diffstat (limited to 'src')
-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
7 files changed, 16 insertions, 138 deletions
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? */