Commit graph

1523 commits

Author SHA1 Message Date
konstantin@mysql.com
52b8928b09 Merge mysql.com:/home/kostja/mysql/mysql-4.1-root
into  mysql.com:/home/kostja/mysql/mysql-5.0-merge
2005-07-19 00:55:37 +04:00
monty@mishka.local
2278e0319c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.local:/home/my/mysql-5.0
2005-07-18 19:03:01 +03:00
evgen@moonbone.local
e75e566469 Merge moonbone.local:/work/mysql-4.1-bug-11868
into moonbone.local:/work/mysql-5.0-bug-11482
2005-07-18 19:37:42 +04:00
monty@mishka.local
78c65b5adc Cleanups during review
Changed defaults option --instance to --defaults-group-suffix
Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
mysql_print_defaults now understands --defaults-group-suffix
Remove usage of my_tempnam() (not safe function)
if( -> if ( and while( to while (
2005-07-18 15:33:18 +03:00
mronstrom@mysql.com
67087e2aa7 Patch for push of wl1354 Partitioning 2005-07-18 13:31:02 +02:00
igor@rurik.mysql.com
54dd7e5ebf select.result, select.test:
Added a test case for bug #11745.
sql_select.cc:
  Fixed bug # 11745.
  Added support of where clause for queries with FROM DUAL.
sql_yacc.yy:
  Fixed bug # 11745.
  Added optional where clause for queries with FROM DUAL.
2005-07-17 09:46:14 -07:00
igor@rurik.mysql.com
553f2a59f3 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-07-16 18:28:09 -07:00
igor@rurik.mysql.com
bff3507b1d func_in.result, func_in.test:
Fixed bug #11885.
sql_select.cc:
  Fixed bug #11885.
  Predicates of the forms 'a IN (v)' 'a NOT IN (v)' now
  is replaced by 'a=v' and 'a<>v' at the parsing stage.
sql_yacc.yy:
  Fixed bug #11885.
  Predicates of the forms 'a IN (v)' 'a NOT IN (v)' now 
  is replaced by 'a=v' and 'a<>v' at the parsing stage.
2005-07-16 18:06:34 -07:00
konstantin@mysql.com
8e72214d74 Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/media/sda1/mysql/mysql-5.0-merge
2005-07-16 13:45:32 +04:00
evgen@moonbone.local
81d93df1ae Fix bug#11868 NOT NULL ref optimization in subquery used in update must be
disabled if ref is built with a key from the updated table

Problem was in add_not_null_conds() optimization function.
It contains following code:
JOIN_TAB *referred_tab= not_null_item->field->table->reginfo.join_tab;
...
add_cond_and_fix(&referred_tab->select_cond, notnull);
For UPDATE described in bug report referred_tab is 0 and dereferencing it
crashes the server.
2005-07-16 05:31:16 +04:00
evgen@moonbone.local
0298bc347a Fix bug#11482 4.1.12 produces different resultset for a complex query
than in previous 4.1.x

Wrongly applied optimization were adding NOT NULL constraint which results in
rejecting valid rows and reduced result set.

The problem was that add_notnull_conds() while checking subquery were adding
NOT NULL constraint to left joined table, to which, normally, optimization 
don't have to be applied.
2005-07-16 03:29:12 +04:00
tomas@poseidon.ndb.mysql.com
911d878ca9 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1
2005-07-15 15:08:38 +02:00
konstantin@mysql.com
36810d25f3 Post-merge fixes. 2005-07-14 20:02:37 +04:00
konstantin@mysql.com
3f28ad8eb7 Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/opt/local/work/mysql-5.0-root
2005-07-14 20:02:32 +04:00
sergefp@mysql.com
e1273aec6d Fix for BUG#11700: in add_not_null_conds(), call full fix_fields() for the created NOT NULL.
This is needed because in some cases range optimization is performed twice and added 
  NOT NULL item must have correct const_table_map() value.
2005-07-14 15:13:36 +00:00
konstantin@mysql.com
509531421c Implement MarkM optimization request to avoid redundnat packet exchange
in cursors.
2005-07-14 15:27:24 +04:00
tomas@poseidon.ndb.mysql.com
674b6bb151 Merge 2005-07-12 20:01:22 +02:00
igor@igor-inspiron.creware.com
3c98b0132e Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into igor-inspiron.creware.com:/home/igor/mysql-4.1
2005-07-08 06:37:09 -07:00
monty@mysql.com
fe30ec9032 manual merge 2005-07-04 03:50:04 +03:00
monty@mysql.com
ec420bfb43 Fixes during review of new code
- Mostly indentation fixes
- Added missing test
- Ensure that Item_func_case() checks for stack overruns
- Use real_item() instead of (Item_ref*) item
- Fixed wrong error handling
2005-07-04 03:42:33 +03:00
monty@mysql.com
86d7b02199 Merge with 4.1 2005-07-03 14:17:52 +03:00
bell@sanja.is.com.ua
2941da3971 do not register changes of stack variable 2005-07-03 00:51:02 +03:00
monty@mysql.com
2735d7dcf6 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-07-02 16:13:35 +03:00
bell@sanja.is.com.ua
b6dc32a755 fixed create_distinct_group() to make references via ref_pointer_array 2005-07-01 20:13:07 +03:00
igor@rurik.mysql.com
343e8effa9 olap.result, olap.test:
Added a test case for bug #11543.
sql_select.cc:
  Fixed bug #11543.
  A ROLLUP query could return a wrong result set when
  its GROUP BY clause contained references to the same
  column.
2005-07-01 07:40:22 -07:00
konstantin@mysql.com
f09b4b969c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-11172-new
2005-07-01 17:52:41 +04:00
konstantin@mysql.com
402df62bf7 Fix a valgrind warning. 2005-07-01 17:51:04 +04:00
igor@rurik.mysql.com
b46b232f3f Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into rurik.mysql.com:/home/igor/mysql-5.0
2005-07-01 06:42:39 -07:00
konstantin@mysql.com
6cc847d0e8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-11172-new
2005-07-01 15:50:32 +04:00
konstantin@mysql.com
0efa6f86be A fix and a test case for Bug#11172 "mysql_stmt_attr_set
CURSOR_TYPE_READ_ONLY date/datetime filter server crash".
The fix adds support for Item_change_list in cursors (proper rollback
of the modified item tree).
2005-07-01 15:47:45 +04:00
igor@rurik.mysql.com
3d06031887 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-07-01 03:50:48 -07:00
igor@rurik.mysql.com
347687f71e view.result:
Fixed the results of a test for group_concat.
  After the fix foor bug #11639 the results became
  correct.
olap.result, olap.test:
  Added a test case for bug #11639.
sql_select.cc:
  Fixed bug #11639: a wrong result set when using a view
  instead of the underlying table in a rollup query 
  executed through filesort.
  The old code did not take into account that we always
  use an Item_ref object when referring to a view column.
item.h:
  Fixed bug #11639.
  Now if two Item_ref items ref1 and ref2 refer to the same field
  then ref1->eq(ref2) returns 1.
2005-07-01 03:46:08 -07:00
monty@mysql.com
e3a4c1a6b2 Optimization during review
Add extra check to delete [] to ensure we are not deleting not allocated data
2005-07-01 09:40:05 +03:00
bell@sanja.is.com.ua
d3905f3d0e Name resolution context added (BUG#6443) 2005-07-01 07:05:42 +03:00
ramil@mysql.com
2eea2f5208 a fix.
bug #10617: Insert from same table to same table give incorrect result for bit(4) column.
bug #11091: union involving BIT: assertion failure in Item::tmp_table_field_from_field_type
bug #11572: MYSQL_TYPE_BIT not taken care of in temp. table creation for VIEWs
2005-06-30 13:38:29 +05:00
igor@rurik.mysql.com
04e6f472dd Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2005-06-28 03:24:06 -07:00
igor@rurik.mysql.com
42bb0eaf9f Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-28 03:20:00 -07:00
igor@rurik.mysql.com
be1478f6f9 group_by.result, group_by.test:
Added a test case for bug #11414.
sql_select.cc:
  Fixed bug #11414: crash on Windows with some simple
  GROUP BY queries.
  It happened to an allocation of an array containing
  0 Copy_field elements in setup_copy_fields.
  The bug had been already fixed in 5.0.
2005-06-28 03:18:37 -07:00
konstantin@mysql.com
526af17380 Fix the broken test suite in -debug build. 2005-06-27 14:10:56 +04:00
konstantin@mysql.com
9b2d517b79 Free unused JOINs early even if using subqueries. 2005-06-25 00:27:40 +04:00
konstantin@mysql.com
153861fa50 Remove an unrelevant assert. 2005-06-24 23:29:00 +04:00
konstantin@mysql.com
aa300fa71b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-join_free2push
2005-06-24 22:48:46 +04:00
konstantin@mysql.com
56a37f8e07 - don't call JOIN::join_free(1) twice for every join in JOIN::cleanup().
The reason it happened was that both, JOIN::cleanup() and JOIN::join_free(),
went over all nested joins and called cleanup/join_free for them.
For that:
- split recursive and non-recursive parts of JOIN::cleanup() and
JOIN::join_free()
- rename JOIN::cleanup to JOIN::destroy, as it actually destroys its
  argument
- move the recursive part of JOIN::cleanup to st_select_lex::cleanup
- move the non-recursive part of JOIN::join_free to the introduced
  method JOIN::cleanup().
2005-06-24 22:48:12 +04:00
igor@rurik.mysql.com
abe8ec4be2 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-06-23 11:22:32 -07:00
igor@rurik.mysql.com
268110b34b Manual merge 2005-06-23 11:22:30 -07:00
konstantin@mysql.com
4c4079430d - implement inheritance of sp_instr: public Query_arena.
We need every instruction to have its own arena, because we want to
  track instruction's state (INITIALIZED_FOR_SP -> EXECUTED). Because of 
  `if' statements and other conditional instructions used in stored 
  procedures, not every instruction of a stored procedure gets executed 
  during the first (or even subsequent) execution of the procedure. 
  So it's better if we track the execution state of every instruction 
  independently.
  All instructions of a given procedure now also share sp_head's 
  mem_root, but keep their own free_list.
  This simplifies juggling with free Item lists in sp_head::execute.
- free_items() moved to be a member of Query_arena. 
- logic of 'backup_arena' debug member of Query_arena has been
  changed to support
  multi-backups. Until now, TRUE 'backup_arena' meant that there is
  exactly one active backup of the THD arena. Now it means simply that
  the arena is used for backup, so that we can't accidentally overwrite an 
  existing backup. This allows doing multiple backups, e.g. in
  sp_head::execute and Cursor::fetch, when THD arena is already backed up
  but we want to set yet another arena (usually the 'permanent' arena,
  to save permanent transformations/optimizations of a parsed tree).
2005-06-23 20:22:08 +04:00
igor@rurik.mysql.com
c73c2af614 func_str.result, func_str.test:
Added a test case for bug #10124.
sql_select.h, item_subselect.cc, sql_select.cc:
  Fixed bug #10124.
  The copy method of the store_key classes can return
  STORE_KEY_OK=0, STORE_KEY_FATAL=1, STORE_KEY_CONV=2 now.
field.cc:
  Fixed bug #10124.
  When ussuing a warning the store methods return 2 instead of 1 now.
2005-06-23 06:15:50 -07:00
ndbdev@dl145b.mysql.com
053dd260ee Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-23 01:51:49 +02:00
konstantin@mysql.com
6a0adade83 Remove THD::stmt_backup 2005-06-22 23:12:25 +04:00
ndbdev@dl145b.mysql.com
dcef1c7532 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
2005-06-22 19:07:29 +02:00