aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_func.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1999-03-16 04:26:01 +0000
committerBruce Momjian <bruce@momjian.us>1999-03-16 04:26:01 +0000
commit89b762e509285968b757e3376dfc6fdaab509a85 (patch)
tree5674f8f14d847b9d8a4cf08b04e9b421e653a816 /src/backend/parser/parse_func.c
parent434762b55924c1414d5d66590a08dcabe865c9ac (diff)
downloadpostgresql-89b762e509285968b757e3376dfc6fdaab509a85.tar.gz
postgresql-89b762e509285968b757e3376dfc6fdaab509a85.zip
Fix snprintf with strings, and nextval('"Aa"');
Diffstat (limited to 'src/backend/parser/parse_func.c')
-rw-r--r--src/backend/parser/parse_func.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index 7b6e2f6ebe5..6b2bb37464a 100644
--- a/src/backend/parser/parse_func.c
+++ b/src/backend/parser/parse_func.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.40 1999/03/15 16:48:34 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.41 1999/03/16 04:25:54 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -580,7 +580,15 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
elog(ERROR, "Only constant sequence names are acceptable for function '%s'", funcname);
seqrel = textout((text *) DatumGetPointer(seq->constvalue));
- if (RelnameFindRelid(seqrel) == InvalidOid)
+ /* Do we have nextval('"Aa"')? */
+ if (strlen(seqrel) >= 2 &&
+ seqrel[0] == '\"' && seqrel[strlen(seqrel)-1] == '\"')
+ {
+ /* strip off quotes, keep case */
+ seqrel = pstrdup(seqrel+1);
+ seqrel[strlen(seqrel)-1] = '\0';
+ }
+ else
{
pfree(seqrel);
seqname = lower((text *) DatumGetPointer(seq->constvalue));