Commit graph

130 commits

Author SHA1 Message Date
jani@a88-112-41-254.elisa-laajakaista.fi
5e2f69d1dd Added more tests of field conversions. 2006-09-26 17:20:14 +03:00
jani@a88-112-41-254.elisa-laajakaista.fi
4bfe83d5d1 Fix for bug#20208
A better fix for bug#10025.

Fixed test case plus added new tests.

After fixing Bug#20208 "Blobs greater than 8K are being truncated to 8K"
the fix to bug#10025 "Misleading error with COLLATE mediumtext and UNION"
became more accurate. Earlier mediumtext got converted to longtext,
although mediumtext was enough to contain the results. Now it converts
correctly to mediumtext, if the length does not exceed that and if none
of the original fields were type longtext.

Type longtext still converts correctly to type longtext, as the extra
tests prove.
2006-09-26 13:19:25 +03:00
msvensson@neptunus.(none)
7280f63100 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-03 09:32:58 +02:00
evgen@moonbone.local
8540557457 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/autopush/12185-bug-5.0-opt-mysql
2006-07-22 02:15:36 +04:00
evgen@moonbone.local
c875b8eb93 Fixed bug#12185: Data type aggregation may produce wrong result
The Item::tmp_table_field_from_field_type() function creates Field_datetime
object instead of Field_timestamp object for timestamp field thus always
changing data type is a tmp table is used.

The Field_blob object constructor which is used in the 
Item::tmp_table_field_from_field_type() is always setting packlength field of
newly created blob to 4. This leads to changing fields data type for example
from the blob to the longblob if a temporary table is used.

The Item::make_string_field() function always converts Field_string objects 
to Field_varstring objects. This leads to changing data type from the 
char/binary to varchar/varbinary.

Added appropriate Field_timestamp object constructor for using in the 
Item::tmp_table_field_from_field_type() function.

Added Field_blob object constructor which sets pack length according to
max_length argument.

The Item::tmp_table_field_from_field_type() function now creates
Field_timestamp object for a timestamp field.

The Item_type_holder::display_length() now returns correct NULL length NULL
length. 

The Item::make_string_field() function now doesn't change Field_string to
Field_varstring in the case of Item_type_holder. 

The Item::tmp_table_field_from_field_type() function now uses the Field_blob
constructor which sets packlength according to max_length.
2006-07-22 02:08:00 +04:00
jimw@rama.(none)
5fda0b99d0 Bug #16881: password() and union select
This was only demonstrated by the use of PASSWORD(), it was not related to
  that function at all. The calculation of the size of a field in the results
  of a UNION did not take into account the possible growth of a string field
  when being converted to the aggregated character set.
2006-07-21 13:28:42 -07:00
evgen@moonbone.local
0fb6b044e0 Fixed bug#18175: The nest_level counter wasn't decremented for union parts which
resulted in a wrong error message.

The nest_level counter indicates the depth of nesting for a subselect. It is
needed to properly resolve aggregate functions in nested subselects. Obviously 
it shouldn't be incremented for UNION parts because they have the same level of
nesting. This counter was incremented by 1 in the mysql_new_select() function
for any new select and wasn't decremented for UNION parts. This resulted in
wrongly reported error messages.

Now the nest_level counter is decremented by 1 for any union part.
2006-06-15 22:09:58 +04:00
bar@mysql.com
6823225a81 Merge mysql.com:/usr/home/bar/mysql-4.1.b15949
into  mysql.com:/usr/home/bar/mysql-5.0
2006-03-06 16:20:15 +04:00
bar@mysql.com
a6973ceed0 Bug#15949 union + illegal mix of collations (IMPLICIT + COERCIBLE)
union.result, union.test:
  Adding test case.
item.cc:
  Allow safe character set conversion in UNION
  - string constant to column's charset
  - to unicode
  Thus, UNION now works the same with CONCAT (and other string functions)
  in respect of aggregating arguments with different character sets.
2006-03-01 17:58:01 +04:00
msvensson@neptunus.(none)
4bcb012bbc Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/wl2930/my50-wl2930-integration
2005-12-12 12:43:33 +01:00
jimw@mysql.com
f8afbe6f0c Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-11-29 15:33:58 -08:00
msvensson@neptunus.(none)
e5eb7cbf29 WL#2930 Adding view and cursor 'protocols' to mysqltest
- Cleanup of mysqltest.c before extending it
2005-10-31 12:25:08 +01:00
jimw@mysql.com
e55f906130 Fix bug in handling of decimal fields in UNION statements that could
cause a crash or write to an incorrect memory location. (Bug #14216)
2005-10-28 18:12:57 -07:00
msvensson@neptunus.(none)
02c7645cc1 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2005-09-23 09:18:56 +02:00
ramil@mysql.com
986a51e447 a fix (bug #7589: Decimal types are ignored when updating data from another column). 2005-09-21 14:32:19 +05:00
timour@mysql.com
a247282aa6 Implementation of WL#2486 -
"Process NATURAL and USING joins according to SQL:2003".

* Some of the main problems fixed by the patch:
  - in "select *" queries the * expanded correctly according to
    ANSI for arbitrary natural/using joins
  - natural/using joins are correctly transformed into JOIN ... ON
    for any number/nesting of the joins.
  - column references are correctly resolved against natural joins
    of any nesting and combined with arbitrary other joins.

* This patch also contains a fix for name resolution of items
  inside the ON condition of JOIN ... ON - in this case items must
  be resolved only against the JOIN operands. To support such
  'local' name resolution, the patch introduces a stack of
  name resolution contexts used at parse time.

NOTICE:
- This patch is not complete in the sense that
  - there are 2 test cases that still do not pass -
    one in join.test, one in select.test. Both are marked
    with a comment "TODO: WL#2486".
  - it does not include a new test specific for the task
2005-08-12 17:57:19 +03:00
monty@mysql.com
15d48525af Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2005-07-28 17:09:54 +03:00
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
serg@serg.mylan
29d6af8d9a merged 2005-05-28 01:28:18 +02:00
monty@mysql.com
f8cb00640f Fix broken test case (after merge) 2005-05-26 23:33:20 +03:00
bell@sanja.is.com.ua
b186d8b4f9 merge 2005-05-26 18:33:57 +03:00
bell@sanja.is.com.ua
db2ce1edf6 fixed problem with long string results of expressions in UNIONS (BUG#10025) 2005-05-26 17:30:12 +03:00
joerg@mysql.com
9504bd0ddd Manual merge. 2005-05-26 12:51:44 +02:00
Sinisa@sinisa.nasamreza.org
edf2a16049 union.result:
Results for the above test case
union.test:
  A test case for bug #10032 involving UNION's and ORDER BY clause
sql_yacc.yy:
  Fix for a bug #10032 involving a parser bug with UNION's and ORDER BY
2005-04-26 21:27:06 +03:00
bar@mysql.com
71f530c4ea merge 2005-04-11 15:11:52 +05:00
bar@mysql.com
16e186779f ctype_collate.result, ctype_collate.test, union.result, union.test:
fixing tests accordingly
item.cc:
  Allow mixing non-binary collation and binary collation
  even if coercibility is the same. 
  For easier 4.0 -> 4.1 migrating.
2005-04-10 12:40:33 +05:00
monty@mysql.com
5ba3f707f7 Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly
Fix that mysql.proc works with new VARCHAR fields
Give warnings for wrong zero dates
2005-04-04 16:43:25 +03:00
bell@sanja.is.com.ua
05d4ed14e4 merge 4.1->5.0 2005-03-31 10:39:48 +03:00
bell@sanja.is.com.ua
dcdda90a11 Merge 2005-03-30 10:27:36 +03:00
bar@eagle.intranet.mysql.r18.ru
f0d41136df Merge eagle.intranet.mysql.r18.ru:/home/bar/mysql-4.1
into eagle.intranet.mysql.r18.ru:/home/bar/mysql-5.0
2005-03-28 14:23:03 +05:00
bar@mysql.com
9852c6a082 union.test:
Bug #6519 UNION with collation binary and latin1_swedish_ci fails now
  Prove that this problem was fixed with bug9425 fix too.
2005-03-28 14:17:47 +05:00
bell@sanja.is.com.ua
4554b1f263 fixed union types merging and table related metadata (BUG#8824) 2005-03-23 08:36:48 +02:00
monty@mysql.com
38d1a42481 Merge with 4.1 2005-02-15 17:12:13 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
4957c4850d Bug#2435
Alter handling for UNION syntax
  Tests for UNION and parentheses
2005-02-13 22:35:52 +00:00
jimw@mysql.com
8c8553af81 Merge changes 2005-02-04 11:59:02 -08:00
gluh@gluh.mysql.r18.ru
34915f7a91 A fix: bug#6931: Date Type column problem when using UNION-Table
bug#7833:  Wrong datatype of aggregate column is returned
2005-02-04 15:31:36 +03:00
Sinisa@sinisa.nasamreza.org
a2e0ecbf03 after merge fixes 2005-01-18 23:34:15 +02:00
Sinisa@sinisa.nasamreza.org
477047401c fixing wrong value for "examined rows" when UNION's are used. 2005-01-18 23:13:29 +02:00
monty@mysql.com
7cf8285b3f After merge fixes
Add support for warnings for prepare of prepared statements
Fixed test to work with --ps-protocol
Fixed some test results
2005-01-04 13:46:53 +02:00
bar@mysql.com
fe3b359b74 Check that the third UNION part with COLLATE
clause resolves collation conflict for the
first and the second parts pair.
2004-11-18 16:15:48 +04:00
monty@mysql.com
6fbc869d18 A lot of fixes for prepared statements (PS):
New mysqltest that can run mysqltest with PS
Added support for ZEROFILL in PS
Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
Updated test cases to support --ps-protocol
(Some tests are still run using old protocol)
Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
Fixed crash in PS when using sub queries
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new PS query
group_concat(...ORDER BY) didn't work with PS
Fixed problem with test suite when not using innodb
2004-10-26 19:30:01 +03:00
bar@mysql.com
47f638054e Bug #6139 UNION doesn't understand collate in the column of second select 2004-10-18 17:56:25 +05:00
bell@sanja.is.com.ua
d2474ee2e5 Do not try use fields examples is expression and fiend used or SET/ENUM field used in types merging procedure (BUG#5618) 2004-09-17 13:23:57 +03:00
monty@mysql.com
5d71817c70 After merge fixes 2004-09-05 02:31:11 +03:00
monty@mysql.com
9d8555c0f0 Merge with 4.0 to get latest bug fixes 2004-09-04 15:59:49 +03:00
ram@gw.mysql.r18.ru
f91ca0bd66 A fix (Bug #4980: union statement with () union () order by produces wrong explain). 2004-09-03 19:59:29 +05:00
bell@sanja.is.com.ua
7483b3cf96 parameter of my_yyoverflow made independed from YYSIZE_T (BUG#4204) 2004-06-24 02:57:57 +03:00
bell@sanja.is.com.ua
002364c20f new length detection for non-string in UNION (BUG#4067) 2004-06-16 16:06:30 +03:00
bell@sanja.is.com.ua
3aae50e8c0 EXPLAIN UNION using same routing which used for execution which allow return correct bug messages (Bug #3639)
EXPLAIN of hidden SELECT of UNION
2004-05-06 20:40:21 +03:00
bell@sanja.is.com.ua
26f0825cae merge 2004-05-05 22:30:01 +03:00