[CP] [ctas]: ctas support parallel hint.
This commit is contained in:
@ -4880,12 +4880,12 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor '(' table_element_list ')'
|
||||
opt_table_option_list opt_partition_option select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
(void)($10);
|
||||
ParseNode *table_elements = NULL;
|
||||
ParseNode *table_options = NULL;
|
||||
merge_nodes(table_elements, result, T_TABLE_ELEMENT_LIST, $7);
|
||||
merge_nodes(table_options, result, T_TABLE_OPTION_LIST, $9);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -4894,19 +4894,19 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$10, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$11); /* select_stmt */
|
||||
$11, /* select_stmt */
|
||||
$1); /* hints */
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor '(' table_element_list ')'
|
||||
opt_table_option_list opt_partition_option AS select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
(void)$11;
|
||||
ParseNode *table_elements = NULL;
|
||||
ParseNode *table_options = NULL;
|
||||
merge_nodes(table_elements, result, T_TABLE_ELEMENT_LIST, $7);
|
||||
merge_nodes(table_options, result, T_TABLE_OPTION_LIST, $9);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -4915,19 +4915,19 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$10, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$12); /* select_stmt */
|
||||
$12, /* select_stmt */
|
||||
$1); /* hints */
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor '(' table_element_list ')'
|
||||
opt_table_option_list opt_partition_option with_column_group opt_as select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
(void)$12;
|
||||
ParseNode *table_elements = NULL;
|
||||
ParseNode *table_options = NULL;
|
||||
merge_nodes(table_elements, result, T_TABLE_ELEMENT_LIST, $7);
|
||||
merge_nodes(table_options, result, T_TABLE_OPTION_LIST, $9);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -4936,15 +4936,15 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$10, /* partition optition */
|
||||
$11, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$13); /* select_stmt */
|
||||
$13, /* select_stmt */
|
||||
$1); /* hints */
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor table_option_list opt_partition_option select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
ParseNode *table_options = NULL;
|
||||
merge_nodes(table_options, result, T_TABLE_OPTION_LIST, $6);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -4953,16 +4953,16 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$7, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$8); /* select_stmt */
|
||||
$8, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor table_option_list opt_partition_option AS select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
(void)$8;
|
||||
ParseNode *table_options = NULL;
|
||||
merge_nodes(table_options, result, T_TABLE_OPTION_LIST, $6);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -4971,16 +4971,16 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$7, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$9); /* select_stmt */
|
||||
$9, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor table_option_list opt_partition_option with_column_group opt_as select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
(void)$9;
|
||||
ParseNode *table_options = NULL;
|
||||
merge_nodes(table_options, result, T_TABLE_OPTION_LIST, $6);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -4989,13 +4989,14 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$7, /* partition optition */
|
||||
$8, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$10); /* select_stmt */
|
||||
$10, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor partition_option select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -5004,14 +5005,14 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$6, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$7); /* select_stmt */
|
||||
$7, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 1; /* mean partition optition is partition_option, not opt_partition_option*/
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor partition_option AS select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
(void)$7;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -5020,14 +5021,14 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$6, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$8); /* select_stmt */
|
||||
$8, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 1; /* mean partition optition is partition_option, not opt_partition_option*/
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor partition_option with_column_group opt_as select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
(void)$8;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -5036,13 +5037,13 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
$6, /* partition optition */
|
||||
$7, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$9); /* select_stmt */
|
||||
$9, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 1; /* mean partition optition is partition_option, not opt_partition_option*/
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -5051,13 +5052,13 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
NULL, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$6); /* select_stmt */
|
||||
$6, /* select_stmt */
|
||||
$1); /* hints */
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor with_column_group select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -5066,13 +5067,13 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
NULL, /* partition optition */
|
||||
$6, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$7); /* select_stmt */
|
||||
$7, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor AS select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -5081,13 +5082,13 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
NULL, /* partition optition */
|
||||
NULL, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$7); /* select_stmt */
|
||||
$7, /* select_stmt */
|
||||
$1); /* hints */
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
| create_with_opt_hint special_table_type TABLE opt_if_not_exists relation_factor with_column_group AS select_stmt
|
||||
{
|
||||
(void)($1);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 9,
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CREATE_TABLE, 10,
|
||||
$2, /* temporary option */
|
||||
$4, /* if not exists */
|
||||
$5, /* table name */
|
||||
@ -5096,7 +5097,8 @@ opt_table_option_list opt_partition_option with_column_group
|
||||
NULL, /* partition optition */
|
||||
$6, /* column group */
|
||||
NULL, /* oracle兼容模式下存放临时表的 on commit 选项 */
|
||||
$8); /* select_stmt */
|
||||
$8, /* select_stmt */
|
||||
$1);
|
||||
$$->reserved_ = 0;
|
||||
}
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user