I also noticed that pg_dump contains a copy of the same
prompt_for_password code that psql does. We fixed psql a month or two back to permit usernames and passwords longer than 8 characters. I propagated the same fix into pg_dump. Tom Lane
This commit is contained in:
parent
087eb4cd1a
commit
3ac9688ae8
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.24 1998/09/01 04:33:43 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.25 1998/09/20 03:18:42 momjian Exp $
|
||||
*
|
||||
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
|
||||
*
|
||||
@ -116,7 +116,8 @@ findParentsByOid(TableInfo *tblinfo, int numTables,
|
||||
{
|
||||
int i,
|
||||
j;
|
||||
int parentInd;
|
||||
int parentInd,
|
||||
selfInd;
|
||||
char **result;
|
||||
int numParents;
|
||||
|
||||
@ -139,6 +140,16 @@ findParentsByOid(TableInfo *tblinfo, int numTables,
|
||||
{
|
||||
parentInd = findTableByOid(tblinfo, numTables,
|
||||
inhinfo[i].inhparent);
|
||||
if (parentInd < 0)
|
||||
{
|
||||
selfInd = findTableByOid(tblinfo, numTables, oid);
|
||||
fprintf(stderr,
|
||||
"failed sanity check, parent oid %s of table %s (oid %s) was not found\n",
|
||||
inhinfo[i].inhparent,
|
||||
(selfInd >= 0) ? tblinfo[selfInd].relname : "",
|
||||
oid);
|
||||
exit(2);
|
||||
}
|
||||
result[j++] = tblinfo[parentInd].relname;
|
||||
}
|
||||
}
|
||||
@ -387,6 +398,13 @@ flagInhAttrs(TableInfo *tblinfo, int numTables,
|
||||
{
|
||||
parentInd = findTableByName(tblinfo, numTables,
|
||||
tblinfo[i].parentRels[k]);
|
||||
if (parentInd < 0)
|
||||
{
|
||||
/* shouldn't happen unless findParentsByOid is broken */
|
||||
fprintf(stderr, "failed sanity check, table %s not found by flagInhAttrs\n",
|
||||
tblinfo[i].parentRels[k]);
|
||||
exit(2);
|
||||
}
|
||||
for (j = 0; j < tblinfo[i].numatts; j++)
|
||||
{
|
||||
if (strInArray(tblinfo[i].attnames[j],
|
||||
|
@ -21,7 +21,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.84 1998/09/03 02:10:36 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.85 1998/09/20 03:18:43 momjian Exp $
|
||||
*
|
||||
* Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
|
||||
*
|
||||
@ -472,6 +472,7 @@ dumpClasses(const TableInfo *tblinfo, const int numTables, FILE *fout,
|
||||
static void
|
||||
prompt_for_password(char *username, char *password)
|
||||
{
|
||||
char buf[512];
|
||||
int length;
|
||||
|
||||
#ifdef HAVE_TERMIOS_H
|
||||
@ -481,13 +482,11 @@ prompt_for_password(char *username, char *password)
|
||||
#endif
|
||||
|
||||
printf("Username: ");
|
||||
fgets(username, 9, stdin);
|
||||
fgets(username, 100, stdin);
|
||||
length = strlen(username);
|
||||
/* skip rest of the line */
|
||||
if (length > 0 && username[length - 1] != '\n')
|
||||
{
|
||||
static char buf[512];
|
||||
|
||||
do
|
||||
{
|
||||
fgets(buf, 512, stdin);
|
||||
@ -503,7 +502,7 @@ prompt_for_password(char *username, char *password)
|
||||
t.c_lflag &= ~ECHO;
|
||||
tcsetattr(0, TCSADRAIN, &t);
|
||||
#endif
|
||||
fgets(password, 9, stdin);
|
||||
fgets(password, 100, stdin);
|
||||
#ifdef HAVE_TERMIOS_H
|
||||
tcsetattr(0, TCSADRAIN, &t_orig);
|
||||
#endif
|
||||
@ -512,8 +511,6 @@ prompt_for_password(char *username, char *password)
|
||||
/* skip rest of the line */
|
||||
if (length > 0 && password[length - 1] != '\n')
|
||||
{
|
||||
static char buf[512];
|
||||
|
||||
do
|
||||
{
|
||||
fgets(buf, 512, stdin);
|
||||
@ -541,8 +538,8 @@ main(int argc, char **argv)
|
||||
int numTables;
|
||||
char connect_string[512] = "";
|
||||
char tmp_string[128];
|
||||
char username[64];
|
||||
char password[64];
|
||||
char username[100];
|
||||
char password[100];
|
||||
int use_password = 0;
|
||||
|
||||
g_verbose = false;
|
||||
@ -2584,7 +2581,13 @@ dumpIndices(FILE *fout, IndInfo *indinfo, int numIndices,
|
||||
for (i = 0; i < numIndices; i++)
|
||||
{
|
||||
tableInd = findTableByName(tblinfo, numTables,
|
||||
(indinfo[i].indrelname));
|
||||
indinfo[i].indrelname);
|
||||
if (tableInd < 0)
|
||||
{
|
||||
fprintf(stderr, "failed sanity check, table %s was not found\n",
|
||||
indinfo[i].indrelname);
|
||||
exit(2);
|
||||
}
|
||||
|
||||
if (strcmp(indinfo[i].indproc, "0") == 0)
|
||||
funcname = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user