into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
sql/ha_ndbcluster.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
mysql-test/r/information_schema.result:
Fix a race in the test case (second attempt).
mysql-test/t/information_schema.test:
Fix a race in the test case (second attempt).
When MySQL logged slow query information to a CSV table, it stored the
query_time and lock_time values with an incorrect formula.
If the time was over 59 seconds, this caused incorrect statistics (either the
slow query was not logged, or the time was far from correct). This change
fixes the method used to store those TIME values in the slow_log table.
mysql-test/r/log_tables-big.result:
BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/51/mysql-test/r/log_tables-big.result
mysql-test/t/log_tables-big-master.opt:
BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/51/mysql-test/t/log_tables-big-master.opt
mysql-test/t/log_tables-big.test:
BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/51/mysql-test/t/log_tables-big.test
sql/time.cc:
initialize all TIME fields (except neg, which may store a
needed value) in calc_time_from_sec()
sql/log.cc:
Log_to_csv_event_handler::log_slow(): call store_time() instead of store() for query_time and lock_time
include/my_time.h:
Add TIME_MAX_VALUE_SECONDS definition
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-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
additional fix(to satisfy Win where CreateFile func does not support the path longer than 260)
mysql-test/r/create.result:
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
additional fix
mysql-test/t/create.test:
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
additional fix
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 #26242 UPDATE with subquery and triggers failing with cluster tables
---
Added new test cases
mysql-test/t/ndb_trigger.test:
Bug #26242 UPDATE with subquery and triggers failing with cluster tables
---
Added new test cases
sql/ha_ndbcluster.cc:
Bug #26242 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 #26242 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
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/51
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/gis.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/gis.test:
Auto merged
sql/field.h:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/51
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
into mysql.com:/home/hf/work/my_mrg/my51-my_mrg
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/errmsg.txt:
merging
now we return different error message if user doesn't have
SELECT grants
mysql-test/r/partition_grant.result:
test result
mysql-test/t/partition_grant.test:
testcase
sql/mysql_priv.h:
no_errors parameter added to check_single_table_access()
sql/partition_info.cc:
access rights control added to the print_no_partition()
sql/share/errmsg.txt:
message added
sql/sql_base.cc:
no_errors parameter added to check_single_table_access()
sql/sql_parse.cc:
no_errors parameter added to check_single_table_access()
mysql-test/r/ndb_autodiscover.result:
recovery for bug#18676 merge in 5.0
sql/ha_ndbcluster.cc:
recovery for bug#18676 merge in 5.0
sql/handler.cc:
recovery for bug#18676 merge in 5.0
sql/sql_table.cc:
recovery for bug#18676 merge in 5.0
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/bug18676
mysql-test/r/ndb_autodiscover.result:
Auto merged
sql/handler.cc:
Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.cpp:
Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
sql/ha_ndbcluster.cc:
merge 5.0-ndb-bj for bug#18676 into 5.1-ndb-bj
sql/sql_table.cc:
merge 5.0-ndb-bj for bug#18676 into 5.1-ndb-bj
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 #27532.
mysql-test/t/order_by.test:
Added a test case for bug #27532.
sql/item_cmpfunc.cc:
Fixed bug #27532.
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.
This changeset fixes the problem where mysql, when run as a service,
can't "detect" it's own data directory.
sql/mysqld.cc:
When running on Windows we check to see if we have a hard path in
my_progname. If not, then we use GetModuleFilename to get the full path
for the executing module. This allows the program to determine where
it's at when running as a service.
client/mysqldump.c:
fixed typo
include/mysql_com.h:
added new constants SYSTEM_CHARSET_MBMAXLEN, NAME_CHAR_LEN, USERNAME_CHAR_LENGTH
increased NAME_LEN, USERNAME_LENGTH
mysql-test/r/create.result:
result fix
mysql-test/r/grant.result:
result fix
mysql-test/r/mysql.result:
result fix
mysql-test/r/sp.result:
result fix
mysql-test/t/create.test:
test case
mysql-test/t/grant.test:
test case
sql/events.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/item_strfunc.h:
fixed calculation of max_length
sql/mysql_priv.h:
check_string_length function is replaced with check_string_byte_length
added new function check_string_char_length
sql/sp.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/sp_head.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/sp_head.h:
changed parameter of 'check_routine_name' function
sql/sql_class.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/share/errmsg.txt:
increased argument lengths according to new constants
sql/sql_parse.cc:
removed unnecessary checks
added function 'check_string_char_length'
sql/sql_plugin.cc:
check that name is not longer than NAME_CHAR_LEN symbols
sql/sql_show.cc:
NAME_LEN is replaced with NAME_CHAR_LEN
sql/sql_table.cc:
check that key name is not longer than NAME_LEN symbols
sql/sql_udf.cc:
check that udf name is not longer than NAME_CHAR_LEN symbols
sql/sql_yacc.yy:
check that user name is not longer than USERNAME_CHAR_LENGTH symbols
sql/table.cc:
check that db or table or column name is not longer than NAME_LEN symbols
storage/innobase/handler/ha_innodb.cc:
removed unnecessary multiplication
tests/mysql_client_test.c:
NAME_LEN is replaced with NAME_CHAR_LEN
- add any value to ndb
- use it to update correct server id in binlog thread
sql/ha_ndbcluster.cc:
ndb: use "any value" to set correct server_id
sql/ha_ndbcluster_binlog.cc:
ndb: use "any value" to set correct server_id
storage/ndb/include/kernel/AttributeHeader.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/include/kernel/signaldata/FireTrigOrd.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/include/kernel/signaldata/SumaImpl.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/include/ndbapi/NdbDictionary.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/include/ndbapi/NdbEventOperation.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/include/ndbapi/NdbOperation.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/ndbapi/NdbEventOperation.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
add any_value as psudo column, updatable from ndbapi
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
add any_value as psudo column, updatable from ndbapi
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
into bodhi.local:/opt/local/work/mysql-5.1-runtime
mysql-test/r/events_bugs.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/events.test:
Auto merged
sql/event_data_objects.cc:
Auto merged
sql/event_data_objects.h:
Auto merged
sql/event_db_repository.h:
Auto merged
sql/event_queue.cc:
Auto merged
sql/events.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_servers.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
mysql-test/r/events.result:
Manual merge.
sql/event_db_repository.cc:
Manual merge.
sql/sql_parse.cc:
Manual merge.