- 25 May, 2016 1 commit
-
-
Alexander Barkov authored
MDEV-10102 Disallow CREATE VIEW .. PROCEDURE ANALYSE() syntactically
-
- 24 May, 2016 3 commits
-
-
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 1 commit
-
-
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 1 commit
-
-
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).
-
- 10 May, 2016 5 commits
-
-
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.
-
Alexander Barkov authored
closer the grammar in the SQL Standard: - <query specification> is only a SELECT followed by <set quantifier>, <select list> and <table expression>. - While <query term> includes SELECT queries and derived tables.
-
Alexander Barkov authored
MDEV-10036 sql_yacc.yy: Split select_part2 to disallow syntactically bad constructs with INTO, PROCEDURE, UNION MDEV-10037 UNION with LIMIT ROWS EXAMINED does not require parentheses
-
- 06 May, 2016 1 commit
-
-
Alexander Barkov authored
MDEV-10030 sql_yacc.yy: Split table_expression and remove PROCEDURE from create_select, select_paren_derived, select_derived2, query_specification This change refactors the "table_expression" rule in sql_yacc.yy. Queries with subselects and derived tables, as well as "CREATE TABLE ... SELECT" now return syntax error instead of "Incorrect usage of PROCEDURE and ...".
-
- 05 May, 2016 1 commit
-
-
Sergey Vojtovich authored
This is an addition to original patch. Removed meaningless "echo SET SESSION AUTOCOMMIT=0" (transaction is started explicitely on master anyway).
-
- 01 May, 2016 2 commits
- 29 Apr, 2016 5 commits
-
-
Sergei Golubchik authored
* simplify the code at default: label * bugfix: flush the checksum for NULL fields (perfschema.checksum was failing) * cleanup: put repeated code into a function
-
Daniel Black authored
-
Daniel Black authored
-
Daniel Black authored
Error noted by Sergey Vojtovich.
-
Daniel Black authored
Checksum implementations contain optimizations for calculating checksums of larger blocks of memory. This optimization calls my_checksum on a larger block of memory rather than calling on multiple adjacent memory as its going though the table columns for each table row.
-
- 28 Apr, 2016 2 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-