Commit graph

36754 commits

Author SHA1 Message Date
igor@olga.mysql.com
e81be02850 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug27130
2007-06-17 11:35:14 -07:00
igor@olga.mysql.com
63ab91090d Fixed bug #27130. If the third argument of the function SUBSTR was
represented by an expression of the type UNSIGNED INT and this 
expression was evaluated to 0 then the function erroneously returned
the value of the first argument instead of an empty string. 

This problem was introduced by the patch for bug 10963.

The problem has been resolved by a proper modification of the code of
Item_func_substr::val_str.
2007-06-17 11:23:19 -07:00
gshchepa/uchum@gleb.loc
dac7ce2d12 bigint.test:
Updated test case for bug #28625.
2007-06-16 17:00:29 +05:00
gshchepa/uchum@gleb.loc
3d4e75d583 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt-28625
2007-06-16 13:49:26 +05:00
gshchepa/uchum@gleb.loc
8f09a374ea Fixed bug #28625:
DECIMAL column was used instead of BIGINT for the minimal possible
BIGINT (-9223372036854775808).

The Item_func_neg::fix_length_and_dec has been adjusted to
to inherit the type of the argument in the case when it's an 
Item_int object whose value is equal to LONGLONG_MIN.
2007-06-16 13:05:07 +05:00
igor@olga.mysql.com
0f0d4720b8 Fixed bug #27932: the function LOCATE returned NULL if any
of its arguments was evaluated to NULL, while the predicate
LOCATE(str,NULL) IS NULL erroneously was evaluated to FALSE.

This happened because the Item_func_locate::fix_length_and_dec
method by mistake set the value of the maybe_null flag for 
the function item to 0. In consequence of this the function 
was considered as the one that could not ever return NULL.
2007-06-14 18:55:07 -07:00
holyfoot/hf@hfmain.(none)
a877145db8 Merge mysql.com:/d2/hf/mrg/mysql-4.1-opt
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-06-14 23:02:28 +05:00
gkodinov/kgeorge@magare.gmz
37deabacb2 Merge bk-internal:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/valgrind-errs-merge-5.0-opt
2007-06-14 16:43:14 +03:00
gkodinov/kgeorge@magare.gmz
78f477c9d9 corrected valgrind problems for bug 28505 and 28934 2007-06-14 15:38:52 +03:00
holyfoot/hf@hfmain.(none)
8ccc50b303 Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-06-14 16:41:10 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
79062df3fb Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-06-14 16:35:46 +05:00
igor@olga.mysql.com
20ad515003 Fixed bug #28980: the result of ROUND(<decimal expr>,<int column>)
was erroneously converted to double, while the result of
ROUND(<decimal expr>, <int literal>) was preserved as decimal.
As a result of such a conversion the value of ROUND(D,A) could
differ from the value of ROUND(D,val(A)) if D was a decimal expression.

Now the result of the ROUND function is never converted to 
double if the first argument is decimal.
2007-06-13 09:32:36 -07:00
gkodinov/kgeorge@magare.gmz
2a6ac40e11 removed compilation warning 2007-06-12 14:45:30 +03:00
gkodinov/kgeorge@magare.gmz
32d9644489 Merge bk-internal:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28992-5.0-opt
2007-06-12 14:37:14 +03:00
gkodinov/kgeorge@magare.gmz
5ea9964b9f Bug #28992: trigger fails in pushbuild
- fixed wrong test case for bug 20903
 - closed the dangling connections in trigger.test
 - GET_LOCK() and RELEASE_LOCK() now produce more detailed log
 - fixed an omission in GET_LOCK() : assign the thread_id when
    acquiring the lock.
2007-06-12 14:35:36 +03:00
gkodinov/kgeorge@magare.gmz
0fa279e5e2 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28934-5.0-opt
2007-06-12 11:11:12 +03:00
gkodinov/kgeorge@magare.gmz
b9876c6e9c Bug #28934: server crash when receiving malformed com_execute packets
Sometimes a parameter slot may not get a value because of the protocol
 data being plain wrong.
 Such cases should be detected and handled by returning an error.
 Fixed by checking data stream constraints where possible (like maximum
 length) and reacting to the case where a value cannot be constructed.
