this timestamp might not be the correct time because e.g. ALTER TABLE
changes this timestamp.
sql/ha_innodb.cc:
Do not show check_time and update_time because we do not really know them.
UPDATE, INSERT and CHECK TABLE do not change these timestamps.
for InnoDB tables. Note that these times may always be correct ones,
because for example ALTER TABLE creates a table again.
innobase/include/os0file.h:
Added information of file timestamps and a function os_file_get_status
to get that information using stat().
innobase/os/os0file.c:
Added function that return information obout the specified file.
sql/ha_innodb.cc:
Get timestamps for the file where the table is stored.
BitKeeper/etc/logging_ok:
auto-union
Docs/Support/texi2html:
Auto merged
innobase/trx/trx0rec.c:
Auto merged
libmysql/libmysql.c:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysys/thr_lock.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/sql_acl.cc:
Keep old code
Rename innodb_table_locks_old_behavior -> innodb_table_locks
Set innodb_table_locks to off by default to get same behaviour as in MySQL 4.0.20
(This means that Innodb ignore table locks by default, which makes it easier to combine MyISAM and InnoDB to simulate a transaction)
libmysql/libmysql.c:
Use ulong instead of unsigned long
Reuse _dig_vec()
myisam/myisampack.c:
Simplify code
mysql-test/r/innodb-lock.result:
new test case
mysql-test/t/innodb-lock.test:
new test case
sql/ha_innodb.cc:
Rename innodb_table_locks_old_behavior -> innodb_table_locks
sql/mysqld.cc:
Rename innodb_table_locks_old_behavior -> innodb_table_locks
Set this off by default to get same behaviour as in MySQL 4.0.20
sql/set_var.cc:
Rename innodb_table_locks_old_behavior -> innodb_table_locks
sql/sql_class.h:
Rename innodb_table_locks_old_behavior -> innodb_table_locks
into mishka.local:/home/my/mysql-4.1
client/mysqlimport.c:
Auto merged
libmysql/libmysql.c:
Auto merged
ndb/src/ndbapi/ndberror.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
Simple optimzations and cleanups
Removed compiler warnings and fixed portability issues
Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
Fixes for purify
client/mysqlimport.c:
Remove not used variable
client/mysqltest.c:
Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
Simplified code
Remove usage of sprintf("%llu") as this is not portable
include/mysql.h:
Added mysql_embedded() to be able to easily check if we are using the embedded server
innobase/srv/srv0start.c:
Don't use memcmp() when using purify (to avoid false warnings)
libmysql/libmysql.c:
Added mysql_embedded() to be able to easily check if we are using the embedded server
libmysql/libmysql.def:
Added mysql_embedded() to be able to easily check if we are using the embedded server
myisam/myisam_ftdump.c:
Remove compiler warning
myisam/myisamchk.c:
Remove compiler warning
myisam/rt_test.c:
#ifdef not used code
mysys/hash.c:
Remove compiler warning (from last push)
mysys/my_gethwaddr.c:
Remove compiler warning
ndb/src/ndbapi/ndberror.c:
#ifdef not used code
regex/regcomp.c:
Remove not used code
regex/regcomp.ih:
Remove not used code (to remove compiler warnings)
sql-common/client.c:
Remove compiler warnings
sql/field.cc:
Simple optimization
sql/ha_innodb.cc:
Rename mysql_embedded -> mysqld_embedded
sql/item.cc:
Fix comments
Move variables first on block
Remove else after return
Simple optimizations
(no logic changes)
sql/item_cmpfunc.cc:
Added comment
sql/mysql_priv.h:
Rename mysql_embedded -> mysqld_embedded
sql/mysqld.cc:
Rename mysql_embedded -> mysqld_embedded
sql/sql_acl.cc:
Added comments
simple optimization
Fixed 'very unlikely' bug when doing REVOKE ALL PRIVILEGES
sql/sql_select.cc:
More comments
Simple optimization
sql/sql_show.cc:
Simple changes to make similar code similar
More comments
sql/sql_string.cc:
Trivial optimization and better code layout
strings/Makefile.am:
Change xml.c to use bcmp to avoid warnings from purify
strings/xml.c:
Change xml.c to use bcmp to avoid warnings from purify
tests/client_test.c:
Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
sql/ha_innodb.cc:
Note that LOAD DATA INFILE REPLACE also handles a duplicate key error
itself, and we must not decrement the autoinc counter if we are
performing that statement.
innobase/dict/dict0dict.c:
Use innobase_strcasecmp() and innobase_casedn_str()
instead of ut_cmp_in_lower_case() and ut_cpy_in_lower_case()
innobase/include/ut0byte.h:
Remove ut_cpy_in_lower_case() and ut_cmp_in_lower_case()
innobase/ut/ut0byte.c:
Remove ut_cpy_in_lower_case() and ut_cmp_in_lower_case()
sql/ha_innodb.cc:
Add innobase_strcasecmp() and innobase_casedn_str()
Replace tolower() loop with innobase_casedn_str()
Replace my_casedn_str() with innobase_casedn_str()
Replace ut_cmp_in_lower_case() with innobase_strcasecmp()
was the query REPLACE or LOAD DATA INFILE REPLACE.
innobase/row/row0ins.c:
Find SQL-query directly from current thread and see if the
query was REPLACE or LOAD DATA INFILE REPLACE.
sql/ha_innodb.cc:
Find current thread and return true if SQL-query in the current
thread was either REPLACE or LOAD DATA INFILE REPLACE.
innodb_table_locks_old_behavior: do not acquire an
InnoDB table lock for LOCK TABLES, as in mysql-4.0.18
and earlier.
sql/ha_innodb.cc:
Do not acquire an InnoDB table lock for LOCK TABLES if
innodb_table_locks_old_behavior is enabled.
sql/mysqld.cc:
Added innodb_table_locks_old_behavior
sql/set_var.cc:
Added innodb_table_locks_old_behavior
sql/sql_class.h:
Added innodb_table_locks_old_behavior
Implement innobase_very_fast_shutdown and innobase_start_trx_and_assign_read_view(); these were requested by Guilhem
sql/ha_innodb.h:
Implement innobase_very_fast_shutdown and innobase_start_trx_and_assign_read_view(); these were requested by Guilhem
sql/ha_innodb.cc:
Implement innobase_very_fast_shutdown and innobase_start_trx_and_assign_read_view(); these were requested by Guilhem
innobase/include/srv0srv.h:
Implement innobase_very_fast_shutdown and innobase_start_trx_and_assign_read_view(); these were requested by Guilhem
innobase/log/log0log.c:
Implement innobase_very_fast_shutdown and innobase_start_trx_and_assign_read_view(); these were requested by Guilhem
innobase/srv/srv0srv.c:
Implement innobase_very_fast_shutdown and innobase_start_trx_and_assign_read_view(); these were requested by Guilhem
Change error code to HA_ERR_ROW_IS_REFERENCED if we cannot DROP a parent table referenced by a FOREIGN KEY constraint; this error number is less misleading than the previous value HA_ERR_CANNOT_ADD_FOREIGN, but misleading still; we should introduce to 5.0 a proper MySQL error code
sql/ha_innodb.cc:
Change error code to HA_ERR_ROW_IS_REFERENCED if we cannot DROP a parent table referenced by a FOREIGN KEY constraint; this error number is less misleading than the previous value HA_ERR_CANNOT_ADD_FOREIGN, but misleading still; we should introduce to 5.0 a proper MySQL error code
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
sql/ha_innodb.cc:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/row/row0mysql.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/fil/fil0fil.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0crea.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0dict.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0load.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/dict/dict0mem.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/mem0mem.ic:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/dict0mem.h:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/fil0fil.h:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/include/mem0mem.h:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
innobase/mem/mem0mem.c:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
Merge manually the InnoDB mysqldump -l crash patch (crash with LOCK TABLES ... LOCAL) from 4.0 to 4.1; some code cleanup
sql/ha_innodb.cc:
Merge manually the mysqldump -l crash pacth from 4.0 to 4.1; some code cleanup
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-ctype-latin1_de.c~c5d8f9208bceb98e:
Auto merged
Build-tools/mysql-copyright-2:
Auto merged
acinclude.m4:
Auto merged
client/mysqladmin.c:
Auto merged
client/mysqldump.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/myisam.h:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/buf/buf0buf.c:
Auto merged
ltmain.sh:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/fsp/fsp0fsp.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/log/log0log.c:
Auto merged
innobase/log/log0recv.c:
Auto merged
innobase/pars/pars0opt.c:
Auto merged
innobase/row/row0row.c:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
innobase/ut/ut0dbg.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_close.c:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_locking.c:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/r/delete.result:
Auto merged
mysql-test/r/func_if.result:
Auto merged
Build-tools/mysql-copyright:
Merge with 4.0 (too most of the code from 4.0)
Makefile.am:
merge
client/mysql.cc:
Used 4.1 code
configure.in:
merge
innobase/os/os0file.c:
merge
innobase/row/row0mysql.c:
merge
mysql-test/r/ctype_latin1_de.result:
merge
mysql-test/r/flush_table.result:
merge
mysql-test/r/func_str.result:
merge
mysql-test/r/handler.result:
merge
mysql-test/r/multi_update.result:
merge
mysql-test/r/type_timestamp.result:
Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/r/update.result:
merge
mysql-test/t/delete.test:
merge
mysql-test/t/flush_table.test:
merge
mysql-test/t/func_str.test:
merge
mysql-test/t/handler.test:
merge
mysql-test/t/multi_update.test:
merge
mysql-test/t/type_timestamp.test:
Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/t/update.test:
merge
mysys/errors.c:
merge
mysys/my_fstream.c:
merge
mysys/my_pread.c:
merge
mysys/my_write.c:
merge
mysys/mysys_priv.h:
merge
scripts/mysqlhotcopy.sh:
merge
sql/field.cc:
Keep code from 4.1
sql/field.h:
Keep code from 4.1
sql/ha_innodb.cc:
Don't merge lock code from 4.0; Heikki will look at this
sql/ha_myisam.cc:
merge
sql/handler.cc:
merge
sql/item_cmpfunc.cc:
merge
sql/item_cmpfunc.h:
merge
sql/item_strfunc.cc:
merge
sql/mysql_priv.h:
merge
sql/mysqld.cc:
merge
sql/protocol.cc:
merge
sql/records.cc:
merge
sql/repl_failsafe.cc:
merge
mysql-test/r/lock_multi.result:
merge
mysql-test/t/ctype_latin1_de.test:
merge
mysql-test/t/func_if.test:
merge
mysql-test/t/lock_multi.test:
merge
sql/repl_failsafe.h:
merge
Remove unnessessary header protection
sql/slave.h:
merge
sql/sql_acl.cc:
merge
sql/sql_base.cc:
merge
sql/sql_cache.cc:
auto merge
sql/sql_class.cc:
merge
sql/sql_class.h:
merge
sql/sql_delete.cc:
merge
sql/sql_handler.cc:
Get new HANDLER code into 4.1
sql/sql_parse.cc:
Keep old file
sql/sql_repl.cc:
merge
sql/sql_repl.h:
merge
sql/sql_show.cc:
merge
sql/sql_table.cc:
merge
sql/sql_union.cc:
Applied the examine_rows bug fix from 4.0 by hand
sql/sql_update.cc:
New multi-update-grant-check code from 4.0
sql/sql_yacc.yy:
New multi-update-grant-check code from 4.0
sql/stacktrace.c:
merge
sql/table.h:
merge
Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum); add comments about why innobase_get_at_most_n_mbchars() works ok
dict0mem.h:
Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum)
row0mysql.c:
If MySQL tries to create a column prefix index longer that 255 UTF-8 characters, give an error, and drop the table from the InnoDB internal data dictionary. MySQL did not drop the table there in its own error handling.
innobase/row/row0mysql.c:
If MySQL tries to create a column prefix index longer that 255 UTF-8 characters, give an error, and drop the table from the InnoDB internal data dictionary. MySQL did not drop the table there in its own error handling.
innobase/include/dict0mem.h:
Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum)
sql/ha_innodb.cc:
Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum); add comments about why innobase_get_at_most_n_mbchars() works ok
A partial bugfix to a multibyte charset / column prefix index bug: my_charpos() does not handle right some cases, we try to mask the bug for ASCII chars < 128 in the UTF-8 charset
sql/ha_innodb.cc:
A partial bugfix to a multibyte charset / column prefix index bug: my_charpos() does not handle right some cases, we try to mask the bug for ASCII chars < 128 in the UTF-8 charset
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
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.
mysql-test/r/type_timestamp.result:
Added test for TIMESTAMP columns which are able to store NULL values.
mysql-test/t/type_timestamp.test:
Added test for TIMESTAMP columns which are able to store NULL values.
sql/field.cc:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
(We can't replace this function with additional Field_timestamp member
and some code in constructor because then we will have troubles
with Field::new_field() method).
We should also set field to not null in Field_timestamp::set_time() now.
sql/field.h:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function,
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
We also have to support NULL values in Field_timestamp::get_timestamp()
function.
sql/field_conv.cc:
Added comment clarifying behavior in case of TIMESTAMP fields which are
able to store NULL values.
sql/ha_berkeley.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_heap.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_innodb.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_ndbcluster.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/handler.cc:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
(we can't use handler::update_timestamp() anyway since field position
only is not enough for TIMESTAMP fields which are able to store NULLs)
sql/handler.h:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
sql/item_timefunc.cc:
Since now TIMESTAMP fields can hold NULL values we should take this into
account.
sql/sql_base.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
(Here we use Field_timestamp::get_auto_set_type() to setup its value
before further statement execution).
sql/sql_insert.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_load.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_parse.cc:
Added support for TIMESTAMP fields holding NULL values.
We should distinguish NULL default values and non-specified default
values for such fields (because latter could mean DEFAULT NOW()
ON UPDATE NOW() in some cases).
sql/sql_show.cc:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
so we have to specify NULL attribute explicitly for them.
sql/sql_table.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_update.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_yacc.yy:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
(so we have to set NOT_NULL_FLAG properly for them).
sql/table.h:
Added timestamp_auto_set_type enum which values are used for indicating
during which operations we should automatically set TIMESTAPM field
value to current timestamp.
TABLE: Replaced timestamp_default_now/on_update_now members with
timestamp_auto_set_type flag (Now when TIMESTAMP field are able to
store NULL values, single position of field in record is not enough
for updating this field anyway).
into hundin.mysql.fi:/home/marko/j/mysql-4.1
innobase/btr/btr0btr.c:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0row.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/mysql_priv.h:
Auto merged
into hundin.mysql.fi:/home/jan/mysql-4.1
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
Improve the comment on stored_select_lock_type
ha_innodb.cc:
Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
sql/ha_innodb.cc:
Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
innobase/include/row0mysql.h:
Improve the comment on stored_select_lock_type
* Renamed handler::estimate_number_of_rows to handler::estimate_rows_upper_bound function, which can also return "unknown"
* made filesort to use full sort buffer if number of rows to sort is not known.
sql/examples/ha_tina.h:
Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/filesort.cc:
* Fix for BUG#5117: made filesort() to use full sort buffer if number of rows to sort is not known.
* Comments and assertion added
sql/ha_berkeley.cc:
Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/ha_berkeley.h:
Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/ha_innodb.cc:
Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/ha_innodb.h:
Renamed estimate_number_of_rows -> estimate_rows_upper_bound
sql/handler.h:
Renamed estimate_number_of_rows -> estimate_rows_upper_bound
innobase/include/srv0srv.h:
Add srv_auto_extend_increment and make SRV_AUTO_EXTEND_INCREMENT
configureable by it
innobase/srv/srv0srv.c:
Add srv_auto_extend_increment
sql/ha_innodb.cc:
Add innobase_auto_extend_increment and srv_auto_extend_increment
sql/ha_innodb.h:
Add innobase_auto_extend_increment
sql/mysqld.cc:
Add "innodb_autoextend_increment" configuration option
configure.in:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/t/merge.test:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/mysqld.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/danish/errmsg.txt:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/italian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/swedish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
mysql-test/r/union.result:
Merge with 4.0
mysql-test/t/union.test:
Merge with 4.0
sql/ha_innodb.cc:
Merge with 4.0
sql/share/german/errmsg.txt:
Merge with 4.0
sql/share/portuguese/errmsg.txt:
Merge with 4.0
sql/share/russian/errmsg.txt:
Merge with 4.0
sql/sql_parse.cc:
Merge with 4.0
sql/sql_union.cc:
Merge with 4.0 (Keep 4.1 code)
InnoDB. This fixes also a second part of the same problem with prefix keys
on a multibyte string column for InnoDB.
innobase/btr/btr0btr.c:
Multibyte character set prefix indexes are not any more fixed size. Therefore,
we have to chect that length of the index field in not greater than
prefix length.
innobase/rem/rem0cmp.c:
Remove unnecessary changes.
innobase/row/row0ins.c:
Fixed unique prefix key or prefix key using multibyte character set bugs for
InnoDB (BUG #4521). For prefix keys we have to get the storage length
for the prefix length of characters in the key.
innobase/row/row0row.c:
Fixed unique prefix key or prefix key using multibyte character set bugs for
InnoDB (BUG #4521). For prefix keys we have to get the storage length
for the prefix length of characters in the key.
innobase/row/row0sel.c:
Fixed unique prefix key or prefix key using multibyte character set bugs for
InnoDB (BUG #4521). For prefix keys we have to get the storage length
for the prefix length of characters in the key.
innobase/row/row0upd.c:
Fixed unique prefix key or prefix key using multibyte character set bugs for
InnoDB (BUG #4521). For prefix keys we have to get the storage length
for the prefix length of characters in the key.
mysql-test/r/ctype_utf8.result:
Added utf8 character test cases for InnoDB.
mysql-test/t/ctype_utf8.test:
Added utf8 character expected test results for InnoDB.
sql/ha_innodb.cc:
Added function innobase_get_at_most_n_mbchars to return position of
the nth character in the multibyte character string.
sql/ha_innodb.h:
Remove unnecessary changes.
If ALTER TABLE ... DROP FOREIGN KEY ... fails because of a wrong constraint name, return a table handler error number 150 instead of 152; the value 152 was misleading, as it referred to '152 = Cannot delete a parent row', whereas '150 = Foreign key constraint is incorrectly formed' is less misleading
sql/ha_innodb.cc:
If ALTER TABLE ... DROP FOREIGN KEY ... fails because of a wrong constraint name, return a table handler error number 150 instead of 152; the value 152 was misleading, as it referred to '152 = Cannot delete a parent row', whereas '150 = Foreign key constraint is incorrectly formed' is less misleading
BitKeeper/etc/ignore:
auto-union
include/my_global.h:
Auto merged
mysys/mf_tempfile.c:
Auto merged
mysql-test/r/rpl_heap.result:
Auto merged
mysql-test/t/rpl_heap.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
innobase_mysql_tmpfile(): call dup() and my_close() on the file
returned by create_temp_file()
in order to avoid memory leak caused by my_open() being paired with close()
sql/ha_innodb.cc:
innobase_mysql_tmpfile(): call dup() and my_close() on the file
returned by create_temp_file()
in order to avoid memory leak caused by my_open() being paired with close()
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-mytest-old.c~5237697b30cf59e4:
Auto merged
Build-tools/Bootstrap:
Auto merged
Build-tools/mysql-copyright:
Auto merged
configure.in:
Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
Auto merged
VC++Files/innobase/innobase.dsp:
Auto merged
client/mysql.cc:
Auto merged
include/my_global.h:
Auto merged
innobase/dict/dict0crea.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/mtr0log.h:
Auto merged
innobase/include/mtr0log.ic:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/ut0dbg.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/ut/ut0dbg.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
libmysql/Makefile.am:
Auto merged
libmysql/Makefile.shared:
Auto merged
libmysql/conf_to_src.c:
Auto merged
libmysql/dll.c:
Auto merged
libmysql/errmsg.c:
Auto merged
libmysql/manager.c:
Auto merged
libmysql_r/Makefile.am:
Auto merged
myisam/mi_key.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/having.result:
Auto merged
mysql-test/r/heap.result:
Auto merged
mysql-test/r/type_date.result:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/having.test:
Auto merged
mysql-test/t/heap.test:
Auto merged
mysql-test/t/type_date.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/type_uint.test:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/Makefile.am:
Auto merged
sql/field.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_analyse.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/danish/errmsg.txt:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/swedish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
mysqld.cc, ha_innodb.cc:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
sql/ha_innodb.cc:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
sql/mysqld.cc:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/include/srv0start.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/include/ut0dbg.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/ut/ut0dbg.c:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/ut/ut0mem.c:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/srv/srv0start.c:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/include/os0file.h:
Improve the comment of os_file_create_tmpfile()
innobase/os/os0file.c:
os_file_create_tmpfile(): Use create_temp_file()
via innobase_mysql_tmpfile() unless UNIV_HOTBACKUP is defined
sql/ha_innodb.cc:
Added innobase_mysql_tmpfile(), a wrapper around create_temp_file()
InnoDB: Implement tmpfile() differently on Windows (Bug #3998)
innobase/dict/dict0dict.c:
Check the return value of os_file_create_tmpfile(),
as it can now return NULL
innobase/include/os0file.h:
Note that os_file_create_tmpfile() can now return NULL
innobase/include/srv0srv.h:
Add a new server flag (srv_innodb_status) to disable
the creation of innodb_status.<pid> files
innobase/lock/lock0lock.c:
Check the return value of os_file_create_tmpfile(),
as it can now return NULL
innobase/os/os0file.c:
os_file_create_tmpfile(): separate implementation for Win32;
errors will be reported but will not cause assertion failure
innobase/srv/srv0srv.c:
Add a new server flag (srv_innodb_status) to disable
the creation of innodb_status.<pid> files
innobase/srv/srv0start.c:
innobase_start_or_create_for_mysql(): create srv_monitor_file
with tmpfile() or with a visible name "innodb_status.<pid>",
depending on the setting of the flag srv_innodb_status.
sql/ha_innodb.cc:
innobase_init(): initialize srv_innodb_status
update_table_comment(), get_foreign_key_create_info(): replace
tmpfile() with os_file_create_tmpfile()
sql/ha_innodb.h:
Add new Boolean flag, innobase_create_status_file.
sql/mysqld.cc:
Add new Boolean flag, innodb_status_file
ha_innobase::create(): pass the query string as UTF-8
to row_table_add_foreign_constraints() (Bug #4649)
sql/ha_innodb.cc:
ha_innobase::create(): pass the query string as UTF-8
to row_table_add_foreign_constraints() (Bug #4649)
next-key locking. Using this option the locks InnoDB sets on index
records do not affect the ``gap'' before that index record. Thus, this option
allows phantom problem.
innobase/include/srv0srv.h:
Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
innobase/row/row0sel.c:
If innodb_locks_unsafe_for_binlog option is used, we lock only the record, i.e.
next-key locking is not used. Therefore, setting lock to the index record
do not affect the ``gap'' before that index record. Thus, this option
allows phantom problem, because concurrent insert operations are allowed inside
the select range.
innobase/srv/srv0srv.c:
Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.cc:
Added innobase_locks_unsafe_for_binlog and srv_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.h:
Added innobase_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/mysqld.cc:
Added OPT_INNODB_LOCKS_UNSAFE_FOR_BINLOG, innobase_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
sql/set_var.cc:
Added innodb_locks_unsafe_for_binlog and innobase_locks_unsafe_for_binlog for
innodb_locks_unsafe_for_binlog option.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Build-tools/Do-compile:
Auto merged
Docs/Makefile.am:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/include/lock0lock.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/sync0arr.h:
Auto merged
innobase/include/trx0trx.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
mysql-test/r/innodb.result:
to be fixed after the merge
innobase/include/lock0lock.h:
Improve comments regarding LOCK_TABLE_EXP
innobase/include/row0mysql.h:
Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
and improve its comment
innobase/include/trx0trx.h:
Rename n_tables_locked to n_lock_table_exp
innobase/lock/lock0lock.c:
Rename n_tables_locked to n_lock_table_exp
Increment n_lock_table_exp already in lock_table_create()
Replace some ut_ad() assertions with ut_a()
innobase/row/row0mysql.c:
Rename n_tables_locked to n_lock_table_exp
Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
and improve its comment
innobase/trx/trx0trx.c:
Rename n_tables_locked to n_lock_table_exp
sql/ha_innodb.cc:
Rename n_tables_locked to n_lock_table_exp
Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
into mysql.com:/home/mysql_src/mysql-4.1-1717
client/mysqltest.c:
Auto merged
innobase/trx/trx0sys.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
configure.in:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
sql/field.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/lex.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged