List:Commits« Previous MessageNext Message »
From:Konstantin Osipov Date:August 22 2007 6:27pm
Subject:Re: bk commit into 5.0 tree (malff:1.2512) BUG#30333
View as plain text  
* marc.alff@stripped <marc.alff@stripped> [07/08/09 22:33]:

> ChangeSet@stripped, 2007-08-09 12:25:48-06:00, malff@weblab.(none) +1 -0
>   Bug#30333 (Performance, expressions lists in the parser)
>   
>   Before this patch, the parser would execute:
>   - Select->expr_list.push_front()
>   - Select->expr_list.pop()
>   when parsing expressions lists, in the following rules:
>   - udf_expr_list
>   - expr_list
>   - ident_list

OK to push.

Please use 5.1 tree, since everything else will go into 5.1 and
this patch doesn't help Google.

>   This is unnecessary, and introduces overhead due to the memory allocations
>   performed with Select->expr_list
>   
>   With this patch, this code has been removed.
>   The list being parsed is maintained in the parser stack instead.
>   
>   Also, 'udf_expr_list' has been renamed 'opt_udf_expr_list', since this
>   production can be empty.
>   
>   Simplification of the grammar around these lists also reduced the
>   parser complexity:
>   
>   /* YYLAST -- Last index in YYTABLE.  */
>   #define YYLAST   43481 --> 43048 [-433]
>   /* YYNTOKENS -- Number of terminals.  */
>   #define YYNTOKENS  570 --> 570 [0]
>   /* YYNNTS -- Number of nonterminals.  */
>   #define YYNNTS  674 --> 668 [-6]
>   /* YYNRULES -- Number of rules.  */
>   #define YYNRULES  2026 --> 2020 [-6]
>   /* YYNRULES -- Number of states.  */
>   #define YYNSTATES  3672 --> 3666 [-6]

Good. Again, would be nice to remove reference to the exact
numbers from the final changeset comments.

That is all.

Thank you for looking at this!

-- 
-- Konstantin Osipov              Software Developer, Moscow, Russia
-- MySQL AB, www.mysql.com   The best DATABASE COMPANY in the GALAXY
Thread
bk commit into 5.0 tree (malff:1.2512) BUG#30333marc.alff9 Aug
  • Re: bk commit into 5.0 tree (malff:1.2512) BUG#30333Konstantin Osipov22 Aug