Commit graph

16765 commits

Author SHA1 Message Date
unknown
239b385933 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-marvel


client/mysqldump.c:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysys/my_malloc.c:
  Auto merged
mysys/my_static.c:
  Auto merged
mysys/safemalloc.c:
  Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
sql/ha_archive.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
mysql-test/r/sp.result:
  Merged from main 5.0
sql/sql_load.cc:
  Merged from main 5.0
2007-04-12 12:50:02 +03:00
unknown
d7dadcd7c7 Bug Restoring NDB backups makes table usable in SQL nodes
- parse indexname using "split" instead of sscanf, as not to break at space
- test case with space in key
- enclose names in printout


mysql-test/r/ndb_restore.result:
  Bug  Restoring NDB backups makes table usable in SQL nodes
  - change to using an index with space to reproduce bug
mysql-test/t/ndb_restore.test:
  Bug  Restoring NDB backups makes table usable in SQL nodes
  - change to using an index with space to reproduce bug
ndb/tools/restore/consumer_restore.cpp:
  Bug  Restoring NDB backups makes table usable in SQL nodes
  - parse indexname using "split" instead of sscanf, as not to break at space
  - enclose names in printout
ndb/tools/restore/restore_main.cpp:
  Bug  Restoring NDB backups makes table usable in SQL nodes
  - enclose names in printout
sql/ha_ndbcluster.cc:
  Bug  Restoring NDB backups makes table usable in SQL nodes
  - correct error message
2007-04-12 11:07:30 +02:00
unknown
1992907b45 mysqld.cc:
Removing wrong MYF(0) argument.


sql/mysqld.cc:
  Removing wrong MYF(0) argument.
2007-04-12 11:29:43 +05:00
unknown
8d40fa58ed Post-merge fix. 2007-04-11 12:45:27 -07:00
unknown
d25a540dca Print warning to log when SSL setup fails 2007-04-11 21:38:43 +02:00
unknown
0ec3c2212e Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug27484
into  olga.mysql.com:/home/igor/mysql-5.0-opt


mysql-test/t/row.test:
  Auto merged
mysql-test/r/row.result:
  Manual merge
sql/item_cmpfunc.cc:
  Manual merge
2007-04-11 11:57:40 -07:00
unknown
aa051961c9 Fixed bug : a crash when incompatible row expressions with nested rows
are used as arguments of the IN predicate.
Added a function to check compatibility of row expressions. Made sure that this
function to be called for Item_func_in objects by fix_length_and_dec().


mysql-test/r/row.result:
  Added a test case for bug .
mysql-test/t/row.test:
  Added a test case for bug .
2007-04-11 11:41:12 -07:00
unknown
8187aaa851 Bug#26176 NdbObjectIdMap::expand unable to expand!! mysqld got signal 11
- try to catch as many malloc failures as possible and give error messages


ndb/src/ndbapi/ObjectMap.cpp:
  New BitKeeper file ``ndb/src/ndbapi/ObjectMap.cpp''
2007-04-11 15:21:11 +02:00
unknown
8fe487beba Bug :
The function CRC32() returns unsigned integer.
But the metadata (the unsigned flag) for the 
function was set incorrectly.
As a result type arithmetics based on the 
function's metadata (like finding the concise
type of an temporary table column to hold the result)
returned incorrect results.
Fixed by returning correct type information.

This fix is based on code contributed by Martin Friebe
(martin@hybyte.com) on 2007-03-30.  


mysql-test/r/func_str.result:
  Bug : test case
mysql-test/t/func_str.test:
  Bug : test case
sql/item_strfunc.h:
  Bug : Marked CRC32() as returning unsigned
2007-04-11 13:58:16 +03:00
unknown
4566c09d54 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge


sql/mysql_priv.h:
  Auto merged
2007-04-10 18:25:27 +02:00
unknown
b518d2a8bd Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27659-5.0-opt
2007-04-10 16:57:46 +03:00
unknown
041767e123 Bug :
The optimizer transforms DISTINCT into a GROUP BY
when possible.
It does that by constructing the same structure
(a list of ORDER instances) the parser makes when
parsing GROUP BY.
While doing that it also eliminates duplicates.
But if a duplicate is found it doesn't advance the
pointer to ref_pointer array, so the next 
(and subsequent) ORDER structures point to the wrong
element in the SELECT list.
Fixed by advancing the pointer in ref_pointer_array
even in the case of a duplicate.


