From 8b59dbc51a15fe769e29f22d5049fa42bf8eebfc Mon Sep 17 00:00:00 2001 From: kommih Date: Mon, 10 Sep 2018 17:20:56 +1000 Subject: [PATCH 3/3] CREATE AS USING method grammer support This change was missed during earlier USING grammer support. --- src/backend/parser/gram.y | 11 ++++++----- src/include/nodes/primnodes.h | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 8f6f9ddae2..a9c5450a37 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -4038,7 +4038,6 @@ CreateStatsStmt: * *****************************************************************************/ -// PBORKED: storage option CreateAsStmt: CREATE OptTemp TABLE create_as_target AS SelectStmt opt_with_data { @@ -4069,14 +4068,16 @@ CreateAsStmt: ; create_as_target: - qualified_name opt_column_list OptWith OnCommitOption OptTableSpace + qualified_name opt_column_list table_access_method_clause + OptWith OnCommitOption OptTableSpace { $$ = makeNode(IntoClause); $$->rel = $1; $$->colNames = $2; - $$->options = $3; - $$->onCommit = $4; - $$->tableSpaceName = $5; + $$->accessMethod = $3; + $$->options = $4; + $$->onCommit = $5; + $$->tableSpaceName = $6; $$->viewQuery = NULL; $$->skipData = false; /* might get changed later */ } diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h index 1b4b0d75af..ffc788c4a3 100644 --- a/src/include/nodes/primnodes.h +++ b/src/include/nodes/primnodes.h @@ -108,6 +108,7 @@ typedef struct IntoClause RangeVar *rel; /* target relation name */ List *colNames; /* column names to assign, or NIL */ + char *accessMethod; /* table access method */ List *options; /* options from WITH clause */ OnCommitAction onCommit; /* what do we do at COMMIT? */ char *tableSpaceName; /* table space to use, or NULL */ -- 2.18.0.windows.1