Commit graph

532 commits

Author SHA1 Message Date
igor@rurik.mysql.com
893c6c9b46 opt_range.cc:
Fixed buf #11487.
  Added a call of  QUICK_RANGE_SELECT::init to the
  QUICK_RANGE_SELECT::reset method. Without it the second
  evaluation of a subquery employing the range access failed.
subselect.result, subselect.test:
  Added a test case for bug #11487.
2005-06-23 02:08:30 -07:00
monty@mysql.com
2229d9a964 Add missing test result 2005-05-20 16:31:46 +03:00
bell@sanja.is.com.ua
77735f2f35 do not try to use equal field from outer query as field of local join (BUG#6384) 2005-05-20 16:01:41 +03:00
jimw@mysql.com
d5ee234917 Fixes to merge from 4.1 2005-05-18 15:40:34 -07:00
jimw@mysql.com
3f6aad900c Resolve merge from 4.1 2005-05-18 11:06:34 -07:00
bell@book.sanja.is.com.ua
1ff9f55920 relaxed DBUG_ASSERT in Item_int_with_ref::new_item() to "any constant" (BUG#10020) 2005-05-16 12:19:10 +03:00
igor@rurik.mysql.com
d92d4007f2 subselect.result, subselect.test:
Added a test case for bug #9516.
item_subselect.h:
  Fixed bug #9516.
  The bug was due to that fact that the class Item_subselect
  inherited the generic implementation of the function
  not_null_tables that was not valid for the objects
  of this class. As a result evaluation of the
  not_null_tables attribute was not correct for subqueries.
  This caused invalid transformations of outer joins into
  inner joins.
2005-04-15 22:08:34 -07:00
igor@rurik.mysql.com
0f043429e4 subselect.result, subselect.test:
Added a test case for bug #9338.
sql_select.cc:
  Fixed bug #9338.
  When an occurence of a field reference has to be replaced
  by another field reference the whole Item_field must be
  replaced.
item.cc:
  Fixed bug #9338.
  The method Item_field::replace_equal_field_processor was
  replaced by Item_field::replace_equal_field. The new method
  is used to replace the occurences of Item_field objects.
item.h:
  Fixed bug #9338.
  The virtual function replace_equal_field_processor was replaced
  by replace_equal_field. The latter is supposed to be used as a
  callback function in calls of the method transform.
2005-04-15 20:43:45 -07:00
monty@mysql.com
9616c9a80d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-04-01 15:06:35 +03:00
monty@mysql.com
201ee3eb78 Invalid DEFAULT values for CREATE TABLE now generates errors. (Bug #5902)
CAST() now produces warnings when casting a wrong INTEGER or CHAR values. This also applies to implicite string to number casts. (Bug #5912)
ALTER TABLE now fails in STRICT mode if it generates warnings.
Inserting a zero date in a DATE, DATETIME or TIMESTAMP column during TRADITIONAL mode now produces an error. (Bug #5933)
2005-04-01 15:04:50 +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
4fdb0f48e7 postreview changes
fixed bug in IN/ALL/ANY subqeries with HAVING clause (BUG#9350)
2005-03-30 10:07:08 +03:00
bell@sanja.is.com.ua
056d5a3934 fixed left expression of IN/ALL/ANY subquery transformation support (BUG#8888) 2005-03-10 14:01:22 +02:00
monty@mysql.com
cd78e701a5 Show all generated warnings in SHOW ERROR
Previously we only stored the first given error (the error sent to the client)
2005-02-24 23:33:42 +02:00
hf@deer.(none)
803ed1a116 Tests modified to coved decimal-related code 2005-02-21 19:20:05 +04:00
sergefp@mysql.com
c30f7feba1 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug8218
2005-02-14 23:49:01 +03:00
sergefp@mysql.com
919f2f2364 Merge mysql.com:/home/psergey/mysql-4.1-bug8218
into mysql.com:/home/psergey/mysql-5.0-bug8218
2005-02-14 23:47:31 +03:00
sergefp@mysql.com
021f9849ef Remove redundant DROP TABLE from test case 2005-02-14 23:45:48 +03:00
sergefp@mysql.com
c0c50efdef Fix for BUG#8218:
Remove TMP_TABLE_PARAM::copy_funcs_it. TMP_TABLE_PARAM is a member of JOIN which is 
copied via memcpy, and List_iterator_fast TMP_TABLE_PARAM::copy_funcs_it ends up 
pointing to the wrong List.
2005-02-12 22:58:54 +03:00
monty@mysql.com
a1a39fab84 Merge with 4.1 2005-02-10 02:27:37 +02:00
bell@sanja.is.com.ua
90c0024217 reverted patch for BUG#7351 (because of performance ussie) 2005-02-09 21:08:08 +02:00
hf@deer.(none)
b94a482ee9 Precision Math implementation 2005-02-09 02:50:45 +04:00
bell@sanja.is.com.ua
0a8595df42 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-5.0
2005-02-06 13:17:12 +02:00
bell@sanja.is.com.ua
1853c2fe89 fixed test 'subselect' in case when innodb is not compiled in (thanks HF who niticed it) 2005-02-06 13:06:12 +02:00
monty@mysql.com
422c2eb868 4.1 -> 5.0 merge 2005-02-03 13:18:30 +02:00
bell@sanja.is.com.ua
0bf6e3aefc fixed cleanup of result object of subqueries. (BUG#8125) 2005-01-26 15:27:45 +02:00
bell@sanja.is.com.ua
6d71acf01e fixed way of forward reference detection to support literal constant (BUG#8025) 2005-01-24 17:17:19 +02:00
bell@sanja.is.com.ua
2371c992de check that row elements have the same dimention that SELECT list elements in comporison between rows and subqueries added (BUG#8022) 2005-01-24 15:56:57 +02:00
bell@sanja.is.com.ua
76ae5caca0 fixed column number fetchinmg for subqueries. (BUG#8020)
fixed cols() method call (it have to be called only after fix_fields())
2005-01-24 14:25:44 +02:00
sergefp@mysql.com
9a7a47c21c Merge mysql.com:/dbdata/psergey/mysql-4.1-bug7885
into mysql.com:/dbdata/psergey/mysql-5.0-bug7885
2005-01-19 23:11:50 +03:00
sergefp@mysql.com
b1d55200b1 Fix for BUG#7885 2005-01-18 17:26:05 +03:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
sergefp@mysql.com
034c59ed59 Fix test results to account for difference between release BDB, debug BDB and MyISAM. 2004-12-31 14:48:11 +03:00
monty@mysql.com
d71c030587 After merge fixes 2004-12-31 00:44:00 +02:00
igor@rurik.mysql.com
04974868a1 subselect.result, subselect.test:
Added a couple of new test cases for bug #7351.
2004-12-26 02:04:40 -08:00
igor@rurik.mysql.com
d3fa245363 subselect.result, subselect.test:
Added test cases for bug #7351.
item_cmpfunc.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  If in the predicate v IN (SELECT a FROM t WHERE cond)
  v is null, then the result of the predicate is either
  INKNOWN or FALSE. It is FALSE if the subquery returns
  an empty set.
item_subselect.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  The problem was due to not a quite legal transformation
  for 'IN' subqueries. A subquery containing a predicate
  of the form
  v IN (SELECT a FROM t WHERE cond)
  was transformed into
  EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
  Yet, this transformation is valid only if v is not null.
  If v is null, then, in the case when
  (SELECT a FROM t WHERE cond) returns an empty set the value
  of the predicate is FALSE, otherwise the result of the
  predicate is INKNOWN.
  The fix resolves this problem by changing the result
  of the transformation to
  EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
  in the case when v is nullable.
  The new transformation prevents applying the lookup
  optimization for IN subqueries. To make it still
  applicable we have to introduce guarded access methods.
2004-12-25 19:17:57 -08:00
monty@mishka.local
4f4bbfc279 Merge with 4.1 2004-12-22 13:54:39 +02:00
ram@gw.mysql.r18.ru
d599808fbc Clean-up.
TYPE=MyISAM replaced with ENGINE=MyISAM.
2004-12-14 18:47:34 +04:00
bell@sanja.is.com.ua
f65403cd75 fixed optimized SOME subquery 2004-12-13 01:21:14 +02:00
bell@sanja.is.com.ua
b9abf25a55 new reference which refer to current value not to result used for resolving outer
refernces if subqueri is not in HAVING clause (BUG#7079)
  and the same used for subquery transformetion
2004-12-11 17:13:19 +02:00
monty@mysql.com
563500994a Update results for new varchar handling
Fixed compiler warnings
String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
2004-12-07 15:47:00 +02:00
bell@sanja.is.com.ua
b218560604 merge 2004-12-07 09:07:37 +02:00
monty@mysql.com
77207d19f2 Merge with new VARCHAR code 2004-12-06 19:18:35 +02:00
monty@mysql.com
0de4777187 Merge with 4.1 2004-12-06 11:38:56 +02:00
monty@mysql.com
67ce247965 Add support for up to VARCHAR (size up to 65535)
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
2004-12-06 02:00:37 +02:00
bell@sanja.is.com.ua
a3ad1765a8 merge 2004-12-03 23:24:41 +02:00
bell@sanja.is.com.ua
4c017d18e2 Merge 2004-12-01 10:25:11 +02:00
bell@sanja.is.com.ua
3c108b2a84 init values to avoid junk returning in case of null value asking without assigning value (BUG#6806) 2004-11-25 22:54:49 +02:00
serg@serg.mylan
ee933cd198 merged 2004-11-22 21:33:15 +01:00
dlenev@brandersnatch.localdomain
c37977c87d Fix for bug #6462 "Same request on same data returns different
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements". (Version #2 with after-review fixes).

To perform proper cleanup for statements that can contain subqueries 
but don't have main select we must call free_undelaid_joins().
2004-11-22 13:05:10 +03:00