Commit graph

34463 commits

Author SHA1 Message Date
unknown
b139c2875e Merge mysql.com:/home/kent/bk/tmp2/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp2/mysql-5.0-build


innobase/buf/buf0buf.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/ha/ha0ha.c:
  Auto merged
innobase/include/hash0hash.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
2007-01-11 12:43:30 +01:00
unknown
a1566a0952 Many files:
Reverted change for bug#13859, applied smaller patch from Marko


innobase/buf/buf0buf.c:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/dict/dict0dict.c:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/fil/fil0fil.c:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/ha/ha0ha.c:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/ha/hash0hash.c:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/include/hash0hash.h:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/lock/lock0lock.c:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/log/log0recv.c:
  Reverted change for bug#13859, applied smaller patch from Marko
innobase/thr/thr0loc.c:
  Reverted change for bug#13859, applied smaller patch from Marko
2007-01-11 12:31:52 +01:00
unknown
bfca790262 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-01-11 11:32:53 +01:00
unknown
0c715c6fb8 Merge trift2.:/MySQL/M41/push-4.1
into  trift2.:/MySQL/M50/push-5.0


VC++Files/libmysqld/libmysqld.dsp:
  Auto merged
VC++Files/mysql.dsw:
  Auto merged
VC++Files/mysqldemb/mysqldemb.dsp:
  Auto merged
VC++Files/sql/mysqld.dsp:
  Auto merged
VC++Files/sql/mysqldmax.dsp:
  Auto merged
mysys/my_read.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
support-files/MySQL-shared-compat.spec.sh:
  Auto merged
2007-01-11 11:30:44 +01:00
unknown
ce3a76a4a8 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/mr10/my50-mr10


sql/mysqld.cc:
  Auto merged
2007-01-11 13:18:49 +04:00
unknown
029d6cf92d Merge naruto.:C:/cpp/bug24751/my41-bug24751
into  naruto.:C:/cpp/bug24751/my50-bug24751


mysys/mf_iocache.c:
  Auto merged
2007-01-11 09:41:44 +01:00
unknown
2cbccbfb0c Bug#24751 - Possible infinit loop in init_io_cache() when insufficient memory
- When cache memory can't be allocated size is recaclulated using 3/4 of
  the requested memory. This number is rounded up to the nearest 
  min_cache step. 
  However with the previous implementation the new cache size might
  become bigger than requested because of this rounding and thus we get
  an infinit loop.
- This patch fixes this problem by ensuring that the new cache size
  always will be smaller on the second and subsequent iterations until
  we reach min_cache.


mysys/mf_iocache.c:
  - Added mask to cachesize to ensure that algorithm always produce a 
    smaller cache size than current, until we reach 'min_cache' size.
2007-01-11 09:40:17 +01:00
unknown
50361d9a44 Merge mjorgensen@bk-internal.mysql.com:/home/bk/mysql-5.0-sage
into  tiger.mmj.dk:/Users/mmj/bktrees/mysql-5.0


configure.in:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/CMakeLists.txt:
  Auto merged
sql/mysqld.cc:
  Auto merged
win/configure.js:
  Auto merged
2007-01-11 09:19:32 +01:00
unknown
7b524960a5 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/mysql-4.0-bug15815
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/g40
2007-01-11 01:59:11 +01:00
unknown
34d5b84bc5 Merge trift2.:/MySQL/M40/clone-4.0
into  trift2.:/MySQL/M41/push-4.1


VC++Files/mysql.dsw:
  Null-merge: Removal of BerkeleyDB is limited to 4.0
VC++Files/libmysqld/libmysqld.dsp:
  Null-merge: Removal of BerkeleyDB is limited to 4.0
VC++Files/mysqldemb/mysqldemb.dsp:
  Null-merge: Removal of BerkeleyDB is limited to 4.0
VC++Files/mysqlserver/mysqlserver.dsp:
  Null-merge: Removal of BerkeleyDB is limited to 4.0
VC++Files/sql/mysqld.dsp:
  Null-merge: Removal of BerkeleyDB is limited to 4.0
VC++Files/sql/mysqldmax.dsp:
  Null-merge: Removal of BerkeleyDB is limited to 4.0
2007-01-10 21:05:13 +01:00
unknown
6ee56e4142 Merge trift2.:/MySQL/M40/upward-4.0
into  trift2.:/MySQL/M41/push-4.1


mysys/my_read.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Null merge, because "--platform" is already a real argument in 4.1
support-files/MySQL-shared-compat.spec.sh:
  Null merge, because the 4.1 version already uses two digits
  for "version40" and "version41".
