treated as DEFAULT NULL columns (independently from their position in
table).
(still to be discussed with Monty, Brian, Trudy et al. before push)
mysql-test/r/type_timestamp.result:
Update test after making TIMESTAMP NULL columns without explicit
DEFAULT value to be always treated as DEFAULT NULL columns
(independently from their position in table).
mysql-test/t/type_timestamp.test:
Update test after making TIMESTAMP NULL columns without explicit
DEFAULT value to be always treated as DEFAULT NULL columns
(independently from their position in table).
sql/sql_parse.cc:
add_field_to_list(): made TIMESTAMP NULL columns without explicit
DEFAULT value to be always treated as DEFAULT NULL columns (independently
from their position in table). This also simplifies code a bit.
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
BitKeeper/etc/logging_ok:
auto-union
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/mysql-test-run.sh:
SCCS merged
sql/ha_ndbcluster.cc:
SCCS merged
Ensures that WRITE lock is not obtained on all tables referenced.
mysql-test/r/lock_multi.result:
Bug#4118
New test for multi-update locking
mysql-test/r/multi_update.result:
Bug#4118
Fix test
mysql-test/t/lock_multi.test:
Bug#4118
New test for multi-update locking
mysql-test/t/multi_update.test:
Bug#4118
Fix test
sql/sql_parse.cc:
Bug#4118
Split multi-update to its own case statement in sql_parse.cc
sql/sql_update.cc:
Bug#4118
Overview of locking checking:
1. Open and acquire READ lock
2. Check to see which tables need WRITE lock
3. Unlock tables and relock
sql/sql_yacc.yy:
Bug#4118
Split multi-update to its own case statement in sql_parse.cc
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.
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
Use TESTS_BINDIR to point out bin dir for "client_test"
mysql-test-run.sh:
Export TESTS_BINDIR to be used from --exec
mysql-test/mysql-test-run.sh:
Export TESTS_BINDIR to be used from --exec
mysql-test/t/client_test.test:
Use TESTS_BINDIR to point out bin dir for "client_test"
--exec now checks return code, make all command lines succeed
mysql-test/t/mysql_protocols.test:
--exec now checks return code, make all command lines succeed
mysql-test/mysql-test-run.sh:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
sql/sql_table.cc:
Auto merged
sql/ha_ndbcluster.cc:
Merge: ndb_discover_tables should no longer be called when server is starting
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.
mysql-test/mysql-test-run.sh:
Create and export an NDB_CONNECSTRING that can be used for NDB_TOOLS to connect to NDB
mysql-test/r/ndb_autodiscover.result:
Added more advanced test cases for ndb_autodiscover
mysql-test/t/ndb_autodiscover.test:
Added more advanced test cases for ndb_autodiscover
tests were disabled due to failures caused by floating point conversion
issues on optimized builds).
mysql-test/include/ps_conv.inc:
Disable some of the tests for the test suite to pass on an optimized
build (floating point issues...).
mysql-test/include/ps_query.inc:
Disable some of the tests for the test suite to pass on an optimized
build (floating point issues...).
mysql-test/r/ps_2myisam.result:
Fix test results.
mysql-test/r/ps_3innodb.result:
Fix test results.
mysql-test/r/ps_4heap.result:
Fix test results.
mysql-test/r/ps_5merge.result:
Fix test results.
mysql-test/r/ps_6bdb.result:
Fix test results.
mysql-test/r/ps_7ndb.result:
Fix test results.
Run client_test as a testcase
new file
mysql-test-run.sh:
More clearly report failure if --force, also exit 1
client_test.c:
Use MAXPATHLEN in test_frm_bug()
Renable test cases disabled for running from mysql-test-run
mysqltest.c:
Don't check errno from popen, may not be set
client/mysqltest.c:
Don't check errno from popen, may not be set
tests/client_test.c:
Use MAXPATHLEN in test_frm_bug()
Renable test cases disabled for running from mysql-test-run
mysql-test/mysql-test-run.sh:
More clearly report failure if --force, also exit 1
mysql-test/t/client_test.test:
Run client_test as a testcase