added testcase for this
use force send for all executes
mysql-test/r/ndb_blob.result:
added testcase for alter table of blob from ndb to myisam
mysql-test/t/ndb_blob.test:
added testcase for alter table of blob from ndb to myisam
sql/ha_ndbcluster.cc:
bug #5872, transactions should only be restarted with transaction.on flag off if execute_commit has been performed
use force send for all executes
ctype_recode does not hang anymore. Small fix after Marko's change.
sql/sql_show.cc:
ctype_recode does not hang anymore. Small fix after Marko's change.
BUG #5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
sql/sql_acl.cc:
BUG #5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
mysql-test/r/grant.result:
BUG #5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
mysql-test/t/grant.test:
BUG #5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
A partial bugfix to a multibyte charset / column prefix index bug: my_charpos() does not handle right some cases, we try to mask the bug for ASCII chars < 128 in the UTF-8 charset
sql/ha_innodb.cc:
A partial bugfix to a multibyte charset / column prefix index bug: my_charpos() does not handle right some cases, we try to mask the bug for ASCII chars < 128 in the UTF-8 charset
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
column types TIMESTAMP is NOT NULL by default, so in order to have
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).
Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
mysql-test/r/type_timestamp.result:
Added test for TIMESTAMP columns which are able to store NULL values.
mysql-test/t/type_timestamp.test:
Added test for TIMESTAMP columns which are able to store NULL values.
sql/field.cc:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
(We can't replace this function with additional Field_timestamp member
and some code in constructor because then we will have troubles
with Field::new_field() method).
We should also set field to not null in Field_timestamp::set_time() now.
sql/field.h:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function,
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
We also have to support NULL values in Field_timestamp::get_timestamp()
function.
sql/field_conv.cc:
Added comment clarifying behavior in case of TIMESTAMP fields which are
able to store NULL values.
sql/ha_berkeley.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_heap.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_innodb.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_ndbcluster.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/handler.cc:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
(we can't use handler::update_timestamp() anyway since field position
only is not enough for TIMESTAMP fields which are able to store NULLs)
sql/handler.h:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
sql/item_timefunc.cc:
Since now TIMESTAMP fields can hold NULL values we should take this into
account.
sql/sql_base.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
(Here we use Field_timestamp::get_auto_set_type() to setup its value
before further statement execution).
sql/sql_insert.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_load.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_parse.cc:
Added support for TIMESTAMP fields holding NULL values.
We should distinguish NULL default values and non-specified default
values for such fields (because latter could mean DEFAULT NOW()
ON UPDATE NOW() in some cases).
sql/sql_show.cc:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
so we have to specify NULL attribute explicitly for them.
sql/sql_table.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_update.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_yacc.yy:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
(so we have to set NOT_NULL_FLAG properly for them).
sql/table.h:
Added timestamp_auto_set_type enum which values are used for indicating
during which operations we should automatically set TIMESTAPM field
value to current timestamp.
TABLE: Replaced timestamp_default_now/on_update_now members with
timestamp_auto_set_type flag (Now when TIMESTAMP field are able to
store NULL values, single position of field in record is not enough
for updating this field anyway).
Logging to logging@openlogging.org accepted
sql_acl.cc, grant.test, grant.result:
BUG 5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
mysql-test/r/grant.result:
BUG 5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
mysql-test/t/grant.test:
BUG 5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
sql/sql_acl.cc:
BUG 5831 Changed mysql_revoke_all() to successfully delete all privileges for a user in one pass.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
into hundin.mysql.fi:/home/marko/j/mysql-4.1
innobase/btr/btr0btr.c:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0row.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/mysql_priv.h:
Auto merged
identical to another in result"
According to SQL standard queries like
"select t1.a as col from t1, t2 order by a" should return an error if
both tables contain field a.
mysql-test/r/order_by.result:
Updated test to conform SQL-standard.
mysql-test/t/order_by.test:
Updated test to conform SQL-standard.
sql/item.cc:
find_item_in_list() has now one more out parameter which is not used
in item.cc functions.
sql/mysql_priv.h:
find_item_in_list(): Added boolean out parameter "unaliased" which
indicates that we have found field by its original name and not by
its alias in item (select) list.
sql/sql_base.cc:
find_item_in_list(): Added boolean out parameter "unaliased" which
indicates that we have found field by its original name and not by
its alias in item (select) list. This means that additional check is
required to ensure there will be no ambiguity if we would search for this
field in all tables.
sql/sql_select.cc:
find_order_in_list(): If we have found field in select list by its
original name and not by its alias then we should perform additional
check to ensure that there will be no ambiguity if we will search for
this field in all tables. Also small cleanup.
move lockmode from scan operation to operation
added read tuple with lock mode
ndb/include/ndbapi/NdbIndexOperation.hpp:
added read tuple with lock mode
ndb/include/ndbapi/NdbOperation.hpp:
move lockmode from scan operation to operation
ndb/include/ndbapi/NdbScanOperation.hpp:
move lockmode from scan operation to operation
ndb/src/ndbapi/NdbIndexOperation.cpp:
added read tuple with lock mode
ndb/src/ndbapi/NdbOperationDefine.cpp:
added read tuple with lock mode
sql/ha_ndbcluster.cc:
set correct lockmode in all reads...
moved lockmode from scan operatoin to operation
added some debug printouts
some changes in ndbcluster_init to make start of mysqld first work
ndb/include/mgmcommon/ConfigRetriever.hpp:
removed init on ConfigRetriever
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
removed init on ConfigRetriever
added some debug printouts
ndb/src/kernel/vm/Configuration.cpp:
removed init on ConfigRetriever
ndb/src/ndbapi/ndb_cluster_connection.cpp:
removed init on ConfigRetriever
added sleep in retry
sql/ha_ndbcluster.cc:
some changes in ndbcluster_init to make start of mysqld first work
sql/field.cc:
fixed compatibility fields type detection
sql/item.cc:
fixed compatibility fields detection with using standard method for all fields, also some bugs are fixed
sql/sql_derived.cc:
some cleanup
removed debug printout
new test in alter table for dictionay update test with multiple connections
added coice of setting MaxNoOfOrderedIndexes
added option to run "--small-bench"
mysql-test/mysql-test-run.sh:
added option to run "--small-bench"
mysql-test/ndb/ndb_config_2_node.ini:
added coice of setting MaxNoOfOrderedIndexes
mysql-test/ndb/ndbcluster.sh:
added coice of setting MaxNoOfOrderedIndexes
mysql-test/r/ndb_alter_table.result:
new test in alter table for dictionay update test with multiple connections
mysql-test/t/ndb_alter_table.test:
new test in alter table for dictionay update test with multiple connections
ndb/src/ndbapi/DictCache.cpp:
removed debug printout
sql/ha_ndbcluster.cc:
fix for invalidating table if mismatch with frm