2007-06-12 11:02:34 +03:00
evgen@moonbone.local
4cdbe25a6b Bug#28904: INSERT .. ON DUPLICATE was silently updating rows when it shouldn't.
When the INSERT .. ON DUPLICATE KEY UPDATE has to update a matched row but
the new data is the same as in the record then it returns as if
no rows were inserted or updated. Nevertheless the row is silently
updated. This leads to a situation when zero updated rows are reported 
in the case when data has actually been changed.

Now the write_record function updates a row only if new data differs from
that in the record.
2007-06-12 01:41:23 +04:00
gluh@mysql.com/eagle.(none)
c25c178112 compiler warning fix 2007-06-09 18:18:34 +05:00
gluh@eagle.(none)
4af938a148 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-06-09 17:46:34 +05:00
gluh@mysql.com/eagle.(none)
068f1f7dbf Bug#28149 overflow in some "SHOW STATUS"-variables
changed bytes_received, bytes_sent status variables to longlong
2007-06-09 17:46:09 +05:00
holyfoot/hf@hfmain.(none)
c528084a9f Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/hf/work/28333/my50-28333
2007-06-09 16:52:38 +05:00
gluh@mysql.com/eagle.(none)
47ecabe915 Bug#28266 IS_UPDATABLE field on VIEWS table in I_S database is wrong
IS_UPDATABLE flag is set to 'yes' when the view has at least one updatable column and
the algorithm is not 'temporary'.
2007-06-09 16:52:37 +05:00
holyfoot/hf@hfmain.(none)
c55e9c5f4f Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/28333/my50-28333
2007-06-09 15:56:04 +05:00
gkodinov/kgeorge@magare.gmz
241c49c6b9 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28754-5.0-opt
2007-06-09 09:02:21 +03:00
holyfoot/hf@mysql.com/hfmain.(none)
96d07631b2 Bug #28333 Test "flush" tries to create a new thread - on only one platform
on PPC/Debian Linux default stack size for a thread is too big.
As we use default thread settings in mysqltest, the
thread creation fails if we create lots of threads (as it
happens in flush.test). So now stack size is explicitly specified
for the mysqltest
2007-06-09 00:39:23 +05:00
igor@olga.mysql.com
e2e672b56d Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28811
2007-06-08 09:59:07 -07:00
gkodinov/kgeorge@magare.gmz
d12fbdd8d0 Bug #28754: RPM builds differ from tar.gz in "ALTER ... RENAME" on views
When constructing the path to the original .frm file ALTER .. RENAME
 was unnecessary (and incorrectly) lowercasing the whole path when not 
 on a case-insensitive filesystem.
 This path should not be modified because of lower_case_table_names
 as it is already in the correct case according to that setting.
 Fixed by removing the lowercasing.
 Unfortunately testing this would require running the tests on a case
 sensitive filesystem in a directory that has uppercase letters.
 This cannot be guaranteed in all setups so no test case added.
2007-06-08 13:42:10 +03:00
gluh@mysql.com/eagle.(none)
a809813b0d Bug#18660 Can't grant any privileges on single table in database with underscore char
In case of database level grant the database name may be a pattern,
in case of table|column level grant the database name can not be a pattern.
We use 'dont_check_global_grants' as a flag to determine
if it's database level grant command 
(see SQLCOM_GRANT case, mysql_execute_command() function) and
set db_is_pattern according to 'dont_check_global_grants' value.
2007-06-08 14:42:08 +05:00
igor@olga.mysql.com
2d29a57f2b Fixed bug #28811: crash for a query containing a subquery with
ORDER BY and LIMIT 1. 
The bug was introduced by the patch for bug 21727. The patch
erroneously skipped initialization of the array of headers
for sorted records for non-first evaluations of the subquery.

To fix the problem a new parameter has been added to the
function make_char_array that performs the initialization.
Now this function is called for any invocation of the 
filesort procedure. Yet it allocates the buffer for sorted
records only if this parameter is NULL.
2007-06-07 22:35:31 -07:00
igor@olga.mysql.com
e3a13c26bd Correction to remove compilee warnings and compiler errors on Windows. 2007-06-07 15:04:39 -07:00
evgen@moonbone.local
6d3e2399f9 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/28763-bug-5.0-opt-mysql
2007-06-08 00:58:31 +04:00
evgen@moonbone.local
eb9e174bc2 Bug#28763: Selecting geometry fields in UNION caused server crash.
This bug was introduced by the fix for the bug#27300. In this fix a section
of code was added to the Item::tmp_table_field_from_field_type method.
This section intended to create Field_geom fields for the Item_geometry_func
class and its descendants. In order to get the geometry type of the current
item it casted "this" to the Item_geometry_func* type. But the
Item::tmp_table_field_from_field_type method is also used for creation of
fields for UNION and in this case this method is called for an object of the
Item_type_holder class and the cast to the Item_geometry_func* type causes 
a server crash.

