Commit graph

18817 commits

Author SHA1 Message Date
monty@mysql.com/nosik.monty.fi
306b871d52 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2006-11-20 22:46:52 +02:00
monty@mysql.com/nosik.monty.fi
e825879800 Remove compiler warnings
(Mostly in DBUG_PRINT() and unused arguments)
Fixed bug in query cache when used with traceing (--with-debug)
Fixed memory leak in mysqldump
Removed warnings from mysqltest scripts (replaced -- with #)
2006-11-20 22:42:06 +02:00
mats@romeo.(none)
a8efaaee57 Merge romeo.(none):/home/bkroot/mysql-5.1
into  romeo.(none):/home/bk/memcheck-mysql-5.1
2006-11-20 21:37:48 +01:00
mats@romeo.(none)
3eabde4091 BUG#24403 (valgrind complained on uninited st_table for InnoDB and RBR):
Fix to correct behaviour of find_and_fetch_row() for tables that have primary keys stored
in storage engines that support the fast method to fetch rows given a primary key. The
method uses position() to retrieve the key for a given record and rnd_pos() to position
the internal "cursor" at the row. Rnd_pos() returns the found record in table->record[0],
so the record has to be moved to table->record[1] for further processing after calling
find_and_fetch_row().
2006-11-20 21:27:39 +01:00
gkodinov/kgeorge@macbook.gmz
2c82b5a97a 5.0-opt -> 5.1-opt merge fixed. 2006-11-20 12:46:47 +02:00
brian@zim.(none)
f0c661f1ac Refactored a number of engines to have correct init/deinit. Added pass support for "data" from plugin to plugin generic init to use memory location. 2006-11-19 18:01:54 -08:00
holyfoot/hf@deer.(none)
989117071a Merge mysql.com:/home/hf/work/mysql-5.0-0mrg
into  mysql.com:/home/hf/work/mysql-5.1-mrg
2006-11-19 22:26:36 +04:00
holyfoot/hf@mysql.com/deer.(none)
40b22f3910 merging 2006-11-18 21:49:59 +04:00
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
540eb5ac4c Bug valgrind complained on uninited st_table, rbr + innodb
open_table_from_share did not initialize table->record members. that was
  interpreted as the error by valgrind.
  
  Fixed with bzero-ing the members if compilation with -DHAVE_purify.
2006-11-17 23:44:14 +02:00
holyfoot/hf@deer.(none)
7d190dd6b1 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/mysql-5.1-mrg
2006-11-17 19:01:35 +04:00
holyfoot/hf@deer.(none)
dd0b81885d Merge mysql.com:/home/hf/work/mysql-5.0-mrg
into  mysql.com:/home/hf/work/mysql-5.1-mrg
2006-11-17 18:27:28 +04:00
holyfoot/hf@mysql.com/deer.(none)
950665fc3b merging 2006-11-17 11:15:40 +04:00
holyfoot/hf@mysql.com/deer.(none)
e95e23b0f3 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/mysql-5.0-0mrg
2006-11-17 10:30:16 +04:00
bell@desktop.sanja.is.com.ua
d56ab5afb6 Fix of debbuging mode of query cache (proposed by Monty reviewed by me). 2006-11-17 08:18:10 +02:00
holyfoot/hf@mysql.com/deer.(none)
497ccd6b87 Merge mysql.com:/home/hf/work/mysql-4.1-mrg
into  mysql.com:/home/hf/work/mysql-5.0-mrg
2006-11-16 23:16:44 +04:00
malff/marcsql@weblab.(none)
e8d51e62bb Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-22684
2006-11-16 10:06:36 -07:00
holyfoot/hf@mysql.com/deer.(none)
db5db841a9 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1-mrg
2006-11-16 20:44:37 +04:00
malff/marcsql@weblab.(none)
ccfbd68615 Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
Before this change, the functions BENCHMARK, ENCODE, DECODE and FORMAT could
only accept a constant for some parameters.

After this change, this restriction has been removed. An implication is that
these functions can also be used in prepared statements.

The change consist of changing the following classes:
- Item_func_benchmark
- Item_func_encode
- Item_func_decode
- Item_func_format
to:
- only accept Item* in the constructor,
- and evaluate arguments during calls to val_xxx()
which fits the general design of all the other functions.

The 'TODO' items identified in item_create.cc during the work done for
Bug 21114 are addressed by this fix, as a natural consequence of aligning
the design.

In the 'func_str' test, a single very long test line involving an explain
extended select with many functions has been rewritten into multiple
separate tests, to improve maintainability.
The result of explain extended select decode(encode(...)) has changed,
since the encode and decode functions now print all their parameters.
2006-11-16 09:03:47 -07:00
jani@ua141d10.elisa.omakaista.fi
596f64d91a Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-lex-string
2006-11-16 14:38:45 +02:00
kroki/tomash@moonlight.intranet
2b9bcb2c3c Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17047
2006-11-16 14:19:37 +03:00
kroki/tomash@moonlight.intranet
0f94e84fd2 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17047
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug17047
2006-11-16 14:13:03 +03:00
kroki/tomash@moonlight.intranet
9e7f682116 Add 5.0 part of fix for bug 17047. 2006-11-16 14:06:51 +03:00
kroki/tomash@moonlight.intranet
23efecdb3c Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug17047
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17047
2006-11-16 13:25:55 +03:00
kroki/tomash@moonlight.intranet
b8d5451565 BUG#17047: CHAR() and IN() can return NULL without signaling NULL result
The problem was that some functions (namely IN() starting with 4.1, and
CHAR() starting with 5.0) were returning NULL in certain conditions,
while they didn't set their maybe_null flag.  Because of that there could
be some problems with 'IS NULL' check, and statements that depend on the
function value domain, like CREATE TABLE t1 SELECT 1 IN (2, NULL);.

The fix is to set maybe_null correctly.
2006-11-16 13:21:38 +03:00
mats@romeo.(none)
fd810905e9 Merge romeo.(none):/home/bkroot/mysql-5.1
into  romeo.(none):/home/bk/memcheck-mysql-5.1
2006-11-16 08:47:47 +01:00
brian@zim.(none)
c13bf0e466 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/unmerge-5.1
2006-11-15 18:04:35 -08:00
brian@zim.(none)
5649195493 This finished the bzero() on varchar patch I wrote a few months ago. It also completes the data_length() method I added to Fields to determine the length of data for a particular data type. I have many uses for this :) 2006-11-15 17:55:17 -08:00
malff/marcsql@weblab.(none)
2afbcdf46f Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-18239
2006-11-15 11:24:57 -07:00
mats@romeo.(none)
1cff21b531 Changeset to fix a valgrind error in the main tree.
Adding class to handle temporary allocate of memory during write of rows.
Eliminating cut'n-paste error between THD::binlog_{write,update,delete}_row().
2006-11-15 16:49:03 +01:00
mskold/marty@mysql.com/linux.site
a4ae99533c bug Next command hangs in mysql after creating new NDB table via LIKE operation.: Locked mutex LOCK_open during operation 2006-11-15 12:05:05 +01:00
mskold/marty@mysql.com/linux.site
a0dbb6ffb3 bug Alter table from x engine to ndb and back can cause issue with drop DB:added error printout to log 2006-11-15 11:38:22 +01:00
mskold/marty@mysql.com/linux.site
1206f28782 bug Alter table from x engine to ndb and back can cause issue with drop DB:disable distributed drop database if a database contains local tables 2006-11-15 11:13:49 +01:00
Justin.He/justin.he@dev3-47.dev.cn.tlan
23ae8206f5 BUG#23576, Table is created although tablespace does not exist 2006-11-15 13:43:02 +08:00
malff/marcsql@weblab.(none)
6e29099d43 Bug#18239 (Possible to overload internal functions with stored functions)
Bug#21025 (misleading error message when creating functions named 'x', or 'y')
Bug#22619 (Spaces considered harmful)

