You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by zt...@apache.org on 2022/03/25 08:46:31 UTC

[hawq] branch master updated: HAWQ-1835. support comma delimited format option for external table

This is an automated email from the ASF dual-hosted git repository.

ztao1987 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hawq.git


The following commit(s) were added to refs/heads/master by this push:
     new ae505ed  HAWQ-1835. support comma delimited format option for external table
ae505ed is described below

commit ae505ed9123e932adc794f4d49b7145369a3cc0e
Author: ztao1987 <zh...@gmail.com>
AuthorDate: Fri Mar 25 16:45:42 2022 +0800

    HAWQ-1835. support comma delimited format option for external table
---
 src/backend/parser/gram.y | 28 ++++++++++++++++++++--------
 1 file changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index ea4b0ce..10cf319 100755
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -5045,25 +5045,36 @@ format_opt:
 format_opt_list:
 			format_opt_item2
 			{
-				$$ = list_make1($1);
+			        $$ = list_make1($1);
 			}
 			| format_opt_item2 '=' format_opt_item2
 			{
-				$$ = list_make2($1,$3);
+			        $$ = list_make2($1, $3);
+			}
+			| format_opt_item2 AS format_opt_item2
+			{
+			        $$ = list_make2($1, $3);
 			}
 			| format_opt_list format_opt_item2
 			{
-				$$ = lappend($1, $2);
+			        $$ = lappend($1, $2);
 			}
 			| format_opt_list format_opt_item2 '=' format_opt_item2
 			{
-				$$ = lappend(lappend($1, $2),$4);
+			        $$ = lappend(lappend($1, $2), $4);
+			}
+			| format_opt_list format_opt_item2 AS format_opt_item2
+			{
+			        $$ = lappend(lappend($1, $2), $4);
+			}
+			| format_opt_list ',' format_opt_item2 '=' format_opt_item2
+			{
+			        $$ = lappend(lappend($1, $3), $5);
 			}
 			;
 
 format_opt_keyword:
-			  AS
-			| DELIMITER
+			DELIMITER
 			| NULL_P
 			| CSV
 			| HEADER_P
@@ -5094,11 +5105,12 @@ format_opt_item2:
 			{
 				$$ = makeDefElem("#ident", (Node *)makeString($1));
 			}
-			| columnListPlus
+			| '(' columnListPlus ')'
 			{
-				$$ = makeDefElem("#collist", (Node *)$1);
+				$$ = makeDefElem("#collist", (Node *)$2);
 			}
 			;
+
 /*			
 format_opt_item:
 			DELIMITER opt_as Sconst