summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2006-10-07 22:21:57 +0000
committerTom Lane2006-10-07 22:21:57 +0000
commitd85820cfb2ca90929a799f873ba6f07f8a553846 (patch)
tree885c378da2f7f6b609d38a7fe09e9584e40482b1
parent9cd5c4fca24206bca84ff323dbd8cf76df8dfa4c (diff)
Fix ancient oversight in psql's \d pattern processing code: when seeing two
quote chars inside quote marks, should emit one quote *and stay in inquotes mode*. No doubt the lack of reports of this have something to do with the poor documentation of the feature ...
-rw-r--r--src/bin/psql/describe.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index 39456ec6096..df0acafa210 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/describe.c,v 1.87.2.1 2004/01/11 19:25:44 dennis Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/describe.c,v 1.87.2.2 2006/10/07 22:21:57 tgl Exp $
*/
#include "postgres_fe.h"
#include "describe.h"
@@ -1673,7 +1673,8 @@ processNamePattern(PQExpBuffer buf, const char *pattern,
appendPQExpBufferChar(&namebuf, '"');
cp++;
}
- inquotes = !inquotes;
+ else
+ inquotes = !inquotes;
cp++;
}
else if (!inquotes && isupper((unsigned char) *cp))