Now the Item::tmp_table_field_from_field_type method correctly works when it's
called for both the Item_type_holder and the Item_geometry_func classes.
The new geometry_type variable is added to the Item_type_holder class.
The new method called get_geometry_type is added to the Item_field
and the Field classes. It returns geometry type from the field for the
Item_field and the Field_geom classes and fails an assert for other Field
descendants.
2007-06-08 00:33:03 +04:00
igor@olga.mysql.com
d55e54c75a Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28449
2007-06-07 10:26:38 -07:00
joerg@trift2.
160b784a49 Merge trift2.:/MySQL/M41/bug23504-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-07 17:00:13 +02:00
joerg@trift2.
d870247de1 Merge trift2.:/MySQL/M41/bug23504-4.1
into  trift2.:/MySQL/M50/push-5.0
2007-06-07 16:29:59 +02:00
joerg@trift2.
0d84c3f710 netware/*.def : Allocate 128K stack for all executables (bug#23504) 2007-06-07 12:59:31 +02:00
igor@olga.mysql.com
569960410f Fixed bug #28449: a crash may happen at some rare conditions when
a temporary table has grown out of heap memory reserved for it and 
the remaining disk space is not big enough to store the table as
a MyISAM table.

The crash happens because the function create_myisam_from_heap
does not handle safely the mem_root structure associated 
with the converted table in the case when an error has occurred.
2007-06-07 00:59:08 -07:00
gkodinov/kgeorge@magare.gmz
e4e141cf58 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28878-5.0-opt
2007-06-07 10:10:18 +03:00
gkodinov/kgeorge@magare.gmz
b1e936b9e5 Bug#28878: InnoDB tables with UTF8 character set and indexes cause
wrong result for DML
When making key reference buffers over CHAR fields whitespace (0x20) 
must be used to fill in the remaining space in the field's buffer.
This is what Field_string::store() does.
Fixed Field_string::get_key_image() to do the same.
2007-06-07 10:08:44 +03:00
evgen@moonbone.local
b90901130e Bug#28505: mysql_affected_rows() may return wrong result if CLIENT_FOUND_ROWS
flag is set.

When the CLIENT_FOUND_ROWS flag is set then the server should return
found number of rows independently whether they were updated or not.
But this wasn't the case for the INSERT statement which always returned
number of rows that were actually changed thus providing wrong info to
the user.

Now the select_insert::send_eof method and the mysql_insert function
are sending the number of touched rows if the CLIENT_FOUND_ROWS flag is set.
2007-06-07 00:30:00 +04:00
joerg@trift2.
111212aa40 Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-06 20:10:52 +02:00
joerg@trift2.
d8c385c397 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-06-06 20:06:59 +02:00
tsmith@quadxeon.mysql.com
75ed2c7d16 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun05/41
2007-06-06 19:00:15 +02:00
joerg@trift2.
86fbe0bdf0 Merge trift2.:/MySQL/M41/push-4.1
into  trift2.:/MySQL/M50/push-5.0
2007-06-06 16:16:14 +02:00
joerg@trift2.
fef905d0bf Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-06 16:05:23 +02:00
gluh@mysql.com/eagle.(none)
cf41df22f8 after merge fix 2007-06-06 18:55:21 +05:00
gluh@eagle.(none)
026f402674 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-06-06 18:33:04 +05:00
gluh@mysql.com/eagle.(none)
466da4ccf1 Bug#28553 mysqld crash in "purge master log before(select time from information_schema)"
forbid the use of subselect in PURGE LOGS BEFORE command
2007-06-06 18:29:15 +05:00
joerg/mysqldev@mysql.com/production.mysql.com
0067a9cc02 Raise version number after cloning 4.1.23 2007-06-06 15:22:06 +02:00