Problem: GROUP BY on empty ucs2 strings crashed server.
Reason: sometimes mi_unique_hash() is executed with
ptr=null and length=0, which means "empty string".
The branch of code handling UCS2 character set
was not safe against ptr=null and fell into and
endless loop even if length=0 because of poiter
arithmetic overflow.
Fix: adding special check for length=0 to avoid pointer arithmetic
overflow.
mysql-test/r/ctype_uca.result:
Adding test case
mysql-test/t/ctype_uca.test:
Adding test case
strings/ctype-uca.c:
Fix my_uca_scanner_init_ucs2 to be safe against
strings with length=0 and ptr=0.
renamed "--old-mode" to "--old" to prevent
ambiguity.
"old" now appears in SHOW VARIABLES as a
read-only option.
mysql-test/r/group_by.result:
WL3527: 5.1 test case
mysql-test/t/group_by.test:
WL3527: 5.1 test case
sql/mysqld.cc:
WL3527: 5.1
renamed the "old-mode" to "old" to fit
the options naming scheme
sql/set_var.cc:
WL3527: 5.1
added "-old" as read-only system variable
sql/set_var.h:
WL3527: 5.1
added class for boolean pointer read-only
option to support the "--old" option.
sql/sql_base.cc:
fixed 5.0->5.1 merge problems.
into magare.gmz:/home/kgeorge/mysql/work/WL3527-5.1-opt
mysql-test/r/gis.result:
Auto merged
mysql-test/t/gis.test:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
merge 5.0-opt -> 5.1-opt
mysql-test/t/subselect.test:
merge 5.0-opt -> 5.1-opt
sql/sql_base.cc:
merge 5.0-opt -> 5.1-opt
into mysql_cab_desk.:C:/source/c++/mysql-5.1_WL_3629
BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
Auto merged
BitKeeper/deleted/.del-mysql_create_system_tables.sh:
Auto merged
scripts/mysql_system_tables_fix.sql:
Auto merged
sql/event_data_objects.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/event_data_objects.h:
Manual merge.
sql/event_queue.cc:
Manual merge.
sql/events.cc:
Manual merge.
enabled the optional FOR JOIN to all the three
clauses : USE, FORCE and IGNORE
mysql-test/r/select.result:
WL3527: 5.0 part: test cases
mysql-test/t/select.test:
WL3527: 5.0 part: test cases
to 0 causes wrong (large) length to be read
from the row in _mi_calc_blob_length() when
storing NULL values in (e.g) POINT columns.
This large length is then used to allocate
a block of memory that (on some OSes) causes
trouble.
Fixed by calling the base class's
Field_blob::reset() from Field_geom::reset()
that is called when storing a NULL value into
the column.
mysql-test/r/gis.result:
Bug #27164: test case
mysql-test/t/gis.test:
Bug #27164: test case
sql/field.h:
Bug #27164: not reseting the data pointer
to 0 causes wrong (large) length to be read
from the row in _mi_calc_blob_length() when
storing NULL values in (e.g) POINT columns.
This large length is then used to allocate
a block of memory that (on some OSes) causes
trouble.
This may lead to buffer overflow.
The String::qs_append() function will append a string
without checking if there's enough space.
So qs_append() must be called beforehand to ensure
there's enough space in the buffer for the subsequent
qs_append() calls.
Fixed Item_case_expr::print() to make sure there's
enough space before appending data by adding a call to
String::reserve() to make sure qs_append() will have
enough space.
mysql-test/r/sp-code.result:
Bug #26303: test case
mysql-test/t/sp-code.test:
Bug #26303: test case
sql/item.cc:
Bug #26303: added a call to String::reserve() to
make sure qs_append will have enough space
sql/item.h:
Bug #26303: m_case_expr_id made unsigned
because it's offset in an array.
Kinda obvious that this was going to come up ;)
client/client_priv.h:
New options
client/mysqlslap.c:
Added option for pre/post run
mysql-test/r/mysqlslap.result:
Updated tests
mysql-test/t/mysqlslap.test:
Updated test
opt_complete_insert was improperly used by accident.
Use complete_insert flag instead.
client/mysqldump.c:
Fix for bug #25993: mysqldump crashes with merge table and -c option
- use complete_insert instead of opt_complete_insert.
mysql-test/r/mysqldump.result:
Fix for bug #25993: mysqldump crashes with merge table and -c option
- test result.
mysql-test/t/mysqldump.test:
Fix for bug #25993: mysqldump crashes with merge table and -c option
- test case.
into clam.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug24028
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
Auto merged
storage/ndb/test/src/UtilTransactions.cpp:
Auto merged
* Modified Federated memory allocation to use MEM_ROOT
* Modified sql_servers and federated to allocate share connection
parameters to use MEM_ROOT
* Modified Federated to allow tablename in addition to server name
* Implicit flushing of tables using altered/dropped server name
* Added tests to prove new functionality works
Contributors to this patch: Patrick Galbraith, Antony Curtis
mysql-test/r/federated_server.result:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
New test results
mysql-test/t/federated_server.test:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
New test which ensures that one can use the new 'create server'
functionality and have tables point to the correct table, using CONNECTION='server',
CONNECTION="server/tablename" and CONNECTION="mysql://...url"
sql/mysql_priv.h:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
new function: close_cached_connection_tables()
sql/sql_base.cc:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
new function: close_cached_connection_tables()
closes all open tables which match connection string
provides functionality to allow flushing of altered/dropped server names.
sql/sql_servers.cc:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
* Added function clone_server() to allocate a new server for use by
get_server_by_name() when creating a federated table
* Now using MEM_ROOT allocation (mark and sweep) to account for meta
data parameters being allocated properly, particularly with regards to
to SERVER object. Also cleans up code allocating share.
* Tables using the old definition of server name are now flushed on successful
execution of ALTER/DROP SERVER.
style: fixed some line-wrapping
sql/sql_servers.h:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
* change in prototype to get_server_by_name()
caller can now provide mem_root which strings will be copied in to.
storage/federated/ha_federated.cc:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
* Simplified share and share member memory allocaton to use MEM_ROOT
* Modified parse_url to parse table names along with server names
storage/federated/ha_federated.h:
BUG #26257 New Federated Server Functionality Doesn't support differently named tables
* Added MEM_ROOT share member
"Concurrent ALTER/CREATE SERVER can lead to deadlock"
Deadlock caused by inconsistant use of mutexes in sql_server.cc
One mutex has been removed to resolve deadlock.
Many functions were made private which should not be exported.
Unused variables and function removed.
mysql-test/r/federated_server.result:
Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
New test results
mysql-test/t/federated_server.test:
Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
Test for bug by using stored procedure. Unpatched server would deadlock frequently.
sql/sql_parse.cc:
Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
check for correct error code when dropping server
sql/sql_servers.cc:
Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
Removed unneccessary mutex, only need THR_LOCK_servers rwlock to
guard data structures against race conditions. Misuse of other mutex
caused deadlock by inconsistant ordering of mutex lock operations.
Alter order of some operations to hit memory before disk.
Removed unused function.
Removed servers_version and servers_cache_initialised variables.
Made many internal functions static.
sql/sql_servers.h:
Bug 25721 "Concurrent ALTER/CREATE SERVER can lead to deadlock"
remove internal functions from being exported.
into siva.hindu.god:/home/tsmith/m/bk/maint/bmisc/51
mysql-test/include/gis_generic.inc:
Auto merged
mysql-test/r/archive_gis.result:
Auto merged
BitKeeper/deleted/.del-bdb_gis.result:
Auto merged
mysql-test/r/ndb_gis.result:
Auto merged
sql/spatial.h:
Auto merged
mysql-test/r/gis.result:
Manual merge
mysql-test/r/innodb_gis.result:
Manual merge
mysql-test/t/gis.test:
Manual merge
Fix is to rewrite the MBR::overlaps() function, to compute the dimension of both
arguments, and the dimension of the intersection; test that all three dimensions are the
same (e.g., all are Polygons).
Add tests for all MBR* functions for various combinations of shapes, lines and points.
mysql-test/include/gis_generic.inc:
Add tests & checks for bug #24563 and bug #24588 - some GIS functions missing in
5.1; many GIS functions not tested; Overlaps() function was incorrect when MBR shifted
only along one axis; Overlaps() needs to take dimension of shape into account.
mysql-test/r/archive_gis.result:
Update test results.
mysql-test/r/bdb_gis.result:
Update test results.
mysql-test/r/gis.result:
Update test results.
mysql-test/r/innodb_gis.result:
Update test results.
mysql-test/r/ndb_gis.result:
Update test results.
mysql-test/t/gis.test:
Add tests & checks for bug #24563 and bug #24588 - some GIS functions missing in
5.1; many GIS functions not tested; Overlaps() function was incorrect when MBR shifted
only along one axis; Overlaps() needs to take dimension of shape into account.
sql/spatial.h:
Add MBR::dimension() (map MBR to integral dimension: point -> 0, line -> 1,
polygon -> 2, invalid -> -1)
Fix MBR::overlaps() to handle MBRs which are shifted on one dimension only, and to
take MBR dimension into account. Also, test both within() and contains() predicates (so
that overlaps(a, b) == overlaps(b, a)).
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
mysql-test/r/ndb_single_user.result:
manual merge
mysql-test/t/disabled.def:
manual merge
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
manual merge
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
manual merge
into poseidon.mysql.com:/home/tomas/mysql-5.0-ndb
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
mysql-test/r/view.result:
result fixed
mysql-test/r/view_grant.result:
result fixed
mysql-test/t/query_cache_sql_prepare.test:
test fixed
mysql-test/t/view.test:
moved to view_grant
mysql-test/t/view_grant.test:
moved here from view.test
into damiendev.:C:/build/mysql-5.1
mysql-test/t/mysqldump.test:
Auto merged
client/mysqldump.c:
Manual merge damiendev.:C:/build/mysql-5.1/..\dev50
into damiendev.:C:/build/mysql-5.1
mysql-test/r/mysqldump.result:
Manual merge damiendev.:C:/build/mysql-5.1/..\dev50
into damiendev.:C:/build/mysql-5.1
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Fixes:
- Bug #21409: Incorrect result returned when in READ-COMMITTED with query_cache ON
At low transaction isolation levels we let each consistent read set
its own snapshot.
- Bug #23666: strange Innodb_row_lock_time_% values in show status; also millisecs wrong
On Windows ut_usectime returns secs and usecs relative to the UNIX
epoch (which is Jan, 1 1970).
- Bug #25494: LATEST DEADLOCK INFORMATION is not always cleared
lock_deadlock_recursive(): When the search depth or length is exceeded,
rewind lock_latest_err_file and display the two transactions at the
point of aborting the search.
- Bug #25927: Foreign key with ON DELETE SET NULL on NOT NULL can crash server
Prevent ALTER TABLE ... MODIFY ... NOT NULL on columns for which
there is a foreign key constraint ON ... SET NULL.
- Bug #26835: Repeatable corruption of utf8-enabled tables inside InnoDB
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
mysql-test/r/innodb.result:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1284:
Merge changes from MySQL AB:
ChangeSet
2007/01/24 14:49:36+04:00 holyfoot@mysql.com
bug 22682 Test fails --without-geometry
geometry dependent parts moved to proper .test files
mysql-test/r/innodb.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -2
result fixed
mysql-test/r/innodb_gis.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +2 -0
result fixed
mysql-test/t/innodb.test
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -6
HAVE_GEOMETRY dependent part moved to innodb_gis.test
mysql-test/t/innodb_gis.test
2007/01/24 14:49:35+04:00 holyfoot@mysql.com +6 -0
HAVE_GEOMETRY dependent part moved here from innodb.test
Revision r1186:
dict_load_foreign(): Use a local variable instead of the 10-bit field
foreign->n_fields in order to preserve ON UPDATE CASCADE and
ON DELETE CASCADE flags. For some reason, gcc does not warn about
shifting a 10-bit field to right by 24 bits. (Bug 24741)
This bug was introduced while reducing the memory footprint of the
InnoDB data dictionary (Bug 20877).
innodb.test, innodb.result: Add a test case.
Revision r1318:
Add a test case for r1316 (Bug #25927).
Revision r1340:
innodb.test, innodb.result: Add test case for Bug #26835.
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
mysql-test/t/innodb.test:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1284:
Merge changes from MySQL AB:
ChangeSet
2007/01/24 14:49:36+04:00 holyfoot@mysql.com
bug 22682 Test fails --without-geometry
geometry dependent parts moved to proper .test files
mysql-test/r/innodb.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -2
result fixed
mysql-test/r/innodb_gis.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +2 -0
result fixed
mysql-test/t/innodb.test
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -6
HAVE_GEOMETRY dependent part moved to innodb_gis.test
mysql-test/t/innodb_gis.test
2007/01/24 14:49:35+04:00 holyfoot@mysql.com +6 -0
HAVE_GEOMETRY dependent part moved here from innodb.test
Revision r1283:
Merge changes from MySQL AB:
ChangeSet
2007/01/22 18:42:52+02:00 monty@mysql.com
Give warnings for unused objects
Changed error message to be compatible with old error file
Added new error message for new DUP_ENTRY syntax
mysql-test/t/innodb.test
2007/01/22 18:42:49+02:00 monty@mysql.com +14 -14
Changed to use new error message
Revision r1186:
dict_load_foreign(): Use a local variable instead of the 10-bit field
foreign->n_fields in order to preserve ON UPDATE CASCADE and
ON DELETE CASCADE flags. For some reason, gcc does not warn about
shifting a 10-bit field to right by 24 bits. (Bug 24741)
This bug was introduced while reducing the memory footprint of the
InnoDB data dictionary (Bug 20877).
innodb.test, innodb.result: Add a test case.
Revision r1318:
Add a test case for r1316 (Bug #25927).
Revision r1329:
Merge changes from MySQL AB to mysql-test directives.
The results are not affected.
Revision r1340:
innodb.test, innodb.result: Add test case for Bug #26835.
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
storage/innobase/buf/buf0buf.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/buf/buf0flu.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/buf/buf0lru.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/dict/dict0boot.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/dict/dict0crea.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1324:
Merge changes from MySQL AB:
ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
Fixed compiler warnings
...
Fixed compiler warnings detected on windows64
storage/innobase/dict/dict0dict.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1316:
Prevent ALTER TABLE ... MODIFY ... NOT NULL on columns for which
there is a foreign key constraint ON ... SET NULL. (Bug #25927)
dict_foreign_find_index(): Add paramettter check_null.
dict_foreign_add_to_cache(): Do not allow ON DELETE SET NULL
or ON UPDATE SET NULL if any of the referencing columns are declared NOT NULL.
Revision r1324:
Merge changes from MySQL AB:
ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
Fixed compiler warnings
...
Fixed compiler warnings detected on windows64
storage/innobase/dict/dict0load.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1186:
dict_load_foreign(): Use a local variable instead of the 10-bit field
foreign->n_fields in order to preserve ON UPDATE CASCADE and
ON DELETE CASCADE flags. For some reason, gcc does not warn about
shifting a 10-bit field to right by 24 bits. (Bug 24741)
This bug was introduced while reducing the memory footprint of the
InnoDB data dictionary (Bug 20877).
innodb.test, innodb.result: Add a test case.
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1324:
Merge changes from MySQL AB:
ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
Fixed compiler warnings
...
Fixed compiler warnings detected on windows64
storage/innobase/fil/fil0fil.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/fsp/fsp0fsp.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/ha/ha0ha.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/handler/ha_innodb.cc:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1204:
Change this in ha_innobase:
void* innobase_prebuilt;
to this:
row_prebuilt_t* prebuilt;
by introducing the typedef in ha_innodb.h, and remove all the now needless
local variables and casts in ha_innodb.cc.
Revision r1298:
ha_innodb.cc: Remove all references to thd->ha_data[hton->slot].
thd_to_trx(thd, hton): Accessor for getting the InnoDB trx object
of a MySQL thread object and an InnoDB handlerton.
Revision r1292:
Remove the declarations of some global functions in ha_innodb.h and declare
them static in ha_innodb.cc. These functions are invoked via function
pointers in handlerton.
Revision r1300:
ha_innodb.cc: Replace thd->tablespace_op with thd_tablespace_op(thd).
Plugins must treat class THD as an opaque type.
Revision r1198:
Merge a change from MySQL AB:
ChangeSet@1.2372, 2006-12-31 02:29:11+01:00, kent@mysql.com +79 -0
Many files:
Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
Adjusted year(s) in copyright header
Added GPL copyright text
Revision r1271:
Merge changes from MySQL AB:
Rename some FIELD_TYPE_ constants to MYSQL_TYPE_.
Change the scope of a type cast of two dividends.
Revision r1299:
ha_innodb.cc: Replace thd->in_lock_tables with thd_in_lock_tables(thd).
Plugins must treat class THD as an opaque type.
Revision r1201:
Apply patch from MySQL:
ChangeSet@1.2353, 2006-12-19 16:57:51-07:00, tsmith@siva.hindu.god +13 -0
Added innodb_rollback_on_timeout option to restore the 4.1
InnoDB timeout behavior (Bug 24200)
Revision r1322:
ha_innodb.cc: Remove the unused innobase_repl_ variables.
Revision r1324:
Merge changes from MySQL AB:
ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
Fixed compiler warnings
...
Fixed compiler warnings detected on windows64
Revision r1334:
Fix for Bug# 21409. At low transaction isolation levels we let each
consistent read set its own snapshot
storage/innobase/handler/ha_innodb.h:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1204:
Change this in ha_innobase:
void* innobase_prebuilt;
to this:
row_prebuilt_t* prebuilt;
by introducing the typedef in ha_innodb.h, and remove all the now needless
local variables and casts in ha_innodb.cc.
Revision r1292:
Remove the declarations of some global functions in ha_innodb.h and declare
them static in ha_innodb.cc. These functions are invoked via function
pointers in handlerton.
Revision r1198:
Merge a change from MySQL AB:
ChangeSet@1.2372, 2006-12-31 02:29:11+01:00, kent@mysql.com +79 -0
Many files:
Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
Adjusted year(s) in copyright header
Added GPL copyright text
Revision r1201:
Apply patch from MySQL:
ChangeSet@1.2353, 2006-12-19 16:57:51-07:00, tsmith@siva.hindu.god +13 -0
Added innodb_rollback_on_timeout option to restore the 4.1
InnoDB timeout behavior (Bug 24200)
storage/innobase/ibuf/ibuf0ibuf.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/buf0buf.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/buf0flu.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/dict0dict.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/ha0ha.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/lock0lock.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/log0log.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/mem0mem.h:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1241:
Remove the unused function mem_strdupq().
storage/innobase/include/mem0mem.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1241:
Remove the unused function mem_strdupq().
storage/innobase/include/rem0rec.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1338:
rec_offs_nth_size(): Treat n==0 as a special case. (Bug #26835)
storage/innobase/include/sync0rw.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/sync0sync.h:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1247:
Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
mutex_enter_nowait that supplies the default __FILE__ and __LINE__
arguments. Adjust callers.
storage/innobase/include/sync0sync.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1294:
Fixed inline asm code, it didn't work with GCC > ver 3.x.
Revision r1244:
Add ut_ad() debug assertions.
UT_LIST_ADD_FIRST(), UT_LIST_ADD_LAST(), UT_LIST_INSERT_AFTER():
Assert against some trivial cases of cyclic lists.
mutex_enter_func(): Assert that the current thread is not holding the mutex.
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/trx0sys.ic:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/include/univ.i:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1285:
Merge a change from MySQL AB:
ChangeSet
2006/10/26 15:41:47-04:00 iggy@amd64.
Post Merge Cleanup
storage/innobase/include/univ.i
2006/10/26 15:38:50-04:00 iggy@amd64. +9 -0
Post Merge Cleanup
storage/innobase/include/ut0lst.h:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1244:
Add ut_ad() debug assertions.
UT_LIST_ADD_FIRST(), UT_LIST_ADD_LAST(), UT_LIST_INSERT_AFTER():
Assert against some trivial cases of cyclic lists.
mutex_enter_func(): Assert that the current thread is not holding the mutex.
storage/innobase/lock/lock0lock.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1330:
lock_deadlock_recursive(): When the search depth or length is exceeded,
rewind lock_latest_err_file and display the two transactions at the
point of aborting the search. (Bug #25494)
Revision r1332:
lock_deadlock_recursive(): When aborting the search, display a note
regardless of start->undo_no. Otherwise, aborted searches may show
up as genuine deadlocks. This mistake was made in r1330.
storage/innobase/log/log0log.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1247:
Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
mutex_enter_nowait that supplies the default __FILE__ and __LINE__
arguments. Adjust callers.
storage/innobase/log/log0recv.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/mem/mem0pool.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/pars/pars0pars.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/que/que0que.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/read/read0read.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/row/row0mysql.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1201:
Apply patch from MySQL:
ChangeSet@1.2353, 2006-12-19 16:57:51-07:00, tsmith@siva.hindu.god +13 -0
Added innodb_rollback_on_timeout option to restore the 4.1
InnoDB timeout behavior (Bug 24200)
Revision r1324:
Merge changes from MySQL AB:
ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
Fixed compiler warnings
...
Fixed compiler warnings detected on windows64
storage/innobase/row/row0vers.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/srv/srv0que.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/srv/srv0srv.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1262:
Fix for Bug# 23666. On Windows ut_usectime returns secs
and usecs relative to the UNIX epoch (which is Jan, 1 1970).
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/sync/sync0rw.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1247:
Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
mutex_enter_nowait that supplies the default __FILE__ and __LINE__
arguments. Adjust callers.
Revision r1324:
Merge changes from MySQL AB:
ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
Fixed compiler warnings
...
Fixed compiler warnings detected on windows64
storage/innobase/sync/sync0sync.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1247:
Rename mutex_enter_nowait to mutex_enter_nowait_func and add macro
mutex_enter_nowait that supplies the default __FILE__ and __LINE__
arguments. Adjust callers.
storage/innobase/thr/thr0loc.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0purge.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0roll.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0rseg.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0sys.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/trx/trx0trx.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
Revision r1324:
Merge changes from MySQL AB:
ChangeSet@1.2452, 2007-02-23 13:13:55+02:00, monty@mysql.com +177 -0
Fixed compiler warnings
...
Fixed compiler warnings detected on windows64
storage/innobase/trx/trx0undo.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/usr/usr0sess.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1242:
Merge r1239 from
branches/zip: Make mutex_own() work with UNIV_DEBUG, without UNIV_SYNC_DEBUG.
storage/innobase/ut/ut0ut.c:
Apply the following InnoDB snapshots:
innodb-5.1-ss1318
innodb-5.1-ss1330
innodb-5.1-ss1332
innodb-5.1-ss1340
Revision r1262:
Fix for Bug# 23666. On Windows ut_usectime returns secs
and usecs relative to the UNIX epoch (which is Jan, 1 1970).
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug27229
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_select.cc:
Auto merged
context was used as an argument of GROUP_CONCAT.
Ensured correct setting of the depended_from field in references
generated for set functions aggregated in outer selects.
A wrong value of this field resulted in wrong maps returned by
used_tables() for these references.
Made sure that a temporary table field is added for any set function
aggregated in outer context when creation of a temporary table is
needed to execute the inner subquery.
mysql-test/r/subselect.result:
Added a test case for bug #27229.
mysql-test/t/subselect.test:
Added a test case for bug #27229.
sql/item.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Ensured correct setting of the depended_from field in references
generated for set functions aggregated in outer selects.
sql/item_sum.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
In any Item_sum object created for a set function this field
has to contain a pointer to the select where the set function
is aggregated.
sql/item_sum.h:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
In any Item_sum object created for a set function this field
has to contain a pointer to the select where the set function
is aggregated.
Added a method that says whether a set function is aggregated
in outer context and, if so, returns the aggregating select.
Removed the field nest_level_tables_count introduced by the
patch for bug 24484 as aggr_sel->join->tables contains the
sane number.
sql/sql_base.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
Removed changes introduced by the patch for bug 24484 as
the field leaf_count of the THD class is not used anymore.
sql/sql_class.h:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
Removed changes introduce by the patch for bug 24484 as
the field leaf_count of the THD class is not used anymore.
sql/sql_insert.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
Added the field aggr_sel to the objects of the class Item_sum.
Removed changes introduce by the patch for bug 24484 as
the field leaf_count of the THD class is not used anymore.
sql/sql_select.cc:
Fixed bug #27229: crash when a set function aggregated in outer
context was used as an argument of GROUP_CONCAT.
When creating a temporary table a field is added in it for any
set function aggregated in outer context.
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Fixes:
- Bug #21409: Incorrect result returned when in READ-COMMITTED with query_cache ON
At low transaction isolation levels we let each consistent read set
its own snapshot.
- Bug #23666: strange Innodb_row_lock_time_% values in show status; also millisecs wrong
On Windows ut_usectime returns secs and usecs relative to the UNIX
epoch (which is Jan, 1 1970).
- Bug #25494: LATEST DEADLOCK INFORMATION is not always cleared
lock_deadlock_recursive(): When the search depth or length is exceeded,
rewind lock_latest_err_file and display the two transactions at the
point of aborting the search.
- Bug #25927: Foreign key with ON DELETE SET NULL on NOT NULL can crash server
Prevent ALTER TABLE ... MODIFY ... NOT NULL on columns for which
there is a foreign key constraint ON ... SET NULL.
- Bug #26835: Repeatable corruption of utf8-enabled tables inside InnoDB
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
innobase/dict/dict0dict.c:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1317:
branches/5.0: Port r1316 from trunk:
Prevent ALTER TABLE ... MODIFY ... NOT NULL on columns for which
there is a foreign key constraint ON ... SET NULL. (Bug #25927)
dict_foreign_find_index(): Add paramettter check_null.
dict_foreign_add_to_cache(): Do not allow ON DELETE SET NULL
or ON UPDATE SET NULL if any of the referencing columns are declared NOT NULL.
innobase/include/rem0rec.ic:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1339:
branches/5.0: Merge r1338 from trunk:
rec_offs_nth_size(): Treat n==0 as a special case. (Bug #26835)
innobase/include/sync0sync.ic:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1293:
branches/5.0: Fixed inline asm code, it didn't work with GCC > ver 3.x.
innobase/lock/lock0lock.c:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1331:
branches/5.0: Merge r1330 from trunk:
lock_deadlock_recursive(): When the search depth or length is exceeded,
rewind lock_latest_err_file and display the two transactions at the
point of aborting the search. (Bug #25494)
Revision r1333:
branches/5.0: Merge r1332 from trunk:
lock_deadlock_recursive(): When aborting the search, display a note
regardless of start->undo_no. Otherwise, aborted searches may show
up as genuine deadlocks. This mistake was made in r1330.
innobase/srv/srv0srv.c:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1261:
branches/5.0: Fix for Bug# 23666. On Windows ut_usectime returns secs
and usecs relative to the UNIX epoch (which is Jan, 1 1970).
innobase/ut/ut0ut.c:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1261:
branches/5.0: Fix for Bug# 23666. On Windows ut_usectime returns secs
and usecs relative to the UNIX epoch (which is Jan, 1 1970).
mysql-test/r/innodb.result:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1319:
branches/5.0: Port r1318 from trunk:
Add a test case for r1316 (Bug #25927).
Revision r1328:
branches/5.0: mysql-test: Merge changes from MySQL AB.
Revision r1341:
branches/5.0: Merge r1340 from trunk:
innodb.test, innodb.result: Add test case for Bug #26835.
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
Revision r1284:
Merge changes from MySQL AB:
ChangeSet
2007/01/24 14:49:36+04:00 holyfoot@mysql.com
bug #22682 Test fails --without-geometry
geometry dependent parts moved to proper .test files
mysql-test/r/innodb.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -2
result fixed
mysql-test/r/innodb_gis.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +2 -0
result fixed
mysql-test/t/innodb.test
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -6
HAVE_GEOMETRY dependent part moved to innodb_gis.test
mysql-test/t/innodb_gis.test
2007/01/24 14:49:35+04:00 holyfoot@mysql.com +6 -0
HAVE_GEOMETRY dependent part moved here from innodb.test
Revision r1186:
dict_load_foreign(): Use a local variable instead of the 10-bit field
foreign->n_fields in order to preserve ON UPDATE CASCADE and
ON DELETE CASCADE flags. For some reason, gcc does not warn about
shifting a 10-bit field to right by 24 bits. (Bug #24741)
This bug was introduced while reducing the memory footprint of the
InnoDB data dictionary (Bug #20877).
innodb.test, innodb.result: Add a test case.
Revision r1318:
Add a test case for r1316 (Bug #25927).
Revision r1340:
innodb.test, innodb.result: Add test case for Bug #26835.
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
mysql-test/t/innodb.test:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1279:
branches/5.0: Merge changes from MySQL AB:
ChangeSet
2006/11/20 22:42:06+02:00 monty@mysql.com
Remove compiler warnings
(Mostly in DBUG_PRINT() and unused arguments)
Fixed bug in query cache when used with traceing (--with-debug)
Fixed memory leak in mysqldump
Removed warnings from mysqltest scripts (replaced -- with #)
mysql-test/t/innodb.test
2006/11/20 22:41:41+02:00 monty@mysql.com +1 -1
Remove mysqltest warnings
sql/ha_innodb.cc
2006/11/20 22:41:51+02:00 monty@mysql.com +2 -2
Fixed compiler warning
Revision r1319:
branches/5.0: Port r1318 from trunk:
Add a test case for r1316 (Bug #25927).
Revision r1328:
branches/5.0: mysql-test: Merge changes from MySQL AB.
Revision r1341:
branches/5.0: Merge r1340 from trunk:
innodb.test, innodb.result: Add test case for Bug #26835.
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
Revision r1284:
Merge changes from MySQL AB:
ChangeSet
2007/01/24 14:49:36+04:00 holyfoot@mysql.com
bug #22682 Test fails --without-geometry
geometry dependent parts moved to proper .test files
mysql-test/r/innodb.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -2
result fixed
mysql-test/r/innodb_gis.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +2 -0
result fixed
mysql-test/t/innodb.test
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -6
HAVE_GEOMETRY dependent part moved to innodb_gis.test
mysql-test/t/innodb_gis.test
2007/01/24 14:49:35+04:00 holyfoot@mysql.com +6 -0
HAVE_GEOMETRY dependent part moved here from innodb.test
Revision r1283:
Merge changes from MySQL AB:
ChangeSet
2007/01/22 18:42:52+02:00 monty@mysql.com
Give warnings for unused objects
Changed error message to be compatible with old error file
Added new error message for new DUP_ENTRY syntax
mysql-test/t/innodb.test
2007/01/22 18:42:49+02:00 monty@mysql.com +14 -14
Changed to use new error message
Revision r1186:
dict_load_foreign(): Use a local variable instead of the 10-bit field
foreign->n_fields in order to preserve ON UPDATE CASCADE and
ON DELETE CASCADE flags. For some reason, gcc does not warn about
shifting a 10-bit field to right by 24 bits. (Bug #24741)
This bug was introduced while reducing the memory footprint of the
InnoDB data dictionary (Bug #20877).
innodb.test, innodb.result: Add a test case.
Revision r1318:
Add a test case for r1316 (Bug #25927).
Revision r1329:
Merge changes from MySQL AB to mysql-test directives.
The results are not affected.
Revision r1340:
innodb.test, innodb.result: Add test case for Bug #26835.
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
sql/ha_innodb.cc:
NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341
Revision r1279:
branches/5.0: Merge changes from MySQL AB:
ChangeSet
2006/11/20 22:42:06+02:00 monty@mysql.com
Remove compiler warnings
(Mostly in DBUG_PRINT() and unused arguments)
Fixed bug in query cache when used with traceing (--with-debug)
Fixed memory leak in mysqldump
Removed warnings from mysqltest scripts (replaced -- with #)
mysql-test/t/innodb.test
2006/11/20 22:41:41+02:00 monty@mysql.com +1 -1
Remove mysqltest warnings
sql/ha_innodb.cc
2006/11/20 22:41:51+02:00 monty@mysql.com +2 -2
Fixed compiler warning
Revision r1280:
branches/5.0: Merge a change from MySQL AB:
ChangeSet
2006/11/30 18:25:05+02:00 monty@mysql.com
Fixed portability issue in my_thr_init.c (was added in my last push)
Fixed compiler warnings (detected by VC++):
- Removed not used variables
- Added casts
- Fixed wrong assignments to bool
- Fixed wrong calls with bool arguments
- Added missing argument to store(longlong), which caused wrong store
method to be called.
sql/ha_innodb.cc
2006/11/30 18:24:53+02:00 monty@mysql.com +0 -1
Removed not used variable
Revision r1260:
branches/5.0: Fix for Bug# 21409. At low transaction isolation levels
we let each consistent read set its own snapshot.
Revision r1326:
branches/5.0: Merge code from MySQL AB:
ChangeSet@1.2417.3.1 2007-02-22 16:59:57+02:00 monty@mysql.fi
Fixed compiler warnings (for linux and win32 and win64)
into mysql.com:/home/hf/work/mrg/mysql-5.1-opt
mysql-test/r/view_grant.result:
Auto merged
mysql-test/t/view_grant.test:
Auto merged
sql/sql_view.cc:
Auto merged