Commit graph

39101 commits

Author SHA1 Message Date
istruewing@chilla.local
11d453cc33 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-merge
2006-10-19 09:59:01 +02:00
istruewing@chilla.local
73cdbb4e7a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-merge
2006-10-19 09:44:51 +02:00
igor@rurik.mysql.com
3a4a9521d8 Changed test case for bug 22342 to make it platform independent. 2006-10-18 17:24:33 -07:00
holyfoot/abotchkov@bk-internal.mysql.com
9c0b872662 Merge mysql.com:/data0/bk/mysql-5.0
into  mysql.com:/data0/bk/mysql-5.0-kt
2006-10-18 15:11:01 +02:00
svoj@mysql.com/april.(none)
a2e0059f3c BUG#23175 - MYISAM crash/repair failed during repair
Repair table could crash a server if there is not sufficient
memory (myisam_sort_buffer_size) to operate. Affects not only
repair, but also all statements that use create index by sort:
repair by sort, parallel repair, bulk insert.

Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.

Also fixed memory leak if thr_find_all_keys returns an error.
2006-10-18 17:57:29 +05:00
holyfoot/hf@deer.(none)
9aa346bb26 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-kt
into  mysql.com:/home/hf/mysql-5.1.mrg
2006-10-18 11:17:38 +05:00
evgen@sunlight.local
8fd7ea23d6 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  sunlight.local:/local_work/14959-bug-5.0-opt-mysql
2006-10-18 00:15:14 +04:00
evgen@sunlight.local
0c5a2865f7 sql_rename.cc:
Cleanup of fix for bug#14959.
2006-10-18 00:14:14 +04:00
igor@rurik.mysql.com
17eb0b353e Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt
2006-10-17 12:25:53 -07:00
igor@rurik.mysql.com
c4c9fe63db Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug19579
2006-10-17 10:07:29 -07:00
gkodinov/kgeorge@macbook.gmz
8e7f0fe785 rename of the new members introduced in the fix for bug 21798 2006-10-17 19:22:13 +03:00
gkodinov/kgeorge@macbook.gmz
a64ae1844d Merge bk-internal:/home/bk/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21798-5.0-opt-merge
2006-10-17 16:36:44 +03:00
gkodinov/kgeorge@macbook.gmz
f7b8937661 Bug#21798: memory leak during query execution with subquery in column
list using a function
When executing dependent subqueries they are re-inited and re-exec() for 
each row of the outer context.
The cause for the bug is that during subquery reinitialization/re-execution,
the optimizer reallocates JOIN::join_tab, JOIN::table in make_simple_join()
and the local variable in 'sortorder' in create_sort_index(), which is
allocated by make_unireg_sortorder().
Care must be taken not to allocate anything into the thread's memory pool
while re-initializing query plan structures between subquery re-executions.
All such items mush be cached and reused because the thread's memory pool
is freed at the end of the whole query.
Note that they must be cached and reused even for queries that are not 
otherwise cacheable because otherwise it will grow the thread's memory 
pool every time a cacheable query is re-executed. 
We provide additional members to the JOIN structure to store references 
to the items that need to be cached.
2006-10-17 16:20:26 +03:00
gkodinov/kgeorge@macbook.gmz
52dacf7c9a merge changes becuase of the fix for bug 22367 2006-10-17 12:06:06 +03:00
gkodinov/kgeorge@macbook.gmz
660d724f25 Merge bk-internal:/home/bk/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B22367-5.0-opt-merge
2006-10-17 10:58:01 +03:00
istruewing@chilla.local
647dee0316 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug12240
2006-10-17 09:33:58 +02:00
igor@rurik.mysql.com
c467be8d6e Fixed bug #19579: at range analysis optimizer did not take into
account predicates that become sargable after reading const tables.
In some cases this resulted in choosing non-optimal execution plans.
Now info of such potentially saragable predicates is saved in
an array and after reading const tables we check whether this
predicates has become saragable.
2006-10-16 14:25:28 -07:00
mikael/pappa@dator5.(none)
4a7cd3a1cb Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug18198
2006-10-16 15:40:40 -04:00
bar@mysql.com/bar.intranet.mysql.r18.ru
492245c490 Bug#21370: View renaming lacks tablename_to_filename encoding
Problem: renaming of FRM file and ARC files didn't use file name
  encoding, so RENAME TABLE for views failed for views having
  "tricky" characters in their names.
  Fix: adding build_table_filename() in missing places.
2006-10-16 22:42:03 +05:00
gkodinov/kgeorge@rakia.(none)
a5899ea863 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B22342-5.0-opt
2006-10-16 19:46:02 +03:00
gkodinov/kgeorge@macbook.gmz
0e954d2c1a Bug #22342: No results returned for query using max and group by
When using index for group by and range access the server isolates    
 a set of ranges based on the conditions over the key parts of the
 index used. Then it uses only the ranges over the GROUP BY fields to
 jump from one group to another. Since the GROUP BY fields may form a
 prefix over the index, we may use only a prefix of the ranges produced
 by the range optimizer.
 Each range contains a notion on whether it includes its border values.
 The problem is that when using a range prefix, the last range is open
 because it assumes that there is a range on the next keypart. Thus when
 we use a prefix range as it is, it excludes all border values.
 The solution is when ignoring the suffix of the range conditions 
 (to jump over the GROUP BY prefix only) the server must change the 
 remaining intervals so they always contain their borders, e.g. 
 if the whole range was :
 (1,-inf) <= (<group_by_col>,<min_max_arg_col>) < (1, 3) we must make
 (1) <= (<group_by_col>) <= (1) because (a,b) < (c1,c2) means :
 a < c1 OR (a = c1 AND b < c2).
2006-10-16 19:30:19 +03:00
istruewing@chilla.local
b14e9a7ad5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug12240
2006-10-16 17:12:57 +02:00
gkodinov/kgeorge@macbook.gmz
a1310d84be Bug #22367: Optimizer uses ref join type instead of eq_ref for simple join on
strings
MySQL is setting the flag HA_END_SPACE_KEYS for all the keys that reference
text or varchar columns with collation different than binary.
This was done to handle correctly the situation where a lookup on such a key
may return more than 1 row because of the presence of many rows that differ
only by the amount of trailing space in the table's string column.
Inserting such values however appears to violate the unique checks on 
INSERT/UPDATE. Thus that flag must not be set as it will prevent the optimizer
from choosing a faster access method.
This fix removes the setting of the HA_END_SPACE_KEYS flag.
2006-10-16 18:09:58 +03:00
istruewing@chilla.local
199eb9fcda Merge chilla.local:/home/mydev/mysql-5.1-ateam
into  chilla.local:/home/mydev/mysql-5.1-bug12240
2006-10-16 17:04:23 +02:00
gkodinov/kgeorge@macbook.gmz
abad78f455 Merge bk-internal:/home/bk/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B14019-5.0-opt
2006-10-16 16:28:13 +03:00
gkodinov/kgeorge@macbook.gmz
6b10eebe2c Merge update of the fix for bug 14019 in 5.0 2006-10-16 16:27:06 +03:00
istruewing@chilla.local
9d8c82fc10 Merge chilla.local:/home/mydev/mysql-5.0-bug12240
into  chilla.local:/home/mydev/mysql-5.1-bug12240
2006-10-16 15:14:24 +02:00
gkodinov/kgeorge@rakia.(none)
623df6b128 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B14019-4.1-opt
2006-10-16 14:42:51 +03:00
istruewing@chilla.local
9f4d8208da Merge chilla.local:/home/mydev/mysql-4.1-bug12240
into  chilla.local:/home/mydev/mysql-5.0-bug12240
2006-10-16 13:15:15 +02:00
istruewing@chilla.local
c4dee7caa0 Merge chilla.local:/home/mydev/mysql-4.1--team
into  chilla.local:/home/mydev/mysql-4.1-bug12240
2006-10-16 13:01:41 +02:00
istruewing@chilla.local
8c6ba6ebb2 Merge chilla.local:/home/mydev/mysql-5.1--team
into  chilla.local:/home/mydev/mysql-5.1-ateam
2006-10-16 12:43:03 +02:00
gkodinov/kgeorge@macbook.gmz
dff0a1ac7c Merge macbook.gmz:/Users/kgeorge/mysql/work/B14019-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B14019-5.0-opt
2006-10-16 13:24:54 +03:00
gkodinov/kgeorge@macbook.gmz
115616381d BUG#14019 : group by converts literal string to column name
When resolving unqualified name references MySQL was not
   checking what is the item type for the reference. Thus
   e.g a string literal item that has by convention a name
   equal to its string value will also work as a reference to 
   a SELECT list item or a table field.
   Fixed by allowing only Item_ref or Item_field to referenced by
   (unqualified) name.
2006-10-16 13:10:25 +03:00
evgen@moonbone.local
2b474898dc Bug#14959: ALTER TABLE isn't able to rename a view
The mysql_alter_table() was able to rename only a table.

The view/table renaming code is moved from the function rename_tables 
to the new function called do_rename().
The mysql_alter_table() function calls it when it needs to rename a view.
2006-10-13 21:59:52 +04:00
holyfoot/hf@mysql.com/deer.(none)
76bc3e2eb5 merging 2006-10-13 19:36:19 +05:00
kroki/tomash@moonlight.intranet
de22ac7f74 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678
2006-10-13 14:44:21 +04:00
kroki/tomash@moonlight.intranet
e6be42e1c9 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-real
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-real
2006-10-13 14:42:50 +04:00
kroki/tomash@moonlight.intranet
62a697aab9 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-real
2006-10-13 14:40:26 +04:00
kroki/tomash@moonlight.intranet
ec523c650e Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678
2006-10-13 14:26:28 +04:00
holyfoot/hf@deer.(none)
06978991cc Merge mysql.com:/home/hf/mysql-5.0.mrg
into  mysql.com:/home/hf/mysql-5.1.mrg
2006-10-12 15:42:05 +05:00
holyfoot/hf@mysql.com/deer.(none)
edc9026842 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/mysql-5.0.mrg
2006-10-12 13:50:22 +05:00
bar@bar.intranet.mysql.r18.ru
d19c38dbc6 Merge mysql.com:/usr/home/bar/mysql-5.0-rpl.b22052
into  mysql.com:/usr/home/bar/mysql-5.1-rpl
2006-10-12 09:40:01 +05:00
istruewing@chilla.local
3ee35a7618 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one
2006-10-11 22:28:06 +02:00
istruewing@chilla.local
35c94b6e2d Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug8283
2006-10-11 17:57:47 +02:00
evgen@moonbone.local
ea8a646dc0 Bug#22138: Unhandled NULL caused server crash
The Cached_item_decimal::cmp() method wasn't checking for null pointer
returned from the val_decimal() of the item being cached.
This leads to server crash.

The Cached_item_decimal::cmp() method now check for null values.
2006-10-11 19:44:12 +04:00
svoj@mysql.com/april.(none)
62b2044279 BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and server
hangs on Linux

If REPAIR TABLE ... USE_FRM is issued for table that is located in different
than default database server crash could happen.

In reopen_name_locked_table take database name from table_list (user specified
or default database) instead of from thd (default database).

Affects 4.1 only.
2006-10-11 20:34:20 +05:00
istruewing@chilla.local
61a5ddbd19 Bug#21627 - Warnings in build of myisampack
Added proper casts

No test case. myisampack must be tested manually.
2006-10-11 16:36:24 +02:00
bteam/mysqldev@mysql.com/production.mysql.com
2af5c98d8f Raise version number 2006-10-11 12:53:15 +02:00
istruewing@chilla.local
296d64dbc3 Bug#12240 - Rows Examined in Slow Log showing incorrect number?
Examined rows are counted for every join part. The per-join-part
counter was incremented over all iterations. The result variable
was replaced at the end of every iteration. The final result was
the number of examined rows by the join part that ended its
execution as the last one. The numbers of other join parts was
lost.

Now we reset the per-join-part counter before every iteration and
add it to the result variable at the end of the iteration. That
way we get the sum of all iterations of all join parts.

No test case. Testing this needs a look into the slow query log.
I don't know of a way to do this portably with the test suite.
2006-10-11 12:24:59 +02:00
aelkin/elkin@dsl-hkigw8-feb9fb00-191.dhcp.inet.fi
4b134f7481 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  dsl-hkigw8-feb9fb00-191.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.0
2006-10-11 12:48:21 +03:00