Commit graph

790 commits

Author SHA1 Message Date
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
ef9ef1f958 Fix partial keys when converting VARCHAR to TEXT. (Bug #10543) 2005-05-25 18:11:47 -07:00
monty@mysql.com
cb7cd33222 Fix that we can read tables with the 'older' decimal format used in 5.0.3 & 5.0.4
We will however give a warning when opening such a table that users should use ALTER TABLE ... FORCE to fix
the table. In future release we will fix that REPAIR TABLE will be able to handle this case
2005-05-25 18:33:36 +03:00
jimw@mysql.com
2fde78052b Fix error reporting for 'OPTIMIZE TABLE' on InnoDB tables. (Bug #8135) 2005-05-24 11:11:40 -07:00
tulin@dl145c.mysql.com
23f79bd1f2 merge 2005-05-17 10:17:53 +02:00
monty@mysql.com
d06bb6fa39 After merge fixes 2005-05-16 15:21:35 +03:00
monty@mysql.com
9db45adb60 Merge with 4.1 2005-05-14 18:31:22 +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
ramil@mysql.com
152f751831 fix (Bug #8295 and #8296: varchar and varbinary conversion)
select, gis & gis-tree tests fails at the moment, but
I will push this CS because it was tested before and I'm absolutely
sure it's right.
2005-05-12 15:56:04 +05:00
mronstrom@mysql.com
c33a0673a6 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682
2005-05-12 12:01:01 +02: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
gluh@mysql.com
a8febcd7d2 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/gluh/MySQL/Bugs/5.0.9897
2005-05-07 12:21:48 +00:00
gluh@mysql.com
d76be7ab3f Fix for bug#9897: Views: 'Check Table' crashes MySQL, with a view and a table in the statement
thd->lex->derived_tables should be zero(it may be changed if we open a view)
2005-05-07 12:17:54 +00:00
mronstrom@mysql.com
c18a302577 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682
2005-05-07 11:23:09 +02:00
mronstrom@mysql.com
b4ab00df62 WL 1682: Bitvector for updated/read fields in handler interface
Fixed clear issues of bitvector and memory allocation issues
2005-05-07 10:00:25 +02:00
monty@mishka.local
015cd1cd21 merge 2005-05-06 13:51:58 +03:00
monty@mishka.local
a9f6aab4c9 Fixes while reviewing new code
Added option --count to mysqlshow (to show number of rows)
Fixed possible core dump in information schema
2005-05-06 11:39:30 +03:00
jimw@mysql.com
7bab94f36b Clean up merge from 4.1 2005-05-02 10:19:37 -07:00
mronstrom@mysql.com
f7cd6b8aa1 WL 1682: After review fixes + update bitvector class + bitvector test
cases + bug fixes
2005-05-02 15:45:33 +02: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
mronstrom@mysql.com
21347433cf WL 1682: Use bitvector instead of query_id to tell handler which fields
to read and write
Changed Server code, added new interface to handler and changed the
NDB handler, InnoDB handler and Federated handler that previously used
query_id
Bug#10202 fix (one-liner fix for memory leak)
2005-04-28 14:45:27 +02:00
acurtis@xiphis.org
f638e5cb8f Bug#9102 - Stored proccedures: function which returns blob causes crash
Initialization of fields for sp return type was not complete.
2005-04-19 09:09:25 +01:00
ramil@mysql.com
f93ebc20ac Bit type: code clean-up. 2005-04-12 23:12:00 +05:00
ramil@mysql.com
eae4d9c073 Bit type: code cleanup. 2005-04-12 19:36:21 +05:00
ramil@mysql.com
3b1c3d8c68 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.bit_class
2005-04-12 12:30:09 +05:00
ramil@mysql.com
c4376b2bc6 Bit type support for non-MyISAM tables. 2005-04-12 12:27:43 +05:00
gbichot@quadita2.mysql.com
e0831dce7a merge from 4.1 2005-04-11 16:59:06 +02: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
bar@mysql.com
71f530c4ea merge 2005-04-11 15:11:52 +05: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
monty@mysql.com
48de1ff277 Don't generate message in send_kill_message() if wrong data. (Caused core dump for wrong data in ALTER TABLE on some system) 2005-04-05 01:19:48 +03:00
monty@mysql.com
04f8e164fb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-04-04 16:45:23 +03:00
dlenev@brandersnatch.localdomain
fc1e7b07d6 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-trg3
2005-04-03 17:02:13 +04:00
dlenev@mysql.com
7b294bdc8d Merge of patch for bug #3891 into 5.0 tree. 2005-04-03 10:36:18 +04: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
monty@mysql.com
201ee3eb78 Invalid DEFAULT values for CREATE TABLE now generates errors. (Bug #5902)
CAST() now produces warnings when casting a wrong INTEGER or CHAR values. This also applies to implicite string to number casts. (Bug #5912)
ALTER TABLE now fails in STRICT mode if it generates warnings.
Inserting a zero date in a DATE, DATETIME or TIMESTAMP column during TRADITIONAL mode now produces an error. (Bug #5933)
2005-04-01 15:04:50 +03:00
dlenev@brandersnatch.localdomain
d4b20f4a86 Fix for bugs #5859 "DROP TABLE does not drop triggers" and
#6559 "DROP DATABASE forgets to drop triggers".

If we drop table we should also drop all triggers associated with it.
To do this we have to check for existence of .TRG file when we are 
dropping table and delete it too.
2005-03-27 16:15:21 +04:00
monty@mysql.com
cc56005130 Hack to ensure that CHAR's created in 5.0 are not converted to VARCHAR even if the row type is dynamic
(For 4.1 tables old 'VARCHAR' fields are converted to true VARCHAR in the next ALTER TABLE)

This ensures that one can use MySQL 5.0 privilege tables with MySQL 4.1
2005-03-22 15:48:06 +02:00
jimw@mysql.com
ee2b4ec959 Eliminate warnings noticed by VC7. This includes fixing my_mmap() on
Windows to call CreateFileMapping() with correct arguments, and
propogating the introduction of query_id_t to everywhere query ids are
passed around. (Bug #8826)
2005-03-18 16:12:25 -08:00
serg@serg.mylan
41997cf263 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-17 08:46:48 +01:00
monty@mysql.com
aa6ab3b49c Move handler dependent tests to the specific handler (myisam, bdb, innodb)
Enabled VARCHAR testing for innodb

NOTE: innodb.test currently fails becasue of a bug in InnoDB. 
I have informed Heikki about this and expect him to fix this ASAP
2005-03-17 01:22:12 +02:00
monty@mysql.com
594ef41b2d Cleanup during reviews
Removed some optional arguments
Fixed portability problem in federated tests
2005-03-16 16:11:01 +02:00
serg@serg.mylan
d7b2d4c541 global read lock code now uses a dedicated mutex
(otherwise a deadlock when ALTER writes to
binlog holding LOCK_open, it causes binlog rotation,
binlog waits for prepared transactions to commit, and commit
needs LOCK_open to check for global read lock)
2005-03-16 08:40:19 +01:00
jimw@mysql.com
eaea82d3af Merge query_cache tests 2005-03-11 12:38:38 -08:00
jimw@mysql.com
50f9fc3368 Merge test and results 2005-03-11 11:07:32 -08:00
acurtis@ltantony.rdg.cyberkinetica.homeunix.net
be3c863ba0 Merge in fix Bug#3788 2005-03-08 22:32:09 +00: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
acurtis@pcgem.rdg.cyberkinetica.com
5e1d2ad68c Bug#3788
Crashes with stored procedure return non-string values
  Also fixes Bug#2773
2005-03-04 21:14:35 +00:00
monty@mysql.com
0a6b7aedb2 Remove compiler warnings and remove not used variables
(Found during build process)
2005-02-25 16:53:22 +02:00
monty@mysql.com
cd78e701a5 Show all generated warnings in SHOW ERROR
Previously we only stored the first given error (the error sent to the client)
2005-02-24 23:33:42 +02:00
monty@mysql.com
f5acf0be01 Generate warning in ha_delete_table() if files is missing in handler 2005-02-21 20:41:48 +02:00
monty@mysql.com
cab35adf7e Review of new pushed code (XA & other)
Portability fixes and cleanups
Fixed setting of 'res' in mysql_execute_command()
2005-02-21 14:47:57 +02:00
serg@serg.mylan
1235e6d2c7 Merge serg.mylan:/usr/home/serg/Abk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-xa
2005-02-18 13:38:10 +01:00
msvensson@neptunus.homeip.net
a004533a76 BUG#8547: Wrong errormessage when dropping table that does not exist in NDB
- Added tescases
 - Added handling of HA_ERR_NO_SUCH_TABLE in mysql_rm_table_part2 so that 
   error messages now are consistent
2005-02-17 14:22:44 +01:00
serg@serg.mylan
fd828e5b4d manually merged 2005-02-14 21:50:09 +01:00
hf@deer.(none)
b94a482ee9 Precision Math implementation 2005-02-09 02:50:45 +04:00
monty@mysql.com
422c2eb868 4.1 -> 5.0 merge 2005-02-03 13:18:30 +02:00
monty@mysql.com
3936edd7fa Fixed during review of new pulled code 2005-02-02 20:28:01 +02:00
reggie@bob.(none)
fe675641eb Merge bob.(none):/home/reggie/bk/mysql41
into bob.(none):/home/reggie/bk/mysql5.0
2005-01-31 22:24:04 -06: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
serg@serg.mylan
3c5060981f query_id and my_xid -> ulonglong
fix for binlog+autocommit+tclog
comments, style fixes
2005-01-27 22:38:56 +01:00
ram@gw.mysql.r18.ru
3350a7ec6d Merge gw.mysql.r18.ru:/usr/home/ram/work/4.1.b7261
into gw.mysql.r18.ru:/usr/home/ram/work/5.0
2005-01-25 13:05:15 +04: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
c76405a7ee merged 2005-01-24 19:41:42 +01: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
10f41d7cc4 merge 2005-01-10 11:49:58 +01: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
d35140a851 First stage of table definition cache
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
2005-01-06 13:00:13 +02:00
monty@mysql.com
3c6d5e43f9 Merge 2005-01-04 13:23:04 +02:00
monty@mysql.com
309b1a2b6c Merge with 4.1 tree to get fix for INSERT IGNORE ... ON DUPLICATE KEY 2005-01-03 23:04:52 +02:00
serg@sergbook.mysql.com
f5d54d58b5 typo fixed 2005-01-02 15:23:34 +02:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +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
monty@mishka.local
4f4bbfc279 Merge with 4.1 2004-12-22 13:54:39 +02:00
monty@mysql.com
f37fd31ddc Merge with global tree 2004-12-18 06:05:16 +02:00
monty@mysql.com
3fb088a075 Add 0x before pointers (to help with debugging)
Add support for VARCHAR with 1 or 2 length bytes
Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly)
Give error if we got problems in temporary tables during a SELECT
Don't use new table generated by ALTER TABLE if index generation fails
Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
2004-12-18 05:19:21 +02:00
ram@gw.mysql.r18.ru
92f89369ae bit type 2004-12-17 18:06:05 +04:00
monty@mysql.com
563500994a Update results for new varchar handling
Fixed compiler warnings
String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
2004-12-07 15:47:00 +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
monty@mysql.com
77207d19f2 Merge with new VARCHAR code 2004-12-06 19:18:35 +02:00
monty@mysql.com
75d0958dc3 After merge fixes
Fixed compiler warnings
Fix core dump when sending SIGHUP to mysqld
2004-12-06 17:15:54 +02:00
monty@mysql.com
0de4777187 Merge with 4.1 2004-12-06 11:38:56 +02:00
monty@mysql.com
67ce247965 Add support for up to VARCHAR (size up to 65535)
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
2004-12-06 02:00:37 +02: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
serg@serg.mylan
a5ce45fc3d Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2004-11-22 22:58:34 +01:00
serg@serg.mylan
ee933cd198 merged 2004-11-22 21:33:15 +01: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
bell@sanja.is.com.ua
8ded2093e6 postreview changes 2004-11-21 16:35:42 +02:00
bell@sanja.is.com.ua
8ca32a4ef6 merge 2004-11-21 10:12:11 +02:00
bell@sanja.is.com.ua
d76db8b999 marge 2004-11-13 19:45:36 +02:00
bell@sanja.is.com.ua
7210195f1e now my_printf_error is not better then my_error, but my_error call is shorter
used only one implementation of format parser of (printf)
fixed multistatement
2004-11-13 19:35:51 +02:00
monty@mysql.com
addd1a0da8 Merge with 4.1 2004-11-12 19:58:24 +02:00
bell@sanja.is.com.ua
1555469b64 merge 2004-11-12 15:36:31 +02:00
bell@sanja.is.com.ua
31f7811183 post-review fixes 2004-11-12 14:34:00 +02: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
monty@mysql.com
2bba55b57f After merge fixes
Added push_back(void *, MEM_ROOT *) to make some list-handling code easier that needs to be allocated in a different mem-root
(Before one had to change thd->mem_root ; push_back(); restore mem_root.
2004-11-09 03:58:44 +02:00
monty@mysql.com
071001950e Merge with 4.1 to get in latest bug fixes 2004-11-04 15:06:24 +02:00
monty@mysql.com
0c1bcddbae After merge fixes 2004-11-03 20:07:17 +02: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
7d3be517a4 Merge on pull 2004-11-03 13:01:38 +02:00
monty@mysql.com
47bbf768d4 Fixes after merge with 4.1
FOUND is not a reserved keyword anymore
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
2004-11-03 12:39:38 +02:00
monty@mysql.com
9972d68078 merge with 4.0 2004-11-02 08:58:45 +02:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03: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
bell@sanja.is.com.ua
13f249a025 VIEW support for CHECK TABLE command (WL#1984) 2004-10-28 19:37:25 +03:00
bar@mysql.com
47788e9e07 - Check ENUM/SET duplicate values taking in account charset/collation. 2004-10-26 10:41:14 +05:00
serg@serg.mylan
318fe9db96 smarter ALTER TABLE - don't copy the table if only comment or default values are changed 2004-10-21 18:10:58 +02:00
bell@sanja.is.com.ua
4714a6e744 errors without code removed
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
(WL#2133)
2004-10-20 04:04:37 +03:00
ingo@mysql.com
4082bea2a4 Merge mysql.com:/home/mydev/mysql-4.0
into mysql.com:/home/mydev/mysql-4.0-bug5625
2004-10-14 20:04:47 +02:00
ingo@mysql.com
150ab94e0a BUG#5625 - MyISAM Index corruption on ALTER TABLE x ENABLE KEYS due to full tmpdir.
Added a try to a normal repair() if repair_by_sort() failed.
This was not done with ENABLE KEYS and OPTIMIZE TABLE.
Fixed error code handling in mysql_alter_table().
2004-10-14 20:02:56 +02:00
monty@mishka.local
57a85986ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mishka.local:/home/my/mysql-4.1
2004-10-14 18:06:38 +03:00
monty@mishka.local
719c88e38f true,false -> TRUE, FALSE
Simple fixes/optimization of things discovered during review of new pushed code
2004-10-14 18:03:46 +03:00
ram@gw.mysql.r18.ru
5f857a7a82 Blob support for the group_concat() function.
(Bug #4315: GROUP_CONCAT with ORDER BY returns strange results for TEXT fields
 Bug #5564: Strange behaviour with group_concat and distinct
 Bug #5970: group_concat doesn't print warnings)
2004-10-10 12:10:53 +05:00
dlenev@mysql.com
e5483ab3bd Manual merge of tree containing fix for bug #5915 "ALTER TABLE behaves
differently when converting column to auto_increment in 4.1" with
current tree.
2004-10-07 13:51:32 +04:00
dlenev@brandersnatch.localdomain
1f54900630 Fix for bug #5915 "ALTER TABLE behaves differently when converting column
to auto_increment in 4.1".
Now we are enforcing NO_AUTO_VALUE_ON_ZERO mode during ALTER TABLE only
if we are converting one auto_increment column to another auto_increment
column (this also includes most common case when we don't do anything
with such column).

Also now when we convert some column to TIMESTAMP NOT NULL column with
ALTER TABLE we convert NULL values to current timestamp, (as we do this
in INSERT). One can still get old behavior by setting system TIMESTAMP
variable to 0.
2004-10-07 13:02:39 +04:00
monty@mysql.com
6239edc1d1 After merge fixes
Some bigger code changes was necessary becasue of the multi-table-update and the new HANDLER code
2004-10-07 10:50:13 +03:00
monty@mysql.com
62f3cd6a31 Merge with 4.0 for 4.1 release
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
2004-10-06 19:14:33 +03:00
monty@mysql.com
992b04d3d8 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
2004-10-06 01:25:55 +03:00
monty@mysql.com
c27d22b44e Reverted patch for new usage of open_count as it caused more problems than it solved
Cleaned up patch for checking locks for multi-table updates
2004-10-06 01:24:21 +03:00
ingo@mysql.com
c546074e21 Merge mysql.com:/home/mydev/mysql-4.0
into mysql.com:/home/mydev/mysql-4.0-bug4286
2004-10-05 11:33:13 +02:00
tomas@poseidon.ndb.mysql.com
f6ad058388 Merge 2004-10-03 21:39:04 +00:00
monty@mishka.local
be4ca46fbe More fixes for strict mode:
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.
2004-10-02 22:20:08 +03:00
dlenev@mysql.com
53209cc4fc Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
2004-10-01 18:55:17 +04:00
dlenev@brandersnatch.localdomain
2511990c97 Support for TIMESTAMP columns holding NULL values. Unlike all other
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.
2004-10-01 18:54:06 +04:00
magnus@neptunus.(none)
4faaed98ed Merge fixes 2004-09-30 16:12:28 +02:00
mskold@mysql.com
f29939c453 Setting MODE_NO_AUTO_VALUE_ON_ZERO at copying in copy_data_between_tables 2004-09-26 17:11:28 +02:00
ingo@mysql.com
e47decfa7f BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
BUG#4335 - one name can be handler open'ed many times.
Reworked the HANDLER functions and interface.
Using a HASH to store information on open tables that
survives FLUSH TABLE.
HANDLER tables alias names must now be unique, though it
is allowed in 4.0 to qualify them with the database name
of the base table.
2004-09-24 18:39:25 +02:00
magnus@neptunus.(none)
cdc7a32f37 Merged Thd_ndb 2004-09-20 14:28:43 +02:00
ingo@mysql.com
7afb03b7ed bug#2831 - --extenral-locking does not fully work with --myisam-recover.
Changed the semantics of open_count so that it is decremented
at every unlock (if it was incremented due to data changes).
So it indicates a crash, if it is non-zero after a lock.
The table will then be repaired.
2004-09-18 20:33:39 +02:00
monty@mishka.local
095f7e8740 Removed wrong warnings in test suite (This was because select_insert / select_create results was not freed.
Added thd to openfrm() for initialization of TABLE->in_use. This fixed a bug in BDB handling where table->in_use was used early
2004-09-17 03:08:23 +03:00
monty@mishka.local
37864e2727 Merge 2004-09-15 22:36:57 +03:00
monty@mishka.local
91ff64e107 Added options --auto-increment-increment and --auto-increment-offset.
This allows one to setup a master <-> master replication with non conflicting auto-increment series.
Cleaned up binary log code to make it easyer to add new state variables.
Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
Simplified binary log handling.
Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
2004-09-15 22:10:31 +03:00
hf@deer.(none)
7ec92d572c Merging 2004-09-14 10:04:35 +05:00
magnus@neptunus.(none)
d41f7af07e Merged 2004-09-13 14:49:50 +02:00
magnus@neptunus.(none)
8abbb28f8b WL1424 Multiple MySQL Servers: SHOW TABLES etc. should detect new and delete old tables. 2004-09-13 14:46:38 +02:00
dlenev@mysql.com
c46e640009 Yet another manual merge with main tree for patch for WL#1218 "Triggers" 2004-09-09 19:52:10 +04:00
tulin@build.mysql.com
c039c35bba Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into build.mysql.com:/users/tulin/mysql-4.1-ndb-merge
2004-09-09 10:41:33 +02:00
monty@mysql.com
f2829d0386 After merge fixes of merge with 4.1 that included the new arena code.
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions
2004-09-09 06:59:26 +03:00
dlenev@mysql.com
9b1bc6a4d5 Merge of changes from the main tree to tree for WL#1218 "Triggers". 2004-09-08 13:29:21 +04:00
serg@serg.mylan
c26246b083 after merge fixes 2004-09-07 16:56:31 +02:00
serg@serg.mylan
413a8753e2 merged 2004-09-07 15:18:53 +02:00
dlenev@brandersnatch.localdomain
9ed038dd6f WL#1218 "Triggers". Some very preliminary version of patch.
Mostly needed for Monty for him getting notion what needed for triggers 
from new .FRM format. 

Things to be done:
- Right placement of trigger's invocations
- Right handling of errors in triggers (including transaction rollback)
- Support for priviliges
- Right handling of DROP/RENAME table (hope that it will be handled automatically
  with merging of .TRG into .FRM file)
- Saving/restoring some information critical for trigger creation and replication
  with their definitions (e.g. sql_mode, creator, ...)
- Replication

Already has some known bugs so probably not for general review.
2004-09-07 16:29:46 +04:00
hf@deer.(none)
c0458bb3b6 A set of mysql_home_path-related fixes 2004-09-07 11:55:34 +05:00
guilhem@mysql.com
de5d1e780e Fix of previous push. 2004-09-06 23:20:33 +02:00
guilhem@mysql.com
99444c3311 Replacing class Disable_binlog by macros. Patch already approved by Monty. 2004-09-06 22:47:26 +02:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
tomas@poseidon.(none)
41bd91a409 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.(none):/home/tomas/mysql-4.1-ndb
2004-09-06 10:47:04 +00:00
serg@serg.mylan
62c2f1c161 sql_print_error cleanup 2004-09-04 20:17:09 +02:00
tomas@poseidon.(none)
caf79dacfe renamed ha_recovery_logging to ha_enable_transaction
added tests to alter table for "large" alter tables and truncates in ndbcluster
added debug printout in restart() in ndbcluster
added flag THD::transaction.on to enable/disable transaction
2004-09-03 15:11:09 +00:00
monty@mysql.com
bb4ccdb177 Remove extra '/' after mysql_real_data_home
Add missing parameter to strxnmov() that caused some INTO OUTFILE commands to core dump
2004-09-03 02:25:27 +03:00
monty@mysql.com
c44d4debfa Portablity fixes & simple optimizations 2004-08-24 18:00:45 +03:00
monty@mysql.com
7ff0cef3f1 Fixed uninitialized variable
Fixed error messages
2004-08-24 01:08:48 +03:00
serg@serg.mylan
949348f576 after merge fix 2004-08-20 22:54:42 +02:00
guilhem@mysql.com
0db5b4d202 (manual port from 4.0 - was needed)
Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)":
replacing the no_log argument of mysql_create_table() by some safer method
(temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
is opened by mysql_create_table().
2004-08-19 23:24:35 +02:00
guilhem@mysql.com
96a000ae78 cosmetic change 2004-08-19 10:01:01 +02:00
guilhem@mysql.com
42d30b758b Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)":
replacing the no_log argument of mysql_create_table() by some safer method
(temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
is opened by mysql_create_table().
2004-08-19 00:29:11 +02:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
serg@serg.mylan
eaaedb69a8 bug#4881 - crash in ALTER .. RENAME if rename fails 2004-08-07 18:26:59 +02:00
konstantin@mysql.com
d3e520ce7e Port of cursors to be pushed into 5.0 tree:
- client side part is simple and may be considered stable
- server side part now just joggles with THD state to save execution
  state and has no additional locking wisdom.
  Lot's of it are to be rewritten.
2004-08-03 03:32:21 -07:00
guilhem@mysql.com
dd023bc878 Fix for:
Bug #4810 "deadlock with KILL when the victim was in a wait state"
(I included mutex unlock into exit_cond() for future safety)
and BUG#4827 "KILL while START SLAVE may lead to replication slave crash"
2004-07-31 22:33:20 +02:00
serg@serg.mylan
c5e2fbcc53 no_auto_value_on_zero + alter table bug 2004-07-30 14:17:12 +02:00
guilhem@mysql.com
88e00cd919 Fixes for
BUG#4506 "mysqlbinlog --position --read-from-remote-server has wrong "# at" lines",
BUG#4553 "Multi-table DROP TABLE replicates improperly for nonexistent table" with a test file.
It was not possible to add a test for BUG#4506 as in the test suite we must use --short-form
which does not display the "# at" lines.
2004-07-17 16:58:16 +02:00
bell@sanja.is.com.ua
9336d36cf8 VIEW
two TABLE_LIST copy eliminated
2004-07-16 01:15:55 +03:00
monty@mysql.com
31fe2837f9 Merge with 4.1 2004-07-12 08:20:24 +03:00
monty@mysql.com
c1032fe9eb Cleanup of db option cacheing
Some bug fixes to last pushed code
2004-07-09 10:55:16 +03:00
bar@mysql.com
a5025f4ca6 WL#807 Optimize loading database options in load_db_opt
also known as
BUG#2326 Charset of table is determined by charset of db only if "USE db;"
2004-07-08 15:03:01 +05:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
monty@mysql.com
eca9418ca7 Added missing my_time.c file to mysqlclient project
Moved include <assert.h> to my_global.h
2004-06-28 00:42:02 +03:00
monty@mysql.com
b1d08ba2b4 Merge with 4.0 to get the latest bug patches to 4.1 2004-06-25 20:13:05 +03:00
ingo@mysql.com
958cf857a3 Merge mysql.com:/home/mydev/mysql-4.0
into mysql.com:/home/mydev/mysql-4.0-bug3565
2004-06-25 12:14:54 +02:00
ingo@mysql.com
18cd61d0d0 bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
Redesigned the handler close functions so that they are usable
at different places where waiting for closing tables is done.
2004-06-24 15:06:56 +02:00
monty@mysql.com
ad86016e2f lower_case_table_names=2 (Keep case for table names) was not honored
with ALTER TABLE and CREATE/DROP INDEX. (Bug #3109)
Make net_buffer_length visible for mysql clients (Bug #4206)
2004-06-23 16:44:34 +03:00
serg@serg.mylan
c03addab79 merged 2004-06-23 12:36:07 +02:00
serg@serg.mylan
3f1c4ba745 handler interface cleanups:
more logical table/index_flags
  return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
  max_keys and other limits renamed to max_supported_keys/etc
  max_keys/etc are now wrappers to max_supported_keys/etc 
  ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
2004-06-23 12:29:05 +02:00
bar@mysql.com
c64d93b274 Allocate memory when a character set is requested:
- For simple character sets: from_uni convertion table.
- For UCA: alternative weight arrays.
Use mbminlen instead of MY_CS_NONTEXT
2004-06-11 16:29:16 +05:00
bell@sanja.is.com.ua
be642b9bcd EXISTS(SELECT * ...)
close table before opening in optimize
2004-06-10 21:33:15 +03:00
guilhem@mysql.com
e816a757db WL#1689 "Map OPTIMIZE TABLE to ALTER TABLE for InnoDB"
exactly it's mapped to "ALTER TABLE t; ANALYZE TABLE t;"
2004-06-10 16:41:24 +02:00
guilhem@mysql.com
2b20e84ff8 Making DROP TABLE IF EXISTS, DROP DATABASE IF EXISTS, DELETE FROM, UPDATE be logged to
binlog even if they changed nothing, and a test for this.
This is useful when users use these commands to clean up their master and slave by issuing
one command on master (assume master and slave have slightly different data for some
reason and you want to clean up both).
Note that I have not changed multi-table DELETE and multi-table UPDATE because their
error-reporting mechanism is more complicated.
2004-06-09 16:07:01 +02:00
pem@mysql.com
71eddc362e Merging 4.1 to 5.0. 2004-05-26 17:04:45 +02:00
magnus@neptunus.(none)
2bee88a4c2 Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1
2004-05-25 12:25:22 +02:00
dlenev@brandersnatch.localdomain
a5fab72bc4 Fix for sporadically failures of innodb.test on Darwin 7.3
which occured because we were not lowering case of file names 
for temporary tables altough handler assumes so if 
lower_case_table_names==2. Now we are lowering case for them.
2004-05-25 02:30:09 +04:00
vva@eagle.mysql.r18.ru
e2488c0378 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/TASK_ALTER_INFO/mysql-4.1
2004-05-24 20:58:57 +05:00
dlenev@brandersnatch.localdomain
c095ce828e Fix for bug which caused grant.test fail on darwin7.3. We were converting db and table
names to lower case using latin1 instead of utf-8 in sql_acl.cc if lower_case_table_names 
was on. Also replaced in other such places system_charset_info with files_charset_info
for consistency.
2004-05-22 23:41:58 +04:00