Commit graph

4743 commits

Author SHA1 Message Date
evgen@moonbone.local
1c13e54890 Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
The GROUP_CONCAT uses its own temporary table. When ROLLUP is present
it creates the second copy of Item_func_group_concat. This copy receives the
same list of arguments that original group_concat does. When the copy is
set up the result_fields of functions from the argument list are reset to the
temporary table of this copy.
As a result of this action data from functions flow directly to the ROLLUP copy
and the original group_concat functions shows wrong result.
Since queries with COUNT(DISTINCT ...) use temporary tables to store
the results the COUNT function they are also affected by this bug.

The idea of the fix is to copy content of the result_field for the function
under GROUP_CONCAT/COUNT from  the first temporary table to the second one,
rather than setting result_field to point to the second temporary table.
To achieve this goal force_copy_fields flag is added to Item_func_group_concat
and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1
into the make_unique() member function of both classes.
To the TMP_TABLE_PARAM structure is modified to include the similar flag as
well.
The create_tmp_table() function passes that flag to create_tmp_field().
When the flag is set the create_tmp_field() function will set result_field
as a source field and will not reset that result field to newly created 
field for Item_func_result_field and its descendants. Due to this there
will be created copy func to copy data from old result_field to newly 
created field.
2006-03-29 23:30:34 +04:00
tomas@poseidon.ndb.mysql.com
cbac75de91 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
2006-02-10 17:53:13 +01:00
tomas@poseidon.ndb.mysql.com
7050a7586e Bug #17249 ndb, delete statement with join where clause fails when table do not have pk
Bug #17257 ndb, update fails for inner joins if tables do not have Primary Key

change: the allocated area by setValue may not be around for later, store hidden key in special member variable instead
2006-02-10 17:40:22 +01:00
ramil@mysql.com
34abab41db Removed 'delayed' to make the test deterministic (as the bug itself has nothing to do with 'delayed'). 2006-02-08 16:00:39 +04:00
bell@sanja.is.com.ua
84900213dd Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2006-02-07 14:23:16 +02:00
bell@sanja.is.com.ua
5923d50533 kill.test fixed for kill on Mac OS X (which do not send OK) 2006-02-07 13:45:16 +02:00
svoj@april.(none)
a67d8f9043 Merge april.(none):/home/svoj/devel/mysql/BUG14496/mysql-4.1
into  april.(none):/home/svoj/devel/mysql/merge/mysql-4.1
2006-02-07 13:49:03 +04:00
tomas@poseidon.ndb.mysql.com
5bbb5c29b7 Bug #17154 load data infile of char values into a table of char(PK) hangs
Bug #17158  	load data infile of char values into table of char with no (PK) fails to load
Bug #17081  	Doing "LOAD DATA INFILE" directly after delete can cause missing data
2006-02-07 00:03:39 +01:00
pekka@mysql.com
c696582df4 ndb - replace+tinyblob back-patch from 5.0 [ discard on 4.1->5.0 merge ] 2006-02-03 15:23:58 +01:00
svoj@april.(none)
332be5bdd9 BUG#14496: Crash or strange results with prepared statement,
MATCH and FULLTEXT
Fixed that fulltext query using PS results in unexpected behaviour
when executed 2 or more times.
2006-02-01 20:40:12 +04:00
aivanov@mysql.com
efe8b884e5 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/alexi/innodb/mysql-4.1-merged
2006-01-30 15:31:35 +03:00
aivanov@mysql.com
fe518520be Fixed BUG#16387.
Applied innodb-4.1-ss17 snapshot.
  Do not mistake TABLENAME_ibfk_0 for auto-generated id.