This change contains a fix to report warnings or errors, and multiple tests
cases.

Before this fix, name collisions between:
- Native functions
- User Defined Functions
- Stored Functions
were not systematically reported, leading to confusing behavior.

I) Native / User Defined Function

Before this fix, is was possible to create a UDF named "foo", with the same
name as a native function "foo", but it was impossible to invoke the UDF,
since the syntax "foo()" always refer to the native function.
After this fix, creating a UDF fails with an error if there is a name
collision with a native function.

II) Native / Stored Function

Before this fix, is was possible to create a SF named "db.foo", with the same
name as a native function "foo", but this was confusing since the syntax
"foo()" would refer to the native function. To refer to the Stored Function,
the user had to use the "db.foo()" syntax.
After this fix, creating a Stored Function reports a warning if there is a
name collision with a native function.

III) User Defined Function / Stored Function

Before this fix, creating a User Defined Function "foo" and a Stored Function
"db.foo" are mutually exclusive operations. Whenever the second function is
created, an error is reported. However, the test suite did not cover this
behavior.
After this fix, the  behavior is unchanged, and is now covered by test cases.

Note that the code change in this patch depends on the fix for Bug 21114.
2006-11-14 19:34:16 -07:00
evgen@moonbone.local
5198354584 Bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
The regression is caused by the fix for bug 14767. When INSERT ... SELECT
used a view in the SELECT list that was not inlined, and there was an 
active transaction, the server could crash in Query_cache::invalidate.

On INSERT ... SELECT only the table being inserted into is invalidated.
Thus views that can't be inlined are skipped from invalidation.

