Commit graph

38326 commits

Author SHA1 Message Date
unknown
04311fabaa Bug #28550 "Potential bugs related to the return type of the CHAR function".
Since, as of MySQL 5.0.15, CHAR() arguments larger than 255 are converted into multiple result bytes, a single CHAR() argument can now take up to 4 bytes. This patch fixes Item_func_char::fix_length_and_dec() to take this into account.
  
This patch also fixes a regression introduced by the patch for bug21513. As now we do not always have the 'name' member of Item set for Item_hex_string and Item_bin_string, an own print() method has been added to Item_hex_string so that it could correctly be printed by Item_func::print_args().


mysql-test/r/func_str.result:
  Import patch bug288550.patch
mysql-test/t/func_str.test:
  Import patch bug288550.patch
sql/item.cc:
  Import patch bug288550.patch
sql/item.h:
  Import patch bug288550.patch
sql/item_strfunc.h:
  Import patch bug288550.patch
2007-10-21 21:45:31 +04:00
unknown
e8b8b0894e Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  dsl-hkibras1-ff5fc300-23.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug26199-create_proc_syntax_slave
2007-10-21 18:39:22 +03:00
unknown
6cfd9a4fc3 Bug #26199 Replication Failure on Slave when using stored procs with bit-type parameters.
The value of the actual argument of BIT-type-arg stored procedure was binlogged as non-escaped
sequence of bytes corresponding to internal representation of the bit value.

The patch enforces binlogging of the bit-argument as a valid literal: prefixing the quoted bytes
sequence with _binary.
Note, that behaviour of Item_field::var_str for field_type() of MYSQL_TYPE_BIT is exceptional
in that the returned string contains the binary representation even though result_type() of
the item is INT_RESULT.


mysql-test/r/rpl_sp_effects.result:
  testing stored function and procedure called with BIT-arg.
mysql-test/t/rpl_sp_effects.test:
  results changed
sql/sp_head.cc:
  Treating BIT field type specially to for its value to be prefixed and quoted.
2007-10-21 18:37:37 +03:00
unknown
fb9a562b1c Merge anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines.merge
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines.merge
2007-10-19 13:10:41 -07:00
unknown
4e83236f4f Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines.merge


mysql-test/r/heap_btree.result:
  Auto merged
mysql-test/t/heap_btree.test:
  Auto merged
2007-10-19 13:04:30 -07:00
unknown
1a74cdf9d7 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines.merge
2007-10-19 13:01:08 -07:00
unknown
f3eed850c7 Merge trift2.:/MySQL/M50/bug31644-5.0
into  trift2.:/MySQL/M50/push-5.0


configure.in:
  Auto merged
scripts/Makefile.am:
  Auto merged
2007-10-19 19:19:15 +02:00
unknown
ddeec5ab8d export patch for bug#31221 2007-10-19 17:07:08 +02:00
unknown
426b551bf6 Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
Problem: lying to the optimizer that a function (Item_func_inet_ntoa)
cannot return NULL values leads to unexpected results (in the case group
keys creation/comparison is broken). 

Fix: Item_func_inet_ntoa::maybe_null should be set properly.


mysql-test/r/func_misc.result:
  Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
    - test result.
mysql-test/t/func_misc.test:
  Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
    - test case.
sql/item_strfunc.h:
  Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
    - set Item_func_inet_ntoa::maybe_null flag.
2007-10-19 14:54:05 +05:00
unknown
b85e1046dd Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0


configure.in:
  Auto merged
2007-10-19 11:18:15 +02:00
unknown
d927461052 Merge lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-base
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge


mysql-test/r/udf.result:
  Auto merged
mysql-test/t/udf.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/udf_example.c:
  Auto merged
sql/udf_example.def:
  Auto merged
2007-10-18 16:39:55 -06:00
unknown
36c7ad3704 Merge pilot.mysql.com:/data/msvensson/mysql/tmp/my50-m-fix-win32_perl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
2007-10-18 22:02:40 +02:00
unknown
8933fb3abd Remove unportable use of "system rm" 2007-10-18 21:48:16 +02:00
unknown
0a47c29fb0 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/scratch/tnurnberg/31588/50-31588
2007-10-18 16:09:03 +02:00
unknown
d5819c1f7c Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31221-5.0-opt
2007-10-18 15:32:48 +03:00
unknown
787a4b487a Bug #31221: Optimizer incorrectly identifies impossible WHERE clause
No warning was generated when a TIMESTAMP with a non-zero time part
 was converted to a DATE value. This caused index lookup to assume
 that this is a valid conversion and was returning rows that match 
 a comparison between a TIMESTAMP value and a DATE keypart.
 Fixed by generating a warning on such a truncation.


