Commit graph

372 commits

Author SHA1 Message Date
svoj@april.(none)
a59d7a2c78 Merge april.(none):/home/svoj/devel/bk/mysql-5.0-engines
into  april.(none):/home/svoj/devel/mysql/BUG20256/mysql-5.0-push
2006-09-12 18:53:51 +05:00
svoj@april.(none)
44f167ee1d BUG#20256 - LOCK WRITE - MyISAM
Only MyISAM tables locked with LOCK TABLES ... WRITE were affected.

A query that is optimized with index_merge doesn't reflect rows
inserted within LOCK TABLES.

MyISAM doesn't flush a state within LOCK TABLES. index_merge
optimization creates a copy of the handler, which thus gets
outdated MyISAM state.

New handler->clone() method is introduced to fix this problem.
For non-MyISAM storage engines it allocates a handler and opens
it with ha_open(). For MyISAM it additionally copies MyISAM state
pointer to cloned handler.
2006-09-12 18:25:35 +05:00
acurtis/antony@xiphis.org/ltantony.xiphis.org
678e15174e Bug#20573
"strict mode: inserts autogenerated auto_increment value bigger than max"
  Strict mode should fail if autoincrement value is out of range
2006-08-30 13:20:39 -07:00
acurtis/antony@xiphis.org/ltantony.xiphis.org
95197805e2 Merge bk://anubis/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/merge/mysql-5.0
2006-07-21 10:14:25 -07:00
tsmith/tim@siva.hindu.god
24f96519de Finish the merge of the patch for bug #15195 from 4.1 -> 5.0
- Adapt it to work with the handlerton class
2006-07-20 13:41:00 -06:00
jimw@rama.(none)
8b91a02728 Merge bk-internal:/home/bk/mysql-5.0-engines
into  rama.(none):/home/jimw/my/mysql-5.0-17608
2006-07-18 10:25:04 -07:00
jimw@rama.(none)
005c2a05d4 Bug #17766: The server accepts to create MERGE tables which cannot work
Changed the error reporting (and a crash) when inserting data into a
 MERGE table that has no underlying tables or no INSERT_METHOD specified
 by reporting that it is read-only.
