Commit graph

19152 commits

Author SHA1 Message Date
joerg@trift2.
f5c4d92d82 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/tmp-5.1
2007-01-14 13:50:16 +01:00
kostja@bodhi.local
16d53afcd2 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2007-01-12 22:06:46 +03:00
malff/marcsql@weblab.(none)
eda8c901f4 Fixed windows build break 2007-01-12 10:33:44 -07:00
malff/marcsql@weblab.(none)
b73101af15 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-22687
2007-01-12 08:11:52 -07:00
gluh@eagle.(none)
5c5edbdd82 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-12 14:48:59 +04:00
gluh@eagle.(none)
cf41e1ec63 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-12 14:47:11 +04:00
tnurnberg@mysql.com/sin.azundris.com
90a8092660 Bug#24660: "enum" field type definition problem
ENUMs weren't allowed to have character 0xff, a perfectly good
character in some locales.  This was circumvented by mapping 0xff in
ENUMs to ',', thereby prevent actual commas from being used. Now if
0xff makes an appearance, we find a character not used in the enum and
use that as a separator. If no such character exists, we throw an
error.

Any solution would have broken some sort of existing behaviour. This
solution should serve both fractions (those with 0xff and those with
',' in their enums), but WILL REQUIRE A DUMP/RESTORE CYCLE FROM THOSE
WITH 0xff IN THEIR ENUMS. :-/ That is, mysqldump with their current
server, and restore when upgrading to one with this patch.
2007-01-12 11:06:38 +01:00
gluh@mysql.com/eagle.(none)
a33f2719e2 Function mysql_rm_tmp_tables():
fixed valgrind error
fixed indentation
2007-01-12 13:34:33 +04:00
malff/marcsql@weblab.(none)
9655f5fb03 Bug#22687 (Functions UNIQUE_USERS, GROUP_UNIQUE_USERS)
According to some internal communication, these two functions are place
holders for future enhancements. Because they use a variable number of
parameters, the implementation defined a reserved keyword for them in the
parser grammar.

Unfortunately, doing so creates a bug similar to Bug 21114 reported for the
function FORMAT.

In the 5.1 code base, due to improvements in the code implemented with bug
21114, having a reserved keyword for functions with a variable number of
arguments is not needed any more by the implementation.

