Commit graph

75 commits

Author SHA1 Message Date
jani@a193-229-222-105.elisa-laajakaista.fi
3846438a9c Fix, or a workaround for Bug#19386 "Multiple alter causes crashed table"
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.
2006-05-15 19:41:04 +03:00
jani@ibmlab.site
373c17e7e2 Extended test case to check that binary column
actually adds zeroes, not spaces at the end.
2006-03-15 10:14:35 +02:00
jani@ibmlab.site
b3e5861a02 Added a test case for Bug#18038 MySQL server corrupts binary columns data 2006-03-15 09:40:30 +02:00
konstantin@mysql.com
065f8066d5 Merge mysql.com:/home/kostja/mysql/mysql-5.0-for_merge
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge
2006-02-02 12:03:35 +03:00
konstantin@mysql.com
3d16758311 A test case for Bug#6073 "ALTER TABLE minor glitch" (can't repeat) 2006-01-17 00:28:00 +03:00
bar@mysql.com
6ff211329f WL#1324 table name to file name encoding
- 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.
2005-12-31 09:01:26 +04:00
joerg@mysql.com
b5293c415f Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/M50/mysql-5.0
2005-12-05 16:42:28 +01:00
jimw@mysql.com
5ccc2c0b05 After-merge cleanups to alter_table test 2005-11-30 13:41:40 -08:00
jimw@mysql.com
0597c510c8 Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2005-11-30 12:17:01 -08:00
joerg@mysql.com
18a3374347 Merge mysql.com:/M50/mysql-5.0 into mysql.com:/M51/merge-5.1 2005-11-29 17:05:48 +01:00
joerg@mysql.com
41e9dc8352 mysql-test/t/alter_table.test
Care for case-insignificant platforms (Mac OS X, Windows).
2005-11-28 17:07:54 +01:00
holyfoot@deer.(none)
e906120ba8 Fix for bug #14693 (ALTER COLUMN SET DEFAULT has no effect) 2005-11-24 20:24:45 +04:00
monty@mysql.com
a6f5375cb0 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
2005-11-05 01:32:55 +02:00
bar@mysql.com
c229567887 Merge abarkov@bk-internal:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.0.b9278
2005-10-13 19:19:05 +05:00
bar@mysql.com
39b0712cf7 type_binary.result, type_binary.test:
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.
2005-10-13 19:16:19 +05:00
monty@mysql.com
78e828d32f Review of code pushed since last 5.0 pull:
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
2005-10-06 17:54:43 +03:00
tulin@dl145b.mysql.com
d24138e4cc corrected merge error 2005-08-31 23:05:44 +02:00
ndbdev@dl145b.mysql.com
583979d949 merge 2005-08-31 20:45:48 +02:00
ingo@mysql.com
9b11c9a822 Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-5000
2005-08-30 08:18:27 +02:00
andrey@lmy004.
1668c45d30 fix for bug 12207 (alter table discard tablespace on MyISAM table
causes ERROR 2013).
(all-in-one approved patch)
2005-08-29 21:00:43 +02:00
ingo@mysql.com
674f8dfa7c Bug#11493 - Alter table rename to default database does not work without db name qualifying
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.
2005-08-29 16:54:33 +02:00
pappa@c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se
69acde961f Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into  c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1
2005-08-05 18:01:34 -04:00
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
jani@a193-229-222-105.elisa-laajakaista.fi
2657e48c64 Faster alter table code for 5.1. 2005-07-22 23:43:59 +03:00
monty@mysql.com
beb5867dfb After merge fixes 2005-05-14 16:24:36 +03:00
monty@mysql.com
b4e92e6360 Merge with 4.0 2005-05-14 00:01:40 +03:00
monty@mysql.com
20f969b256 Change create_field->offset to store offset from start of fields, independent of null bits.
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
2005-05-13 11:11:50 +03:00
antony@ltantony.mysql.com
d51308aec4 Bug#6236
Incomplete ALTER TABLE breaks MERGE compatibility
  Fix implicit NOT NULL not set on ALTER of PK columns
