|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.61 1999/12/16 20:07:41 momjian Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.62 1999/12/17 01:25:25 momjian Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
@@ -531,30 +531,6 @@ static Node *
|
531 | 531 | transformAttr(ParseState*pstate,Attr*att,intprecedence)
|
532 | 532 | {
|
533 | 533 | Node*basenode;
|
534 |
| -char*attribute; |
535 |
| - |
536 |
| -/* Get the name of the first attribute */ |
537 |
| -if ((att!=NULL)&& (lfirst(att->attrs)!=NULL)) |
538 |
| -{ |
539 |
| -/* |
540 |
| - * Special case for name.nextval and name.currval, assume it's a |
541 |
| - * sequence and transform to function call to nextval('name') and |
542 |
| - * currval('name') |
543 |
| - */ |
544 |
| -attribute=pstrdup(((Value*)lfirst(att->attrs))->val.str); |
545 |
| -if ((strcasecmp(attribute,"nextval")==0)|| |
546 |
| -(strcasecmp(attribute,"currval")==0)) |
547 |
| -{ |
548 |
| -Value*s=makeNode(Value); |
549 |
| - |
550 |
| -s->type=T_String; |
551 |
| -s->val.str=att->relname; |
552 |
| - |
553 |
| -returnParseFuncOrColumn(pstate,attribute, |
554 |
| -lcons(make_const(s),NIL), false, false, |
555 |
| -&pstate->p_last_resno,precedence); |
556 |
| -} |
557 |
| -} |
558 | 534 |
|
559 | 535 | basenode=ParseNestedFuncOrColumn(pstate,att,&pstate->p_last_resno,
|
560 | 536 | precedence);
|
|