/*-------------------------------------------------------------------------
 *
 * pl_funcs.c		- Misc functions for the PL/pgSQL
 *			  procedural language
 *
 * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 *
 * IDENTIFICATION
 *	  $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_funcs.c,v 1.68 2008/04/01 03:51:09 tgl Exp $
 *
 *-------------------------------------------------------------------------
 */

#include "plpgsql.h"
#include "parser/parse.h"
#include "parser/gramparse.h"

extern char *base_yytext;

int 
plpgsql_querylex(int *param, char **ttext)
{
	int	tok = base_yylex();

	if (tok == 0)
		return PLPGSQL_QUERYLEX_DONE;

	*ttext = base_yytext;
	switch (tok)
	{
		case SELECT:
			return PLPGSQL_QUERYLEX_SELECT;

		case PARAM:
			*param = base_yylval.ival;
			return PLPGSQL_QUERYLEX_PARAM;

		default:
			return PLPGSQL_QUERYLEX_NONPARAM;
	}
}