2007-01-10 20:29:14 +01:00
unknown
10698df6da Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-4.1-opt
2007-01-10 10:49:46 -08:00
unknown
34a723988e Merge cbell@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  suse.vabb.com:/home/Chuck/development/mysql-5.0-rpl
2007-01-10 14:45:42 -04:00
unknown
1f58d47fb4 BUG#22645 - LC_TIME_NAMES: Statement not replicated
This patch is an additional code change to the get_str_len_and_pointer
method in log_events.cc. This change is necessary to correct a problem
encountered on 64-bit SUSE where the auto_increment_* variables were
being overwritten. The change corrects a cast mismatch which caused
the problem.


sql/log_event.cc:
  BUG#22645 - LC_TIME_NAMES: Statement not replicated
  This patch is an additional code change to the get_str_len_and_pointer,
  copy_str_and_move methods and the Query_leg_event constructor to 
  correct a type mismatch encountered during testing on SUSE 64-bit. The patch changes
  the data type of the buffer variables was changed to a new typedef 
  defined in the Log_event class. The new type is:
  
  typedef unsigned char Byte; 
  
  The variables changed include:
  
  pos, start, end, and data_buf
sql/log_event.h:
  BUG#22645 - LC_TIME_NAMES: Statement not replicated
  This patch adds a new type definition to the Log_event class. The new
  type is typedef unsigned char Byte. It is used in place of the uchar
  and usigned char definitions in the Query_log_event constructor to 
  eliminate type conversion problems encountere on SUSE 64-bit.
2007-01-10 13:45:41 -05:00
unknown
a4817aced5 configure.in:
Corrected default for --disable-grant-options


configure.in:
  Corrected default for --disable-grant-options
2007-01-10 18:19:51 +01:00
unknown
6943153ead Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/item.cc:
  Auto merged
mysql-test/r/order_by.result:
  Manual merge
mysql-test/t/order_by.test:
  Manual merge
2007-01-10 08:55:55 -08:00
unknown
c11c3b08b8 Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mr10/my50-mr10
2007-01-10 20:37:22 +04:00
unknown
4ffd49d311 configure.in:
Removed line accidently inserted when correcting bug#18526


configure.in:
  Removed line accidently inserted when correcting bug#18526
2007-01-10 14:50:09 +01:00
unknown
380ad35c20 Merge mysql.com:/d2/hf/common/my50-common
into  mysql.com:/d2/hf/mr10/my50-mr10
2007-01-10 14:33:34 +04:00
unknown
53c9b0d07c after merge fix 2007-01-10 14:03:36 +04:00
unknown
f5005095d2 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/mysql_priv.h:
  manual merge
2007-01-10 13:04:58 +04:00
unknown
ac71a8fa5e Fix for bug#20867 InnoDB Bug - create temporary table+crash => mysqld needs to clean up
2nd version
During tmp tables cleanup we get the handler for temporary table
and delete table using handler method.


sql/mysql_priv.h:
  added function prototype
sql/mysqld.cc:
  added call of mysql_rm_tmp_tables() function
sql/sql_base.cc:
  mysql_rm_tmp_tables()
  -removed from table_cache_init
  -During tmp tables cleanup we get the handler for temporary table
   and delete table using handler method. 
   it allows to remove orphan records from data dictionary(InnoDB)
2007-01-10 12:57:03 +04:00
unknown
6fc17dab1e Fixed bug #25427.
In the method Item_field::fix_fields we try to resolve the name of
the field against the names of the aliases that occur in the select
list. This is done by a call of the function find_item_in_list.
When this function finds several occurrences of the field name
it sends an error message to the error queue and returns 0.
Yet the code did not take into account that find_item_in_list
could return 0 and tried to dereference the returned value.


mysql-test/r/order_by.result:
  Added a test case for bug #25427.
mysql-test/t/order_by.test:
  Added a test case for bug #25427.
sql/item.cc:
  Fixed bug #25427.
  In the method Item_field::fix_fields we try to resolve the name of
  the field against the names of the aliases that occur in the select
  list. This is done by a call of the function find_item_in_list.
  When this function finds several occurrences of the field name 
  it sends an error message to the error queue and returns 0.
  Yet the code did not take into account that find_item_in_list
  could return 0 and tried to dereference the returned value.
2007-01-10 00:27:11 -08:00
unknown
c2e9a4af2d WL #3670: Compile-time option to remove GRANT-related startup options
- configure --disable-grant-options defines DISABLE_GRANT_OPTIONS
- configure.js/cmake also updated
- if DISABLE_GRANT_OPTIONS is defined, mysqld no longer recognizes:
  --bootstrap
  --init-file
  --skip-grant-tables

Scripts which rely on those three options are modified to check the environment for MYSQLD_BOOTSTRAP; it should be set to the full path of a mysqld which does handle those options.

For example:

$ export MYSQLD_BOOTSTRAP
$ MYSQLD_BOOTSTRAP=/path/to/full/MySQL/bin/mysqld
$ mysql_install_db
$ make test