mysql-test/r/derived.result:
  Bug #31221: fixed an existing not-precise test case
mysql-test/r/ps_2myisam.result:
  Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_3innodb.result:
  Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_4heap.result:
  Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_5merge.result:
  Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_6bdb.result:
  Bug #31221: Warnings cased by existing tests
mysql-test/r/ps_7ndb.result:
  Bug #31221: Warnings cased by existing tests
mysql-test/r/type_date.result:
  Bug #31221: Warnings cased by existing tests
mysql-test/r/type_datetime.result:
  Bug #31221: test case
mysql-test/t/derived.test:
  Bug #31221: fixed an existing not-precise test case
mysql-test/t/type_date.test:
  Bug #31221: test case
sql/field.cc:
  Bug #31221: 
   - Upgraded fix for bug 29729
   - issue a warning only if the hh:mm:ss.msec is not zero consistently 
     for all the Field_newdate::store function
sql/item_timefunc.cc:
  Bug #31221: don't ignore the errors when storing data
2007-10-18 15:19:04 +03:00
unknown
ca6bcc66ed Fix for
Bug#31556 Test failure: "select hex(ascii(a)) ... order by a" results in different order


mysql-test/suite/funcs_2/r/innodb_charset.result:
  Updated result
mysql-test/suite/funcs_2/r/memory_charset.result:
  Updated result
mysql-test/suite/funcs_2/r/myisam_charset.result:
  Updated result
mysql-test/suite/funcs_2/r/ndb_charset.result:
  Updated result
2007-10-18 13:09:30 +02:00
unknown
a9624698be Modify "mysqlbug" ("scripts/mysqlbug.sh") so that it differs between the original
and the modified values of the compile-related variables used in "configure".

Make the necessary adjustments in "configure.in" and "scripts/Makefile.am".

This fixes bug#31644
   Values of *FLAGS that were used for building packages is missed in mysqlbug


configure.in:
  Add more variables to the "substitution" list: SAVE_CC, SAVE_CXX, ASFLAGS.
  
  This is necessary so that the "mysqlbug" script can output the variables affecting
  compilation with both their original (on call) and final (modified) values.
  
  This work is related to fixing bug#31644
     Values of *FLAGS that were used for building packages is missed in mysqlbug
scripts/Makefile.am:
  Clearly differ between the original and the modified values of the compile-related
  variables used in "configure".
  
  This is to fix bug#31644
     Values of *FLAGS that were used for building packages is missed in mysqlbug
scripts/mysqlbug.sh:
  Have separate variables "COMP_CALL_INFO" and "COMP_RUN_INFO"
  which contain the original (call parameters, environment) and the modified values
  of the "configure" variables controlling the compile process.
  
  This fixes bug#31644
     Values of *FLAGS that were used for building packages is missed in mysqlbug
2007-10-18 12:03:30 +02:00
unknown
fffd105fa2 Bug #30638 why doesn't > 4294967295 rows work in myisam on windows.
The BIG_TABLES define wasn't enabled on Windows.
#define added


include/config-win.h:
  Bug #30638 why doesn't > 4294967295 rows work in myisam on windows.
  
  BIG_TABLES enabled on Windows
2007-10-18 14:52:19 +05:00
unknown
85f9df837c Merge polly.(none):/home/kaa/src/maint/bug31207/my50-bug31174
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint


myisam/sort.c:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-10-18 13:47:35 +04:00
unknown
78a13fa46d Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  sin.intern.azundris.com:/misc/mysql/31588/41-31588
2007-10-18 11:15:32 +02:00
unknown
b088967252 Merge sin.intern.azundris.com:/misc/mysql/31588/41-31588
into  sin.intern.azundris.com:/misc/mysql/31588/50-31588


sql/set_var.cc:
  Auto merged
mysql-test/r/variables.result:
  SCCS merged
