- 30 Jun, 2016 1 commit
-
-
Igor Babaev authored
-
- 29 Jun, 2016 1 commit
-
-
Igor Babaev authored
-
- 26 Jun, 2016 1 commit
-
-
Igor Babaev authored
-
- 07 Jun, 2016 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
builds.
-
- 06 Jun, 2016 1 commit
-
-
Igor Babaev authored
Actually mutually recursive CTE were not functional. Now the code for mutually recursive CTE looks like functional, but still needs re-writing. Added many new test cases for mutually recursive CTE.
-
- 24 May, 2016 6 commits
-
-
Galina Shalygina authored
-
Galina Shalygina authored
-
Galina Shalygina authored
Added test cases to check the fix. Fixed the problem of wrong types of recursive tables when the type of anchor part does not coincide with the type of recursive part. Prevented usage of marerialization and subquery cache for subqueries with recursive references. Introduced system variables 'max_recursion_level'. Added a test case to test usage of this variable.
-
Alexander Barkov authored
- Moving opt_union_order_or_limit inside union_opt, as it's not used in other places any more. - Changing union_opt to have no type. Earlier (before all MDEV-8909 dependency tasks) it had the <num> type, and it's return value was used to generate errors. Now union_opt does not need a return value because the grammar disallows ORDER and LIMIT clauses in wrong context.
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 23 May, 2016 2 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
-
- 21 May, 2016 1 commit
-
-
Alexander Barkov authored
MDEV-10095 Fix derived tables to return a syntax error instead of "Illegal usage of UNION and LIMIT"
-
- 20 May, 2016 4 commits
-
-
Alexander Barkov authored
from select_derived_init.
-
Alexander Barkov authored
(to simplify further MDEV-8909 changes) 1. Better semantic readability: - Moving get_select_lex_derived inside select_derived_init and decomposing it into get_select_lex and $1->init_nested_join(lex->thd) - Moving DBUG_ASSERT($1 == Lex->current_select) inside select_derived_init Now init_nested_join() and end_nested_join() reside inside the same rule select_derived_init. (It's very likely that they can be further removed, as there are no any joins in this rule). 3. Better grammar readability: Moving SELECT_SYM from select_derived_init to derived_query_specification. It's easier to read a rule when it starts from a terminal symbol.
-
Oleksandr Byelkin authored
-
Alexander Barkov authored
1. Moving the "| get_select_lex_derived select_derived_init" part of select_derived into a separate new rule derived_query_specification. 2. Using derived_query_specification directly in select_derived_union rather than in select_derived. 3. Moving the sequence "opt_order_clause opt_limit_clause opt_select_lock_type" from select_derived2 to select_derived_union, after derived_query_specification. Effectively, the parser now does not go through the sequence "opt_order_clause opt_limit_clause ... opt_union_order_or_limit" any more. This fixes the problem with double LIMIT clause and removes 2 shift/reduce conflicts.
-
- 19 May, 2016 3 commits
-
-
Galina Shalygina authored
-
Galina Shalygina authored
Added the check whether there are set functions in the specifications of recursive CTE. Added the check whether there are recursive references in subqueries. Introduced boolean system variable 'standards_compliant_cte'. By default it's set to 'on'. When it's set to 'off' non-standard compliant CTE can be executed.
-
Alexander Barkov authored
"MDEV-8909 union parser cleanup" changes. When the server parses a query like SELECT * FROM (SELECT 1); a sequence of calls st_select_lex::init_nested_join() .. st_select_lex::end_nested_join() was performed two times (tested in gdb). Both pairs of calls seem to be redundant for a query like this, because there are actually no any joins here. This patch moved "table_ref_select" inside "select_derived", which revealed that one the pairs was definitely redundant: After this transformation we got an init_nested_join() immediately followed by end_nested_join() for the same st_select_lex, which has no any sense. So this pair of calls was removed.
-
- 17 May, 2016 7 commits
-
-
Oleksandr Byelkin authored
-
Alexander Barkov authored
-
Alexander Barkov authored
-
Alexander Barkov authored
to simplify further MDEV-8909 refactoring.
-
Alexander Barkov authored
-
Igor Babaev authored
-
Igor Babaev authored
This was a bug in the parser. As a result it could accept queries with invalid derived tables if they used With clauses.
-
- 16 May, 2016 1 commit
-
-
Alexander Barkov authored
- Moving "SELECT_SYM select_init2_derived opt_table_expression" from query_term into a new separate rule query_specification, and using query_specification in the beginning of query_term. - query_term now does not have a %type, query_specification has a %type instead. This removes duplicate code that returns Lex->current_select->master_unit()->first_select();
-
- 14 May, 2016 2 commits
-
-
Galina Shalygina authored
Fixed a bug that caused crashes for SHOW CREATE VIEW <view> when <view> was recursive. Added a test case to check the fix.
-
Vladislav Vaintroub authored
-
- 13 May, 2016 3 commits
-
-
Alexander Barkov authored
between select_derived_union and query_expression_body. An upcoming patch for MDEV-10035 will also reuse union_head_non_top.
-
Oleksandr Byelkin authored
-
Alexander Barkov authored
- Moving select_options_and_item_list from select_init2 to select_init and view_select_aux - Renaming select_init2 to select_init3 This will simplify upcoming sql_yacc.yy fixes (e.g. MDEV-10035, MDEV-8909).
-
- 12 May, 2016 1 commit
-
-
Galina Shalygina authored
-
- 10 May, 2016 4 commits
-
-
Galina Shalygina authored
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
An addition to original patch: - use FN_REFLEN instead of HOST_NAME_MAX (the latter can be undefined) - avoid calling gethostname() on every prompt construction by caching it
-
Dan Ungureanu authored
Introduce `\H` option which behaves mostly like `\h`. The only exception is when the client connects to the server hosted on localhost. In this case, the hostname will be used instead.
-