*** src/backend/parser/parse_clause.c	29 Aug 2004 05:06:44 -0000	1.136
--- src/backend/parser/parse_clause.c	20 Sep 2004 21:34:14 -0000
*************** transformRangeSubselect(ParseState *psta
*** 418,426 ****
  	 * an unlabeled subselect.
  	 */
  	if (r->alias == NULL)
! 		ereport(ERROR,
! 				(errcode(ERRCODE_SYNTAX_ERROR),
! 				 errmsg("subquery in FROM must have an alias")));
  
  	/*
  	 * Analyze and transform the subquery.
--- 418,434 ----
  	 * an unlabeled subselect.
  	 */
  	if (r->alias == NULL)
! 	{
! 		static int subquery_counter = 1;
! 		static char buf[30];
! 
! 		sprintf(buf, "*SUBQUERY*%d*", subquery_counter++);
! 
! 		r->alias = makeNode(Alias);
! 		r->alias->aliasname = pstrdup(buf);
! 		r->alias->colnames = NULL;
! 	}
! 	
  
  	/*
  	 * Analyze and transform the subquery.
