Commit graph

6341 commits

Author SHA1 Message Date
unknown
17c238a15b Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1-mrg


include/mysql.h:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/rename.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_class.h:
  Auto merged
Makefile.am:
  merging
client/mysqltest.c:
  merging
mysql-test/t/mysql_client.test:
  merging
2006-11-16 20:44:37 +04:00
unknown
6bd194d7ca Merge mysql.com:/home/bkroot/mysql-4.1-rpl
into  mysql.com:/home/bk/MERGE/mysql-4.1-merge
2006-11-15 12:39:21 +01:00
unknown
9cde979eb7 bug#19402 SQL close to the size of the max_allowed_packet fails on the slave
mending windows test.


mysql-test/r/rpl_packet.result:
  results changed
mysql-test/t/rpl_packet.test:
  removing because of the connection with windows client can be lost instead of
  the error code back (source: manual).
2006-11-15 12:53:07 +02:00
unknown
b295756927 make dist now copies .test files in mysql-test/include
mysql-test/Makefile.am:
  add include/*.test to dist-hook and install-data-local targets to include the three .test files in mysql-test/include with make dist
2006-11-14 14:29:05 +01:00
unknown
e56742d7a9 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B19216-4.1-opt
2006-11-13 15:40:19 +02:00
unknown
8fd48ccec0 Merge mysql.com:/home/bkroot/mysql-4.1-rpl
into  mysql.com:/home/bk/MERGE/mysql-4.1-merge
2006-11-13 12:44:24 +01:00
unknown
f53af7b8e5 Bug #19216: Client crashes on long SELECT
The server sends a number of columns to the client.
 It uses a limited "fast" function for that instead of the
 general one. This fast function cannot send numbers larger 
 than 2 bytes. 
 This causes the client to expect smaller number of columns. 
 The client writes outside of the allocated memory buffer 
 as a result.
 Fixed the server to use the general function to send column
 count.
 Fixed the client to check the column count before writing
 column data. 


mysql-test/t/mysql_client.test:
  Bug #19216: Client crashes on long SELECT
   - test case
sql/protocol.cc:
  Bug #19216: Client crashes on long SELECT
   - renamed the function for bether comprehention
     and made it local
   - used the right (non-local) function to transfer 
     the column count in Protocol::send_fields
sql/protocol.h:
  Bug #19216: Client crashes on long SELECT
   - made optimized net_store_length local
sql-common/client.c:
  Bug #19216: Client crashes on long SELECT
   - fixed the client to check for older servers (without the fix).
2006-11-13 12:28:55 +02:00
unknown
c6d317831a mysql-test-run.pl:
Test for base directory when a RPM install corrected


mysql-test/mysql-test-run.pl:
  Test for base directory when a RPM install corrected
2006-11-11 14:12:30 +01:00
unknown
aa341c498e Merge trift2.:/MySQL/M41/bug17194-4.1
into  trift2.:/MySQL/M41/push-4.1
2006-11-10 15:54:58 +01:00
unknown
744aadbef9 Merge trift2.:/MySQL/M41/clone-4.1
into  trift2.:/MySQL/M41/push-4.1


myisam/sort.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/mysql-test-run.pl:
  Manual merge.
2006-11-10 15:52:53 +01:00
unknown
1cb38d3be6 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  kahlann.erinye.com:/home/df/mysql/build/mtr-4.1
2006-11-10 14:49:07 +01:00
unknown
df1b6ae6e1 add --report-features to mysql-test-run.pl
mysql-test/mysql-test-run.pl:
  add --report-features
mysql-test/include/report-features.test:
  test file showing server features for mysql-test-run.pl --report-features
2006-11-10 13:12:08 +01:00
unknown
cb80733a89 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  outpost.site:/home/cps/mysql/trees/4.1-runtime-bug9191


configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/time.cc:
  Auto merged
mysql-test/t/rename.test:
  choose one of the race problem solutions. It was solved
  differently in -runtime and mainstream
2006-11-10 15:05:38 +03:00
unknown
facaaeb4c4 mysql-test-run.sh:
Added --force-restart pseudo server argument to shell version as well


mysql-test/mysql-test-run.sh:
  Added --force-restart pseudo server argument to shell version as well
2006-11-10 02:22:33 +01:00
unknown
62e0e608ff mysql-test/install_test_db.sh
Adapt to the different path of the server program, if installation was by RPM.
    Missing in the first changeset for bug#17194.


mysql-test/install_test_db.sh:
  Adapt to the different path of the server program, if installation was by RPM.
  Missing in the first changeset for bug#17194.
2006-11-09 17:43:31 +01:00
unknown
96a78a6321 Merge trift2.:/MySQL/M41/bug17194-4.1
into  trift2.:/MySQL/M41/clone-4.1
2006-11-08 21:22:52 +01:00
unknown
1144a46631 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1-rpl
into  mysql.com:/usr/home/bar/mysql-4.1.b23451v2


mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
2006-11-08 22:03:08 +04:00
unknown
8b1f7c4852 bug#19402 SQL close to the size of the max_allowed_packet fails on slave
fixing a flow of the test


mysql-test/r/rpl_packet.result:
  results changed
mysql-test/t/rpl_packet.test:
  fixing a flaw in the test to create a table in MAX_NAME-sized db indeed.
  Upon that the `select to return 1' invariant holds.
2006-11-08 17:17:28 +02:00
unknown
6befbec8bc Merge dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/4.1/bug19402-max_allowed
into  dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/mysql-4.1-rpl


sql/slave.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
2006-11-08 09:57:20 +02:00
unknown
5af4fd2563 Bug #11032: getObject() returns a String for a sub-query of type datetime
- When returning metadata for scalar subqueries the actual type of the
   column was calculated based on the value type, which limits the actual
   type of a scalar subselect to the set of (currently) 3 basic types : 
   integer, double precision or string. This is the reason that columns
   of types other then the basic ones (e.g. date/time) are reported as
   being of the corresponding basic type.
   Fixed by storing/returning information for the column type in addition
   to the result type.


mysql-test/r/subselect.result:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
mysql-test/t/subselect.test:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
sql/item_subselect.cc:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
sql/item_subselect.h:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
2006-11-07 18:16:17 +02:00
unknown
b227a3d348 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
2006-11-07 12:00:55 +01:00
unknown
d9360eae3b Bug#23451 GROUP_CONCAT truncates a multibyte utf8 character
Problem: GROUP_CONCAT on a multi-byte column can truncate
  in the middle of a multibyte character when applying
  group_concat_max_len limit. It produces an invalid
  multi-byte character in the result string.
  
The second, easier version - reusing old "warning_for_row" flag,
instead of introducing of "result_is_full" - which was
added in the previous commit.


mysql-test/r/func_gconcat.result:
  Adding test case
mysql-test/t/func_gconcat.test:
  Adding test case
sql/item_sum.cc:
  Adding well_formed_len() call not to cut
      in the middle of a multi-byte character.
2006-11-07 12:45:48 +04:00
unknown
6cf8ceebbf Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-4.1-runtime
into  outpost.site:/home/cps/mysql/trees/4.1-runtime-bug9191


mysql-test/r/func_time.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
2006-11-06 00:05:02 +03:00
unknown
c095f98ff7 Bug #22457: Column alias in ORDER BY works, but not if in an expression
The parser is allocating Item_field for references by name in ORDER BY
 expressions. Such expressions however may point not only to Item_field 
 in the select list (or to a table column) but also to an arbitrary Item. 
 This causes Item_field::fix_fields to throw an error about missing 
 column.
 The fix substitutes Item_field for the reference with an Item_ref when 
 not pointing to Item_field.


mysql-test/r/order_by.result:
  Bug #22457: Column alias in ORDER BY works, but not if in an expression
   - test case
mysql-test/t/order_by.test:
  Bug #22457: Column alias in ORDER BY works, but not if in an expression
   - test case
sql/item.cc:
  Bug #22457: Column alias in ORDER BY works, but not if in an expression
   - transform the Item_field made by the parser into Item_ref if it 
     doesn't point to Item_field and it is in allowed context
2006-11-03 18:48:16 +02:00
unknown
16a671c021 Don't warn about "Found non pid file" for elements that are not files. 2006-11-03 15:26:42 +01:00
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
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
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
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
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
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
c54f778e96 Remove warning, exe_mysql_fix_system_tables are not available on windows 2006-10-31 17:16:07 +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
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
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
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
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
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
4da54b4769 Adapt mysql-test-run.pl to mysqld in 5.1 using "mixed" binlog format by default 2006-10-24 23:39:46 +02:00
unknown
f89efeb5f6 Pass --core-file option to mysqld when bootstrapping
BitKeeper/etc/ignore:
  Added mysql-test/r/blackhole.log to the ignore list
2006-10-24 21:02:04 +02:00
unknown
c7cedcd645 Remove debug printout 2006-10-24 19:22:27 +02:00
unknown
297d968a8c Run mysql_client_test without --silent
Flush both stdout and stderr before abort'ing mysql_client_test


mysql-test/mysql-test-run.pl:
  Run mysql_client_test wihtout --silent flag
tests/mysql_client_test.c:
  Before aborting mysql_client_test in die, make sure
  to first flush stdout and finally after the error message 
  has been printed also fflush stderr
2006-10-24 18:49:19 +02:00
unknown
e3936b1065 Add analyze_testcase_failure which is called when mysqltest has failed
with error 1 and we are running with --force
The specific "analyze" code is enclosed in a .test file fwich can easily
be modified to be more advanced 


mysql-test/mysql-test-run.pl:
  Attempt to run some quick queries to analyze the failure when mysqltest returns 1 indicating test has failed
  Initially only code to analyze "could not sync with master" is added as that is a blackbox
  and all problems looks the same
mysql-test/include/analyze_failure_sync_with_master.test:
  New BitKeeper file ``mysql-test/include/analyze_failure_sync_with_master.test''
2006-10-24 17:36:46 +02:00