The bug manifests itself in two ways so there is 2 test cases.
One checks that the only the table being inserted into is invalidated.
And the second one checks that there is no crash on INSERT ... SELECT.
2006-11-14 19:50:44 +03:00
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
a7c31fa761 Merge dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.0
into  dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/merge_50_1
2006-11-14 13:04:40 +02:00
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
650a245568 bug#19402 SQL close to the size of the max_allowed_packet fails on the slave
ver 5.0 and 5.1 refinement.
adding to the MAX_SIZE_LOG_EVENT_STATUS estimation status vars and 
EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN
2006-11-14 12:48:17 +02:00
malff/marcsql@weblab.(none)
429b0e6c0f Bug#23703 (DROP TRIGGER needs an IF EXISTS)
This change set implements the DROP TRIGGER IF EXISTS functionality.

This fix is considered a bug and not a feature, because without it,
there is no known method to write a database creation script that can create
a trigger without failing, when executed on a database that may or may not
contain already a trigger of the same name.

Implementing this functionality closes an orthogonality gap between triggers
and stored procedures / stored functions (which do support the DROP IF
EXISTS syntax).

In sql_trigger.cc, in mysql_create_or_drop_trigger,
the code has been reordered to:
- perform the tests that do not depend on the file system (access()),
- get the locks (wait_if_global_read_lock, LOCK_open)
- call access()
- perform the operation
- write to the binlog
- unlock (LOCK_open, start_waiting_global_read_lock)

This is to ensure that all the code that depends on the presence of the
trigger file is executed in the same critical section,
and prevents race conditions similar to the case fixed by Bug 14262 :

- thread 1 executes DROP TRIGGER IF EXISTS, access() returns a failure
- thread 2 executes CREATE TRIGGER
- thread 2 logs CREATE TRIGGER
- thread 1 logs DROP TRIGGER IF EXISTS

The patch itself is based on code contributed by the MySQL community,
under the terms of the Contributor License Agreement (See Bug 18161).
2006-11-13 15:40:22 -07:00
lars@black.(none)
07ac3d3a95 Merge mysql.com:/home/bk/MERGE/mysql-5.0-merge
into  mysql.com:/home/bk/MERGE/mysql-5.1-merge
2006-11-13 17:59:51 +01:00
lars@mysql.com/black.(none)
7aa562ad20 Merge mysql.com:/home/bk/MERGE/mysql-4.1-merge
into  mysql.com:/home/bk/MERGE/mysql-5.0-merge
2006-11-13 17:54:01 +01:00
mats@romeo.(none)
b1a0052e71 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b18581-mysql-5.1-new-rpl
2006-11-13 15:48:39 +01:00
mats@romeo.(none)
851041ec3d Fixing problem in injector code making NDB tests fire an assertion. 2006-11-13 15:42:01 +01:00
gkodinov/kgeorge@rakia.gmz
e347eb1995 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B19216-4.1-opt
2006-11-13 15:40:19 +02:00
mskold/marty@mysql.com/linux.site
4acc1af12c bug#21507 I can't create a unique hash index in NDB: Added possibillity to create hash only indexes with NULL valued attributes, but any NULL valued access will become full table scan with pushed condition on index attribute values. 5.1 re-implementation 2006-11-13 12:56:45 +01:00
lars@black.(none)
63c906f749 Merge mysql.com:/home/bkroot/mysql-5.1-new-rpl
into  mysql.com:/home/bk/MERGE/mysql-5.1-merge
2006-11-13 12:45:31 +01:00
lars@mysql.com/black.(none)
c5d56416ba Merge mysql.com:/home/bkroot/mysql-5.0-rpl
into  mysql.com:/home/bk/MERGE/mysql-5.0-merge
2006-11-13 12:44:53 +01:00
lars@mysql.com/black.(none)
de01754c19 Merge mysql.com:/home/bkroot/mysql-4.1-rpl
into  mysql.com:/home/bk/MERGE/mysql-4.1-merge
2006-11-13 12:44:24 +01:00
dlenev@mockturtle.local
8a5db3e974 Small adjustment after merging fix for bug#23651 "Server crashes when
trigger which uses stored function invoked from different connections"
into 5.1.
2006-11-13 14:30:12 +03:00
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
2b2529de79 WL#3368 mixed binlog_format default
An amendment for parsing argument in case NDB is compiled and active.
  NDB switches from mixed to row-based and back per each query. The previous patch
  was not aware of such behaviour and made exceptional assingment to row-based when
  no command line arg --binlog-format provided.
  
  Removing #if HAVE_NDB_BINLOG block alltogether: ndb supports mixed and if server 
  was build without NDB using binlog nothing to care.
  Test for this piece of code is rather specific. While there is active bug23110
  ndb_alter_table and some other should fail if no explict --binlog-format is given:
  mysql-test-run ndb_alter_table
2006-11-13 13:20:35 +02:00
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
7b0eb936d1 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/merge_50
2006-11-13 12:45:47 +02:00