2006-01-30 15:17:33 +03:00
pappa@c-5c0be253.1238-1-64736c10.cust.bredbandsbolaget.se
a69827f152 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into  c-5c0be253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug12796
2006-01-27 09:29:59 -05:00
bell@sanja.is.com.ua
8eee147e0f Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug8-4.1
2006-01-26 19:01:54 +02:00
bell@sanja.is.com.ua
43e281d79c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug8-4.1
2006-01-26 16:00:49 +02:00
aelkin@mysql.com
2fbdc5483a BUG#15699 importing the fix from 5.0 2006-01-26 12:49:55 +02:00
sergefp@mysql.com
cfce3d823b Merge 2006-01-26 00:06:20 +03:00
sergefp@mysql.com
5d0e8d81ee BUG#15935: In mysql_update, don't use full index scan when we could have used quick select scan. 2006-01-25 23:25:23 +03:00
evgen@moonbone.local
baed6da5bc Manually merged 2006-01-24 22:10:39 +03:00
evgen@moonbone.local
b1967ad723 Fixed bug #16510: Updating field named like '*name' caused server crash.
When setup_fields() function finds field named '*' it expands it to the list
of all table fields. It does so by checking that the first char of
field_name is '*', but it doesn't checks that the '* is the only char.
Due to this, when updating table with a field named like '*name', such field
is wrongly treated as '*' and expanded. This leads to making list of fields
to update being longer than list of the new values. Later, the fill_record() 
function crashes by dereferencing null when there is left fields to update,
but no more values.

Added check in the setup_fields() function which ensures that the field
expanding will be done only when '*' is the only char in the field name.
2006-01-23 21:51:32 +03:00
gvb@phoenix.(none)
5b9d686e87 Merge gboehn@bk-internal.mysql.com:/home/bk/mysql-4.1
into  phoenix.(none):/data/mysql-4.1-BK
2006-01-23 16:34:53 +01:00
svoj@april.(none)
4dc4502ab3 BUG#16489 - utf8 + fulltext leads to corrupt index file.
Fixed that UPDATE statement crashes multi-byte charset fulltext index.
2006-01-23 17:15:33 +04:00
gvb@phoenix.(none)
66cb90410c Merge gboehn@bk-internal.mysql.com:/home/bk/mysql-4.1
into  phoenix.(none):/data/mysql-4.1-BK
2006-01-23 11:18:06 +01: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
bell@sanja.is.com.ua
e87d5e9a83 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug8-4.1
2006-01-18 13:49:37 +02:00
bell@sanja.is.com.ua
4e931d3c45 Excluded posibility of tmp_table_param.copy_field double deletion (BUG#14851). 2006-01-18 13:48:57 +02:00
konstantin@mysql.com
739ba76d64 A fix for Bug#13337 "ps test fails if configure wo/ usc2" 2006-01-17 01:03:03 +03:00
andrey@lmy004.
7b2238d484 Merge 2006-01-16 16:21:41 +01:00
gvb@phoenix.(none)
8c69d6abaf date_formats.test:
fix for bug #15828 after review
  doing val_str now before testing of null value secures the function for null values returned by dynamic functions - the fix before was incomplete andy covered constant null values
2006-01-16 15:46:37 +01:00
aivanov@mysql.com
c46f11fa96 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/alexi/innodb-ss/mysql-4.1-ss14
2006-01-15 14:56:38 +03:00
aivanov@mysql.com
ee2b765751 Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
 causes "Can't find record.."
 Also fixed bug 15991.
2006-01-15 14:50:47 +03:00
konstantin@mysql.com
48d48bc936 A fix and a test case for Bug#12734 " prepared statement may
return incorrect result set for a select SQL request"
2006-01-14 04:55:07 +03:00
gvb@phoenix.(none)
45db1c24b0 fix for bug#15828
problem was not checking 2nd parameter of str_to_date against NULL
2006-01-13 14:42:46 +01:00
bar@mysql.com
78e93fbbcf Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15377
2006-01-13 14:22:53 +04:00
bar@mysql.com
b061cacb0b Merge mysql.com:/usr/home/bar/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15377
2006-01-13 14:16:16 +04:00
bar@mysql.com
45c84d0aa9 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15581
2006-01-12 11:13:34 +04:00
aivanov@mysql.com
16004acce1 Commenting out testcases which cause type_time.test failure.
To be uncommented after fixing bug 15805.
2006-01-10 17:57:46 +03:00
igor@rurik.mysql.com
e4b1399b5a Merge rurik.mysql.com:/home/igor/mysql-4.1
into  rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2006-01-09 15:20:01 -08:00
msvensson@devsrv-b.mysql.com
175a946e55 Merge msvensson@10.100.68.5:/home/msvensson/mysql/bug15598/my41-bug15598
into  devsrv-b.mysql.com:/space/magnus/my41-bug15598
2006-01-09 10:57:28 +01:00
msvensson@neptunus.(none)
2a05a6ba87 Bug #15598 Server crashes in specific case during setting new password
- When acl_user->host.hostname is NULL compare it as ""
2006-01-09 10:31:07 +01:00
igor@rurik.mysql.com
05947d9916 Fixed bug #14274: a query with a having clause containing only set function returned a wrong result set. 2006-01-07 23:00:06 -08:00
msvensson@neptunus.(none)
6de9519966 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/bug15775_part2/my41-bug15775_part2
2005-12-29 09:19:25 +01:00
evgen@moonbone.local
535b23bec5 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/14583-bug-4.1-mysql
2005-12-28 16:00:10 +03:00
msvensson@neptunus.(none)
2fb6cb5a5a BUG#15775 "drop user" command does not refresh acl_check_hosts
- DROP USER command didn't reload the acl_check_hosts cache causing subsequent 
     connect's via TCP to fail randomly.
   - 4.1 version
2005-12-28 09:23:27 +01:00
evgen@moonbone.local
d91cbf34ff Fix bug#14583
When InnoDB compares varchar field in ucs2 with given key using bin collation,
it calls my_strnncollsp_ucs2_bin() to perform comparison.
Because field length was lesser than length of key field should be padded
with trailing spaces in order to get correct result. 
Because  my_strnncollsp_ucs2_bin() was calling my_strnncollp_ucs2_bin(), which
doesn't pads field, wrong comparison result was returned. This results in
wrong result set.

my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
2005-12-27 20:16:59 +03:00
ingo@mysql.com
44ef4989bb Merge mysql.com:/home/mydev/mysql-4.1
into  mysql.com:/home/mydev/mysql-4.1-bug5390
2005-12-27 10:36:19 +01:00
bar@mysql.com
f206a123a1 Bug#15581: COALESCE function truncates mutli-byte TINYTEXT values
field.cc:
  BLOB variations have number-in-bytes limit,
  unlike CHAR/VARCHAR which have number-of-characters limits.
  A tinyblob column can store up to 255 bytes.
  In the case of basic Latin letters (which use 1 byte per character)
  we can store up to 255 characters in a tinyblob column.
  When passing an utf8 tinyblob column as an argument into
  a function (e.g. COALESCE) we need to reserve 3*255 bytes.
  I.e. multiply length in bytes to mbcharlen for the character set.
  Although in reality a tinyblob column can never be 3*255 bytes long,
  we need to set max_length to multiply to make fix_length_and_dec()
  of the function-caller (e.g. COALESCE) calculate the correct max_length
  for the column being created.

ctype_utf8.result, ctype_utf8.test:
  Adding test case.
2005-12-19 15:52:10 +04:00
serg@serg.mylan
c23612247c Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-12-18 13:31:43 +01:00
serg@serg.mylan
297d80dc11 BUG#11336 - fulltext index corruption after repair_by_sort and mi_delete
for uca collation isalnum and strnncollsp don't agree on whether
0xC2A0 is a space (strnncollsp is right, isalnum is wrong).

they still don't, the bug was fixed by avoiding strnncollsp
2005-12-18 13:30:01 +01:00
aivanov@mysql.com
ea4c3481f2 Fixed BUG #12440: "Incorrect processing of time values containing
long fraction and/or large exponent part".
2005-12-15 18:48:08 +03:00