mysql-test/t/variables.test:
  SCCS merged
2007-10-18 10:51:10 +02:00
unknown
cd9d89a75d Bug#31588: buffer overrun when setting variables
Buffer used when setting variables was not dimensioned to accomodate
trailing '\0'. An overflow by one character was therefore possible.
CS corrects limits to prevent such overflows.


mysql-test/r/variables.result:
  Try to overflow buffer used for setting system variables.
  Unpatched server should throw a valgrind warning here.
  Actual value and error message irrelevant, only length counts.
mysql-test/t/variables.test:
  Try to overflow buffer used for setting system variables.
sql/set_var.cc:
  Adjust maximum number of characters we can store in 'buff' by one
  as strmake() will write a terminating '\0'.
2007-10-18 10:47:54 +02:00
unknown
367fc73e3c Bug #29804 UDF parameters don't contain correct string length
Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself.
    
Now the *_init functions get the constant as a null terminated string with the correct length supplied too.


mysql-test/r/udf.result:
  Test case to check constants passed UDFs.
mysql-test/t/udf.test:
  Test case to check constants passed UDFs.
sql/item_func.cc:
  UDF _init functions are now passed the length of the constants, rather than the max length of the var containing the constant.
sql/udf_example.c:
  Added check_const_len functions. The check_const_len_init functions checks that lengths of constants are correctly passed.
sql/udf_example.def:
  Add new example functions to windows dll export list.
2007-10-17 17:54:11 -04:00
unknown
a634d1bf47 Fix syntax error build problem on Windows (variable was defined
in middle of block)


libmysql/libmysql.c:
  Fix syntax error - don't define new variables in the middle of a block.
  
  Also, use size_t instead of uint to avoid unnecessary casting.
2007-10-17 11:22:41 -06:00
unknown
ce8bf087b0 Fix for bug #31207: Test "join_nested" shows different strategy on IA64
CPUs / Intel's ICC compile

The bug is a combination of two problems:

1. IA64/ICC MySQL binaries use glibc's qsort(), not the one in mysys.

2. The order relation implemented by join_tab_cmp() is not transitive,
i.e. it is possible to choose such a, b and c that (a < b) && (b < c)
but (c < a). This implies that result of a sort using the relation
implemented by join_tab_cmp() depends on the order in which
elements are compared, i.e. the result is implementation-specific. Since
choose_plan() uses qsort() to pre-sort the
join tables using join_tab_cmp() as a compare function, the results of
the sorting may vary depending on qsort() implementation.

It is neither possible nor important to implement a better ordering
algorithm in join_tab_cmp(). Therefore the only way to fix it is to
force our own qsort() to be used by renaming it to my_qsort(), so we don't depend
on linker to decide that.

This patch also "fixes" bug #20530: qsort redefinition violates the
standard.


include/my_sys.h:
  Renamed qsort() and qsort2() to my_qsort() and my_qsort2(). Since
  previously we relied on stdlib.h to provide a declaration for qsort(), a
  separate declaration for my_qsort() is now required.
libmysql/Makefile.shared:
  Added mf_qsort.c to libmysql, since my_lib.c now uses my_qsort() instead of qsort().
myisam/ft_boolean_search.c:
  Replaced qsort2() with my_qsort2().
myisam/ft_nlq_search.c:
  Replaced qsort2() with my_qsort2().
myisam/myisampack.c:
  Replaced qsort() with my_qsort().
myisam/sort.c:
  Replaced qsort2() with my_qsort2().
mysys/mf_keycache.c:
  Replaced qsort() with my_qsort().
mysys/mf_qsort.c:
  Renamed qsort() to my_qsort() and qsort2() to my_qsort2().
mysys/mf_sort.c:
  Replaced qsort2() with my_qsort2().
mysys/my_lib.c:
  Replaced qsort() with my_qsort().
mysys/queues.c:
  Replaced qsort2() with my_qsort2().
sql/item_cmpfunc.cc:
  Replaced qsort2() with my_qsort2().
sql/item_cmpfunc.h:
  Replaced qsort2() with my_qsort2().
sql/opt_range.cc:
  Replaced qsort() with my_qsort().
sql/records.cc:
  Replaced qsort() with my_qsort().