As a result, this fix removes the place-holder implementation, and removes
the unnecessary reserved keywords. Should the functions UNIQUE_USERS and
GROUP_UNIQUE_USERS be finally implemented in a later release, the
implementation should sub class Create_native_func in sql/item_create.cc.
For example, see the class Create_func_concat.
2007-01-11 14:58:05 -07:00
tsmith@siva.hindu.god
bc0e0ba7cc Merge siva.hindu.god:/home/tsmith/m/bk/mysql-5.0-build
into  siva.hindu.god:/home/tsmith/m/bk/mysql-5.1-build
2007-01-11 13:50:48 -07:00
kostja@bodhi.local
b72c2771dc Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2007-01-11 22:15:20 +03:00
joerg@trift2.
05d161e04c Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-01-11 19:40:05 +01:00
gkodinov/kgeorge@rakia.gmz
7eebacadad Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25106-5.0-opt
2007-01-11 19:13:04 +02:00
gkodinov/kgeorge@macbook.gmz
15bcf13182 BUG#25106: A USING clause in combination with a VIEW results in column
aliases ignored
When a column reference to a column in JOIN USING is resolved and a new 
Item is created for this column the user defined name was lost.
This fix preserves the alias by setting the name of the new Item to the
original alias.
2007-01-11 19:10:01 +02:00
malff/marcsql@weblab.(none)
f043c7c4bf Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-25183
2007-01-11 09:15:44 -07:00
gluh@eagle.(none)
215d3da7d2 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-11 18:15:40 +04:00
gluh@mysql.com/eagle.(none)
63e5959202 after merge fix 2007-01-11 16:50:34 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
3ff9dff06a Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/mr10/my50-mr10
2007-01-11 13:18:49 +04:00
igor@olga.mysql.com
61cd864bc0 Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-10 08:55:55 -08:00
malff/marcsql@weblab.(none)
cb8174760a Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-25302
2007-01-10 09:33:43 -07:00
holyfoot/hf@deer.(none)
ebc89b9816 Merge mysql.com:/home/hf/work/24502/my51-24502
into  mysql.com:/home/hf/work/mysql-5.1-mrg
2007-01-10 16:23:54 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
bcd4d84de9 Merge mysql.com:/d2/hf/common/my50-common
into  mysql.com:/d2/hf/mr10/my50-mr10
2007-01-10 14:33:34 +04:00
gluh@eagle.(none)
42e49682b7 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-10 14:14:22 +04:00
gluh@mysql.com/eagle.(none)
4a3fe2b682 after merge fix 2007-01-10 14:03:36 +04:00
gluh@mysql.com/eagle.(none)
9da22c73d0 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-01-10 13:04:58 +04:00
gluh@mysql.com/eagle.(none)
b61f3545f5 Fix for bug#20867 InnoDB Bug - create temporary table+crash => mysqld needs to clean up
2nd version
During tmp tables cleanup we get the handler for temporary table
and delete table using handler method.
2007-01-10 12:57:03 +04:00
igor@olga.mysql.com
578fae9dc8 Fixed bug #25427.
In the method Item_field::fix_fields we try to resolve the name of
the field against the names of the aliases that occur in the select
list. This is done by a call of the function find_item_in_list.
When this function finds several occurrences of the field name
it sends an error message to the error queue and returns 0.
Yet the code did not take into account that find_item_in_list
could return 0 and tried to dereference the returned value.
2007-01-10 00:27:11 -08:00
tsmith@siva.hindu.god
bac65ee90a WL #3670: Compile-time option to remove GRANT-related startup options
- configure --disable-grant-options defines DISABLE_GRANT_OPTIONS
- configure.js/cmake also updated
- if DISABLE_GRANT_OPTIONS is defined, mysqld no longer recognizes:
  --bootstrap
  --init-file
  --skip-grant-tables

Scripts which rely on those three options are modified to check the environment for MYSQLD_BOOTSTRAP; it should be set to the full path of a mysqld which does handle those options.

For example:

$ export MYSQLD_BOOTSTRAP
$ MYSQLD_BOOTSTRAP=/path/to/full/MySQL/bin/mysqld
$ mysql_install_db
$ make test
2007-01-09 19:22:01 -07:00
igor@olga.mysql.com
add0ab219d Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-09 17:31:14 -08:00
evgen@moonbone.local
e098f736e1 Fixed bug#16861: User defined variable can have a wrong value if a tmp table was
used.

The Item::save_in_field() function is called from fill_record() to fill the 
new row with data while execution of the CREATE TABLE ... SELECT statement.
Item::save_in_field() calls val_xxx() methods in order to get values.
val_xxx() methods do not take into account the result field. Due to this
Item_func_set_user_var::val_xxx() methods returns values from the original
table, not from the temporary one.

The save_in_field() member function is added to the Item_func_set_user_var
class. It detects whether the result field should be used and properly updates
the value of the user variable.
2007-01-09 23:24:56 +03:00
igor@olga.mysql.com
ebc68a176c Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-09 12:07:13 -08:00
evgen@moonbone.local
ac48c8bae1 Bug#14171: Wrong internal default value for a BINARY field.
A BINARY field is represented by the Field_string class. The space character
is used as the filler for unused characters in such a field. But a BINARY field 
should use \x00 instead.

Field_string:reset() now detects whether the current field is a BINARY one
and if so uses the \x00 character as a default value filler.
2007-01-09 22:35:30 +03:00
igor@olga.mysql.com
5cd4ba4e0b Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25027
2007-01-09 10:26:28 -08:00
kroki/tomash@moonlight.home
7bf893f551 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug23443
2007-01-09 12:44:16 +03:00
kroki/tomash@moonlight.home
1eb5b28fb7 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23443
2007-01-09 12:40:34 +03:00
kroki/tomash@moonlight.home
45e9762027 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-4.0-bug23443
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-4.1-bug23443
2007-01-09 12:39:05 +03:00
kroki/tomash@moonlight.home
5b4d9d8706 BUG#23443: user-defined variables can consume too much memory in the
server

The problem was that when memory was exhausted HEAP engine could crash
(GROUP BY uses HEAP TABLE).  Alternatively, if SET was used, it could
report an error "You may only use constant expressions with SET" instead
of "Out of memory (Needed NNNNNN bytes)".

The solution is:
 - pass MY_WME to (some) calls to my_malloc() to get correct message.
 - fix heap_write() so that the first key is skipped during cleanup
   on ENOMEM because it wasn't inserted and doesn't have to be
   deleted.

No test case is provided because we can't test out-of-memory behaviour
in our current test framework.
2007-01-09 12:24:25 +03:00
igor@olga.mysql.com
ae6bee30fc Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24345
2007-01-09 00:17:48 -08:00
gkodinov/kgeorge@macbook.local
a30c09c33f Merge macbook.local:/Users/kgeorge/mysql/work/mysql-5.0-opt
into  macbook.local:/Users/kgeorge/mysql/work/merge-5.1-opt
2007-01-08 12:32:48 +02:00
gkodinov/kgeorge@macbook.gmz
a63df24a68 Bug #15881: cast problems
The optimizer removes expressions from GROUP BY/DISTINCT
  if they happen to participate in a <expression> = <const>
  predicates of the WHERE clause (the idea being that if
  it's always equal to a constant it can't have multiple 
  values).
  However for predicates where the expression and the 
  constant item are of different result type this is not
  valid (e.g. a string column compared to 0).
  Fixed by additional check of the result types of the 
  expression and the constant and if they differ the 
  expression don't get removed from the group by list.
2007-01-05 14:02:50 +02:00
igor@olga.mysql.com
08369f4bce Fixed bug #24345.
This bug appeared after the patch for bug 21390 that had added some code
to handle outer joins with no matches after substitution of a const
table in an efficient way. That code as it is cannot be applied to the case
of nested outer join operations. Being applied to the queries with
nested outer joins the code can cause crashes or wrong result sets.
The fix blocks row substitution for const inner tables of an outer join
if the inner operand is not a single table.
2007-01-03 12:16:03 -08:00
gkodinov/kgeorge@rakia.gmz
47c044e418 Merge bk-internal:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/work/B15439-5.0-opt
2007-01-03 18:29:39 +02:00
gkodinov/kgeorge@rakia.gmz
770608cf26 sql_udf.cc:
Addendum to the fix for bug#15439 : valgrind pb failed
2007-01-03 18:26:39 +02:00
holyfoot/hf@mysql.com/hfmain.(none)
5b1b0a6ff4 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/opt/my41-opt
2007-01-03 11:17:00 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
79361c655a Merge mysql.com:/d2/hf/common/my50-common
into  mysql.com:/d2/hf/opt/my50-opt
2007-01-03 11:13:01 +04:00
malff/marcsql@weblab.(none)
4cae0119fd Bug#25302 (893 reduce/reduce conflicts in parser grammar)
This fix corrects build issues introduced by WL#3031:

- In the SQL grammar, 'USER' is a SQL 2003 reserved keyword,
and therefore should not be part of the keyword production.

- In sql/sql_parse.cc, the code for CREATE SERVER and ALTER SERVER
was not using proper format strings in the DBUG_PRINT statements.
2007-01-02 22:16:24 -07:00
malff/marcsql@weblab.(none)
0055056c91 Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-merge
2007-01-02 14:18:13 -07:00
holyfoot/hf@hfmain.(none)
e6b3a71cc0 Merge mysql.com:/d2/hf/common/my50-common
into  mysql.com:/d2/hf/common/my51-common
2007-01-02 17:55:18 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
726a51bc77 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/common/my50-common
2007-01-02 17:50:55 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
998167acce embedded-server related fixes 2007-01-02 17:46:20 +04:00