|
|
@ -107,7 +107,7 @@ static void check_labels(const char *start_label, |
|
|
|
const char *end_label, |
|
|
|
const char *end_label, |
|
|
|
int end_location); |
|
|
|
int end_location); |
|
|
|
static PLpgSQL_expr *read_cursor_args(PLpgSQL_var *cursor, |
|
|
|
static PLpgSQL_expr *read_cursor_args(PLpgSQL_var *cursor, |
|
|
|
int until, const char *expected); |
|
|
|
int until); |
|
|
|
static List *read_raise_options(void); |
|
|
|
static List *read_raise_options(void); |
|
|
|
static void check_raise_parameters(PLpgSQL_stmt_raise *stmt); |
|
|
|
static void check_raise_parameters(PLpgSQL_stmt_raise *stmt); |
|
|
|
|
|
|
|
|
|
|
@ -1414,8 +1414,7 @@ for_control : for_variable K_IN |
|
|
|
|
|
|
|
|
|
|
|
/* collect cursor's parameters if any */ |
|
|
|
/* collect cursor's parameters if any */ |
|
|
|
new->argquery = read_cursor_args(cursor, |
|
|
|
new->argquery = read_cursor_args(cursor, |
|
|
|
K_LOOP, |
|
|
|
K_LOOP); |
|
|
|
"LOOP"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* create loop's private RECORD variable */ |
|
|
|
/* create loop's private RECORD variable */ |
|
|
|
new->var = (PLpgSQL_variable *) |
|
|
|
new->var = (PLpgSQL_variable *) |
|
|
@ -2129,7 +2128,7 @@ stmt_open : K_OPEN cursor_variable |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
/* predefined cursor query, so read args */ |
|
|
|
/* predefined cursor query, so read args */ |
|
|
|
new->argquery = read_cursor_args($2, ';', ";"); |
|
|
|
new->argquery = read_cursor_args($2, ';'); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$$ = (PLpgSQL_stmt *)new; |
|
|
|
$$ = (PLpgSQL_stmt *)new; |
|
|
@ -3773,7 +3772,7 @@ check_labels(const char *start_label, const char *end_label, int end_location) |
|
|
|
* parens). |
|
|
|
* parens). |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
static PLpgSQL_expr * |
|
|
|
static PLpgSQL_expr * |
|
|
|
read_cursor_args(PLpgSQL_var *cursor, int until, const char *expected) |
|
|
|
read_cursor_args(PLpgSQL_var *cursor, int until) |
|
|
|
{ |
|
|
|
{ |
|
|
|
PLpgSQL_expr *expr; |
|
|
|
PLpgSQL_expr *expr; |
|
|
|
PLpgSQL_row *row; |
|
|
|
PLpgSQL_row *row; |
|
|
|