1. 23 May, 2018 4 commits
    • Sergey Vojtovich's avatar
      Use std::isfinite in C++ code · 54999f4e
      Sergey Vojtovich authored
      This is addition to parent revision fixing build failures.
      54999f4e
    • Howard Su's avatar
      remove check for finite/isfinite · 031fa6d4
      Howard Su authored
      finite is not used anymore in code base. isfinite is part of C99 and we
      assume we only support compilers that support C99.
      031fa6d4
    • Eugene Kosov's avatar
      cleanup TABLE_LIST · c13e3c37
      Eugene Kosov authored
      c13e3c37
    • Alexander Barkov's avatar
      MDEV-16244 sql_mode=ORACLE: Some keywords do not work in variable declarations · 611488e3
      Alexander Barkov authored
      1. Adding LEX::make_item_sysvar() and reusing it
         in sql_yacc.yy and sql_yacc_ora.yy.
         Removing the "opt_component" rule.
      
      2. Renaming rules to better reflect their purpose:
         - keyword to keyword_ident
         - keyword_sp to keyword_label
         - keyword_sp_not_data_type to keyword_sp_var_and_label
      
         Also renaming:
         - sp_decl_ident_keyword to keyword_sp_decl for naming consistency
         - keyword_alias to keyword_table_alias,
           for consistency with ident_table_alias
         - keyword_sp_data_type to keyword_data_type,
           as it has nothing SP-specific.
      
      3. Moving GLOBAL_SYM, LOCAL_SYM, SESSION_SYM from
         keyword_sp_var_and_label to a separate rule keyword_sysvar_type.
         We don't have system variables with these names anyway.
         Adding ident_sysvar_name and using it in the grammar that needs
         a system variable name instead of ident_or_text.
         This removed a number of shift/reduce conflicts
         between GLOBAL_SYM/LOCAL_SYM/SESSION_SYM as a variable scope and
         as a variable name.
      
      4. Moving keywords BEGIN_SYM, END (in both *.yy fiels)
         and EXCEPTION_SYM (in sql_yacc_ora.yy) into a separate
         rule keyword_sp_block_section, because in Oracle verb keywords
         (COMMIT, DO, HANDLER, OPEN, REPAIR, ROLLBACK, SAVEPOINT, SHUTDOWN, TRUNCATE)
         are good variables names and can appear in e.g. DECLARE,
         while block keywords (BEGIN, END, EXCEPTION) are not good variable names
         and cannot appear in DECLARE.
      
      5. Further splitting keyword_directly_not_assignable in sql_yacc_ora.yy:
         moving keyword_sp_verb_clause out. Renaming the rest of
         keyword_directly_not_assignable to keyword_sp_head,
         which represents keywords that can appear in optional
         clauses in CREATE PROCEDURE/FUNCTION/TRIGGER.
      
      6. Renaming keyword_sp_verb_clause to keyword_verb_clause,
         as now it does not contains anything SP-specific.
      
         As a result or #4,#5,#6, the rule keyword_directly_not_assignable
         was replaced to three separate rules:
         - keyword_sp_block
         - keyword_sp_head
         - keyword_verb_clause
         Adding the same rules in sql_yacc.yy, for unification.
      
      6. Adding keyword_sp_head and keyword_verb_clause into keyword_sp_decl.
         This fixes MDEV-16244.
      
      7. Reorganizing the rest of keyword related rules into two groups:
        a. Rules defining a list of keywords and consisting of only terminal symbols:
          - keyword_sp_var_not_label
          - keyword_sp_head
          - keyword_sp_verb_clause
          - keyword_sp_block_section
          - keyword_sysvar_type
      
        b. Rules that combine the above lists into keyword places:
          - keyword_table_alias
          - keyword_ident
          - keyword_label
          - keyword_sysvar_name
          - keyword_sp_decl
        Rules from the group "b" use on the right side only rules
        from the group "a" (with optional terminal symbols added).
        Rules from the group "b" DO NOT mutually use each other any more.
        This makes them easier to read (and see the difference between them).
      
        Sorting the right sides of the group "b" keyword rules alphabetically,
        for yet better readability.
      611488e3
  2. 22 May, 2018 7 commits
    • Monty's avatar
      MDEV-16234 CREATE TABLE .. SELECT LASTVAL breaks replication · d6976a7e
      Monty authored
      Fixed by marking NEXTVAL() and LASTVAL() to be replicated row based
      d6976a7e
    • Monty's avatar
      14e5db6f
    • Sergei Golubchik's avatar
      Merge branch 'github/10.2' into 10.3 · 4ec8598c
      Sergei Golubchik authored
      4ec8598c
    • Alexander Barkov's avatar
      A cleanup for MDEV-15818 Fix shift-reduce conflicts in the new 10.3 syntax · fe3bf136
      Alexander Barkov authored
      Fixing PERIOD to PERIOD_SYM in the %left command.
      fe3bf136
    • Jacob Mathew's avatar
      MDEV-12900: spider tests failed in buildbot with valgrind · afe5a51c
      Jacob Mathew authored
      The failures with valgrind occur as a result of Spider sometimes using the
      wrong transaction for operations in background threads that send requests to
      the data nodes.  The use of the wrong transaction caused the networking to the
      data nodes to use the wrong thread in some cases.  Valgrind eventually
      detects this when such a thread is destroyed before it is used to disconnect
      from the data node by that wrong transaction when it is freed.
      
      I have fixed the problem by correcting the transaction used in each of these
      cases.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      
      Merged:
        Commit 4d576d9d on branch bb-10.3-MDEV-12900
      afe5a51c
    • Jacob Mathew's avatar
      MDEV-12900: spider tests failed in buildbot with valgrind · b9cf26f7
      Jacob Mathew authored
      The failures with valgrind occur as a result of Spider sometimes using the
      wrong transaction for operations in background threads that send requests to
      the data nodes.  The use of the wrong transaction caused the networking to the
      data nodes to use the wrong thread in some cases.  Valgrind eventually
      detects this when such a thread is destroyed before it is used to disconnect
      from the data node by that wrong transaction when it is freed.
      
      I have fixed the problem by correcting the transaction used in each of these
      cases.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      
      Merged:
        Commit 4d576d9d on branch bb-10.3-MDEV-12900
      b9cf26f7
    • Jacob Mathew's avatar
      MDEV-12900: spider tests failed in buildbot with valgrind · 4d576d9d
      Jacob Mathew authored
      The failures with valgrind occur as a result of Spider sometimes using the
      wrong transaction for operations in background threads that send requests to
      the data nodes.  The use of the wrong transaction caused the networking to the
      data nodes to use the wrong thread in some cases.  Valgrind eventually
      detects this when such a thread is destroyed before it is used to disconnect
      from the data node by that wrong transaction when it is freed.
      
      I have fixed the problem by correcting the transaction used in each of these
      cases.
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      4d576d9d
  3. 21 May, 2018 29 commits