sql/sql_acl.cc:
  Replaced qsort() with my_qsort().
sql/sql_array.h:
  Replaced qsort() with my_qsort().
sql/sql_help.cc:
  Replaced qsort() with my_qsort().
sql/sql_select.cc:
  Replaced qsort() with my_qsort().
sql/examples/ha_tina.cc:
  Replaced qsort() with my_qsort().
sql/sql_table.cc:
  Replaced qsort() with my_qsort().
2007-10-17 20:08:58 +04:00
unknown
e8adc3f74b Fix for bug#31615: crash after set names ucs2 collate xxx
Problem: currently, UCS-2 cannot be used as a client character set.

Fix: raise an error if one attempts to set it to USC-2.


mysql-test/r/ctype_ucs.result:
  Fix for bug#31615: crash after set names ucs2 collate xxx
    - test result.
mysql-test/t/ctype_ucs.test:
  Fix for bug#31615: crash after set names ucs2 collate xxx
    - test case.
sql/set_var.cc:
  Fix for bug#31615: crash after set names ucs2 collate xxx
    - raise an error if one is going to set character_set_client to UCS-2.
sql/set_var.h:
  Fix for bug#31615: crash after set names ucs2 collate xxx
    - raise an error if one is going to set character_set_client to UCS-2.
2007-10-17 14:28:00 +05:00
unknown
62a7e160bc Bug#31568 Some "information_schema" entries suddenly report a NULL default
updated result files


mysql-test/suite/funcs_1/r/innodb__datadict.result:
  updated result file
mysql-test/suite/funcs_1/r/memory__datadict.result:
  updated result file
mysql-test/suite/funcs_1/r/myisam__datadict.result:
  updated result file
2007-10-17 13:22:34 +05:00
unknown
d73ab388b1 Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint


mysql-test/r/repair.result:
  Auto merged
mysql-test/t/repair.test:
  Auto merged
2007-10-17 10:32:05 +04:00
unknown
77f287556b Fixed the test case for bug #31174 to not fail on 64-bit platforms. 2007-10-17 10:29:51 +04:00
unknown
42b6424327 Fixed broken call to my_error
sql/sql_yacc.yy:
  Fixed error message to use char*, not LEX_STRING
2007-10-16 14:27:20 -06:00
unknown
72af57b87b Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-28318-rework
2007-10-16 11:17:27 -06:00
unknown
28ef3b2a7f Implementing code review comments
mysql-test/r/sp.result:
  Added tests for coverage
mysql-test/t/sp.test:
  Added tests for coverage
sql/sql_udf.cc:
  Code cleanup
2007-10-16 11:16:31 -06:00
unknown
9ef7b5f6f0 Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint


myisam/sort.c:
  Auto merged
mysql-test/r/repair.result:
  Auto merged
mysql-test/t/repair.test:
  Auto merged
2007-10-16 19:20:00 +04:00
unknown
99a7866a93 Merge polly.(none):/home/kaa/src/maint/bug31174/my41-bug31174
into  polly.(none):/home/kaa/src/maint/mysql-4.1-maint
2007-10-16 19:17:00 +04:00
unknown
666155f5e7 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-work/mysql-5.0.b31081


mysql-test/t/ctype_uca.test:
  Auto merged
2007-10-16 14:58:59 +05:00
unknown
55a3a64eb1 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


sql/item.cc:
  Auto merged
sql/item.h:
  manual merge
2007-10-16 13:19:01 +05:00
unknown
f1d7a96b0a Bug#28318 (CREATE FUNCTION (UDF) requires a schema) -- part II
The root cause of the issue was that the CREATE FUNCTION grammar,
for User Defined Functions, was using the sp_name rule.
The sp_name rule is intended for fully qualified stored procedure names,
like either ident.ident, or just ident but with a default database
implicitly selected.

A UDF does not have a fully qualified name, only a name (ident), and should
not use the sp_name grammar fragment during parsing.

The fix is to re-organize the CREATE FUNCTION grammar, to better separate:
- creating UDF (no definer, can have AGGREGATE, simple ident)
- creating Stored Functions (definer, no AGGREGATE, fully qualified name)

