An error occurred fetching the project authors.
- 24 Oct, 2008 1 commit
-
-
Ramil Kalimullin authored
Problem: mysqld doesn't detect that enum data must be reinserted performing 'ALTER TABLE' in some cases. Fix: reinsert data altering an enum field if enum values are changed.
-
- 17 Jun, 2008 1 commit
-
-
Davi Arnaut authored
The problem was that when comparing tables for a possible fast alter table, the comparison was being performed using the parsed information and not the final definition. The solution is to use the possible final table layout to compare if a fast alter is possible or not.
-
- 27 Jul, 2007 1 commit
-
-
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.
-
- 01 Jun, 2007 1 commit
-
-
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.
-
- 21 May, 2007 1 commit
-
-
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.
-
- 19 May, 2007 1 commit
-
-
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"
-
- 28 Apr, 2007 1 commit
-
-
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.
-
- 14 Mar, 2007 2 commits
-
-
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.
-
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.
-
- 12 Mar, 2007 1 commit
-
-
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.
-
- 01 Mar, 2007 1 commit
-
-
msvensson@pilot.blaudden authored
- Try to copy the autoincrement value when altering the table
-
- 19 Jan, 2007 1 commit
-
-
malff/marcsql@weblab.(none) authored
-
- 18 Jan, 2007 1 commit
-
-
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.
-
- 07 Dec, 2006 1 commit
-
-
svoj@mysql.com/april.(none) authored
table ROW_FORMAT option is lost during CREATE/DROP INDEX. This fix forces CREATE/DROP INDEX to retain ROW_FORMAT by instructing mysql_alter_table() that ROW_FORMAT is not used during creating/dropping indexes.
-
- 04 Dec, 2006 1 commit
-
-
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.
-
- 28 Nov, 2006 1 commit
-
-
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.
-
- 16 Nov, 2006 1 commit
-
-
andrey@example.com authored
There was an improper order of doing chained operations. To the documentor: ENABLE|DISABLE KEYS combined with RENAME TO, and no other ALTER TABLE clause, leads to server crash independent of the presence of indices and data in the table.
-
- 16 Oct, 2006 1 commit
-
-
jani@ua141d10.elisa.omakaista.fi authored
-
- 03 Aug, 2006 1 commit
-
-
ingo/istruewing@chilla.local authored
New test cases. Names with umlauts don't compare well on Windows.
-
- 02 Aug, 2006 1 commit
-
-
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.
-
- 15 May, 2006 1 commit
-
-
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.
-
- 15 Mar, 2006 2 commits
-
-
jani@ibmlab.site authored
actually adds zeroes, not spaces at the end.
-
jani@ibmlab.site authored
-
- 16 Jan, 2006 1 commit
-
-
konstantin@mysql.com authored
-
- 31 Dec, 2005 1 commit
-
-
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.
-
- 30 Nov, 2005 1 commit
-
-
jimw@mysql.com authored
-
- 28 Nov, 2005 1 commit
-
-
joerg@mysql.com authored
Care for case-insignificant platforms (Mac OS X, Windows).
-
- 24 Nov, 2005 1 commit
-
-
holyfoot@deer.(none) authored
-
- 13 Oct, 2005 1 commit
-
-
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.
-
- 06 Oct, 2005 1 commit
-
-
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
-
- 31 Aug, 2005 1 commit
-
-
tulin@dl145b.mysql.com authored
-
- 29 Aug, 2005 2 commits
-
-
andrey@lmy004. authored
causes ERROR 2013). (all-in-one approved patch)
-
ingo@mysql.com authored
Supplied the default database name for ALTER TABLE ... RENAME for the new table instead of the old tables db like we do for other ALTERs.
-
- 28 Jul, 2005 1 commit
-
-
monty@mysql.com authored
-
- 22 Jul, 2005 1 commit
-
-
- 14 May, 2005 1 commit
-
-
monty@mysql.com authored
-
- 13 May, 2005 1 commit
-
-
monty@mysql.com authored
Count null_bits separately from field offsets and adjust them in case of primary key parts. (Previously a CREATE TABLE with a lot of null fields that was part of a primary key caused MySQL to wrongly count the number of bytes needed to store null bits) This is a more complete bug fix for #6236
-
- 08 May, 2005 1 commit
-
-
antony@ltantony.mysql.com authored
Incomplete ALTER TABLE breaks MERGE compatibility Fix implicit NOT NULL not set on ALTER of PK columns
-
- 10 Feb, 2005 1 commit
-
-
jimw@mysql.com authored
to grant.test and using replace_column to neuter the Privileges column in SHOW FULL COLUMNS.
-
- 18 Jan, 2005 1 commit
-
-
dlenev@brandersnatch.localdomain authored
prefix", which roots were fixed in 4.0 tree.
-