diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-03-16 04:26:01 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-03-16 04:26:01 +0000 |
commit | 89b762e509285968b757e3376dfc6fdaab509a85 (patch) | |
tree | 5674f8f14d847b9d8a4cf08b04e9b421e653a816 /src/backend/parser/parse_func.c | |
parent | 434762b55924c1414d5d66590a08dcabe865c9ac (diff) | |
download | postgresql-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.c | 12 |
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)); |