An error occurred fetching the project authors.
  1. 31 Jul, 2017 1 commit
  2. 12 Jul, 2017 2 commits
  3. 05 Jul, 2017 1 commit
  4. 30 Jun, 2017 1 commit
  5. 23 Apr, 2017 1 commit
    • Monty's avatar
      Changing field::field_name and Item::name to LEX_CSTRING · 5a759d31
      Monty authored
      Benefits of this patch:
      - Removed a lot of calls to strlen(), especially for field_string
      - Strings generated by parser are now const strings, less chance of
        accidently changing a string
      - Removed a lot of calls with LEX_STRING as parameter (changed to pointer)
      - More uniform code
      - Item::name_length was not kept up to date. Now fixed
      - Several bugs found and fixed (Access to null pointers,
        access of freed memory, wrong arguments to printf like functions)
      - Removed a lot of casts from (const char*) to (char*)
      
      Changes:
      - This caused some ABI changes
        - lex_string_set now uses LEX_CSTRING
        - Some fucntions are now taking const char* instead of char*
      - Create_field::change and after changed to LEX_CSTRING
      - handler::connect_string, comment and engine_name() changed to LEX_CSTRING
      - Checked printf() related calls to find bugs. Found and fixed several
        errors in old code.
      - A lot of changes from LEX_STRING to LEX_CSTRING, especially related to
        parsing and events.
      - Some changes from LEX_STRING and LEX_STRING & to LEX_CSTRING*
      - Some changes for char* to const char*
      - Added printf argument checking for my_snprintf()
      - Introduced null_clex_str, star_clex_string, temp_lex_str to simplify
        code
      - Added item_empty_name and item_used_name to be able to distingush between
        items that was given an empty name and items that was not given a name
        This is used in sql_yacc.yy to know when to give an item a name.
      - select table_name."*' is not anymore same as table_name.*
      - removed not used function Item::rename()
      - Added comparision of item->name_length before some calls to
        my_strcasecmp() to speed up comparison
      - Moved Item_sp_variable::make_field() from item.h to item.cc
      - Some minimal code changes to avoid copying to const char *
      - Fixed wrong error message in wsrep_mysql_parse()
      - Fixed wrong code in find_field_in_natural_join() where real_item() was
        set when it shouldn't
      - ER_ERROR_ON_RENAME was used with extra arguments.
      - Removed some (wrong) ER_OUTOFMEMORY, as alloc_root will already
        give the error.
      
      TODO:
      - Check possible unsafe casts in plugin/auth_examples/qa_auth_interface.c
      - Change code to not modify LEX_CSTRING for database name
        (as part of lower_case_table_names)
      5a759d31
  6. 11 Apr, 2017 1 commit
  7. 05 Apr, 2017 2 commits
  8. 31 Mar, 2017 1 commit
  9. 27 Feb, 2017 1 commit
    • Dmitry Lenev's avatar
      Fix for bug#11759114 - '51401: GRANT TREATS NONEXISTENT · 494a9415
      Dmitry Lenev authored
      FUNCTIONS/PRIVILEGES DIFFERENTLY'.
      
      The problem was that attempt to grant EXECUTE or ALTER
      ROUTINE privilege on stored procedure which didn't exist
      succeed instead of returning an appropriate error like
      it happens in similar situation for stored functions or
      tables.
      
      The code which handles granting of privileges on individual
      routine calls sp_exist_routines() function to check if routine
      exists and assumes that the 3rd parameter of the latter
      specifies whether it should check for existence of stored
      procedure or function. In practice, this parameter had
      completely different meaning and, as result, this check was
      not done properly for stored procedures.
      
      This fix addresses this problem by bringing sp_exist_routines()
      signature and code in line with expectation of its caller.
      494a9415
  10. 11 Jan, 2017 1 commit
    • Monty's avatar
      MDEV-11597 Assertion when doing select from virtual column with impossible value · 5f0c31f9
      Monty authored
      - Changed error handlers interface so that they can change error level in
        the handler
      - Give warnings and errors when calculating virtual columns
      - On insert/update error is fatal in strict mode.
      - SELECT and DELETE will only give a warning if a virtual field generates an error
      - Added VCOL_UPDATE_FOR_DELETE and VCOL_UPDATE_INDEX_FOR_REPLACE to be able to
        easily detect in update_virtual_fields() if we should use an error
        handler to mask errors or not.
      5f0c31f9
  11. 28 Nov, 2016 1 commit
  12. 04 Oct, 2016 1 commit
  13. 24 Mar, 2016 1 commit
  14. 23 Mar, 2016 2 commits
  15. 22 Feb, 2016 1 commit
  16. 19 Oct, 2015 1 commit
  17. 23 Jul, 2015 1 commit
    • Dmitry Lenev's avatar
      MDEV-5997 - MySQL bug#11759114 - '51401: GRANT TREATS NONEXISTENT · a6ab8ef9
      Dmitry Lenev authored
      FUNCTIONS/PRIVILEGES DIFFERENTLY'
      
      Fix for bug#11759114 - '51401: GRANT TREATS NONEXISTENT
      FUNCTIONS/PRIVILEGES DIFFERENTLY'.
      
      The problem was that attempt to grant EXECUTE or ALTER
      ROUTINE privilege on stored procedure which didn't exist
      succeed instead of returning an appropriate error like
      it happens in similar situation for stored functions or
      tables.
      
      The code which handles granting of privileges on individual
      routine calls sp_exist_routines() function to check if routine
      exists and assumes that the 3rd parameter of the latter
      specifies whether it should check for existence of stored
      procedure or function. In practice, this parameter had
      completely different meaning and, as result, this check was
      not done properly for stored procedures.
      
      This fix addresses this problem by bringing sp_exist_routines()
      signature and code in line with expectation of its caller.
      Conflicts:
      	mysql-test/r/grant.result
      	mysql-test/t/grant.test
      	sql/sp.cc
      a6ab8ef9
  18. 06 Jul, 2015 1 commit
    • Monty's avatar
      - Renaming variables so that they don't shadow others (After this patch one... · 7332af49
      Monty authored
      - Renaming variables so that they don't shadow others (After this patch one can compile with -Wshadow and get much fewer warnings)
      - Changed ER(ER_...) to ER_THD(thd, ER_...) when thd was known or if there was many calls to current_thd in the same function.
      - Changed ER(ER_..) to ER_THD_OR_DEFAULT(current_thd, ER...) in some places where current_thd is not necessary defined.
      - Removing calls to current_thd when we have access to thd
      
      Part of this is optimization (not calling current_thd when not needed),
      but part is bug fixing for error condition when current_thd is not defined
      (For example on startup and end of mysqld)
      
      Notable renames done as otherwise a lot of functions would have to be changed:
      - In JOIN structure renamed:
         examined_rows -> join_examined_rows
         record_count -> join_record_count
      - In Field, renamed new_field() to make_new_field()
      
      Other things:
      - Added DBUG_ASSERT(thd == tmp_thd) in Item_singlerow_subselect() just to be safe.
      - Removed old 'tab' prefix in JOIN_TAB::save_explain_data() and use members directly
      - Added 'thd' as argument to a few functions to avoid calling current_thd.
      7332af49
  19. 28 Apr, 2015 1 commit
  20. 19 Jan, 2015 1 commit
    • Thayumanavar's avatar
      BUG#19875331 - HANDLE_FATAL_SIGNAL 11 IN STRMAKE · c9f307c4
      Thayumanavar authored
      Problem Description And Fix:
      Inserting a fudged record in mysql.proc with the dbname
      column value as test and the name column as empty, will
      cause a crash in mysqld when we run the command DROP
      DATABASE test.
       During DROP DATABASE test, mysql_rm_db subsequently
      calls lock_db_routines. In the routine we fetch the
      field 'name' from mysql.proc by calling the underlying
      storage engine API in lock_db_routines. This cause NULL
      value as the field column of mysql.proc and subsequent
      dereference MDL_request::init leads to crash.
      Modifying mysql.proc using SQL command by user is not
      supported, but in principle, there is a possibility
      of mysql.proc getting corrupted which can also lead
      to empty fields and arbitary values. The patch fixes
      the crash by checking NULL and propagating the appopriate
      error code to the user.
      c9f307c4
  21. 15 Dec, 2014 1 commit
  22. 01 Oct, 2014 1 commit
  23. 30 Sep, 2014 1 commit
    • Michael Widenius's avatar
      MDEV-5120 Test suite test maria-no-logging fails · 70823e1d
      Michael Widenius authored
      The reason for the failure was a bug in an include file on debian that causes 'struct stat'
      to have different sized depending on the environment.
      
      This patch fixes so that we always include my_global.h or my_config.h before we include any other files.
      
      Other things:
      - Removed #include <my_global.h> in some include files; Better to always do this at the top level to have as few
        "always-include-this-file-first' files as possible.
      - Removed usage of some include files that where already included by my_global.h or by other files.
      
      
      client/mysql_plugin.c:
        Use my_global.h first
      client/mysqlslap.c:
        Remove duplicated include files
      extra/comp_err.c:
        Remove duplicated include files
      include/m_string.h:
        Remove duplicated include files
      include/maria.h:
        Remove duplicated include files
      libmysqld/emb_qcache.cc:
        Use my_global.h first
      plugin/semisync/semisync.h:
        Use my_pthread.h first
      sql/datadict.cc:
        Use my_global.h first
      sql/debug_sync.cc:
        Use my_global.h first
      sql/derror.cc:
        Use my_global.h first
      sql/des_key_file.cc:
        Use my_global.h first
      sql/discover.cc:
        Use my_global.h first
      sql/event_data_objects.cc:
        Use my_global.h first
      sql/event_db_repository.cc:
        Use my_global.h first
      sql/event_parse_data.cc:
        Use my_global.h first
      sql/event_queue.cc:
        Use my_global.h first
      sql/event_scheduler.cc:
        Use my_global.h first
      sql/events.cc:
        Use my_global.h first
      sql/field.cc:
        Use my_global.h first
        Remove duplicated include files
      sql/field_conv.cc:
        Use my_global.h first
      sql/filesort.cc:
        Use my_global.h first
        Remove duplicated include files
      sql/gstream.cc:
        Use my_global.h first
      sql/ha_ndbcluster.cc:
        Use my_global.h first
      sql/ha_ndbcluster_binlog.cc:
        Use my_global.h first
      sql/ha_ndbcluster_cond.cc:
        Use my_global.h first
      sql/ha_partition.cc:
        Use my_global.h first
      sql/handler.cc:
        Use my_global.h first
      sql/hash_filo.cc:
        Use my_global.h first
      sql/hostname.cc:
        Use my_global.h first
      sql/init.cc:
        Use my_global.h first
      sql/item.cc:
        Use my_global.h first
      sql/item_buff.cc:
        Use my_global.h first
      sql/item_cmpfunc.cc:
        Use my_global.h first
      sql/item_create.cc:
        Use my_global.h first
      sql/item_geofunc.cc:
        Use my_global.h first
      sql/item_inetfunc.cc:
        Use my_global.h first
      sql/item_row.cc:
        Use my_global.h first
      sql/item_strfunc.cc:
        Use my_global.h first
      sql/item_subselect.cc:
        Use my_global.h first
      sql/item_sum.cc:
        Use my_global.h first
      sql/item_timefunc.cc:
        Use my_global.h first
      sql/item_xmlfunc.cc:
        Use my_global.h first
      sql/key.cc:
        Use my_global.h first
      sql/lock.cc:
        Use my_global.h first
      sql/log.cc:
        Use my_global.h first
      sql/log_event.cc:
        Use my_global.h first
      sql/log_event_old.cc:
        Use my_global.h first
      sql/mf_iocache.cc:
        Use my_global.h first
      sql/mysql_install_db.cc:
        Remove duplicated include files
      sql/mysqld.cc:
        Remove duplicated include files
      sql/net_serv.cc:
        Remove duplicated include files
      sql/opt_range.cc:
        Use my_global.h first
      sql/opt_subselect.cc:
        Use my_global.h first
      sql/opt_sum.cc:
        Use my_global.h first
      sql/parse_file.cc:
        Use my_global.h first
      sql/partition_info.cc:
        Use my_global.h first
      sql/procedure.cc:
        Use my_global.h first
      sql/protocol.cc:
        Use my_global.h first
      sql/records.cc:
        Use my_global.h first
      sql/records.h:
        Don't include my_global.h
        Better to do this at the upper level
      sql/repl_failsafe.cc:
        Use my_global.h first
      sql/rpl_filter.cc:
        Use my_global.h first
      sql/rpl_gtid.cc:
        Use my_global.h first
      sql/rpl_handler.cc:
        Use my_global.h first
      sql/rpl_injector.cc:
        Use my_global.h first
      sql/rpl_record.cc:
        Use my_global.h first
      sql/rpl_record_old.cc:
        Use my_global.h first
      sql/rpl_reporting.cc:
        Use my_global.h first
      sql/rpl_rli.cc:
        Use my_global.h first
      sql/rpl_tblmap.cc:
        Use my_global.h first
      sql/rpl_utility.cc:
        Use my_global.h first
      sql/set_var.cc:
        Added comment
      sql/slave.cc:
        Use my_global.h first
      sql/sp.cc:
        Use my_global.h first
      sql/sp_cache.cc:
        Use my_global.h first
      sql/sp_head.cc:
        Use my_global.h first
      sql/sp_pcontext.cc:
        Use my_global.h first
      sql/sp_rcontext.cc:
        Use my_global.h first
      sql/spatial.cc:
        Use my_global.h first
      sql/sql_acl.cc:
        Use my_global.h first
      sql/sql_admin.cc:
        Use my_global.h first
      sql/sql_analyse.cc:
        Use my_global.h first
      sql/sql_audit.cc:
        Use my_global.h first
      sql/sql_base.cc:
        Use my_global.h first
      sql/sql_binlog.cc:
        Use my_global.h first
      sql/sql_bootstrap.cc:
        Use my_global.h first
        Use my_global.h first
      sql/sql_cache.cc:
        Use my_global.h first
      sql/sql_class.cc:
        Use my_global.h first
      sql/sql_client.cc:
        Use my_global.h first
      sql/sql_connect.cc:
        Use my_global.h first
      sql/sql_crypt.cc:
        Use my_global.h first
      sql/sql_cursor.cc:
        Use my_global.h first
      sql/sql_db.cc:
        Use my_global.h first
      sql/sql_delete.cc:
        Use my_global.h first
      sql/sql_derived.cc:
        Use my_global.h first
      sql/sql_do.cc:
        Use my_global.h first
      sql/sql_error.cc:
        Use my_global.h first
      sql/sql_explain.cc:
        Use my_global.h first
      sql/sql_expression_cache.cc:
        Use my_global.h first
      sql/sql_handler.cc:
        Use my_global.h first
      sql/sql_help.cc:
        Use my_global.h first
      sql/sql_insert.cc:
        Use my_global.h first
      sql/sql_lex.cc:
        Use my_global.h first
      sql/sql_load.cc:
        Use my_global.h first
      sql/sql_locale.cc:
        Use my_global.h first
      sql/sql_manager.cc:
        Use my_global.h first
      sql/sql_parse.cc:
        Use my_global.h first
      sql/sql_partition.cc:
        Use my_global.h first
      sql/sql_plugin.cc:
        Added comment
      sql/sql_prepare.cc:
        Use my_global.h first
      sql/sql_priv.h:
        Added error if we use this before including my_global.h
        This check is here becasue so many files includes sql_priv.h first.
      sql/sql_profile.cc:
        Use my_global.h first
      sql/sql_reload.cc:
        Use my_global.h first
      sql/sql_rename.cc:
        Use my_global.h first
      sql/sql_repl.cc:
        Use my_global.h first
      sql/sql_select.cc:
        Use my_global.h first
      sql/sql_servers.cc:
        Use my_global.h first
      sql/sql_show.cc:
        Added comment
      sql/sql_signal.cc:
        Use my_global.h first
      sql/sql_statistics.cc:
        Use my_global.h first
      sql/sql_table.cc:
        Use my_global.h first
      sql/sql_tablespace.cc:
        Use my_global.h first
      sql/sql_test.cc:
        Use my_global.h first
      sql/sql_time.cc:
        Use my_global.h first
      sql/sql_trigger.cc:
        Use my_global.h first
      sql/sql_udf.cc:
        Use my_global.h first
      sql/sql_union.cc:
        Use my_global.h first
      sql/sql_update.cc:
        Use my_global.h first
      sql/sql_view.cc:
        Use my_global.h first
      sql/sys_vars.cc:
        Added comment
      sql/table.cc:
        Use my_global.h first
      sql/thr_malloc.cc:
        Use my_global.h first
      sql/transaction.cc:
        Use my_global.h first
      sql/uniques.cc:
        Use my_global.h first
      sql/unireg.cc:
        Use my_global.h first
      sql/unireg.h:
        Removed inclusion of my_global.h
      storage/archive/ha_archive.cc:
        Added comment
      storage/blackhole/ha_blackhole.cc:
        Use my_global.h first
      storage/csv/ha_tina.cc:
        Use my_global.h first
      storage/csv/transparent_file.cc:
        Use my_global.h first
      storage/federated/ha_federated.cc:
        Use my_global.h first
      storage/federatedx/federatedx_io.cc:
        Use my_global.h first
      storage/federatedx/federatedx_io_mysql.cc:
        Use my_global.h first
      storage/federatedx/federatedx_io_null.cc:
        Use my_global.h first
      storage/federatedx/federatedx_txn.cc:
        Use my_global.h first
      storage/heap/ha_heap.cc:
        Use my_global.h first
      storage/innobase/handler/handler0alter.cc:
        Use my_global.h first
      storage/maria/ha_maria.cc:
        Use my_global.h first
      storage/maria/unittest/ma_maria_log_cleanup.c:
        Remove duplicated include files
      storage/maria/unittest/test_file.c:
        Added comment
      storage/myisam/ha_myisam.cc:
        Move sql_plugin.h first as this includes my_global.h
      storage/myisammrg/ha_myisammrg.cc:
        Use my_global.h first
      storage/oqgraph/oqgraph_thunk.cc:
        Use my_config.h and my_global.h first
        One could not include my_global.h before oqgraph_thunk.h (don't know why)
      storage/spider/ha_spider.cc:
        Use my_global.h first
      storage/spider/hs_client/config.cpp:
        Use my_global.h first
      storage/spider/hs_client/escape.cpp:
        Use my_global.h first
      storage/spider/hs_client/fatal.cpp:
        Use my_global.h first
      storage/spider/hs_client/hstcpcli.cpp:
        Use my_global.h first
      storage/spider/hs_client/socket.cpp:
        Use my_global.h first
      storage/spider/hs_client/string_util.cpp:
        Use my_global.h first
      storage/spider/spd_conn.cc:
        Use my_global.h first
      storage/spider/spd_copy_tables.cc:
        Use my_global.h first
      storage/spider/spd_db_conn.cc:
        Use my_global.h first
      storage/spider/spd_db_handlersocket.cc:
        Use my_global.h first
      storage/spider/spd_db_mysql.cc:
        Use my_global.h first
      storage/spider/spd_db_oracle.cc:
        Use my_global.h first
      storage/spider/spd_direct_sql.cc:
        Use my_global.h first
      storage/spider/spd_i_s.cc:
        Use my_global.h first
      storage/spider/spd_malloc.cc:
        Use my_global.h first
      storage/spider/spd_param.cc:
        Use my_global.h first
      storage/spider/spd_ping_table.cc:
        Use my_global.h first
      storage/spider/spd_sys_table.cc:
        Use my_global.h first
      storage/spider/spd_table.cc:
        Use my_global.h first
      storage/spider/spd_trx.cc:
        Use my_global.h first
      storage/xtradb/handler/handler0alter.cc:
        Use my_global.h first
      storage/xtradb/handler/i_s.cc:
        Use my_global.h first
      70823e1d
  24. 26 Aug, 2014 1 commit
    • Jan Lindström's avatar
      MDEV-6247: Merge 10.0-galera to 10.1. · df4dd593
      Jan Lindström authored
      Merged lp:maria/maria-10.0-galera up to revision 3879.
      
      Added a new functions to handler API to forcefully abort_transaction,
      producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These
      were added for future possiblity to add more storage engines that
      could use galera replication.
      df4dd593
  25. 21 Aug, 2014 1 commit
  26. 06 Aug, 2014 1 commit
  27. 01 May, 2014 1 commit
  28. 09 Jan, 2014 1 commit
  29. 26 Nov, 2013 1 commit
  30. 18 Oct, 2013 2 commits
    • Sergei Golubchik's avatar
      b2f16628
    • Sergei Golubchik's avatar
      cleanup · 02a72919
      Sergei Golubchik authored
      sql/sp.cc:
        don't split "user@host" string in db_load_routine, because the caller needs to
        generate it from user and host. instead pass user and host directly into db_load_routine
      sql/sql_parse.cc:
        1. REVOKE ALL doesn't need invoker.
        2. make sp_process_definer() reusable
      sql/sql_trigger.cc:
        don't duplicate the code from sp_process_definer(), reuse it
      sql/sql_view.cc:
        don't duplicate the code from sp_process_definer(), reuse it
      02a72919
  31. 14 Oct, 2013 1 commit
  32. 13 Jul, 2013 1 commit
  33. 15 Jun, 2013 1 commit
  34. 18 Apr, 2013 1 commit
  35. 17 Apr, 2013 1 commit
    • Michael Widenius's avatar
      Fixed compiler warnings and a not critical memory leak · 8e526985
      Michael Widenius authored
      sql/keycaches.cc:
        Added free_all_rpl_filters() to be able to free all filters at cleanup
      sql/keycaches.h:
        Added prototype
      sql/rpl_rli.cc:
        Fixed compiler warning
      sql/slave.cc:
        Free all rpl_filters at cleanup
      sql/sp.cc:
        Fixed compiler warning when not all struct elements was initialized
      sql/sql_acl.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_events_waits.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_events_waits_summary.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_ews_global_by_event_name.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_file_instances.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_file_summary.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_performance_timers.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_setup_consumers.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_setup_instruments.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_setup_timers.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_sync_instances.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/perfschema/table_threads.cc:
        Fixed compiler warning when not all struct elements was initialized
      storage/xtradb/os/os0file.c:
        Fixed compiler warning when not all struct elements was initialized
      8e526985
  36. 17 Oct, 2012 1 commit
    • unknown's avatar
      MDEV-452 Add full support for auto-initialized/updated timestamp and datetime · bc4a4567
      unknown authored
      Generalized support for auto-updated and/or auto-initialized timestamp
      and datetime columns. This patch is a reimplementation of MySQL's
      "WL#5874: CURRENT_TIMESTAMP as DEFAULT for DATETIME columns". In order to
      ease future merges, this implementation reused few function and variable
      names from MySQL's patch, however the implementation is quite different.
      
      TODO:
      The only unresolved problem in this patch is the semantics of LOAD DATA for
      TIMESTAMP and DATETIME columns in the cases when there are missing or NULL
      columns. I couldn't fully comprehend the logic behind MySQL's behavior and
      its relationship with their own documentation, so I left the results to be
      more consistent with all other LOAD cases.
      
      The problematic test cases can be seen by running the test file function_defaults,
      and observing the test case differences. Those were left on purpose for discussion.
      bc4a4567