An error occurred fetching the project authors.
  1. 24 Oct, 2008 1 commit
  2. 17 Jun, 2008 1 commit
  3. 27 Jul, 2007 1 commit
    • svoj@mysql.com/june.mysql.com's avatar
      BUG#29957 - alter_table.test fails · 9d1bfec2
      svoj@mysql.com/june.mysql.com authored
      INSERT/DELETE/UPDATE followed by ALTER TABLE within LOCK TABLES
      may cause table corruption on Windows.
      
      That happens because ALTER TABLE writes outdated shared state
      info into index file.
      
      Fixed by removing obsolete workaround.
      
      Affects MyISAM tables on Windows only.
      9d1bfec2
  4. 01 Jun, 2007 1 commit
    • evgen@moonbone.local's avatar
      Bug#28427: Columns were renamed instead of moving by ALTER TABLE. · fc01b099
      evgen@moonbone.local authored
      To avoid unnecessary work the mysql_alter_table function takes the
      list of table fields and applies all changes to it (drops/moves/renames/etc).
      Then this function compares the new list and the old one. If the changes
      require only .frm to be modified then the actual data isn't copied. To detect
      changes all columns attributes but names are compared. When a column has been
      moved and has replaced another column with the same attributes except name
      the mysql_alter_table function wrongly decides that two fields has been just
      renamed. As a result the data from the moved column and from all columns
      after it is not copied.
      
      Now the mysql_alter_table function forces table data copying by setting
      the need_copy_table flag when it finds a moved column. The flag is set at
      the stage when the modified fields are created.
      fc01b099
  5. 21 May, 2007 1 commit
    • evgen@moonbone.local's avatar
      Bug#27507: Wrong DATETIME value was allowed by ALTER TABLE in the NO_ZERO_DATE · 90aa0271
      evgen@moonbone.local authored
      mode.
      
      When a new DATE/DATETIME field without default value is being added by the
      ALTER TABLE the '0000-00-00' value is used as the default one. But it wasn't
      checked whether such value was allowed by the set sql mode. Due to this
      '0000-00-00' values was allowed for DATE/DATETIME fields even in the
      NO_ZERO_DATE mode.
      
      Now the mysql_alter_table() function checks whether the '0000-00-00' value
      is allowed for DATE/DATETIME fields by the set sql mode.
      The new error_if_not_empty flag is used in the mysql_alter_table() function
      to indicate that it should abort if the table being altered isn't empty.
      The new new_datetime_field field is used in the mysql_alter_table() function
      for error throwing purposes. 
      The new error_if_not_empty parameter is added to the copy_data_between_tables()
      function to indicate the it should return error if the source table isn't empty.
      90aa0271
  6. 19 May, 2007 1 commit
    • dlenev@mockturtle.local's avatar
      Patch changing how ALTER TABLE implementation handles table locking · b0dfdc2b
      dlenev@mockturtle.local authored
      and invalidation in the most general case (non-temporary table and
      not simple RENAME or ENABLE/DISABLE KEYS or partitioning command).
      
      See comment for sql/sql_table.cc for more information.
      
      These changes are prerequisite for 5.1 version of fix for bug #23667
      "CREATE TABLE LIKE is not isolated from alteration by other connections"
      b0dfdc2b
  7. 28 Apr, 2007 1 commit
    • gshchepa/uchum@gshchepa.loc's avatar
      Fixed bug #20710. · 3322b3c0
      gshchepa/uchum@gshchepa.loc authored
      This bug occurs when error message length exceeds allowed limit: my_error()
      function outputs "%s" sequences instead of long string arguments.
      
      Formats like %-.64s are very common in errmsg.txt files, however my_error()
      function simply ignores precision of those formats.
      3322b3c0
  8. 14 Mar, 2007 2 commits
    • gkodinov/kgeorge@magare.gmz's avatar
      Bug #26794: 5.1 part · 03df3bf6
      gkodinov/kgeorge@magare.gmz authored
       It was syntactically correct to define 
       spatial keys over parts of columns (e.g.
       ALTER TABLE t1 ADD x GEOMETRY NOT NULL, 
         ADD SPATIAL KEY (x(32))).
       This may lead to undefined results and/or
       interpretation.
       Fixed by not allowing partial column 
       specification in a SPATIAL index definition.
      03df3bf6
    • gkodinov/kgeorge@magare.gmz's avatar
      Bug #26794: · 8c1f70ae
      gkodinov/kgeorge@magare.gmz authored
      Different set of conditions is used to verify
      the validity of index definitions over a GEOMETRY
      column in ALTER TABLE and CREATE TABLE. 
      The difference was on how sub-keys notion validity
      is checked.
      Fixed by extending the CREATE TABLE condition to
      support the cases allowed in ALTER TABLE.
      Made the SHOW CREATE TABLE not to display spatial
      indexes using the sub-key notion.
      8c1f70ae
  9. 12 Mar, 2007 1 commit
    • gkodinov/kgeorge@magare.gmz's avatar
      Bug #26794: · 36d2a231
      gkodinov/kgeorge@magare.gmz authored
      Different set of conditions is used to verify
      the validity of index definitions over a GEOMETRY
      column in ALTER TABLE and CREATE TABLE. 
      The difference was on how sub-keys notion validity
      is checked.
      Fixed by extending the CREATE TABLE condition to
      support the cases allowed in ALTER TABLE.
      Made the SHOW CREATE TABLE not to display spatial
      indexes using the sub-key notion.
      36d2a231
  10. 01 Mar, 2007 1 commit
  11. 19 Jan, 2007 1 commit
  12. 18 Jan, 2007 1 commit
    • malff/marcsql@weblab.(none)'s avatar
      Bug#24562 (ALTER TABLE ... ORDER BY ... with complex expression asserts) · 436e1f59
      malff/marcsql@weblab.(none) authored
      WL#3681 (ALTER TABLE ORDER BY)
      
      Before this fix, the ALTER TABLE statement implemented an ORDER BY option
      with the following characteristics :
      
      1) The order by clause accepts a list of criteria, with optional ASC or
      DESC keywords
      
      2) Each criteria can be a general expression, involving operators,
      native functions, stored functions, user defined functions, subselects ...
      
      With this fix :
      
      1) has been left unchanged, since it's a de-facto existing feature,
      that was already present in the code base and partially covered in the test
      suite. Code coverage for ASC and DESC was missing and has been improved.
      
      2) has been changed to limit the kind of criteria that are permissible:
      now only a column name is valid.
      436e1f59
  13. 07 Dec, 2006 1 commit
  14. 04 Dec, 2006 1 commit
    • andrey@example.com's avatar
      Fix for bug#22369: Alter table rename combined · e6a47277
      andrey@example.com authored
      with other alterations causes lost tables
      
      Using RENAME clause combined with other clauses of ALTER TABLE led to
      data loss (the data was there but not accessible). This could happen if the
      changes do not change the table much. Adding and droppping of fields and
      indices was safe. Renaming a column with MODIFY or CHANGE was unsafe operation,
      if the actual column didn't change (changing from int to int, which is a noop)
        
      Depending on the storage engine (SE) the behavior is different:
      1)MyISAM/MEMORY - the ALTER TABLE statement completes
        without any error but next SELECT against the new table fails.
      2)InnoDB (and every other transactional table) - The ALTER TABLE statement
        fails. There are the the following files in the db dir -
        `new_table_name.frm` and a temporary table's frm. If the SE is file
        based, then the data and index files will be present but with the old
        names. What happens is that for InnoDB the table is not renamed in the
        internal DDIC.
      
      Fixed by adding additional call to mysql_rename_table() method, which should
      not include FRM file rename, because it has been already done during file
      names juggling.
      e6a47277
  15. 28 Nov, 2006 1 commit
    • andrey@example.com's avatar
      Fix for bug#24395: · 100dd45e
      andrey@example.com authored
      ALTER TABLE DISABLE KEYS doesn't work when modifying the table
        
      ENABLE|DISABLE KEYS combined with another ALTER TABLE option, different
      than RENAME TO did nothing. Also, if the table had disabled keys
      and was ALTER-ed then the end table was with enabled keys.
        
      Fixed by checking whether the table had disabled keys and enabling them
      in the copied table.
      100dd45e
  16. 16 Nov, 2006 1 commit
  17. 16 Oct, 2006 1 commit
  18. 03 Aug, 2006 1 commit
  19. 02 Aug, 2006 1 commit
    • ingo/istruewing@chilla.local's avatar
      Bug#18775 - Temporary table from alter table visible to other threads · 8e4c36ad
      ingo/istruewing@chilla.local authored
      Continued implementation of WL#1324 (table name to filename encoding)
      
      The intermediate (not temporary) files of the new table
      during ALTER TABLE was visible for SHOW TABLES. These
      intermediate files are copies of the original table with
      the changes done by ALTER TABLE. After all the data is
      copied over from the original table, these files are renamed 
      to the original tables file names. So they are not temporary 
      files. They persist after ALTER TABLE, but just with another 
      name.
      
      In 5.0 the intermediate files are invisible for SHOW TABLES
      because all file names beginning with "#sql" were suppressed.
      
      This failed since 5.1.6 because even temporary table names were
      converted when making file names from them. The prefix became
      converted to "@0023sql". Converting the prefix during SHOW TABLES
      would suppress the listing of user tables that start with "#sql".
      
      The solution of the problem is to continue the implementation of
      the table name to file name conversion feature. One requirement
      is to suppress the conversion for temporary table names.
      
      This change is straightforward for real temporary tables as there
      is a function that creates temporary file names.
      
      But the generated path names are located in TMPDIR and have no
      relation to the internal table name. This cannot be used for
      ALTER TABLE. Its intermediate files need to be in the same
      directory as the old table files. And it is necessary to be
      able to deduce the same path from the same table name repeatedly.
      
      Consequently the intermediate table files must be handled like normal
      tables. Their internal names shall start with tmp_file_prefix
      (#sql) and they shall not be converted like normal table names.
      
      I added a flags parameter to all relevant functions that are
      called from ALTER TABLE. It is used to suppress the conversion
      for the intermediate table files.
      
      The outcome is that the suppression of #sql in SHOW TABLES
      works again. It does not suppress user tables as these are
      converted to @0023sql on file level.
      
      This patch does also fix ALTER TABLE ... RENAME, which could not 
      rename a table with non-ASCII characters in its name.
      
      It does also fix the problem that a user could create a table like
      `#sql-xxxx-yyyy`, where xxxx is mysqld's pid and yyyy is the thread
      ID of some other thread, which prevented this thread from running 
      ALTER TABLE.
      
      Some of the above problems are mentioned in Bug 1405, which can
      be closed with this patch.
      
      This patch does also contain some minor fixes for other forgotten
      conversions. Still known problems are reported as bugs 21370,
      21373, and 21387.
      8e4c36ad
  20. 15 May, 2006 1 commit
    • jani@a193-229-222-105.elisa-laajakaista.fi's avatar
      Fix, or a workaround for Bug#19386 "Multiple alter causes crashed table" · 3846438a
      The problem is that in a MyISAM table the following column
      after a varchar field gets corrupted, if varchar field is
      extended.
      
      This should be made to work without a copy in the future, but
      I'm not sure if this code is ready yet. This fix will force copy
      in this case. It will not do any harm to have it here, only makes
      alter table a bit slower in this case. If this should work for
      MyISAM, then the bug is somewhere else in that code.
      
      Until it works, I propose this as a temporary fix or a workaround.
      Test case for the bug has been added.
      3846438a
  21. 15 Mar, 2006 2 commits
  22. 16 Jan, 2006 1 commit
  23. 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
  24. 30 Nov, 2005 1 commit
  25. 28 Nov, 2005 1 commit
  26. 24 Nov, 2005 1 commit
  27. 13 Oct, 2005 1 commit
    • bar@mysql.com's avatar
      type_binary.result, type_binary.test: · 39b0712c
      bar@mysql.com authored
        new file
      mysql_fix_privilege_tables.sql, mysql_create_system_tables.sh:
        Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding.
      Many files:
        Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes.
        Adding true BINARY/VARBINARY: new pad_char structure member.
      ctype-bin.c:
        Adding true BINARY/VARBINARY: new pad_char structure member.
        New strnxfrm, with two trailing length bytes.
      field.cc:
        Adding true BINARY/VARBINARY.
      39b0712c
  28. 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
  29. 31 Aug, 2005 1 commit
  30. 29 Aug, 2005 2 commits
  31. 28 Jul, 2005 1 commit
  32. 22 Jul, 2005 1 commit
  33. 14 May, 2005 1 commit
  34. 13 May, 2005 1 commit
  35. 08 May, 2005 1 commit
    • antony@ltantony.mysql.com's avatar
      Bug#6236 · d51308ae
      antony@ltantony.mysql.com authored
        Incomplete ALTER TABLE breaks MERGE compatibility
        Fix implicit NOT NULL not set on ALTER of PK columns
      d51308ae
  36. 10 Feb, 2005 1 commit
  37. 18 Jan, 2005 1 commit