An error occurred fetching the project authors.
  1. 19 Apr, 2009 1 commit
    • Alfranio Correia's avatar
      BUG#43949 Initialization of slave produces a warning message in Valgrind · 8caf4bfc
      Alfranio Correia authored
      In order to define the --slave-load-tmpdir, the init_relay_log_file()
      was calling fn_format(MY_PACK_FILENAME) which internally was indirectly
      calling strmov_overlapp() (through pack_dirname) and the following
      warning message was being printed out while running in Valgrind:
      "source and destination overlap in strcpy".
      
      We fixed the issue by removing the flag MY_PACK_FILENAME as it was not
      necessary. In a nutshell, with this flag the function fn_format() tried
      to replace a directory by either "~", "." or "..". However, we wanted
      exactly to remove such strings.
      
      In this patch, we also refactored the functions init_relay_log_file()
      and check_temp_dir(). The former was refactored to call the fn_format()
      with the flag MY_SAFE_PATH along with the MY_RETURN_REAL_PATH,  in order
      to avoid issues with long directories and return an absolute path,
      respectively. The flag MY_SAFE_UNPACK_FILENAME was removed too as it was
      responsible for removing "~", "." or ".." only from the file parameter
      and we wanted to remove such strings from the directory parameter in
      the fn_format(). This result is stored in an rli variable, which is then
      processed by the other function in order to verify if the directory exists
      and if we are able to create files in it.
      8caf4bfc
  2. 10 May, 2007 1 commit
    • monty@mysql.com/narttu.mysql.fi's avatar
      WL#3817: Simplify string / memory area types and make things more consistent (first part) · 088e2395
      monty@mysql.com/narttu.mysql.fi authored
      The following type conversions was done:
      
      - Changed byte to uchar
      - Changed gptr to uchar*
      - Change my_string to char *
      - Change my_size_t to size_t
      - Change size_s to size_t
      
      Removed declaration of byte, gptr, my_string, my_size_t and size_s. 
      
      Following function parameter changes was done:
      - All string functions in mysys/strings was changed to use size_t
        instead of uint for string lengths.
      - All read()/write() functions changed to use size_t (including vio).
      - All protocoll functions changed to use size_t instead of uint
      - Functions that used a pointer to a string length was changed to use size_t*
      - Changed malloc(), free() and related functions from using gptr to use void *
        as this requires fewer casts in the code and is more in line with how the
        standard functions work.
      - Added extra length argument to dirname_part() to return the length of the
        created string.
      - Changed (at least) following functions to take uchar* as argument:
        - db_dump()
        - my_net_write()
        - net_write_command()
        - net_store_data()
        - DBUG_DUMP()
        - decimal2bin() & bin2decimal()
      - Changed my_compress() and my_uncompress() to use size_t. Changed one
        argument to my_uncompress() from a pointer to a value as we only return
        one value (makes function easier to use).
      - Changed type of 'pack_data' argument to packfrm() to avoid casts.
      - Changed in readfrm() and writefrom(), ha_discover and handler::discover()
        the type for argument 'frmdata' to uchar** to avoid casts.
      - Changed most Field functions to use uchar* instead of char* (reduced a lot of
        casts).
      - Changed field->val_xxx(xxx, new_ptr) to take const pointers.
      
      Other changes:
      - Removed a lot of not needed casts
      - Added a few new cast required by other changes
      - Added some cast to my_multi_malloc() arguments for safety (as string lengths
        needs to be uint, not size_t).
      - Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done
        explicitely as this conflict was often hided by casting the function to
        hash_get_key).
      - Changed some buffers to memory regions to uchar* to avoid casts.
      - Changed some string lengths from uint to size_t.
      - Changed field->ptr to be uchar* instead of char*. This allowed us to
        get rid of a lot of casts.
      - Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar
      - Include zlib.h in some files as we needed declaration of crc32()
      - Changed MY_FILE_ERROR to be (size_t) -1.
      - Changed many variables to hold the result of my_read() / my_write() to be
        size_t. This was needed to properly detect errors (which are
        returned as (size_t) -1).
      - Removed some very old VMS code
      - Changed packfrm()/unpackfrm() to not be depending on uint size
        (portability fix)
      - Removed windows specific code to restore cursor position as this
        causes slowdown on windows and we should not mix read() and pread()
        calls anyway as this is not thread safe. Updated function comment to
        reflect this. Changed function that depended on original behavior of
        my_pwrite() to itself restore the cursor position (one such case).
      - Added some missing checking of return value of malloc().
      - Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow.
      - Changed type of table_def::m_size from my_size_t to ulong to reflect that
        m_size is the number of elements in the array, not a string/memory
        length.
      - Moved THD::max_row_length() to table.cc (as it's not depending on THD).
        Inlined max_row_length_blob() into this function.
      - More function comments
      - Fixed some compiler warnings when compiled without partitions.
      - Removed setting of LEX_STRING() arguments in declaration (portability fix).
      - Some trivial indentation/variable name changes.
      - Some trivial code simplifications:
        - Replaced some calls to alloc_root + memcpy to use
          strmake_root()/strdup_root().
        - Changed some calls from memdup() to strmake() (Safety fix)
        - Simpler loops in client-simple.c
      088e2395
  3. 23 Dec, 2006 1 commit
  4. 31 Dec, 2005 1 commit
    • bar@mysql.com's avatar
      WL#1324 table name to file name encoding · 6ff21132
      bar@mysql.com authored
      - Encoding itself, implemented as a charset
        "filename". Originally planned to use '.'
        as an escape character, but now changed to '@'
        for two reasons: "ls" does not return
        file names starting with '.' considering them
        as a kind of hidden files; some platforms
        do not allow several dots in a file name.
      - replacing many calls of my_snprintf() and
        strnxmov() to the new build_table_filename().
      - Adding MY_APPEND_EXT mysys flag, to append
        an extention rather that replace it.
      - Replacing all numeric constants in fn_format
        flag arguments to their mysys definitions, e.g.
        MY_UNPACK_FILENAME,
      - Predictability in several function/methods:
        when a table name can appear with or withot .frm
        extension. Some functions/methods were changed
        so accept names strictly with .frm, other - strictly
        without .frm extensions. Several DBUG_ASSERTs were
        added to check whether an extension is passed.
      Many files:
        table name to file name encoding
      mysql_priv.h:
        Prototypes for new table name encoding tools.
      ctype-utf8.c:
        Implementing "filename" charset for
        table name to file name encoding.
      row0mysql.c:
        Fixing table name prefix.
      mf_format.c:
        Adding MY_APPEND_EXT processing.
      Many files:
        Fixing tests.
      my_sys.h:
        Adding new flag to append rather than replace an extension.
      m_ctype.h:
        Adding "filename" charset definition.
      6ff21132
  5. 06 Oct, 2005 1 commit
    • monty@mysql.com's avatar
      Review of code pushed since last 5.0 pull: · 78e828d3
      monty@mysql.com authored
      Ensure that ccache is also used for C programs
      mysql: Ensure that 'delimiter' works the same way in batch mode as in normal mode
      mysqldump: Change to use ;; (instead of //) as a stored procedure/trigger delimiter
      Fixed test cases by adding missing DROP's and rename views to be of type 'v#'
      Removed MY_UNIX_PATH from fn_format()
      Removed current_db_used from TABLE_LIST
      Removed usage of 'current_thd' in Item_splocal
      Removed some compiler warnings
      A bit faster longlong2str code
      78e828d3
  6. 30 Aug, 2005 1 commit
  7. 07 Sep, 2004 1 commit
  8. 07 Aug, 2003 1 commit
  9. 24 Jul, 2003 1 commit
  10. 12 Mar, 2002 1 commit
  11. 06 Dec, 2001 1 commit
  12. 08 Oct, 2001 1 commit
    • monty@hundin.mysql.fi's avatar
      Updated manual about embedded version. · 88aff4bf
      monty@hundin.mysql.fi authored
      Speed up column-completion in 'mysql'
      Don't use ISAM if HAVE_ISAM is not defined
      A lot of fixes for the embedded version.  All libraries are now included in libmysqld.a
      Changed arguments to convert_dirname() to make it more general.
      Renamed files in the 'merge' directory to all use a common prefix.
      Don't compile both assembler and C functions on x86
      88aff4bf
  13. 21 Aug, 2001 1 commit
  14. 04 Jun, 2001 1 commit
    • monty@hundin.mysql.fi's avatar
      . · f4a0f179
      monty@hundin.mysql.fi authored
      Changed usage of sumlink/realpath  in fn_format() to be compatbile
      with old MySQL code
      f4a0f179
  15. 01 Jun, 2001 1 commit
  16. 31 May, 2001 1 commit
    • monty@hundin.mysql.fi's avatar
      Removed compiler warnings. · b7c3a281
      monty@hundin.mysql.fi authored
      Added preliminary handling of symlinks in MyISAM.
      When using myisamchk to check tables with --force, don't repair
      tables that are marked as 'not closed' if they are ok.
      Change fn_format() to use my_real_path and my_symlink
      b7c3a281
  17. 18 Feb, 2001 1 commit
  18. 19 Jan, 2001 1 commit
  19. 28 Nov, 2000 1 commit
  20. 28 Oct, 2000 1 commit
  21. 20 Sep, 2000 1 commit
  22. 19 Sep, 2000 1 commit
  23. 16 Sep, 2000 1 commit
  24. 31 Jul, 2000 1 commit