Commit graph

526 commits

Author SHA1 Message Date
msvensson@neptunus.(none)
73c1578f15 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/bug10365
2005-06-20 13:08:45 +02:00
acurtis@xiphis.org
304bb0c66d Bug#11028 Crash on create table like
Report error instead of crashing
2005-06-09 16:06:15 +01:00
msvensson@neptunus.(none)
8771c73258 BUG#10365 Cluster handler uses non-standard error codes
- Added better error messages when trying to open a table that can't be discovered or unpacked. The most likely cause of this is that it does not have any frm data, probably since it has been created from NdbApi or is a NDB system table.
 - Separated functionality that was in ha_create_table_from_engine into two functions. One that checks if the table exists and another one that tries to create the table from the engine.
2005-06-08 13:31:59 +02:00
monty@mysql.com
29fd1f2fd9 Move USE_PRAGMA_IMPLEMENTATION to proper place
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
2005-06-03 23:46:03 +03:00
jimw@mysql.com
f5f88703b2 Fix compile error when HAVE_BERKELEY_DB 2005-06-01 16:03:41 -07:00
jimw@mysql.com
b8f3c515ba Merge mysql.com:/home/jimw/my/mysql-4.1-9660
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-06-01 13:02:26 -07:00
jimw@mysql.com
0a2d95e983 Merge mysql.com:/home/jimw/my/mysql-4.1-8135
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-06-01 12:59:11 -07:00
ingo@mysql.com
c420599581 Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
Hand merged from 4.0.
2005-05-31 19:37:24 +02:00
ingo@mysql.com
51d80960ea Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
1.) Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
Used the new option in create_table_from_items().
It is necessary to prevent the SELECT table from being reopend.
It would get new storage assigned for its fields, while the
SELECT part of the command would still use the old (freed) storage.
2.) Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
against a global read lock. This prevents a deadlock in
CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
and avoids the creation of new tables during a global read lock.
3.) Replaced set_protect_against_global_read_lock() and
unset_protect_against_global_read_lock() by
wait_if_global_read_lock() and start_waiting_global_read_lock()
in the INSERT DELAYED handling.
2005-05-31 11:08:14 +02:00
jimw@mysql.com
1cc23599c2 Cleanups to patch for bug #9660 after review by Monty. 2005-05-26 10:01:26 -07:00
jimw@mysql.com
aac55df4f4 Fix table renaming to not lowercase table names for all storage
engines when lower_case_table_names == 2, as it did previously
for InnoDB and MEMORY. (Bug #9660)
2005-05-25 20:26:40 -07:00
jimw@mysql.com
2fde78052b Fix error reporting for 'OPTIMIZE TABLE' on InnoDB tables. (Bug #8135) 2005-05-24 11:11:40 -07: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
8ef6ae7442 Fix 'CREATE TABLE ... LIKE ...' when lower_case_table_names
is set on case-sensitive file systems and the source table
was specified in something other than lowercase. (Bug #9761)
2005-04-28 15:30:42 -07:00
gbichot@quadita2.mysql.com
c7c928f168 Fix for BUG#9149 "OPTIMIZE TABLE statement on InnoDB table is logged twice in the binary log"
if we fall back to mysql_alter_table() (for InnoDB), don't do binlogging in mysql_alter_table(), as mysql_admin_table()
is not supposed to do any binlogging (it is done by the caller).
2005-04-11 16:46:03 +02:00
marko@hundin.mysql.fi
b5328a7dbc InnoDB: Prevent ALTER TABLE ... ENGINE=...
if there are foreign key constraints on the table. (Bug #5574)
2005-04-07 12:16:41 +03:00
serg@serg.mylan
7ba99ee324 merged 2005-04-02 20:28:58 +02:00
serg@serg.mylan
3098b93ef8 bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names
sql/sql_table.cc: print an error with a function that respects width modifiers (%.64s)
2005-04-02 20:13:19 +02:00
jimw@mysql.com
50f9fc3368 Merge test and results 2005-03-11 11:07:32 -08:00
jimw@mysql.com
df84c534dd Flush entries from the query cache for tables used in
administrative statements that may alter the table, such
as REPAIR TABLE. (Bug #8480)
2005-03-07 18:15:19 -08:00
monty@mysql.com
3936edd7fa Fixed during review of new pulled code 2005-02-02 20:28:01 +02:00
reggie@bob.(none)
16334eb414 Bug #6607 Create table... LIKE... with Windows Symlinks
sql_table.cc:
  use fn_format to resolve symlinks in mysql_create_like_table
2005-01-31 17:24:18 -06:00
ram@gw.mysql.r18.ru
8c043a299b Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b7261
2005-01-25 11:06:12 +04:00
serg@serg.mylan
67ba2e367a fixes/cleanups according to Coverity report 2005-01-24 15:48:25 +01:00
ram@gw.mysql.r18.ru
9c3c566fcb A fix (bug #7261: Alter table loses temp table with lower_case_table_names=2). 2005-01-21 15:14:31 +04:00
monty@mysql.com
56fb6f31ba Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-01-10 15:28:17 +02:00
joreland@mysql.com
4ddd79fb69 bug#7761 - ndb does not autcommit - postreview fixes 2005-01-10 11:33:08 +01:00
joreland@mysql.com
c9f7f0ffcf bug#7761 - ndb does not autocommit during alter table 2005-01-10 11:17:01 +01:00
monty@mysql.com
78da7196ad Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-12-31 12:05:43 +02:00
monty@mysql.com
1bd22faa05 Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
This allows use to use INSERT IGNORE ... ON DUPLICATE ...
2004-12-31 12:04:35 +02:00
heikki@hundin.mysql.fi
fdffb4b849 sql_table.cc:
Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
2004-12-27 05:03:11 +02:00
gluh@gluh.mysql.r18.ru
069438d1bb Fix for bug #6840: Default value is not checked in ALTER column SET DEFAULT 'x' 2004-12-07 14:08:56 +03:00
jimw@mysql.com
48fc4cbc6b Merge 2004-12-03 17:48:19 +01:00
mats@mysql.com
fe70f8c747 Merge mysql.com:/space/bkroot/mysql-4.1
into mysql.com:/space/bk/b6391-mysql-4.1
2004-12-03 12:15:31 +01:00
mats@mysql.com
2bbdf2403d Bug#6391 (binlog-do-db rules ignored)
CREATE DATABASE statement used the current database instead of the
  database created when checking conditions for replication.
  CREATE/DROP/ALTER DATABASE statements are now replicated based on
  the manipulated database.
2004-12-03 12:13:51 +01:00
jimw@mysql.com
4b8e96d5ca Merge 2004-12-03 00:39:55 +01:00
jimw@mysql.com
13649d90ae Prevent adding 'CREATE TABLE .. SELECT' query to the binary log when the
insertion of new records partially failed. It would get logged because of the
logic to log a partially-failed 'INSERT ... SELECT' (which can't be rolled back
in non-transactional tables), but 'CREATE TABLE ... SELECT' is always rolled
back on failure, even for non-transactional tables. (Bug #6682)
(Original fix reimplemented after review by Serg and Guilhem.)
2004-12-03 00:05:11 +01:00
monty@mysql.com
55cc515c8f merged on pull 2004-12-02 14:47:14 +02:00
monty@mysql.com
d1a666d59a Cleanups during review stage
Added auto-correct of field length for enum/set tables for ALTER TABLE
This is becasue of a bug in previous MySQL 4.1 versions where the length for enum/set was set incorrectly after ALTER TABLE
2004-12-02 14:43:51 +02:00
bar@mysql.com
a09a603d83 Bug #6379: ENUM values are incorrectly converted
- add_field_to_list() now uses <List>String
instead of TYPELIB to be able to distinguish
literals 'aaa' and hex literals 0xaabbcc.
- move some code from add_field_to_list() where
  we don't know column charset yet, to 
  mysql_prepare_table(), where we do.
2004-12-02 12:48:43 +04:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
076f27147f Bug#6252 - Duplicate columns in keys should fail
Added check for duplicate column in key
  Added tests and fixed tests which exploit bug
2004-11-22 18:07:04 +00:00
monty@mysql.com
9252656d49 merge with 4.0 2004-11-12 11:17:53 +02:00
guilhem@mysql.com
0c4363b6d0 Fix for BUG#6522 "Replication fails due to a rolled back transaction in the binlog"
When we are writing a transaction to the binlog, we log BEGIN/COMMIT with zero error code.
Example: all statements of trans succeeded, connection lost and so implicit rollback:
we don't want ER_NET* errors to be logged in the BEGIN/ROLLBACK events, while statement
events have 0. If there was really a serious error code, it's already in the statement events.
2004-11-10 15:07:55 +01:00
lars@mysql.com
485de9cbb7 Fix for bug#5551 (Version 4).
The idea of the fix is that the administrative statements 
OPTIMIZE TABLE, REPAIR TABLE and ANALYZE TABLE should not 
generate binlog errors if there is no errors on the master.
2004-11-03 18:23:58 +01:00
monty@mysql.com
9972d68078 merge with 4.0 2004-11-02 08:58:45 +02:00
bell@sanja.is.com.ua
8894a6bb73 close table before next iteration of table proccesing in mysql_admin_table (to allow open next table) 2004-10-28 21:14:00 +03:00
bar@mysql.com
47788e9e07 - Check ENUM/SET duplicate values taking in account charset/collation. 2004-10-26 10:41:14 +05:00