|
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); |
|