diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index d8822bdebc577647574c1d3d76c1622acf96548f..90afc5349ab591b40b3da86d0eaeeafe9ae5b218 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.51 1997/09/25 14:11:42 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.52 1997/09/26 15:09:11 thomas Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -2938,9 +2938,7 @@ position_expr: attr opt_indirection substr_list: expr_list substr_from substr_for { - $$ = $1; - if ($2 != NULL) $$ = lappend($$, $2); - if ($3 != NULL) $$ = lappend($$, $3); + $$ = nconc(nconc($1,$2),$3); } | /* EMPTY */ { $$ = NIL; } @@ -2949,7 +2947,12 @@ substr_list: expr_list substr_from substr_for substr_from: FROM expr_list { $$ = $2; } | /* EMPTY */ - { $$ = NIL; } + { + A_Const *n = makeNode(A_Const); + n->val.type = T_Integer; + n->val.val.ival = 1; + $$ = lcons((Node *)n,NIL); + } ; substr_for: FOR expr_list