An error occurred fetching the project authors.
  1. 23 May, 2019 1 commit
  2. 03 May, 2019 1 commit
    • Sergey Vojtovich's avatar
      Cleanup session tracker redundancy · 19d5ddcc
      Sergey Vojtovich authored
      - m_enabled is initialised by the base class constructor
      - removed unused schema_track_inited
      - moved Transaction_state_tracker constructor to declaration
      - common enable()
      - removed unused Session_sysvars_tracker::check_str()
      - classes are "private" by default
      - don't even try to compile for embedded
      
      Part of MDEV-14984 - regression in connect performance
      19d5ddcc
  3. 25 Apr, 2019 1 commit
  4. 15 Feb, 2019 1 commit
    • Alexander Barkov's avatar
      A cleanup for MDEV-13916 Enforce check constraint on JSON type · 62c0ac2d
      Alexander Barkov authored
      1. Renaming Type_handler_json to Type_handler_json_longtext
         There will be other JSON handlers soon, e.g. Type_handler_json_varchar.
      
      2. Making the code more symmetric for data types:
      
      - Adding a new virtual method
        Type_handler::Column_definition_validate_check_constraint()
      - Moving JSON-specific code from sql_yacc.yy to
        Type_handler_json_longtext::Column_definition_validate_check_constraint()
      
      3. Adding new files sql_type_json.cc and sql_type_json.h
         and moving Type_handler+JSON related code into these files.
      62c0ac2d
  5. 13 Feb, 2019 1 commit
    • Varun Gupta's avatar
      MDEV-6111 Optimizer Trace · be8709eb
      Varun Gupta authored
      This task involves the implementation for the optimizer trace.
      
      This feature produces a trace for any SELECT/UPDATE/DELETE/,
      which contains information about decisions taken by the optimizer during
      the optimization phase (choice of table access method, various costs,
      transformations, etc). This feature would help to tell why some decisions were
      taken by the optimizer and why some were rejected.
      
      Trace is session-local, controlled by the @@optimizer_trace variable.
      To enable optimizer trace we need to write:
         set @@optimizer_trace variable= 'enabled=on';
      
      To display the trace one can run:
         SELECT trace FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;
      
      This task also involves:
          MDEV-18489: Limit the memory used by the optimizer trace
          introduces a switch optimizer_trace_max_mem_size which limits
          the memory used by the optimizer trace. This was implemented by
          Sergei Petrunia.
      be8709eb
  6. 07 Feb, 2019 1 commit
  7. 04 Feb, 2019 1 commit
  8. 09 Dec, 2018 1 commit
    • Monty's avatar
      Added syntax and implementation for BACKUP STAGE's · c53aab97
      Monty authored
      Part of MDEV-5336 Implement LOCK FOR BACKUP
      
      - Changed check of Global_only_lock to also include BACKUP lock.
      - We store latest MDL_BACKUP_DDL lock in thd->mdl_backup_ticket to be able
        to downgrade lock during copy_data_between_tables()
      c53aab97
  9. 12 Aug, 2018 1 commit
  10. 09 Jul, 2018 1 commit
  11. 08 Jun, 2018 1 commit
  12. 01 Jun, 2018 1 commit
    • Yuqi's avatar
      Make MariaDB CRC32-lib platform independence (#780) · ee5124d7
      Yuqi authored
      Make mariadb crc32 lib platform independent
      
      It looks strange that someone can make use of 2 crc libraries
      (Power64 or AArch64) at the same time.
      
      The patch sets macros 'CRC32_LIBRARY' to make platform independence as an optional crc32 library.
      
      Change-Id: I68bbf73cafb6a12f7fb105ad57d117b114a8c4af
      Signed-off-by: default avatarYuqi Gu <yuqi.gu@arm.com>
      ee5124d7
  13. 09 May, 2018 1 commit
  14. 10 Apr, 2018 1 commit
  15. 08 Feb, 2018 1 commit
  16. 30 Dec, 2017 1 commit
  17. 18 Dec, 2017 1 commit
  18. 08 Sep, 2017 1 commit
    • Vladislav Vaintroub's avatar
      Build improvements and cleanups. · a46679dc
      Vladislav Vaintroub authored
      - the probably ultimate fix for dependencies on VS
      - remove some GET_TARGET_PROPERTY(LOCATION ...), they are deprecated in
      cmake 3.9
      - simplify signing targets on Windows.
      - remove INSTALL_DEBUG_TARGET, we do not mix binaries from different builds
      in the same package
      a46679dc
  19. 31 Aug, 2017 1 commit
    • Sergey Vojtovich's avatar
      MDEV-11371 - column compression · fdc47792
      Sergey Vojtovich authored
      Storage engine independent support for column compression.
      
      TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT,
      VARCHAR and VARBINARY columns can be compressed.
      
      New COMPRESSED column attribute added:
      COMPRESSED[=<compression_method>]
      
      System variables added:
      column_compression_threshold
      column_compression_zlib_level
      column_compression_zlib_strategy
      column_compression_zlib_wrap
      
      Status variables added:
      Column_compressions
      Column_decompressions
      
      Limitations:
      - the only supported method currently is zlib
      - CSV storage engine stores data uncompressed on-disk even if COMPRESSED
        attribute is present
      - it is not possible to create indexes over compressed columns.
      fdc47792
  20. 29 Aug, 2017 1 commit
  21. 22 Aug, 2017 1 commit
  22. 14 Aug, 2017 1 commit
  23. 19 Jun, 2017 1 commit
    • Aleksey Midenkov's avatar
      SQL, IB: (0.10) VTMD tracking [closes #124] · 448374a2
      Aleksey Midenkov authored
      IB: Fixes in logic when to do versioned or usual row updates. Now it is
      able to do unversioned updates for versioned tables just by disabling
      `TABLE_SHARE::versioned` flag.
      
      SQL: DDL tracking for:
      * RENAME TABLE, ALTER TABLE .. RENAME TO;
      * DROP TABLE;
      * data-modifying operations (f.ex. ALTER TABLE .. ADD/DROP COLUMN).
      448374a2
  24. 07 Apr, 2017 1 commit
    • Monty's avatar
      MDEV-10139 Support for SEQUENCE objects · 17a87d60
      Monty authored
      Working features:
      CREATE OR REPLACE [TEMPORARY] SEQUENCE [IF NOT EXISTS] name
          [ INCREMENT [ BY | = ] increment ]
          [ MINVALUE [=] minvalue | NO MINVALUE ]
          [ MAXVALUE [=] maxvalue | NO MAXVALUE ]
          [ START [ WITH | = ] start ] [ CACHE [=] cache ] [ [ NO ] CYCLE ]
          ENGINE=xxx COMMENT=".."
      SELECT NEXT VALUE FOR sequence_name;
      SELECT NEXTVAL(sequence_name);
      SELECT PREVIOUS VALUE FOR sequence_name;
      SELECT LASTVAL(sequence_name);
      
      SHOW CREATE SEQUENCE sequence_name;
      SHOW CREATE TABLE sequence_name;
      CREATE TABLE sequence-structure ... SEQUENCE=1
      ALTER TABLE sequence RENAME TO sequence2;
      RENAME TABLE sequence TO sequence2;
      DROP [TEMPORARY] SEQUENCE  [IF EXISTS] sequence_names
      
      Missing features
      - SETVAL(value,sequence_name), to be used with replication.
      - Check replication, including checking that sequence tables are marked
        not transactional.
      - Check that a commit happens for NEXT VALUE that changes table data (may
        already work)
      - ALTER SEQUENCE. ANSI SQL version of setval.
      - Share identical sequence entries to not add things twice to table list.
      - testing insert/delete/update/truncate/load data
      - Run and fix Alibaba sequence tests (part of mysql-test/suite/sql_sequence)
      - Write documentation for NEXT VALUE / PREVIOUS_VALUE
      - NEXTVAL in DEFAULT
        - Ensure that NEXTVAL in DEFAULT uses database from base table
      - Two NEXTVAL for same row should give same answer.
      - Oracle syntax sequence_table.nextval, without any FOR or FROM.
      - Sequence tables are treated as 'not read constant tables' by SELECT; Would
        be better if we would have a separate list for sequence tables so that
        select doesn't know about them, except if refereed to with FROM.
      
      Other things done:
      - Improved output for safemalloc backtrack
      - frm_type_enum changed to Table_type
      - Removed lex->is_view and replaced with lex->table_type. This allows
        use to more easy check if item is view, sequence or table.
      - Added table flag HA_CAN_TABLES_WITHOUT_ROLLBACK, needed for handlers
        that want's to support sequences
      - Added handler calls:
       - engine_name(), to simplify getting engine name for partition and sequences
       - update_first_row(), to be able to do efficient sequence implementations.
       - Made binlog_log_row() global to be able to call it from ha_sequence.cc
      - Added handler variable: row_already_logged, to be able to flag that the
        changed row is already logging to replication log.
      - Added CF_DB_CHANGE and CF_SCHEMA_CHANGE flags to simplify
        deny_updates_if_read_only_option()
      - Added sp_add_cfetch() to avoid new conflicts in sql_yacc.yy
      - Moved code for add_table_options() out from sql_show.cc::show_create_table()
      - Added String::append_longlong() and used it in sql_show.cc to simplify code.
      - Added extra option to dd_frm_type() and ha_table_exists to indicate if
        the table is a sequence. Needed by DROP SQUENCE to not drop a table.
      17a87d60
  25. 05 Apr, 2017 1 commit
    • Alexander Barkov's avatar
      Adding an alternative grammar file sql_yacc_ora.yy for sql_mode=ORACLE · 9f6aca19
      Alexander Barkov authored
      - Adding a new grammar file sql_yacc_ora.yy, which is currently
        almost a full copy of sql_yacc.yy.
      
        Note, it's now assumed that sql_yacc.yy and sql_yacc_ora.yy
        use the same set of %token directives and exactly the same
        %union directive.
        These declarations should eventually be moved into a shared
        included file, to make sure that sql_yacc.h and sql_yacc_ora.h
        are compatible.
      
      - Removing the "-p MYSQL" flag from cmake/bison.cmake, using
        the %name-prefix directive inside sql_yacc.yy and sql_yacc_ora.yy instead
      
      - Adding other CMake related changes to build sql_yacc_ora.o
        form sql_yacc_ora.yy
      
      - Adding NUMBER(M,N) as a synonym to DECIMAL(M,N) as the first
        Oracle compatibility syntax understood in sql_mode=ORACLE.
      
      - Adding prototypes to functions add_virtual_expression()
        and handle_sql2003_note184_exception(), so they can be used
        in both sql_yacc.yy and sql_yacc_ora.yy.
      
      - Adding a new test suite compat/oracle, with the first test "type_number".
        Use this:
         ./mtr compat/oracle.type_number   # to run a single test
         ./mtr --suite=compat/oracle       # to run the entire new suite
      
      - Adding compat/oracle into the list of default suites,
        so BuildBot can run it automatically on pushes.
      9f6aca19
  26. 10 Mar, 2017 1 commit
  27. 19 Oct, 2016 1 commit
  28. 12 Sep, 2016 2 commits
  29. 31 Aug, 2016 1 commit
  30. 25 Aug, 2016 1 commit
  31. 19 Aug, 2016 2 commits
  32. 10 Jun, 2016 1 commit
    • Nirbhay Choubey's avatar
      MDEV-5535: Cannot reopen temporary table · 7305be2f
      Nirbhay Choubey authored
      mysqld maintains a list of TABLE objects for all temporary
      tables created within a session in THD. Here each table is
      represented by a TABLE object.
      
      A query referencing a particular temporary table for more
      than once, however, failed with ER_CANT_REOPEN_TABLE error
      because a TABLE_SHARE was allocate together with the TABLE,
      so temporary tables always had only one TABLE per TABLE_SHARE.
      
      This patch lift this restriction by separating TABLE and
      TABLE_SHARE objects and storing TABLE_SHAREs for temporary
      tables in a list in THD, and TABLEs in a list within their
      respective TABLE_SHAREs.
      7305be2f
  33. 24 May, 2016 1 commit
  34. 08 May, 2016 1 commit
  35. 13 Feb, 2016 1 commit
  36. 22 Dec, 2015 1 commit
  37. 05 Oct, 2015 1 commit
    • Monty's avatar
      MDEV-6080: Allowing storage engine to shortcut group by queries · cf50e13f
      Monty authored
      This task is to allow storage engines that can execute GROUP BY or
      summary queries efficiently to intercept a full query or sub query from
      MariaDB and deliver the result either to the client or to a temporary
      table for further processing.
      
      - Added code in sql_select.cc to intercept GROUP BY queries.
        Creation of group_by_handler is done after all optimizations to allow
        storage engine to benefit of an optimized WHERE clause and suggested
        indexes to use.
      - Added group by handler to sequence engine and a group_by test suite as
        a way to test the new interface.
      - Intercept EXPLAIN with a message "Storage engine handles GROUP BY"
      
      libmysqld/CMakeLists.txt:
        Added new group_by_handler files
      sql/CMakeLists.txt:
        Added new group_by_handler files
      sql/group_by_handler.cc:
        Implementation of group_by_handler functions
      sql/group_by_handler.h:
        Definition of group_by_handler class
      sql/handler.h:
        Added handlerton function to create a group_by_handler, if the storage
        engine can intercept the query.
      sql/item_cmpfunc.cc:
        Allow one to evaluate item_equal any time.
      sql/sql_select.cc:
        Added code to intercept GROUP BY queries
        - If all tables are from the same storage engine and the query is
          using sum functions, call create_group_by() to check if the storage
          engine can intercept the query.
          - If yes:
             - create a temporary table to hold a GROUP_BY row or result
             - In do_select() intercept normal query execution by instead
               calling the group_by_handler to get the result
             - Intercept EXPLAIN
      sql/sql_select.h:
        Added handling of group_by_handler
        Added caching of the original join tab (needed for cleanup after
        group_by handler)
      storage/sequence/mysql-test/sequence/group_by.result:
        Test group_by_handler interface
      storage/sequence/mysql-test/sequence/group_by.test:
        Test group_by_handler interface
      storage/sequence/sequence.cc:
        Added simple group_by_engine for handling COUNT(*) and
        SUM(primary_key).  This was done as a test of the group_by_handler
        interface
      cf50e13f
  38. 30 Sep, 2015 1 commit
    • Alexander Barkov's avatar
      MDEV-8865 Wrong field type or metadata for COALESCE(signed_int_column, unsigned_int_column) · cc9cfeca
      Alexander Barkov authored
      Item_func_hybrid_field_type did not return correct field_type(), cmp_type()
      and result_type() in some cases, because cached_result_type and
      cached_field_type were set in independent pieces of the code and
      did not properly match to each other.
      Fix:
      - Removing Item_func_hybrid_result_type
      - Deriving Item_func_hybrid_field_type directly from Item_func
      - Introducing a new class Type_handler which guarantees that
        field_type(), cmp_type() and result_type() are always properly synchronized
        and using the new class in Item_func_hybrid_field_type.
      cc9cfeca