21571 Commits

Author SHA1 Message Date
unknown
0d92b17851 Cleanup: fix race in rename.test.
mysql-test/r/rename.result:
  Update result.
mysql-test/t/rename.test:
  Remove the race by replacing sleep with a reap.
2006-11-03 12:16:31 +03:00
unknown
e3fd562c0a Fix compile failure.
myisam/sort.c:
  Moved DBUG_PRINT statement to declaration section.
2006-11-02 21:03:41 -05:00
unknown
6bc475c5e3 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-02 20:43:48 -05:00
unknown
7483373801 sort.c:
Create block around DBUG_ENTER late in function


myisam/sort.c:
  Create block around DBUG_ENTER late in function
2006-11-03 02:35:09 +01:00
unknown
65e3646258 Fix merge collision. 2006-11-02 18:27:52 -05:00
unknown
e1a722b2d3 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint


configure.in:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
myisam/sort.c:
  Manual merge.
mysql-test/r/innodb_mysql.result:
  Manual merge.
mysql-test/t/innodb_mysql.test:
  Manual merge.
mysys/mf_iocache.c:
  Manual merge.
2006-11-02 17:27:42 -05:00
unknown
2772d9e182 Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-11-02 23:09:32 +01:00
unknown
24232ff032 configure.in:
Raise version number to 4.1.23


configure.in:
  Raise version number to 4.1.23
2006-11-02 21:58:42 +01:00
unknown
3465d0c053 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mtr_vs_config/my41-mtr_vs_config
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint
2006-11-02 15:18:25 -05:00
unknown
8e6b1e3849 Bug#23865 mysql-test-run.pl on Windows only supports debug and release configurations
Visual Studio builds each configuration in a different sub-directory.  Only the sub-
directories for release and debug are currently searched.


mysql-test/lib/mtr_misc.pl:
  Bug#23865 mysql-test-run.pl on Windows only supports debug and release configurations
  - Added usage comments.
mysql-test/mysql-test-run.pl:
  Bug#23865 mysql-test-run.pl on Windows only supports debug and release configurations
  - Moved Initial_Setup function to the command_line_setup function.
  - Defined new argument vs-config which can be used to inidicate the VS Configuration
  used to create the test executables. Argument can also be controlled with
  MTR_VS_CONFIG environment variable.
2006-11-02 15:05:20 -05:00
unknown
aae0caf608 Merge kpettersson@bk-internal:/home/bk/mysql-4.1-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
2006-11-02 13:35:28 +01:00
unknown
4868875cec Bug#22828 complementary patch:
- 'false' not defined in C, use FALSE instead.


mysys/my_lock.c:
  Fixed error in windows built:
  'false' not defined in C, use FALSE instead.
2006-11-02 13:33:26 +01:00
unknown
e9f182b3b9 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug22913/my41-bug22913


client/mysql.cc:
  Auto merged
2006-11-02 16:25:01 +04:00
unknown
b96f1a477d Fix for bug #22913: mysql --quick doesn't report some errors.
We don't check for errors that may occur during data printing.


client/mysql.cc:
  Fix for bug #22913: mysql --quick doesn't report some errors.
    - check for errors after the data output.
2006-11-02 14:32:00 +04:00
unknown
2886e07d3f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2006-11-02 01:08:39 +03:00
unknown
88f55bf8c2 BUG#23312 - server hangs 'closing tables' with insert delayed,flush
tables,alter table
Deadlock could happen if there are delayed insert + flush tables + alter table
running concurrently.

This is fixed by removing a redundant mutex lock when killing a delayed thread.


sql/sql_insert.cc:
  Removed redundant delayed thread mutex lock, that could result in a deadlock.
  LOCK_delayed_insert is sufficient to be sure that no other thread frees delayed
  handler.
