fix some outline unstable problem

This commit is contained in:
jingtaoye35
2023-08-01 13:42:44 +00:00
committed by ob-robot
parent 8024d8ff45
commit 0599c51c72
15 changed files with 181 additions and 120 deletions

View File

@ -1100,6 +1100,10 @@ Timestamp{whitespace}?\"[^\"]*\" {
<hint>NO_WIN_MAGIC { return NO_WIN_MAGIC; }
<hint>PULLUP_EXPR { return PULLUP_EXPR; }
<hint>NO_PULLUP_EXPR { return NO_PULLUP_EXPR; }
<hint>AGGR_FIRST_UNNEST { return AGGR_FIRST_UNNEST; }
<hint>NO_AGGR_FIRST_UNNEST { return NO_AGGR_FIRST_UNNEST; }
<hint>JOIN_FIRST_UNNEST { return JOIN_FIRST_UNNEST; }
<hint>NO_JOIN_FIRST_UNNEST { return NO_JOIN_FIRST_UNNEST; }
<hint>OPT_PARAM { return OPT_PARAM; }
<hint>OB_DDL_SCHEMA_VERSION { return OB_DDL_SCHEMA_VERSION; }
<hint>DYNAMIC_SAMPLING { return DYNAMIC_SAMPLING; }

View File

@ -165,7 +165,7 @@ NO_SIMPLIFY_LIMIT SIMPLIFY_SUBQUERY NO_SIMPLIFY_SUBQUERY FAST_MINMAX NO_FAST_MIN
PROJECT_PRUNE NO_PROJECT_PRUNE SIMPLIFY_SET NO_SIMPLIFY_SET OUTER_TO_INNER NO_OUTER_TO_INNER
COALESCE_SQ NO_COALESCE_SQ COUNT_TO_EXISTS NO_COUNT_TO_EXISTS LEFT_TO_ANTI NO_LEFT_TO_ANTI
ELIMINATE_JOIN NO_ELIMINATE_JOIN PUSH_LIMIT NO_PUSH_LIMIT PULLUP_EXPR NO_PULLUP_EXPR
WIN_MAGIC NO_WIN_MAGIC
WIN_MAGIC NO_WIN_MAGIC AGGR_FIRST_UNNEST NO_AGGR_FIRST_UNNEST JOIN_FIRST_UNNEST NO_JOIN_FIRST_UNNEST
// optimize hint
INDEX_HINT FULL_HINT NO_INDEX_HINT USE_DAS_HINT NO_USE_DAS_HINT
INDEX_SS_HINT INDEX_SS_ASC_HINT INDEX_SS_DESC_HINT
@ -9238,6 +9238,22 @@ NO_REWRITE opt_qb_name
{
malloc_non_terminal_node($$, result->malloc_pool_, T_NO_PULLUP_EXPR, 1, $2);
}
| AGGR_FIRST_UNNEST opt_qb_name
{
malloc_non_terminal_node($$, result->malloc_pool_, T_AGGR_FIRST_UNNEST, 1, $2);
}
| NO_AGGR_FIRST_UNNEST opt_qb_name
{
malloc_non_terminal_node($$, result->malloc_pool_, T_NO_AGGR_FIRST_UNNEST, 1, $2);
}
| JOIN_FIRST_UNNEST opt_qb_name
{
malloc_non_terminal_node($$, result->malloc_pool_, T_JOIN_FIRST_UNNEST, 1, $2);
}
| NO_JOIN_FIRST_UNNEST opt_qb_name
{
malloc_non_terminal_node($$, result->malloc_pool_, T_NO_JOIN_FIRST_UNNEST, 1, $2);
}
;
multi_qb_name_list: