summaryrefslogtreecommitdiff
path: root/sql/sql_lex.h
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2007-08-22 15:38:32 -0600
committerunknown <malff/marcsql@weblab.(none)>2007-08-22 15:38:32 -0600
commit5dc3e88947d55e23dd0419938d4cb671e400a6f3 (patch)
tree4d47b4acc13f3c844ff3f11e4a196a060f1390ef /sql/sql_lex.h
parent49fea65f2bab0853f4c2217777fe2563f771a044 (diff)
downloadmariadb-git-5dc3e88947d55e23dd0419938d4cb671e400a6f3.tar.gz
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 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. sql/sql_lex.cc: Removed unused attribute expr_list sql/sql_lex.h: Removed unused attribute expr_list sql/sql_yacc.yy: Improved performances when parsing expression lists
Diffstat (limited to 'sql/sql_lex.h')
-rw-r--r--sql/sql_lex.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index 2e72a87c35d..f80ddfb8339 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -596,7 +596,6 @@ public:
const char *type; /* type of select for EXPLAIN */
SQL_LIST order_list; /* ORDER clause */
- List<List_item> expr_list;
SQL_LIST *gorder_list;
Item *select_limit, *offset_limit; /* LIMIT clause parameters */
// Arrays of pointers to top elements of all_fields list