2006-11-02 00:05:02 +04:00
unknown
25b72e97d2 mysql-test/mysql-test-run.pl + mysql-test/mysql-test-run.sh
Necessary changes if one of the test scripts is to be used with a RPM installation (bug#17194).

This change handles finding the server and the other programs,
but it does not solve the problem to get a writable "var" directory.
If we want to avoid world-writable directories below "/usr/share/mysql-test" (and we do!), 
any automatic solution would require fixed decisions which may not match the local installation.

For the Perl script, use "--vardir"; for the shell script, create "mysql-test/var" manually.


mysql-test/mysql-test-run.pl:
  Modifications to use this script in a RPM installation (bug#17194):
  - The tests are one level further down, "/usr/share/mysqltest" (vs. "/usr/bin").
  - A "mysql-bench" might not exist.
  - "mysql-test" is owned by root and not world-writable, so "var" must be put somewhere else.
  - The server, "mysqld", is in a different location, "/usr/sbin".
  
  Note that the "--vardir" option must be used in a RPM installation,
  unless "mysql-test" is made writable for the user who runs the tests (not done automatically).
mysql-test/mysql-test-run.sh:
  Necessary changes if this script is to be used with a RPM installation (bug#17194):
  - The tests are one level further down, "/usr/share/mysqltest" (vs. "/usr/bin").
  - The server, "mysqld", is in a different location, "/usr/sbin".
  
  Note that these changes are not sufficient, as the user needs a writable "mysql-test/var" subdirectory.
  Either this is created manually, or the script can not be used.
  An alternative is the corresponding Perl script which supports a "--vardir" option.
2006-11-01 20:17:10 +01:00
unknown
0797800841 Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-11-01 16:16:34 +01:00
unknown
bc7b0a2e92 Merge 192.168.0.10:mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-11-01 16:08:17 +01:00
unknown
8a7bc05288 Fix Bug #9191 "TIMESTAMP/from_unixtime() no longer accepts 2^31-1"
(4.1 version, with post-review fixes)
  
  The fix for another Bug (6439) limited FROM_UNIXTIME() to
  TIMESTAMP_MAX_VALUE which is 2145916799 or 2037-12-01 23:59:59 GMT,
  however unix timestamp in general is not considered to be limited 
  by this value. All dates up to power(2,31)-1 are valid.
  
  This patch extends allowed TIMESTAMP range so, that max
  TIMESTAMP value is power(2,31)-1. It also corrects
  FROM_UNIXTIME() and UNIX_TIMESTAMP() functions, so that
  max allowed UNIX_TIMESTAMP() is power(2,31)-1. FROM_UNIXTIME()
  is fixed accordingly to allow conversion of dates up to
  2038-01-19 03:14:07 UTC. The patch also fixes CONVERT_TZ()
  function to allow extended range of dates.
  
  The main problem solved in the patch is possible overflows
  of variables, used in broken-time representation to time_t
  conversion (required for UNIX_TIMESTAMP).


acinclude.m4:
  Add new macro to check time_t range
configure.in:
  Call the macro to check time_t range
include/my_time.h:
  Move time-related defines to proper place.
  Add a function to perform a rough check if
  a TIMESTAMP value fits into the boundaries.
  Note: it is defined as "static inline", as
  otherwise libmysql won't compile (due to the
  way how gcc handles "inline" directive).
mysql-test/r/func_time.result:
  Update test result
mysql-test/r/timezone.result:
  Update test result
mysql-test/r/timezone2.result:
  Update test result
mysql-test/t/func_time.test:
  Add test for Bug#9191 and update test to be consistent
  with new TIMESTAMP boundaries
mysql-test/t/timezone.test:
  Update old tests to be consistent
  with new TIMESTAMP boundaries
mysql-test/t/timezone2.test:
  Update tests for convert_tz to be consistent with new
  TIMESTAMP boundaries
sql/item_timefunc.cc:
  Fix convert_tz to allow dates from the new (extended)
  TIMESTAMP range
sql/mysql_priv.h:
  Move time handling defaults to my_time.h
sql-common/my_time.c:
  Because of increased TIMESTAMP_MAX_VALUE overflows in my_system_gmt_sec()
  became possible. Here we make it safe against the overflows by stepping
  back from the boundary dates which are likely to trigger them.
sql/time.cc:
  Update TIME_to_timestamp to allow conversion of
  extended date range
sql/tztime.cc:
  Fix new (4.1) implementation of broken-down time representation
  to time_t conversion routine to avoid overflows during conversion
  of boundary dates
mysql-test/r/timezone4.result:
  New BitKeeper file ``mysql-test/r/timezone4.result''
mysql-test/t/timezone4-master.opt:
  New BitKeeper file ``mysql-test/t/timezone4-master.opt''
mysql-test/t/timezone4.test:
  New BitKeeper file ``mysql-test/t/timezone4.test''
2006-11-01 16:47:40 +03:00
unknown
2d1215f4c6 Merge kpdesk.mysql.com:/home/thek/dev/bug22828/my41-bug22828
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint


mysys/my_chsize.c:
  Auto merged
2006-11-01 09:24:57 +01:00
unknown
aa8c830d9b Improve the reading of .pid files from var/run
- Only read *.pid
 - Only allow it to contain a number 


mysql-test/lib/mtr_io.pl:
  Check that the value read from pidfile is a valid number consisting only of digits
mysql-test/lib/mtr_process.pl:
  Only process .pid files in var/run dir and print a warning if other files are found there.
2006-10-31 19:02:33 +01:00
unknown
8e0113be8c Make variables static to please Netware compiler
client/mysqltest.c:
  Make the variables that are referenced from the "command_arg" arrays static to please the NetWare compiler.
  Apparently the arrays can't reference local stack variables.
2006-10-31 18:51:23 +01:00
unknown
c54f778e96 Remove warning, exe_mysql_fix_system_tables are not available on windows 2006-10-31 17:16:07 +01:00
unknown
23061beb73 Bug#22828 _my_b_read() ignores return values for my_seek() calls
- Because my_seek actually is capable of returning an error code we should
  exploit that in the best possible way.
- There might be kernel errors or other errors we can't predict and capturing
  the return value of all system calls gives us better understanding of
  possible errors.


mysys/mf_iocache.c:
  - Added check on return value for my_seek
  - Added comments
mysys/my_chsize.c:
  - Added check on return value for my_seek
  - Added comments
mysys/my_lock.c:
  - Added check on return value for my_seek
  - Added comments
mysys/my_seek.c:
  - Added comments
2006-10-31 09:26:16 +01:00
unknown
dfdb972e03 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug23412/my41-bug23412
2006-10-31 10:21:18 +04:00
unknown
49c9509a5f Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21915
2006-10-30 17:58:56 +03:00
unknown
885dc1cb9b BUG#21915: Changing limits of table_cache when setting max_connections
If the user has specified --max-connections=N or --table-open-cache=M
options to the server, a warning could be given that some values were
recalculated, and table-open-cache could be assigned greater value.

Note that both warning and increase of table-open-cache were totally
harmless.

This patch fixes recalculation code to ensure that table-open-cache will
be never increased automatically and that a warning will be given only if
some values had to be decreased due to operating system limits.

No test case is provided because we neither can't predict nor control
operating system limits for maximal number of open files.


sql/mysql_priv.h:
  Add constants for table_cache minimum and default values.
sql/mysqld.cc:
  Fix max_connections and table_cache_size re-computation.
2006-10-30 17:47:02 +03:00
unknown
9711d72205 Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-30 15:03:04 +01:00
unknown
c2b8a63ccf Bug#18654 Test is timing-dependent and fails from scheduling effects (?)
- Wait in loop with small sleep until tables has been renamed


mysql-test/t/rename.test:
  To avoid scheduling effects wait for the tables to be renamed in a loop with small sleeps
  before continuing with tests
mysql-test/include/wait_for_query_to_suceed.inc:
  New BitKeeper file ``mysql-test/include/wait_for_query_to_suceed.inc''
2006-10-30 14:42:28 +01:00
unknown
142a448594 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb


sql/sql_select.cc:
  Auto merged
2006-10-27 23:56:51 +02:00
unknown
3e2dacaeaf Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-27 23:54:57 +02:00
unknown
7577630572 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-27 23:54:24 +02:00
unknown
11ac490779 ndb - valgrind
Still leakage, make sure all unlinked operations are put back so they will be release
  (on failing blob operations, when AO_IgnoreError)


ndb/src/ndbapi/NdbConnection.cpp:
  Still leakage, make sure all unlinked operations are put back so they will be release
2006-10-27 16:32:59 +02:00
unknown
928fa57a9e Update the rules for abi_check
include/Makefile.am:
  Move m_ctype.h from BUILT_SOURCES, it's in vcs
  Update the rule for abi_check
include/mysql_h.ic:
  Update the refernce and rename it to mysql_h.ic
2006-10-27 15:57:00 +02:00
unknown
d2c90fcb8e Fix for bug #23412: delete rows with null date field
Backport of the fix for bug #8143: A date with value 0 is treated as a NULL value


mysql-test/r/delete.result:
  Fix for bug #23412: delete rows with null date field
    - test result
mysql-test/t/delete.test:
  Fix for bug #23412: delete rows with null date field
    - test case
sql/sql_delete.cc:
  Fix for bug #23412: delete rows with null date field
    - during SELECT queries processing we convert 'date[time]_field is null'                   
      conditions into 'date[time]_field = 0000-00-00[ 00:00:00]' for not null                  
      DATE and DATETIME fields. To be consistent, we have to do the same for DELETE            
      queries. So we should call remove_eq_conds() in the mysql_delete() as well.              
      Also it may simplify and speed up DELETE queries execution.
2006-10-27 18:08:50 +05:00
unknown
447c336df1 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-merge
2006-10-27 15:02:45 +02:00
unknown
367104752a Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug22119
2006-10-26 09:42:11 +02:00
unknown
722d433018 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug18819
2006-10-25 20:13:07 +04:00
unknown
e3d49f0c3f BUG#18819: DELETE IGNORE hangs on foreign key parent delete
If the error happens during DELETE IGNORE, nothing could be send to the
client, thus leaving it frozen expecting the reply.

The problem was that if some error occurred, it wouldn't be reported to
the client because of IGNORE, but neither success would be reported.

MySQL 4.1 would not freeze the client, but will report

  ERROR 1105 (HY000): Unknown error

instead, which is also a bug.

The solution is to report success if we are in DELETE IGNORE and some
non-fatal error has happened.


mysql-test/r/innodb_mysql.result:
  Add result for bug#18819: DELETE IGNORE hangs on foreign key parent
  delete.
mysql-test/t/innodb_mysql.test:
  Add test case for bug#18819: DELETE IGNORE hangs on foreign key parent
  delete.
sql/sql_delete.cc:
  Report success if we have got an error, but we are in DELETE IGNORE, and
  the error is not fatal (if it is, it would be reported to the client).
2006-10-25 19:53:26 +04:00
unknown
2ab335a5b8 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge


myisam/mi_open.c:
  Auto merged
2006-10-25 17:08:57 +02:00
unknown
5decebc5f3 Skip innodb test if mysqld doesn't have innodb support 2006-10-25 16:50:06 +02:00
unknown
81e4c2fb08 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb
2006-10-25 15:17:44 +02:00
unknown
7596e12bbe Update the binlog format parse routine to only be avaliable in 5.1 and allow for any binlog_format to be specified 2006-10-25 14:56:36 +02:00
unknown
870ed0c3f5 Add valgrinding support for mysql_client_test
Fix two memory leaks in mysql_client_test


mysql-test/mysql-test-run.pl:
  Add valgrinding support for mysql_client_test
tests/mysql_client_test.c:
  Fix two memory leaks
2006-10-25 14:34:18 +02:00
unknown
f962140f41 Bug#22119 - Changing MI_KEY_BLOCK_LENGTH makes a wrong myisamchk
When compiling with a default key block size greater than the
smallest key block size used in a table, checking that table
failed with bogus errors. The table was marked corrupt. This
affected myisamchk and the server.

The problem was that the default key block size was used at
some places where sizes less or equal to the block size of the
index in check was required.

We do now use the key block size of the particular index
when checking.

A test case is available for later versions only.


myisam/mi_check.c:
  Bug#22119 - Changing MI_KEY_BLOCK_LENGTH makes a wrong myisamchk
  Changed check_k_link() and chk_index_down() to use the block
  size of the index in check or MI_MIN_KEY_BLOCK_LENGTH where
  required. Formerly myisam_block_size or MYISAM_SHARE::blocksize
  was used wrongly.
2006-10-25 13:39:40 +02:00
unknown
379809f40e Set flag opt_skip_ndbcluster_slave if no slaves are being used.
Add comments
Deperlify
2006-10-25 12:40:33 +02:00
unknown
0f4f1f69be BUG#22053 - REPAIR table can crash server for some
really damaged MyISAM tables

When unpacking a blob column from broken row server crash
could happen. This could rather happen when trying to repair
a table using either REPAIR TABLE or myisamchk, though it
also could happend when trying to access broken row using
other SQL statements like SELECT if table is not marked as
crashed.

Fixed ulong overflow when trying to extract blob from
broken row.

Affects MyISAM only.


myisam/mi_dynrec.c:
  Fixed ulong overflow when trying to extract blob from
  broken row. It happens when there are not enough bytes
  to store blob length in `from' buffer. In this case
  (ulong) (from_end - from) - size_length value is huge,
  close to ULONG_MAX.
2006-10-25 15:40:10 +05:00
unknown
2def22731c Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb
2006-10-25 11:45:47 +02:00
unknown
08ce5b3dbd Bug #21072 Duplicate key error in NDB references wrong key: Re-wrote string usage to avoid valgrind warnings 2006-10-25 11:44:40 +02:00