Commit graph

98 commits

Author SHA1 Message Date
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
guilhem@mysql.com
5db56a106b Making FLUSH TABLES WITH READ LOCK block COMMITs of existing transactions,
in a deadlock-free manner. This splits locking the global read lock in two steps.
This fixes a consequence of this bug, known as:
BUG#4953 'mysqldump --master-data may report incorrect binlog position if using InnoDB'
And a test.
2004-08-20 16:35:23 +02:00
bell@sanja.is.com.ua
2a3d5308df do not clear list of changed tables on one statement rollback (Bug #4213) 2004-06-20 23:44:21 +03:00
monty@mysql.com
c1dd070ba7 Some small portability fixes.
Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
2003-12-30 13:14:21 +02:00
monty@narttu.mysql.fi
f83e876065 Update of VC++ project files (to remove link warnings)
Fix unlock error in myisamchk on windows when doing --sort-index
Use SetFilePointer instead of SetFilePointerEx
2003-08-25 14:27:32 +03:00
guilhem@mysql.com
759a3c1e3c 2 minor edits, plus
fix for BUG#1113 "INSERT into non-trans table SELECT ; ROLLBACK" does not send warning"
and
fix for BUG#873 "In transaction, INSERT to non-trans table is written too early to binlog".
Now we don't always write the non-trans update immediately to the binlog;
if there is something in the binlog cache we write it to the binlog cache
(because the non-trans update could depend on a trans table which was modified
earlier in the transaction); then in case of ROLLBACK, we write the binlog
cache to the binlog, wrapped with BEGIN/ROLLBACK.
This guarantees that the slave does the same updates.
For ROLLBACK TO SAVEPOINT: when we execute a SAVEPOINT command we write it
to the binlog cache. At ROLLBACK TO SAVEPOINT, if some non-trans table was updated,
we write ROLLBACK TO SAVEPOINT to the binlog cache; when the transaction
terminates (COMMIT/ROLLBACK), the binlog cache will be flushed to the binlog
(because of the non-trans update) so we'll have SAVEPOINT and ROLLBACK TO
SAVEPOINT in the binlog.

Apart from this rare case of updates of mixed table types in transaction, the
usual way is still clear the binlog cache at ROLLBACK, or chop it at
ROLLBACK TO SAVEPOINT (meaning the SAVEPOINT command is also chopped, which
is fine).
Note that BUG#873 encompasses subbugs 1) and 2) of BUG#333 "3 binlogging bugs when doing INSERT with mixed InnoDB/MyISAM".
2003-08-22 15:39:24 +02:00
monty@narttu.mysql.fi
d79cbc3b99 Fix mutex handling in SHOW_VARIABLES (key_buffer_size was not properly protected)
Changed some non fatal myisamchk error messages to warnings
2003-08-17 14:10:15 +03:00
serg@serg.mylan
25b16cd6ce bug #702 - ALTER TABLE tm UNION=(t1,t2) doesn't work if t1.MYD is compressed 2003-07-15 20:43:57 +02:00
heikki@hundin.mysql.fi
4da7f485b7 Many files:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
2003-06-15 01:04:28 +03:00
heikki@hundin.mysql.fi
c2e5f48412 ha_innodb.cc, handler.cc:
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB
2003-06-05 15:58:23 +03:00
heikki@hundin.mysql.fi
42c80c81f7 handler.cc:
If the autocommit is on, let handler.cc commit or rollback the whole transaction at an updating SQL statement end. This probably fixes bug number 578. The problem was that when explicit LOCK TABLES is used, then the lock count method in autocommit does not work.
2003-06-04 17:58:41 +03:00
monty@narttu.mysql.fi
3e72b423e3 Fix for MacOSX and symlinks
Fix for USE_FRM and crashed index file
2003-05-14 01:27:26 +03:00
heikki@hundin.mysql.fi
35fd869e51 Many files:
Eliminate the LOCK_log bottleneck in group commit in binlogging: flush InnoDB log files only after it has been released
2003-05-03 02:29:40 +03:00
monty@narttu.mysql.fi
68ca84dbd1 Print right hostname or IP in SHOW PROCESSLIST
Use SESSION TABLE_HANDLER as default table handler if given table handler doesn't exists
2003-03-19 21:43:41 +02:00
monty@narttu.mysql.fi
28b6e0269a Merge work:/my/mysql-4.0 into narttu.mysql.fi:/my/mysql-4.0 2003-03-04 12:32:28 +02:00
monty@narttu.mysql.fi
2a7dfa172c Fixed bug in LOCK TABLE + DROP TABLE when other thread was waiting for a table that was locked bug not droped 2003-03-04 12:22:35 +02:00
heikki@hundin.mysql.fi
6ef0f4ad41 ha_innodb.h, ha_innodb.cc, handler.h, handler.cc, sql_class.cc:
Fix a hang on the adaptive hash S-latch if an application program uses mysql_use_result() and performs queries on two connections at the same time
2003-03-03 19:31:01 +02:00
serg@serg.mysql.com
1ced5948f0 low-level error messages cleanup 2003-01-28 17:42:08 +01:00
monty@mashka.mysql.fi
7d681c4449 Copy arguments given to mysql_server_init()
Made keybuff_size longlong (To make show variables work similar on 32
and 64 bit systems)
Fixed some 'not initalized variable errors' in multi-table-update.
Fixed memory leak in multi-table-update.
Now all tests works under valgrind without any errors.
2002-12-05 16:38:49 +02:00
bell@sanja.is.com.ua
ed99de7dcc fixed invalidation of query cache
excluded double call of 'invalidate()'
2002-11-22 00:33:15 +02:00
serg@serg.mysql.com
7720348bd2 removed DBUG_ENTER/RETURN tags 2002-11-11 22:43:07 +01:00
serg@sergbook.mysql.com
ecfa37baa5 Merge 2002-11-06 09:52:13 +01:00
bell@sanja.is.com.ua
6ed210db68 fixed bdb transaction with query cache bug 2002-11-06 00:41:25 +02:00
serg@sergbook.mysql.com
6f963dad66 added DBUG_ENTER/RETURN tags, dbug_add_tags.pl bugfix 2002-11-05 16:06:11 +01:00
monty@mashka.mysql.fi
2c4fa340cc Lots of code fixes to the replication code (especially the binary logging and index log file handling)
Fixed bugs in my last changeset that made MySQL hard to compile.
Added mutex around some data that could cause table cache corruptions when using OPTIMIZE TABLE / REPAIR TABLE or automatic repair of MyISAM tables.
Added mutex around some data in the slave start/stop code that could cause THD linked list corruptions
Extended my_chsize() to allow one to specify a filler character.
Extend vio_blocking to return the old state (This made some usage of this function much simpler)
Added testing for some functions that they caller have got the required mutexes before calling the function.
Use setrlimit() to ensure that we can write core file if one specifies --core-file.
Added --slave-compressed-protocol
Made 2 the minimum length for ft_min_word_len
Added variables foreign_key_checks & unique_checks.
Less logging from replication code (if not started with --log-warnings)
Changed that SHOW INNODB STATUS requre the SUPER privilege
More DBUG statements and a lot of new code comments
2002-08-08 03:12:02 +03:00
monty@mashka.mysql.fi
bc035c71f1 Merge with 3.23.51
Fixed wrong usage of sprintf() in ha_innodb.cc
2002-07-25 22:46:28 +03:00
monty@mashka.mysql.fi
4233d3a3d4 merge 2002-07-23 20:39:36 +03:00
monty@mashka.mysql.fi
dddc20d9d1 New SET syntax & system variables.
Made a some new buffers thread specific and changeable.
Resize of key_buffer.
AUTO_COMMIT -> AUTOCOMMIT
Fixed mutex bug in DROP DATABASE
Fixed bug when using auto_increment as second part of a key where first part could include NULL.
Split handler->extra() to extra() and extra_opt() to be able to support thread specific buffers.
Don't write message to error log when slave reconnects becasue of timeout.
Fixed possible update problem when using DELETE/UPDATE on small tables
(In some cases we used index even if table scanning would be better)
A lot of minior code cleanups
2002-07-23 18:31:22 +03:00
serg@sergbook.mysql.com
e20d9e06c5 AUTO_INCREMENT support for MERGE
HA_AUTO_PART_KEY support for handler parent class
2002-07-21 23:55:32 +02:00
heikki@hundin.mysql.fi
94e926acdf log.cc, handler.cc:
Add BEGIN andd COMMIT around transactions in the binlog
2002-06-22 20:05:30 +03:00
bell@sanja.is.com.ua
839d661b3c removed unneeded table name pointer
transaction-live memory cleanup moved to ha_commit/ha_rollback
fixed query cache validator to work correctly on systems that allocate unaligned dat
2002-06-09 00:58:05 +03:00
monty@tik.mysql.fi
056175a1ce Update for BTREE keys in HEAP tables
Split handler->option_flag() to handler->table_flags() and handler->index_flags()
2002-04-12 21:35:46 +03:00
monty@hundin.mysql.fi
2faee46284 merge (remove conflicting zip files) 2002-03-27 06:44:23 +02:00
monty@hundin.mysql.fi
727e507bca merge with 3.23.50 2002-03-27 01:56:10 +02:00
bell@sanja.is.com.ua
c5d95b5e62 added building without query cache 2002-03-22 22:55:08 +02:00
heikki@hundin.mysql.fi
1f142262a1 sql_show.cc, handler.h, handler.cc:
Add foreign key defs to SHOW CREATE TABLE
2002-03-21 18:05:46 +02:00
bell@sanja.is.com.ua
b642599f96 Merge sanja.is.com.ua:/home/bell/mysql/mysql-4
into sanja.is.com.ua:/home/bell/mysql/work-qc
2002-03-15 23:59:51 +02:00
bell@sanja.is.com.ua
63b2a551bf processing trunsactional tables in query cache 2002-03-15 23:57:31 +02:00
monty@hundin.mysql.fi
8eadb024dc Fixed mysqldumpslow for new dump format.
Fix for HEAP tables with many rows deleted.
Add '' arround database names in SHOW GRANT
2002-03-12 11:52:41 +02:00
monty@hundin.mysql.fi
4abd402b87 merge with 3.23.48 2002-02-11 13:48:59 +02:00
monty@hundin.mysql.fi
40c77c767b Removed compiler warnings 2002-02-09 04:00:24 +02:00
monty@hundin.mysql.fi
d36ac6b669 Fix some bugs introduced with the new my_getopt
Added counting of rollback's and commits
Fixed bug in 'SELECT 0 LIMIT 0'
Fixed bug in 'SELECT SQL_CALC_FOUND_ROWS'
2002-02-08 03:21:34 +02:00
monty@hundin.mysql.fi
79796e989f Merge from 3.23.48 tree 2002-01-30 16:37:47 +02:00
monty@hundin.mysql.fi
4609e627a5 Increase max package length to 512M for mysql and mysqldump.
Faster 'read_first_row' (Fixes slow 'preparing' state)
Read constant tables earlier, which provides better optimzations when using tables with <=1 row.
This also fixes a complicated bug involving const tables.
2002-01-23 02:52:26 +02:00
heikki@donna.mysql.fi
d927ff75dc ha_innobase.cc, ha_innobase.h, handler.h, handler.cc, sql_class.h, log.cc:
Tell table handlers where a binlog segment for a trx ends
2002-01-22 22:57:56 +02:00
monty@hundin.mysql.fi
df5f8c18eb Move HA_EXTRA_NO_READCHECK to ha_open
Fixed bug in multi-table-delete
2002-01-16 23:02:26 +02:00
monty@tik.mysql.fi
7dd4eb71fe Added support of null keys in HEAP tables
Added ORDER BY optimization
2002-01-12 15:42:54 +02:00
monty@hundin.mysql.fi
b658662ae4 Update copyright
Fixed memory leak on shutdown (Affects the embedded version & MyODBC)
2001-12-06 14:10:51 +02:00
monty@hundin.mysql.fi
1d26537da5 Query cache.
Remove some warnings
2001-12-02 14:34:01 +02:00
monty@hundin.mysql.fi
fd0780493d merge with 3.23.44 2001-11-04 16:14:09 +02:00