configure.in:
  WL#3670
  
  Add --disable-grant-options
mysql-test/install_test_db.sh:
  Add MYSQLD_BOOTSTRAP env variable, to enable test suite to work even if mysqld does not accept --bootstrap or --skip-grant-tables.
mysql-test/mysql-test-run.pl:
  Add MYSQLD_BOOTSTRAP env variable, to enable test suite to work even if mysqld does not accept --bootstrap or --skip-grant-tables.
mysql-test/mysql_test_run_new.c:
  Mention need for MYSQLD_BOOTSTRAP in a comment, in case this needs to be used with a mysqld which does not accept the --bootstrap option.
scripts/mysql_install_db.sh:
  Add MYSQLD_BOOTSTRAP env variable, to enable mysqld_install_db to work even if mysqld does not accept --bootstrap or --skip-grant-tables.
sql/CMakeLists.txt:
  Add DISABLE_GRANT_OPTIONS define
sql/mysqld.cc:
  Add DISABLE_GRANT_OPTIONS define, which removes the --bootstrap, --init-file, and --skip-grant-tables options
win/README:
  Document the DISABLE_GRANT_OPTIONS define
win/configure.js:
  Handle DISABLE_GRANT_OPTIONS
2007-01-09 19:22:01 -07:00
unknown
b04652e289 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-09 17:31:14 -08:00
unknown
4374848c82 support-files/MySQL-shared-compat.spec.sh : Dummy, irrelevant change - just trigger a new build.
support-files/MySQL-shared-compat.spec.sh:
  Dummy, irrelevant change - just trigger a new build.
2007-01-10 00:36:41 +01:00
unknown
f094fe551a Fixed bug#16861: User defined variable can have a wrong value if a tmp table was
used.

The Item::save_in_field() function is called from fill_record() to fill the 
new row with data while execution of the CREATE TABLE ... SELECT statement.
Item::save_in_field() calls val_xxx() methods in order to get values.
val_xxx() methods do not take into account the result field. Due to this
Item_func_set_user_var::val_xxx() methods returns values from the original
table, not from the temporary one.

The save_in_field() member function is added to the Item_func_set_user_var
class. It detects whether the result field should be used and properly updates
the value of the user variable.


sql/item_func.cc:
  Bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added the save_in_field() member function to the Item_func_set_user_var class.
sql/item_func.h:
  Bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added the save_in_field() member function to the Item_func_set_user_var class.
mysql-test/r/user_var.result:
  Extended the test case for bug#18681: User defined variable can have a wrong value if
  a tmp table was used.
mysql-test/t/user_var.test:
  Extended the test case for bug#18681: User defined variable can have a wrong value if
  a tmp table was used.
2007-01-09 23:24:56 +03:00
unknown
15bb22c0a8 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/item_cmpfunc.cc:
  Auto merged
2007-01-09 12:07:13 -08:00
unknown
78dff026af Bug#14171: Wrong internal default value for a BINARY field.
A BINARY field is represented by the Field_string class. The space character
is used as the filler for unused characters in such a field. But a BINARY field 
should use \x00 instead.

Field_string:reset() now detects whether the current field is a BINARY one
and if so uses the \x00 character as a default value filler.


sql/field.h:
  Bug#14171: Wrong internal default value for a BINARY field.
  Field_string:reset() now detects whether the current field is a BINARY one
  and if so uses the \x00 character as a default value filler.
mysql-test/r/type_binary.result:
  Added a test case for the bug#14171: Wrong internal default value for a BINARY field.
mysql-test/t/type_binary.test:
  Added a test case for the bug#14171: Wrong internal default value for a BINARY field.
2007-01-09 22:35:30 +03:00
unknown
f831f46ab2 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt
2007-01-09 22:14:11 +03:00
unknown
eca431f3f3 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25027


sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
2007-01-09 10:26:28 -08:00
unknown
8a7c1142db Version 4.0 is in "extended maintenance" by now, and so
no future build of it will include Berkeley DB:
Remove it from the Windows VC++ project files.
2007-01-09 17:21:54 +01:00
unknown
ada9d3f2c8 Merge kpdesk.mysql.com:/home/thek/dev/test23010/my40-bug23010
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.0
2007-01-09 14:37:52 +01:00
unknown
9e30f5cb30 Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my41-bug23010
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-build
2007-01-09 14:36:28 +01:00
unknown
29dcdbcbdf Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my50-bug23010
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-build
2007-01-09 14:35:16 +01:00
unknown
48451b86bd Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/opt/my50-opt
2007-01-09 15:37:31 +04:00
unknown
72268a3b88 Merge kpdesk.mysql.com:/home/thek/dev/bug23010/my41-bug23010
into  kpdesk.mysql.com:/home/thek/dev/bug23010/my50-bug23010