mysql-test/r/distinct.result:
  Bug : test case
mysql-test/t/distinct.test:
  Bug : test case
sql/sql_select.cc:
  Bug : use correct ref_pointer_array element
2007-04-10 16:55:48 +03:00
unknown
a41b81e3a4 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Bugs/5.0.27069


sql/sql_table.cc:
  Auto merged
2007-04-10 15:02:04 +05:00
unknown
5ded16c5d0 Bug#27069 set with identical elements are created(additional fix)
issue an error in strict mode
if enum|set column has duplicates members in 'create table'


mysql-test/r/strict.result:
  test case
mysql-test/t/strict.test:
  test case
sql/sql_table.cc:
  issue an error in strict mode
  if enum|set has duplicates members
2007-04-10 15:01:04 +05:00
unknown
8e2b68c3cd Bug#22648 LC_TIME_NAMES: Setting GLOBAL has no effect
Problem: setting/displaying @@LC_TIME_NAMES didn't distinguish between
GLOBAL and SESSION variable types - always SESSION variable
was set/shonw.
Fix: set either global or session value.
Also, "mysqld --lc-time-names" was added to set "global default" value.


mysql-test/r/variables.result:
  Adding test cases
mysql-test/t/variables.test:
  Adding test cases
sql/mysql_priv.h:
  Declaring variable for global default.
sql/mysqld.cc:
  Adding --lc-time-names
sql/set_var.cc:
  Distinguish between GLOBAL and SESSION variables.
sql/sql_class.cc:
  Don't initialize to en_US, use global_system_variables value instead.
2007-04-09 17:58:56 +05:00
unknown
d2667d1a6e Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-04-09 11:45:14 +05:00
unknown
6d9a796944 Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt


sql/sql_table.cc:
  Auto merged
2007-04-09 11:06:28 +05:00
unknown
ddaeead8fc Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/tmp4/mysql-5.0-engines


sql/item_func.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-08 20:46:40 +02:00
unknown
1f8dbdaf3a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27586-bug-5.0-opt-mysql


sql/sql_load.cc:
  Auto merged
2007-04-07 23:09:09 +04:00
unknown
b3f9c88826 Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt


sql/field.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-07 11:36:02 +05:00
unknown
2911bcd8e3 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-04-07 11:35:14 +05:00
unknown
b5cf43c902 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27586-bug-5.0-opt-mysql
2007-04-07 00:56:35 +04:00
unknown
35a0f47234 Bug#27586: Wrong autoinc value assigned by LOAD DATA in the
NO_AUTO_VALUE_ON_ZERO mode.

The table->auto_increment_field_not_null variable wasn't reset after
reading a row which may lead to inserting a wrong value to the auto-increment
field to the following row.

The table->auto_increment_field_not_null variable is reset now right after a
row is being written in the read_fixed_length() and the read_sep_field()
functions.
Removed wrong setting of the table->auto_increment_field_not_null variable in
the read_sep_field() function.


mysql-test/t/loaddata.test:
  Added a test case for the bug#27586: Wrong autoinc value assigned by LOAD DATA in the
  NO_AUTO_VALUE_ON_ZERO mode.
mysql-test/r/loaddata.result:
  Added a test case for the bug#27586: Wrong autoinc value assigned by LOAD DATA in the
  NO_AUTO_VALUE_ON_ZERO mode.
sql/sql_load.cc:
  Bug#27586: Wrong autoinc value assigned by LOAD DATA in the
  NO_AUTO_VALUE_ON_ZERO mode.
  The table->auto_increment_field_not_null variable is reset now right after a
  row is being written in the read_fixed_length() and the read_sep_field()
  functions.
  Remove wrong setting of the table->auto_increment_field_not_null variable in
  the read_sep_field() function.
2007-04-07 00:13:27 +04:00
unknown
d6a78be9f2 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-06 20:47:28 +02:00
unknown
e8a8d5df60 Merge acurtis@bk-internal:/home/bk/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-engines.merge


sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-06 18:07:02 +00:00
unknown
52b86a6e0a Polishing: note added. 2007-04-06 20:21:30 +04:00
unknown
9bc5135f81 Polishing: add comments.
sql/parse_file.cc:
  Add comments.
2007-04-06 18:56:39 +04:00
unknown
23e92aca5a Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb


sql/item_func.cc:
  Auto merged
2007-04-05 10:24:37 +02:00
unknown
8f21b31d67 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-05 10:20:56 +02:00
unknown
9170a3c184 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-04-05 09:18:37 +02:00
unknown
499d058c2d Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


include/my_base.h:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Merge
2007-04-05 08:39:12 +02:00
unknown
865cd0108a Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/item_func.cc:
  Auto merged
2007-04-05 08:24:03 +02:00
unknown
cfe2d1da88 Removed compiler warnings 2007-04-05 07:28:09 +02:00
unknown
4c0f3c50f8 Fixed compilation error on Windows 2007-04-05 06:49:43 +02:00
unknown
bb8fb9e9e6 Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb-bj.merge


sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-05 11:30:19 +08:00
unknown
b651aa038c Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-04 23:05:59 +02:00
unknown
2efc0f51cf Bug UPDATE with subquery and triggers failing with cluster tables
In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced
subject table didn't see the results of operation which caused invocation
of those triggers. In other words AFTER trigger invoked as result of update
(or deletion) of particular row saw version of this row before update (or
deletion).

The problem occured because NDB handler in those cases postponed actual
update/delete operations to be able to perform them later as one batch.

This fix solves the problem by disabling this optimization for particular
operation if subject table has AFTER trigger for this operation defined.
To achieve this we introduce two new flags for handler::extra() method:
HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH.
These are called if there exists AFTER DELETE/UPDATE triggers during a
statement that potentially can generate calls to delete_row()/update_row().
This includes multi_delete/multi_update statements as well as insert statements
that do delete/update as part of an ON DUPLICATE statement.


include/my_base.h:
  Added HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible.
mysql-test/r/ndb_trigger.result:
  Bug   UPDATE with subquery and triggers failing with cluster tables
  ---
  Added new test cases
mysql-test/t/ndb_trigger.test:
  Bug   UPDATE with subquery and triggers failing with cluster tables
  ---
  Added new test cases
sql/ha_ndbcluster.cc:
  Bug   UPDATE with subquery and triggers failing with cluster tables: Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
sql/ha_ndbcluster.h:
  Bug   UPDATE with subquery and triggers failing with cluster tables: Added member variables for handling of HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
sql/mysql_priv.h:
  Added new method prepare_triggers_for_insert_stmt to check if batching of delete/update must be disallowed.
sql/sql_delete.cc:
  Use HA_EXTRA_DELETE_CANNOT_BATCH to inform handler when batching of delete is not possible
sql/sql_insert.cc:
  Added method prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed.
  Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler
   when batching of delete/update is not possible
sql/sql_load.cc:
  Call prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed and
  mark fields used by triggers for the insert statement.
sql/sql_trigger.h:
  Added has_triggers to support what particular triggers exist on a table.
sql/sql_update.cc:
  Use HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of update is not possible
2007-04-04 12:50:39 +02:00
unknown
1895cdb34d Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/50


sql/item_func.cc:
  Auto merged
2007-04-04 11:06:48 +02:00
unknown
5fb8970129 Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/order_by.result:
  Manual merge
mysql-test/t/order_by.test:
  Manual merge
sql/item_cmpfunc.h:
  Manual merge
2007-04-03 16:11:27 -07:00
unknown
0ee34b1ca2 Fixed bug : wrong results with ORDER/GROUP BY queries containing
IN/BETWEEN predicates in sorting expressions.
Wrong results may occur when the select list contains an expression
with IN/BETWEEN predicate that differs from a sorting expression by
an additional NOT only.
 
Added the method Item_func_opt_neg::eq to compare correctly expressions
containing [NOT] IN/BETWEEN.
The eq method inherited from the Item_func returns TRUE when comparing
'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.  


mysql-test/r/order_by.result:
  Added a test case for bug .
mysql-test/t/order_by.test:
  Added a test case for bug .
