1. 23 May, 2016 2 commits
  2. 21 May, 2016 1 commit
  3. 20 May, 2016 4 commits
    • Alexander Barkov's avatar
      sql_yacc.yy: Removing unnecessary init_nested_join() and end_nested_join() · 349da1d6
      Alexander Barkov authored
      from select_derived_init.
      349da1d6
    • Alexander Barkov's avatar
      A derived_query_specification clean-up · c44b2e66
      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.
      c44b2e66
    • Oleksandr Byelkin's avatar
    • Alexander Barkov's avatar
      MDEV-10080 Derived tables allow double LIMIT clause · f6a7c1c7
      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.
      f6a7c1c7
  4. 19 May, 2016 1 commit
    • Alexander Barkov's avatar
      This patch is a cleanup simplifying upcoming · c9629daa
      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.
      c9629daa
  5. 17 May, 2016 7 commits
  6. 16 May, 2016 1 commit
    • Alexander Barkov's avatar
      sql_yacc.yy cleanup, to simplify further changes for MDEV-8909. · 1f4f7293
      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();
      1f4f7293
  7. 14 May, 2016 1 commit
  8. 13 May, 2016 3 commits
  9. 10 May, 2016 5 commits
  10. 06 May, 2016 1 commit
    • Alexander Barkov's avatar
      MDEV-10030 sql_yacc.yy: Split table_expression and remove PROCEDURE from... · c0a59b46
      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 ...".
      c0a59b46
  11. 05 May, 2016 1 commit
  12. 01 May, 2016 2 commits
  13. 29 Apr, 2016 5 commits
  14. 28 Apr, 2016 6 commits