2006-07-11 17:28:50 -07:00
guilhem@gbichot3.local
dd84ef1b8a Merge gbichot3.local:/home/mysql_src/mysql-5.0-20524
into  gbichot3.local:/home/mysql_src/mysql-5.0
2006-07-06 14:42:47 +02:00
guilhem@mysql.com
140b488c96 Fix for BUG#20524 "auto_increment_* not observed when inserting
a too large value": the bug was that if MySQL generated a value for an
auto_increment column, based on auto_increment_* variables, and this value
was bigger than the column's max possible value, then that max possible
value was inserted (after issuing a warning). But this didn't honour
auto_increment_* variables (and so could cause conflicts in a master-master
replication where one master is supposed to generated only even numbers,
and the other only odd numbers), so now we "round down" this max possible
value to honour auto_increment_* variables, before inserting it.
2006-07-06 14:37:09 +02:00
guilhem@mysql.com
a43c4b0265 Fix for BUG#20188 "REPLACE or ON DUPLICATE KEY UPDATE in
auto_increment breaks binlog":
if slave's table had a higher auto_increment counter than master's (even
though all rows of the two tables were identical), then in some cases,
REPLACE and INSERT ON DUPLICATE KEY UPDATE failed to replicate
statement-based (it inserted different values on slave from on master).
write_record() contained a "thd->next_insert_id=0" to force an adjustment
of thd->next_insert_id after the update or replacement. But it is this
assigment introduced indeterminism of the statement on the slave, thus
the bug. For ON DUPLICATE, we replace that assignment by a call to
handler::adjust_next_insert_id_after_explicit_value() which is deterministic
(does not depend on slave table's autoinc counter). For REPLACE, this
assignment can simply be removed (as REPLACE can't insert a number larger
than thd->next_insert_id).
We also move a too early restore_auto_increment() down to when we really know
that we can restore the value.
2006-07-05 14:41:35 +02:00
grog@mysql.com[grog]
3eb783813f foo2 2006-04-13 17:22:56 +09:30
grog@mysql.com[grog]
b2cd3a963a foo1 2006-04-13 17:20:33 +09:30
holyfoot@deer.(none)
053d90a234 WL#2645 (CHECK TABLE FOR UPGRADE)
necessary implementation in the server
mysql_upgrade script added
2006-02-17 10:52:32 +04:00
jimw@mysql.com
d8a4aafe33 Merge mysql.com:/home/jimw/my/mysql-5.0-14212
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-01-06 08:34:55 -08:00
jimw@mysql.com
7d551b8a4e Merge mysql.com:/home/jimw/my/mysql-5.0-15185
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-01-05 10:27:06 -08:00
serg@serg.mylan
d5d6b51422 remove "defined(HAVE_ARCHIVE_DB) && !defined(__NETWARE__)" unmaintainably scattered all over the source 2005-12-24 14:32:50 +01:00
jimw@mysql.com
5bb966a9b6 Fix crash when trying to open table using a disabled storage engine. (Bug #15185) 2005-12-14 15:01:02 -08:00
jani@a193-229-222-105.elisa-laajakaista.fi
b7c52afb57 Disabled archive db for Netware. 2005-12-14 02:08:48 +02:00
jimw@mysql.com
d07a57c03a Fix crash in BDB from improper cleanup of transactions, and avoid problem
in NDB that the fix would cause due to improper registration of a transaction
that isn't meant to be seen by the handler layer. (Bug #14212)

Thanks to Sergei Golubchik for helping with this.
2005-12-09 15:00:33 -08:00
bell@sanja.is.com.ua
7f162c7899 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-bug1-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-merge-5.0
2005-11-21 21:15:48 +02:00
bell@sanja.is.com.ua
806f9e24ff Inefficient usage of String::append() fixed.
Bad examples of usage of a string with its length fixed.
The incorrect length in the trigger file configuration descriptor
  fixed (BUG#14090).
A hook for unknown keys added to the parser to support old .TRG files.
2005-11-20 20:47:07 +02:00
dlenev@mysql.com
d1eb512948 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg13825
2005-11-19 15:11:57 +03:00
dlenev@mysql.com
574e711209 Fix for bug #13825 "Triggers: crash if release savepoint" and for general
handling of savepoints in stored routines.

Fixed ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint()
functions to properly handle savepoints inside of stored functions and
triggers.
Also now when we invoke stored function or trigger we create new savepoint
level. We destroy it at the end of function/trigger execution and return back
to old savepoint level.
2005-11-19 15:09:23 +03:00
konstantin@mysql.com
d702915356 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-14210
2005-11-03 15:24:55 +03:00
konstantin@mysql.com
7e3f757f2d A fix and a test case for Bug#14210 "Simple query with > operator on
large table gives server crash": make sure that when a MyISAM temporary
table is created for a cursor, it's created in its memory root,
not the memory root of the current query.
2005-11-03 14:20:13 +03:00
msvensson@neptunus.(none)
8e7dfad543 BUG#14514 Creating table with packed key fails silently 2005-11-02 15:53:04 +01:00
monty@mysql.com
49a30ef513 Fixes during review of new pushed code 2005-10-13 19:40:46 +03:00
monty@mysql.com
5513ab69b7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2005-10-12 00:59:52 +03:00
monty@mysql.com
f5fdf3e87a Reviewing new pushed code
- CHAR() now returns binary string as default
- CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
- Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
  (Some old systems returns ETIME and it's safer to test for both values
   than to try to write a wrapper for each old system)
- Fixed new introduced bug in NOT BETWEEN X and X
- Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
- Use octet2hex() for all conversion of string to hex
- Simplify and optimize code
2005-10-12 00:58:22 +03:00
svoj@mysql.com
eb8ab30046 Store and read engine type string in extra block of .frm. 2005-10-10 23:01:45 +05:00
brian@zim.(none)
2a42afd132 Final patch for 5.0 for simplifying storage engine code. We now have just one set of ifdefs. I may also remove the code for creating new handlers.
May changes were to simplify storage engine setup and support for legacy call to show storage engines.
2005-10-03 18:42:30 -07:00
brian@zim.(none)
0ba8ca2a17 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into  zim.(none):/home/brian/mysql/fix-5.0
2005-10-02 20:13:18 -07:00
brian@zim.(none)
54a958993c Next big patch for loadable storage engines!
Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail.
2005-10-02 19:44:28 -07:00
eric@mysql.com
5008a5f208 Move handler specific options into handlerton flag check
BUG#13108
2005-09-30 16:26:48 -07:00
brian@zim.(none)
da101b3b5a Moving archive from example to sql. 2005-09-28 19:04:51 -07:00
serg@serg.mylan
e9d8f0940b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-09-24 21:45:30 +02:00
osku@127.(none)
d61708d1c9 Fix bug #3443, better foreign key error messsages. 2005-09-23 16:22:27 +03:00
serg@serg.mylan
d4eaa0ecc5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-09-23 14:36:38 +02:00
brian@zim.(none)
f5c00b0dbd Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into  zim.(none):/home/brian/mysql/fix-5.0
2005-09-22 19:46:16 -07:00
brian@zim.(none)
8eea3e5be0 This fixed bug 13369. Note, I dislike goto's as well.
The alias structure now is a bit more simple and just uses a pointer to replace with the currect name. The giant case statement should go away in the next patch.
2005-09-22 16:58:09 -07:00
konstantin@mysql.com
2d4c54ba1b Merge mysqldev@production.mysql.com:my/mysql-5.0-release
into  mysql.com:/opt/local/work/mysql-5.0-root
2005-09-23 00:46:59 +04:00
serg@serg.mylan
40c43365c5 fixed a memory leak in ha_tina.cc 2005-09-22 16:05:05 +02:00
konstantin@mysql.com
6f8d3c4844 A fix and a test case for Bug#6513 "Test Suite: Values inserted by using
cursor is interpreted latin1 character and Bug#9819 "Cursors: Mysql Server
Crash while fetching from table with 5 million records."
A fix for a possible memory leak when fetching into an SP cursor
in a long loop.
The patch uses a common implementation of cursors in the binary protocol and 
in stored procedures and implements materialized cursors.
For implementation details, see comments in sql_cursor.cc
2005-09-22 02:11:21 +04:00
brian@zim.(none)
e3c87e16ae Fixed a typo in handler.cc if CSV was built. I also added CSV to the default MAX builds so that more people test it. 2005-09-20 15:26:10 -07:00
brian@zim.(none)
c10323fdf2 Cleanups for storage engine patch. Changed two test results to now reflect the changes in storage engines and a couple of comment changes in the code. 2005-09-19 22:08:22 -07:00
brian@zim.(none)
616c324436 Cleanup for handlerton structure to allow for loadable engine work. This is the first in a series of patches. 2005-09-19 12:06:23 -07:00
monty@mishka.mysql.fi
f348f62cc3 Added option --valgrind-mysqltest to mysql-test-run
Added flag to Field::store(longlong) to specify if value is unsigned.
This fixes bug #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
Fixed warning from valgrind in CREATE ... SELECT
Fixed double free of mysql.options if reconnect failed
2005-09-14 01:41:44 +03:00
serg@serg.mylan
c8ae9f964e don't crash when in XA PREPARE not all storage engines are 2pc-capable 2005-09-07 18:03:07 +02:00
monty@mishka.local
f16c7b3c5c After merge fixes 2005-08-25 09:38:06 +03:00
serg@sergbook.mysql.com
f5ff607c14 BUG#12162 - one can start two transactions with the same XID.
Now we keep all active XID's in a hash
2005-08-12 21:15:01 +02:00