sql/item_cmpfunc.cc:
  Fixed bug .
  Added the method Item_func_opt_neg::eq to compare correctly expressions
  containing [NOT] IN/BETWEEN.
  The eq method inherited from the Item_func returns TRUE when comparing
  'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
sql/item_cmpfunc.h:
  Added the method Item_func_opt_neg::eq to compare correctly expressions
  containing [NOT] IN/BETWEEN.
  The eq method inherited from the Item_func returns TRUE when comparing
  'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
2007-04-03 14:32:16 -07:00
unknown
fda365101f Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
2007-04-03 14:00:38 +02:00
unknown
bceecfa820 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-marvel


client/mysql.cc:
  Auto merged
heap/hp_write.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-03 13:55:20 +02:00
unknown
7e08016a91 Fix for BUG#27337: Privileges are not properly restored.
The problem was that THD::db_access variable was not restored after
database switch in stored-routine-execution code.

The fix is to restore THD::db_access in this case.

Unfortunately, this fix requires additional changes,
because in prepare_schema_table(), called on the parsing stage, we checked
privileges. That was wrong according to our design, but this flaw haven't
struck so far, because it was masked. All privilege checkings must be
done on the execution stage in order to be compatible with prepared statements
and stored routines. So, this patch also contains patch for
prepare_schema_table(), which moves the checkings to the execution phase.


mysql-test/r/grant.result:
  Updated result file.
mysql-test/t/grant.test:
  Added test case for BUG#27337.
sql/mysql_priv.h:
  Added function declaration.
sql/sql_db.cc:
  Fix for BUG#27337 -- set THD::db_access even if we're called
  from stored-routine-execution code.
sql/sql_parse.cc:
  Split prepare_schema_table() into two functions:
    - prepare_schema_table(), which is called from the parser (parsing stage);
    - check_show_access(), which is called on the execution stage.
sql/sql_show.cc:
  Ignore schema_select_lex member if its table is NULL.
2007-04-03 15:11:34 +04:00
unknown
5203ea6ccb BUG#18676 when cluster storage engine is down, misleading error message on create table with 4009.
mysql-test/r/ndb_autodiscover.result:
  changes ndbd error code to mysqld error code when no cluster connection
sql/ha_ndbcluster.cc:
  map 4009 error code to mysql not connected error
sql/handler.cc:
  define return codes to ha_table_exists_in_engine to something useful
    NOTE: in 5.1 this should call a handlerton method, not horrible ifdef ndb stuff
sql/sql_table.cc:
  clearly define what happens on create table if exits/not exists/not connected to engine
2007-04-03 18:44:29 +08:00
unknown
e95357d72f Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25729/mysql-5.0-engines


sql/item_func.cc:
  Auto merged
2007-04-03 12:11:51 +05:00
unknown
c457e2b88b Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-02 22:23:05 +02:00
unknown
29fe12509c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime


sql/item_func.cc:
  Auto merged
2007-04-02 22:06:15 +04:00
unknown
64c7c89ac0 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-telco-gca
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-04-02 18:22:33 +02:00
unknown
f9315b16b1 BUG#27560: Memory usage of mysqld grows while doing nothing
The query-cache watch thread was continually allocating new thread entries on the
THD MEM_ROOT, not freed until server exit.
  
Fixed by using a simple array, auto-expanded as necessary.


sql/ha_ndbcluster.cc:
  Use a fixed array (auto-expanded as necessary) for temporary copy of open shares,
  don't keep pushing list entries on the THD mem root.
2007-04-02 18:21:05 +02:00
unknown
3c763afc9c BUG#25729 - boolean full text search is confused by NULLs produced by
LEFT JOIN
Fixed that in certain situations MATCH ... AGAINST returns false hits
for NULLs produced by LEFT JOIN when there is no fulltext index
available.


mysql-test/r/fulltext_left_join.result:
  A test case for BUG#25729.
mysql-test/t/fulltext_left_join.test:
  A test case for BUG#25729.
sql/item_func.cc:
  concat_ws(NULL) returns empty string instead of NULL. There is not much
  sense to calculate relevance for empty strings, thus return 0 immediately
  if we got NULL or empty string from concat_ws.
sql/item_func.h:
  Item_func_match::concat renamed to concat_ws.
2007-04-02 17:26:39 +05:00