Commit graph

454 commits

Author SHA1 Message Date
ramil@mysql.com
0bdae38efb Fix for bug #6880: LAST_INSERT_ID() within a statement 2006-06-07 14:01:10 +05:00
aelkin@mysql.com
7dcd1383a8 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/4.1
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/4.1-bug19136_unass_user_var
2006-05-07 11:43:27 +03:00
aelkin@mysql.com
8c57924a6a Bug#19136: Crashing log-bin and uninitialized user variables in a derived table
The reason of the bug is in that `get_var_with_binlog' performs missed
assingment of
the variables as side-effect. Doing that it eventually calls
`free_underlaid_joins' to pass as an argument `thd->lex->select_lex' of the lex
which belongs to the user query, not 
to one which is emulated i.e SET @var1:=NULL.


`get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.
2006-05-05 11:21:21 +03:00
kroki@mysql.com
c77336c260 Bug#16501: IS_USED_LOCK does not appear to work
Update User_level_lock::thread_id on acquiring an existing lock,
and reset it on lock release.
2006-04-24 18:06:43 +04:00
evgen@moonbone.local
ac54aa2aee Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was
used

In a simple queries a result of the GROUP_CONCAT() function was always of 
varchar type.
But if length of GROUP_CONCAT() result is greater than 512 chars and temporary
table is used during select then the result is converted to blob, due to
policy to not to store fields longer than 512 chars in tmp table as varchar
fields.

In order to provide consistent behaviour, result of GROUP_CONCAT() now
will always be converted to blob if it is longer than 512 chars.
Item_func_group_concat::field_type() is modified accordingly.
2006-04-12 23:05:38 +04:00
ramil@mysql.com
a2cd8beb96 Merge mysql.com:/usr/home/ram/work/mysql-4.0
into  mysql.com:/usr/home/ram/work/mysql-4.1
2006-04-11 13:53:44 +05:00
hf@eagle.intranet.mysql.r18.ru
b91380456f Merge hf@192.168.21.12:work/mysql-4.1.9855
into eagle.intranet.mysql.r18.ru:/home/hf/work/mysql-4.1.mrg
2006-01-21 17:53:29 +04:00
sasha@asksasha.com
aaaee3f23b Merge spachev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  asksasha.com:/reiser-data/mysql-dev/mysql-4.1-bug7947
2005-11-07 15:10:48 -07:00
sasha@asksasha.com
41752fa9a0 fix for BUG#7947 - failure to log DO RELEASE_LOCK() if we disconnect in the middle of
transaction while holding the lock. Also test to make sure other binlogging issues
reported in the bug have been addressed.
2005-11-07 15:09:35 -07:00
ramil@mysql.com
2467674b73 Fix for bug #13044: BIT_COUNT with NULL values. 2005-11-06 12:35:49 +04:00
monty@mysql.com
19502e8eb5 Review of new pushed code
Removed wrong fix for bug #14009 (use of abs() on null value causes problems with filesort)
Mark that add_time(), time_diff() and str_to_date() can return null values
2005-11-01 13:00:02 +02:00
jimw@mysql.com
7a8bd252d2 Merge mysql.com:/home/jimw/my/mysql-4.1-14009
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-10-27 10:20:38 -07:00
jani@ua141d10.elisa.omakaista.fi
8e1dac44b4 Some fixes to avoid compiler warnings. 2005-10-18 18:03:26 +03:00
jimw@mysql.com
31a79ee3d0 Fix Item_func_abs::fix_length_and_dec() to set maybe_null properly. (Bug #14009) 2005-10-17 17:00:42 -07:00
hf@deer.(none)
ba82a6a759 Fix for bug #9855 (Inconsistend column type in create select) 2005-10-15 19:47:23 +05:00
bar@mysql.com
62ad8922b8 ctype_utf8.result, ctype_utf8.test:
Adding test case.
item_func.cc:
  Bug#13751 find_in_set: Illegal mix of collations.
  Character set conversion was forgotten in find_in_set.
2005-10-07 09:52:15 +05:00
gluh@eagle.intranet.mysql.r18.ru
a5bd5e9af2 Bug #6172 RAND(a) should only accept constant values as arguments(2nd version)
Argument of RAND function can be constant value only
2005-09-06 16:19:59 +05:00
jimw@mysql.com
c3e40306b7 Merge mysql.com:/home/jimw/my/mysql-4.1-11402
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-08-01 17:11:49 -07:00
jimw@mysql.com
9a5560683f Merge mysql.com:/home/jimw/my/mysql-4.1-10724
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-08-01 17:10:35 -07:00
bar@mysql.com
0c2035b7bd func_gconcat.result, func_gconcat.test:
Adding test
item_sum.cc:
  Adding a call for collation/charset aggregation,
      to collect attributes from the arguments. The actual bug fix.
item_func.h, item_func.cc, item.h, item.cc:
  - Removing collation aggrgation functions from Item_func class
      in item.cc, and adding it as non-class functions in item.cc
      to be able to reuse this code for group_concat.
      - Adding replacement for these functions into Item_func class
      as wrappers for moved functions, to minizize patch size,
2005-07-26 12:52:02 +05:00
jimw@mysql.com
3409537f2a Don't force column header to @@session.var_name if @@local.var_name
was used. (Bug #10724)
2005-07-25 11:25:28 -07:00
monty@mishka.local
7e83d09ce7 Simple fixes during review of new code 2005-07-19 19:25:05 +03:00
konstantin@mysql.com
e08caeeee2 A fix and a test case for Bug#9359 "Prepared statements take snapshot
of system vars at PREPARE time": implement a special Item
to handle system variables. This item substitutes itself with 
a basic constant containing variable value at fix_fields.
2005-07-16 03:29:13 +04:00
sergefp@mysql.com
86d3c07836 Merge mysql.com:/home/psergey/mysql-4.1-build-tree
into mysql.com:/home/psergey/mysql-4.1-merge-from-build
2005-07-14 16:02:30 +00:00
sergefp@mysql.com
0b3db181bf Fix for BUG#11869: In Item_func_match::fix_index() handle the case when there is no
source table present (this happens for ORDER BY after UNION)
2005-07-14 15:19:26 +00:00
konstantin@mysql.com
1755df7649 A fix and a test case for Bug#9379 (collation of a parameter marker is
binary).
2005-07-13 23:43:46 +04:00
jimw@mysql.com
1fa7b95d98 Fix multiplication of abs() by a negative value. (Bug #11402) 2005-06-22 20:00:21 -07:00
serg@serg.mylan
6a5349028c a compiler must see '#pragma implementation' *before*
'#pragma interface' (that comes with the #include'd header file)
2005-06-05 19:38:52 +02:00
monty@mysql.com
29fd1f2fd9 Move USE_PRAGMA_IMPLEMENTATION to proper place
Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
2005-06-03 23:46:03 +03:00
bar@mysql.com
e686057259 item_func.cc:
set_var.cc:
variables.result
variables.test

  Bug #10904 Illegal mix of collations between a system variable and a constant
  Changing coercibility of system variables to SYSCONST,
  to be the same with USER(), DATABASE(), etc.
2005-06-02 16:17:44 +05:00
kent@mysql.com
f889f0884c Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1
2005-06-02 02:57:18 +02:00
kent@mysql.com
bd48eed988 tztime.cc:
Set #pragma implementation" earlier
Many files:
  Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
2005-06-02 02:43:32 +02:00
jimw@mysql.com
7ac7bfc3c8 Fix handling of NULL fields in FIELD(). (Bug #10944) 2005-06-01 09:48:25 -07:00
msvensson@neptunus.(none)
83d430353e Add ifdefs to control when "#pragma implementation" should be used
Added some more ifdefs for "#pragma interface"
2005-05-26 12:09:14 +02:00
monty@mysql.com
beb5867dfb After merge fixes 2005-05-14 16:24:36 +03:00
monty@mysql.com
b4e92e6360 Merge with 4.0 2005-05-14 00:01:40 +03:00
dlenev@mysql.com
12621f349b Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg9913
2005-05-09 12:18:19 +04:00
svoj@mysql.com
c7f0fcab23 BUG#7709 fix - Boolean fulltext query against unsupported engines does not
fail.
2005-05-07 15:48:56 +05:00
konstantin@mysql.com
018b8025c0 Merge mysql.com:/opt/local/work/mysql-4.1-root
into mysql.com:/opt/local/work/mysql-4.1-9096-fresh
2005-05-03 12:49:22 +04:00
konstantin@mysql.com
3589e78fda A fix and test case for Bug#9096 "select doesn't return all matched
records if prepared statements is used".
This fix changes equality evaluation method of basic constants from
by-name to by-value, thus effectively enabling use of parameter markers
in some optimizations (constants propagation, evaluation of possible
keys for query).
2005-05-03 12:47:27 +04:00
dlenev@brandersnatch.localdomain
8ee6d33bdd Fix for Bug #9913 "udf_deinit is not called after execution of PS"
(aka "deinit is not called when calling udf from trigger").

We should call udf_deinit() function during cleanup phase after prepared
(or ordinary) statement execution instead of calling it from Item's
desctructor.

No test case is provided since it is hard to test UDF's from our test
suite.
2005-04-30 20:23:40 +04:00
monty@mysql.com
fbf31c4a8c CAST(string_argument AS UNSIGNED) didn't work for big integers above the signed range. (Bug #7036)
Produce warnings of wrong cast of strings to signed/unsigned.
Don't block not resolved IP's if DNS server is down (Bug #8467)
Fix compiler problems with MinGW (Bug #8872)
2005-04-29 17:03:34 +03:00
ramil@mysql.com
775010a40d A fix (bug #9837: round(1, 6) delivers wrong value in create table context). 2005-04-19 14:44:54 +05:00
bar@mysql.com
e60daecc87 Bug#9425 A user variable doesn't always have implicit coercibility
Coercibility fixes for numeric types and not defined values were done.
2005-03-28 14:01:57 +05:00
bar@mysql.com
a7b877df78 Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
not always correct for NULL values.
Now they always result a non NULL value even
the argument is NULL. It is more usefull for 
debugging purposes.
2005-03-16 17:44:29 +04:00
bar@mysql.com
7e8e033290 type_blob.result, func_system.result, func_str.result, ctype_collate.result:
fixing test results accordingly.
func_system.test:
  New test that illegal mix of collations does not happen anymore.
item_strfunc.h:
    safe_charset_converter() was added for system constants.
item_strfunc.cc:
  safe_charset_converter() was added for system constants.
item_func.cc, item.h, item.cc:
  Bug#8291: Illegal collation mix with USER() function.
  After discussion with PeterG and Serge, a new coercibility
  level for "system constants" was introduced, between
  COERRIBLE and IMPLICIT. Thus:
  SELECT col1 = USER() FROM t1; - is done according to col1 collation.
  SELECT 'string' = USER(); - is done according to USER() collation.
  At the same time, "nagg" and "strong" members were removed as unused.
item_create.cc:
  Version is a system constant too.
2005-03-04 14:20:49 +04:00
bar@mysql.com
89a5530822 A user variable are now always have IMPLICIT coercibility,
independently from the expression it is initialized from.
In other words, this change treats a user variable like
a table with one column and one record. Discussed with 
PeterG, Serg and Lars. This change also simplifies replication
allowing not to replicate variables' coercibility.
2005-02-22 15:55:40 +04:00
monty@mysql.com
79ec81071a Better bugfix for "HAVING when refering to RAND()" (Bug #8216)
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Generalized the code for split_sum_func()
2005-02-08 14:41:09 +02:00
monty@mysql.com
3fe60486e4 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-02-07 18:14:31 +02:00
monty@mysql.com
32f91f48e8 Fixed bug in HAVING when refering to RAND() through alias
(BUG 8216)
2005-02-07 18:13:57 +02:00