mysys/mf_iocache.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
2007-01-09 12:33:02 +01:00
unknown
7b95184ae3 Merge kpdesk.mysql.com:/home/thek/dev/test23010/my40-bug23010
into  kpdesk.mysql.com:/home/thek/dev/bug23010/my41-fix23010


mysys/mf_iocache.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
2007-01-09 12:30:57 +01:00
unknown
d7e9fd07ef Cset exclude: thek@kpdesk.mysql.com|ChangeSet|20061106104152|07628
mysys/mf_iocache.c:
  Exclude
mysys/my_seek.c:
  Exclude
2007-01-09 12:28:46 +01:00
unknown
4b8d44ef69 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt


sql/filesort.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
strings/decimal.c:
  Auto merged
2007-01-09 13:12:35 +03:00
unknown
21311e992d Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23443
2007-01-09 12:47:10 +03:00
unknown
e5c1d4784d Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443
2007-01-09 12:47:03 +03:00
unknown
2dab449fc7 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
2007-01-09 12:46:35 +03:00
unknown
19b95ca206 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23443


heap/hp_write.c:
  Auto merged
sql/item_func.cc:
  Auto merged
2007-01-09 12:40:34 +03:00
unknown
beac4a6f8a Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443


heap/hp_block.c:
  Auto merged
sql/item_func.cc:
  Auto merged
heap/hp_write.c:
  Manual merge.
2007-01-09 12:39:05 +03:00
unknown
4fe1561f98 BUG#23443: user-defined variables can consume too much memory in the
server

The problem was that when memory was exhausted HEAP engine could crash
(GROUP BY uses HEAP TABLE).  Alternatively, if SET was used, it could
report an error "You may only use constant expressions with SET" instead
of "Out of memory (Needed NNNNNN bytes)".

The solution is:
 - pass MY_WME to (some) calls to my_malloc() to get correct message.
 - fix heap_write() so that the first key is skipped during cleanup
   on ENOMEM because it wasn't inserted and doesn't have to be
   deleted.

No test case is provided because we can't test out-of-memory behaviour
in our current test framework.


heap/hp_block.c:
  If allocation fails, write an error message.
heap/hp_write.c:
  On ENOMEM, skip the first key in cleanup, as it wasn't inserted yet.
sql/item_func.cc:
  Add MY_WME so that OOM error will be reported.
2007-01-09 12:24:25 +03:00
unknown
470ea99c42 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24345


sql/sql_select.cc:
  Auto merged
2007-01-09 00:17:48 -08:00
unknown
e3d81238e4 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/opt/my50-opt
2007-01-09 11:19:17 +04:00
unknown
3a05847abb Fix for BUG#19725 "Calls to SF in other database are not replicated
correctly in some cases".
In short, calls to a stored function located in another database
than the default database, may fail to replicate if the call was made
by SET, SELECT, or DO.
Longer: when a stored function is called from a statement which does not go
to binlog ("SET @a=somedb.myfunc()", "SELECT somedb.myfunc()",
"DO somedb.myfunc()"), this crafted statement is binlogged:
"SELECT myfunc();" (accompanied with a mention of the default database
if there is one). So, if "somedb" is not the default database,
the slave would fail to find myfunc(). The fix is to specify the
function's database name in the crafted binlogged statement, like this:
"SELECT somedb.myfunc();". Test added in rpl_sp.test.


mysql-test/r/rpl_sp.result:
  Because I moved the SHOW BINLOG EVENTS down a bit, big portions of its
  output move. Also, the function's database name appears in
  SELECT statements.
mysql-test/t/rpl_sp.test:
  Adding test for BUG#19725.
  Moving the SHOW BINLOG EVENTS down, it is run at the very end to
  test everything.
sql/sp_head.cc:
  When binlogging a "SELECT myfunc()" (when a stored function is executed
  inside a statement which does not go to the binlog (like a SET,
  SELECT, DO), we need to write "SELECT db_of_myfunc().myfunc()",
  because the function may be in a database which is not the default
  database.
2007-01-08 22:01:06 +01:00
unknown
e6e7d0cf45 Changes necessary to build version 4.0.28:
- "make_binary_distribution" accepts a dummy "--platform=" argument.

- "MySQL-shared-compat.spec" uses a "version40" define symbol internally.


scripts/make_binary_distribution.sh:
  Newer versions of the release build tools call this with a "--platform=" argument
  which we seem not to need in 4.0, but which makes the tool crash (happened on SCO).
  
  Rather than add another version check into the build tools, just accept a "--platform="
  argument and ignore it, just give a message.
support-files/MySQL-shared-compat.spec.sh:
  The current version of "Do-shared-compat" needs two digits to identify the release families
  (to differ between 4.0 and 4.1), so the variable "version4" must get renamed to "version40".
2007-01-08 18:33:55 +01:00