summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/parser/gram.y17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index ef6f8a80c5c..5bdbe012a95 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.429 2003/08/17 19:58:05 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.430 2003/08/22 20:34:33 tgl Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -108,6 +108,7 @@ static void doNegateFloat(Value *v);
DropBehavior dbehavior;
OnCommitAction oncommit;
List *list;
+ FastList fastlist;
Node *node;
Value *value;
ColumnRef *columnref;
@@ -6719,8 +6720,18 @@ opt_indirection:
{ $$ = NIL; }
;
-expr_list: a_expr { $$ = makeList1($1); }
- | expr_list ',' a_expr { $$ = lappend($1, $3); }
+expr_list: a_expr
+ {
+ FastList *dst = (FastList *) &$$;
+ makeFastList1(dst, $1);
+ }
+ | expr_list ',' a_expr
+ {
+ FastList *dst = (FastList *) &$$;
+ FastList *src = (FastList *) &$1;
+ *dst = *src;
+ FastAppend(dst, $3);
+ }
;
extract_list: