From b53516d6ff307522503053fc4fdaf73597b4ad3f Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 2 Sep 2006 20:52:01 +0000 Subject: [PATCH] Small code cleanup for recent UPDATE SET (values) patch. --- src/backend/parser/gram.y | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index b05253ae40..69b9d69a02 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -238,7 +238,7 @@ static void doNegateFloat(Value *v); qualified_name_list any_name any_name_list any_operator expr_list attrs target_list update_col_list update_target_list - update_value_list insert_column_list + update_value_list set_opt insert_column_list values_list def_list indirection opt_indirection group_clause TriggerFuncArgs select_limit opt_select_limit opclass_item_list @@ -5526,21 +5526,7 @@ opt_nowait: NOWAIT { $$ = TRUE; } *****************************************************************************/ UpdateStmt: UPDATE relation_expr_opt_alias - SET update_target_list - from_clause - where_clause - returning_clause - { - UpdateStmt *n = makeNode(UpdateStmt); - n->relation = $2; - n->targetList = $4; - n->fromClause = $5; - n->whereClause = $6; - n->returningList = $7; - $$ = (Node *)n; - } - | UPDATE relation_expr_opt_alias - SET update_target_lists_list + SET set_opt from_clause where_clause returning_clause @@ -5555,6 +5541,11 @@ UpdateStmt: UPDATE relation_expr_opt_alias } ; +set_opt: + update_target_list { $$ = $1; } + | update_target_lists_list { $$ = $1; } + ; + /***************************************************************************** * @@ -5981,7 +5972,7 @@ update_target_lists_el: { /* merge update_value_list with update_col_list */ ResTarget *res_col = (ResTarget *) lfirst(col_cell); - ResTarget *res_val = (ResTarget *) lfirst(val_cell); + Node *res_val = (Node *) lfirst(val_cell); res_col->val = (Node *)copyObject(res_val); } -- 2.39.5