An error occurred fetching the project authors.
  1. 02 May, 2006 1 commit
  2. 13 Apr, 2006 1 commit
  3. 29 Mar, 2006 1 commit
    • monty@mysql.com's avatar
      Fixed compiler and valgrind warnings · 1994ed49
      monty@mysql.com authored
      Added missing DBUG_xxx_RETURN statements
      Fixed some usage of not initialized variables (as found by valgrind)
      Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
      This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
      This will allow Tomas to continue with his work to use namelocks to syncronize things.
      
      Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests
      1994ed49
  4. 25 Feb, 2006 1 commit
    • guilhem@mysql.com's avatar
      WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement), · 00717495
      guilhem@mysql.com authored
      and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
      in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
      SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
      the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
      It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
      TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
      NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
      The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
      including in prepared statements and in stored procedures and functions.
      Caveats:
      a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
      always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
      b) for the same reason, changing the thread's binlog format inside a stored function is
      refused with an error message.
      c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
      Dmitri).
      Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
      which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
      (not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
      set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
      phantom protection).
      Plus fixes for compiler warnings.
      00717495
  5. 20 Feb, 2006 1 commit
  6. 14 Feb, 2006 1 commit
    • serg@serg.mylan's avatar
      dbug changes: · 63cfd118
      serg@serg.mylan authored
      1. dbug state is now local to a thread
      2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL,
         DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF
      3. macros are do{}while(0) wrapped
      4. incremental modifications to the dbug state (e.g. "+d,info:-t")
      5. dbug code cleanup, style fixes
      6. _db_on_ and DEBUGGER_ON/OFF removed
      7. rest of MySQL code fixed because of 3 (missing ;) and 6
      8. dbug manual updated
      9. server variable @@debug (global and local) to control dbug from SQL!
      a. -#T to print timestamps in the log
      63cfd118
  7. 11 Feb, 2006 1 commit
    • sergefp@mysql.com's avatar
      BUG#17314: Can't use index_merge/intersection for MERGE tables · f95b5b0a
      sergefp@mysql.com authored
      1. Fix index access costs for MERGE tables, set block_size=myisam_block_size/#underlying_tables 
         instead of 0 which it was before.
      2. Make index scans on MERGE table to return records in (key_tuple, merge_table_rowid) order, 
         instead of just (key_tuple) order. This makes an index scan on MERGE table to be truly a ROR-scan
         which is a requirement for index_merge union/intersection.
      f95b5b0a
  8. 28 Jan, 2006 1 commit
  9. 17 Jan, 2006 1 commit
  10. 11 Jan, 2006 1 commit
  11. 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
  12. 21 Dec, 2005 1 commit
  13. 23 Nov, 2005 1 commit
    • monty@mysql.com's avatar
      Table definition cache, part 2 · e42c9809
      monty@mysql.com authored
      The table opening process now works the following way:
      - Create common TABLE_SHARE object
      - Read the .frm file and unpack it into the TABLE_SHARE object
      - Create a TABLE object based on the information in the TABLE_SHARE
        object and open a handler to the table object
      
      Other noteworthy changes:
      - In TABLE_SHARE the most common strings are now LEX_STRING's
      - Better error message when table is not found
      - Variable table_cache is now renamed 'table_open_cache'
      - New variable 'table_definition_cache' that is the number of table defintions that will be cached
      - strxnmov() calls are now fixed to avoid overflows
      - strxnmov() will now always add one end \0 to result
      - engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
      - After creating a field object one must call field->init(table) before using it
      
      - For a busy system this change will give you:
       - Less memory usage for table object
       - Faster opening of tables (if it's has been in use or is in table definition cache)
       - Allow you to cache many table definitions objects
       - Faster drop of table
      e42c9809
  14. 20 Nov, 2005 1 commit
    • bell@sanja.is.com.ua's avatar
      Inefficient usage of String::append() fixed. · 806f9e24
      bell@sanja.is.com.ua authored
      Bad examples of usage of a string with its length fixed.
      The incorrect length in the trigger file configuration descriptor
        fixed (BUG#14090).
      A hook for unknown keys added to the parser to support old .TRG files.
      806f9e24
  15. 07 Nov, 2005 1 commit
  16. 03 Oct, 2005 1 commit
    • brian@zim.(none)'s avatar
      Next big patch for loadable storage engines! · 54a95899
      brian@zim.(none) authored
      Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail. 
      54a95899
  17. 30 Sep, 2005 1 commit
  18. 19 Sep, 2005 1 commit
  19. 22 Jul, 2005 1 commit
  20. 20 Jul, 2005 1 commit
    • konstantin@mysql.com's avatar
      Implement MySQL framework to support consistent read views in · 21957c42
      konstantin@mysql.com authored
      cursors. This should fix Bug#11813 when InnoDB part is in 
      (tested with a draft patch).
      The idea of the patch is that if a storage engine supports
      consistent read views, we open one when open a cursor,
      set is as the active view when fetch from the cursor, and close
      together with cursor close.
      21957c42
  21. 19 Jul, 2005 1 commit
    • konstantin@mysql.com's avatar
      A fix and a test case for Bug#10760 and complementary cleanups. · 14344b65
      konstantin@mysql.com authored
      The idea of the patch
      is that every cursor gets its own lock id for table level locking.
      Thus cursors are protected from updates performed within the same 
      connection. Additionally a list of transient (must be closed at
      commit) cursors is maintained and all transient cursors are closed
      when necessary. Lastly, this patch adds support for deadlock
      timeouts to TLL locking when using cursors.
      + post-review fixes.
      14344b65
  22. 13 Jun, 2005 1 commit
  23. 05 Jun, 2005 1 commit
  24. 03 Jun, 2005 1 commit
    • monty@mysql.com's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 29fd1f2f
      monty@mysql.com authored
      Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
      Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
      Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
      29fd1f2f
  25. 02 Jun, 2005 1 commit
    • kent@mysql.com's avatar
      tztime.cc: · bd48eed9
      kent@mysql.com authored
        Set #pragma implementation" earlier
      Many files:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      bd48eed9
  26. 26 May, 2005 1 commit
  27. 24 May, 2005 1 commit
  28. 23 May, 2005 2 commits
    • reggie@mdk10.(none)'s avatar
      BUG#10687 - Merge engine fails under Windows · c492ffcf
      reggie@mdk10.(none) authored
      This final cset is to fix a syntax problem in ha_myisammrg.cc where a / was left out of a format string.
      It also adds a check in has_path to avoid a possible redundant comparison.
      
      ha_myisammrg.cc:
        Replaced missing / in format string
      my_getwd.c:
        Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
      c492ffcf
    • reggie@mdk10.(none)'s avatar
      BUG# 10687: Merge engine fails under Windows · 1c0da611
      reggie@mdk10.(none) authored
      This cset is to roll out the cset applied earlier from Ingo.
      This bug has been fixed with a different cset.
      1c0da611
  29. 19 May, 2005 1 commit
  30. 29 Apr, 2005 1 commit
  31. 28 Apr, 2005 1 commit
    • ingo@mysql.com's avatar
      BUG#5964 - 4.1 MERGE tables regression from 4.0 · 1f0d0a67
      ingo@mysql.com authored
      Changed the creation of the .MRG file so that only the table  name
      is written when the MyISAM table is in the same database as the
      MERGE table, a relative path is used in other cases in mysqld,
      and possibly an absolute path is used in an embedded server.
      No test case is added as the external behaviour is unchanged.
      Only the file names within the .MRG file are changed.
      1f0d0a67
  32. 27 Apr, 2005 2 commits
  33. 06 Jan, 2005 1 commit
    • monty@mysql.com's avatar
      First stage of table definition cache · d35140a8
      monty@mysql.com authored
      Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
      Created Field::make_field() and made Field_num::make_field() to call this
      Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
      Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
      Renamed TABLE_SHARE->real_name to table_name
      Renamed TABLE->table_name to alias
      Renamed TABLE_LIST->real_name to table_name
      d35140a8
  34. 27 Dec, 2004 1 commit
  35. 23 Nov, 2004 1 commit
  36. 12 Nov, 2004 1 commit
  37. 07 Nov, 2004 1 commit
  38. 01 Oct, 2004 1 commit
    • dlenev@brandersnatch.localdomain's avatar
      Support for TIMESTAMP columns holding NULL values. Unlike all other · 2511990c
      dlenev@brandersnatch.localdomain authored
      column types TIMESTAMP is NOT NULL by default, so in order to have 
      TIMESTAMP column holding NULL valaues you have to specify NULL as
      one of its attributes (this needed for backward compatibility).
      
      Main changes:
      Replaced TABLE::timestamp_default_now/on_update_now members with
      TABLE::timestamp_auto_set_type flag which is used everywhere
      for determining if we should auto-set value of TIMESTAMP field 
      during this operation or not. We are also use Field_timestamp::set_time()
      instead of handler::update_timestamp() in handlers.
      2511990c