With the test case provided, another issue was exposed which is also fixed:
the DROP FUNCTION statement was using sp_name and also failing when no database
is implicitly selected, when droping UDF functions.
The fix is also to change the grammar so that DROP FUNCTION works with
both the ident.ident syntax (to drop a stored function), or just the ident
syntax (to drop either a UDF or a Stored Function, in the current database)


mysql-test/r/sp-error.result:
  Adjust test results
mysql-test/r/udf.result:
  Adjust test results
mysql-test/t/sp-error.test:
  Adjust test results
mysql-test/t/udf.test:
  Adjust test results
sql/sql_parse.cc:
  CREATE UDF FUNCTION does not use a fully qualified name.
sql/sql_yacc.yy:
  Fix grammar for CREATE / DROP FUNCTION, FOR udf
  Improve error messages for select no_such_function()
2007-10-15 19:15:38 -06:00
unknown
95c4824104 Allow for different directories containing the "libc",
as it may well happen with 32- vs 64-bit Linux systems.

This patch was proposed immediately with the report of
Bug #29658  wrong test for static nss checking on linux, doesn't cover all platforms
2007-10-15 19:59:14 +02:00
unknown
520774eae7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
2007-10-15 13:23:16 -04:00
unknown
048006e2f9 Bug#30986 Character set introducer followed by a HEX string can return bad result(addon)
issue an error if string has illegal characters


mysql-test/r/ctype_utf8.result:
  issue an error if string has illegal characters
mysql-test/t/ctype_utf8.test:
  issue an error if string has illegal characters
sql/item.cc:
  issue an error if string has illegal characters
sql/item.h:
  issue an error if string has illegal characters
sql/sql_yacc.yy:
  issue an error if string has illegal characters
2007-10-15 18:40:58 +05:00
unknown
9bb3c7ebdd Merge gleb.loc:/home/uchum/work/bk/PA/5.0-opt-31019
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-10-15 13:34:58 +05:00
unknown
13afffd03b Merge pilot.mysql.com:/data/msvensson/mysql/bug11589/my50-test_latest
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint


libmysql/libmysql.c:
  Auto merged
mysql-test/r/type_float.result:
  Manual merge
mysql-test/t/type_float.test:
  Manual merge
2007-10-15 09:22:11 +02:00
unknown
4eec3b087d Fix for bug #30453: String not cast to int correctly.
Problem:

my_strntoull10rnd_8bit() handled incorrectly cases when the input
string contains a decimal point and is long enough to overrun the
'unsigned long long' type. The position of the decimal point was not
taken into account which resulted in miscalculated numbers and
truncation to appropriate SQL data type limits.

Solution:

Fix my_strntoull10rnd_8bit() to take the position of a decimal point
into account in such cases.


mysql-test/r/insert.result:
  Added a test case for bug #30453.
mysql-test/t/insert.test:
  Added a test case for bug #30453.
strings/ctype-simple.c:
  In cases when the 'unsigned long long' type is overrun by the input
  string and a decimal point has occurred, adjust the 'shift' according to
  the position of the decimal point and skip all subsequent digits.
2007-10-15 10:34:34 +04:00
unknown
4eb5506257 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b31154/b31154.5.0
2007-10-15 10:40:28 +05:00
unknown
e9668a9b55 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b31154/b31154.5.0
2007-10-15 10:28:58 +05:00
unknown
173eb806db bug #29801 Federated engine crashes local server
if remote server sends malicious response.

We need to check if the SHOW TABLE STATUS query we issue inside the
FEDERATED engine returned the result with the proper (or just sufficient)
number of rows. Otherwise statements like row[12] can crash the server.


sql/ha_federated.cc:
  bug #29801 Federated engine crashes local server
                 if remote server sends malicious response.
  
  Return with the error if the remote server return fewer rows than we need.
2007-10-15 10:11:52 +05:00
unknown
29b06fd022 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b30885/b30885.5.0
2007-10-15 09:57:11 +05:00
unknown
eff940c731 ndb - bug#29390: fix mem leak introduced in previous cset
ndb/src/ndbapi/NdbScanFilter.cpp:
  fix mem leak on discarded scanfilter
2007-10-14 16:17:39 +02:00
unknown
97a98ff59b item_sum.cc:
Fixed dbug macros usage errors


sql/item_sum.cc:
  Fixed dbug macros usage errors
2007-10-14 11:28:43 +03:00