2005-05-08 21:03:50 +01:00
jimw@mysql.com
3c5602faec Re-enable alter_table test for embedded server by moving grant-related test
to grant.test and using replace_column to neuter the Privileges column in
SHOW FULL COLUMNS.
2005-02-09 18:17:40 -08:00
dlenev@brandersnatch.localdomain
0787a97b1c Added test for bug #7884 "Able to add invalid unique index on TIMESTAMP
prefix", which roots were fixed in 4.0 tree.
2005-01-18 17:45:49 +03:00
bar@mysql.com
ed807c29c9 alter_table.result, alter_table.test, field_conv.cc:
Bug #6479  ALTER TABLE ... changing charset fails for TEXT columns
  Fix: use do_conv_blob rather than do_copy_blob
  if the column's character sets are different.
2004-11-08 14:23:14 +04:00
bar@mysql.com
541883f9d8 Produce a "truncated" warning if a value cannot be converted
into the column character set on INSERT/UPDATE.
2004-10-28 15:21:20 +05:00
monty@mysql.com
dec44916c1 After merge fixes 2004-09-02 16:57:26 +03:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
serg@serg.mylan
b9512a55aa BUG#4717 - check for valid table names in ALTER TABLE ... RENAME 2004-07-26 10:52:40 +02:00
bar@mysql.com
6c996daa91 Bug#4338: mysql-test-run fails if compiled with non-latin1 character set 2004-07-08 18:54:07 +05:00
sergefp@mysql.com
9c2a961a63 Fix and test case for BUG#3899 2004-06-23 11:40:42 +04:00
bar@bar.intranet.mysql.r18.ru
b92dd45da4 ALTER TABLE t1 CONVERT TO should also change the default character set.
Forgot to do it in the previous commit.
2004-03-30 22:18:49 +05:00
bar@bar.intranet.mysql.r18.ru
dba73e1c86 More different syntaxes for (1) modifying the default charaset/collation
and for (2) converting the columns:

1.  ALTER TABLE t1 [DEFAULT] CHARACTER SET xxx [COLLATE yyy]
2.  ALTER TABLE t1 CONVERT TO CHARACTER SET xxx [COLLATE yyy]
2004-03-30 21:33:45 +05:00
bar@bar.intranet.mysql.r18.ru
3aea3e92ce 1. New data types, from the user point of view:
BINARY(N) and VARBIBARY(N)
2. More 4.0 compatibility and more BINARY keyword consistency:
2a. CREATE TABLE a (a CHAR(N) BINARY) 
    is now synonym for
    CREATE TABLE a (a CHAR(N) COLLATE xxxx_bin)
2b. SELECT BINARY x
    is still synonin for
    SELECT x COLLATE xxxxx_bin.
2004-03-26 16:11:46 +04:00
monty@mysql.com
e0e0314d60 Merge with 4.0 2004-03-25 23:29:45 +02:00
monty@mysql.com
488fe61074 Updated tests after merge 2004-03-25 23:08:42 +02:00
monty@mysql.com
ce79eb9ca7 merge with 3.23 2004-03-25 22:05:09 +02:00
monty@mysql.com
d6f9fa0376 Improved test case
service backport from 4.0
2004-03-25 21:52:25 +02:00
bell@sanja.is.com.ua
19ffa1cd53 used right table for grants check (BUG#3270) 2004-03-23 17:15:20 +02:00
bar@bar.intranet.mysql.r18.ru
f897144c4e Bug #2821 Table default character set affects LONGBLOB fields 2004-03-19 11:37:49 +04:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
konstantin@mysql.com
2a4cfe8b4f merge 3.23 -> 4.0, 2003/02/06 2004-02-06 15:23:41 +03:00
konstantin@mysql.com
2093624a73 Fix for bug #2628 "ALTER TABLE destroys table and reports success" 2004-02-06 14:28:57 +03:00
serg@serg.mylan
c4326bc68e better fix BUG#2361: ALTER TABLE ... DROP PRIMARY KEY drops a non-primary key 2004-01-28 18:35:52 +01:00