from the select list and TEXT field
make setup_copy_fields to insert Item_copy_string for blobs in
the beginning of the copy_funcs (push_back instead of push_front)
the thing is that Item_copy_string::copy for function can call
Item_copy_string::val_int for blob via Item_ref.
But if Item_copy_string::copy for blob isn't called before,
it's value will be wrong.
So all the Item_copy_string::copy for blobs should be called before
Item_copy_string::copy for functions.
mysql-test/r/having.result:
added test case for
Bug #4358 Problem with HAVING clause that uses
alias from the select list and TEXT field
mysql-test/t/having.test:
added test case for
Bug #4358 Problem with HAVING clause that uses
alias from the select list and TEXT field
sql/sql_select.cc:
make setup_copy_fields to insert Item_copy_string for blobs in
the beginning of the copy_funcs (push_back instead of push_front)
the thing is that Item_copy_string::copy for function can call
Item_copy_string::val_int for blob via Item_ref.
But if Item_copy_string::copy for blob isn't called before,
it's value will be wrong.
So all the Item_copy_string::copy for blobs should be called before
Item_copy_string::copy for functions.
fixed
Bug #4358 Problem with HAVING clause that
uses alias from the select list and TEXT field
mysql-test/r/subselect.result:
Optimized IN with compound index test
mysql-test/t/subselect.test:
Optimized IN with compound index test
sql/item_subselect.cc:
in case of compound index fill all parts
do not use '' as user in tests, because it picks the Unix login (which gives unexpected results if it is 'root')
(such behaviour is a feature of mysql_real_connect(), see the manual).
mysql-test/t/grant_cache.test:
do not use '' as user in tests, because it picks the Unix login (which gives unexpected results if it is 'root').
sql/slave.cc:
a comment
Added test case for bug #4767.
item_sum.cc:
Added a correct setting of the maybe_null flag for a copy of
an Item_sum object where the argument was a field of an inner table
in an outer join read from a temporary table.
It's part of the fix for bug #4767.
sql_select.cc:
Made change_refs_to_tmp_fields work correctly
for test case of bug #4767 where Item_sum::get_tmp_table_item
failed to build a correct copy of an Item_sum object referring
to a field in a temporary table.
It looks like a hack yet.
sql/sql_select.cc:
Made change_refs_to_tmp_fields work correctly
for test case of bug #4767 where Item_sum::get_tmp_table_item
failed to build a copy of an Item_sum object referring
to a field in a temporary table.
It looks like a hack yet.
sql/item_sum.cc:
Added a correct setting of maybe_null flag for copy of a
Item_sum object where there argument is a field of nullable table
read from the temporary table.
It's part of the fix for bug #4767.
mysql-test/r/olap.result:
Added test case for bug #4767.
mysql-test/t/olap.test:
Added test case for bug #4767.
Fix for server hang bug
mysql-test/r/heap.result:
Bug#4411
Test for server hang bug
mysql-test/t/heap.test:
Bug#4411
Test for server hang bug
sql/opt_sum.cc:
Bug#4411
Allow code to exit the loop.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Bug#4417: SHOW CREATE TABLE and SHOW COLUMNS now return consistent results when "SET NAMES BINARY", i.e. everything is sent in UTF8: column names, enum values, default values.
sql/sql_show.cc:
Bug#4417: SHOW CREATE TABLE and SHOW COLUMNS now return consistent results when "SET NAMES BINARY", i.e. everything is sent in UTF8: column names, enum values, default values.
mysql-test/t/ctype_recoding.test:
Bug#4417: SHOW CREATE TABLE and SHOW COLUMNS now return consistent results when "SET NAMES BINARY", i.e. everything is sent in UTF8: column names, enum values, default values.
mysql-test/r/ctype_recoding.result:
Bug#4417: SHOW CREATE TABLE and SHOW COLUMNS now return consistent results when "SET NAMES BINARY", i.e. everything is sent in UTF8: column names, enum values, default values.
into mysql.com:/home/jonas/src/mysql-4.1-ndb
ndb/src/common/transporter/Transporter.cpp:
Auto merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1-ndb
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/r/ndb_basic.result:
Auto merged
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/t/ndb_alter_table.test:
Auto merged
mysql-test/t/ndb_basic.test:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
ndb/src/ndbapi/Ndb.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
BUG#4535
BUG#4686
mysql-test/r/func_gconcat.result:
add testes of blobs and null values
mysql-test/t/func_gconcat.test:
add testes of blobs and null values
sql/item_sum.cc:
replace code with maybe_null and change store mode of fields
Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
or setting of @@time_zone variable we should open and lock them with the rest of
statement's table (so we should add them to global table list) and after that use such
pre-opened tables for loading info about time zones.
mysql-test/r/timezone2.result:
Added test for bug #4508
mysql-test/t/timezone2.test:
Added test for bug #4508
scripts/mysql_create_system_tables.sh:
Added one more test time zone to time zone tables which is needed for test for bug #4508.
sql/item_create.cc:
CONVERT_TZ() now is treated as special function.
sql/item_create.h:
CONVERT_TZ() now is treated as special function.
sql/item_timefunc.cc:
Item_func_convert_tz now uses list of pre-opened time zone tables instead of trying to
open them ad-hoc. Also it avoid calling of current_thd.
sql/item_timefunc.h:
Added comment describing special nature of CONVERT_TZ() function.
Optimization: Added own fix_fields() method and tz_tables member for caching pointer
to list of open time zone tables to Item_func_convert_tz class.
sql/lex.h:
CONVERT_TZ() now is treated as special function.
sql/mysql_priv.h:
Removed function which is no longer used.
sql/set_var.cc:
Now my_tz_find() accepts list of pre-opened time zone tables as last argument
and no longer needs pointer to current THD.
sql/set_var.h:
Exported sys_time_zone, which is now used in sql_yacc.yy for quick finding out if we are
setting @@time_zone variable.
sql/sql_base.cc:
Moved propagation of pointers to open tables from global list to local select lists to
open_and_lock_tables(), also added implicit usage of time zone tables as condition for
such propagation.
sql/sql_lex.cc:
Added fake_time_zone_tables_list which is used to indicate that time zone tables are
implicitly used in statement.
st_select_lex_unit::create_total_list(): if time zone tables are implicitly used in
statement add them to global tables list.
sql/sql_lex.h:
Added LEX::time_zone_tables_used member which is used to indicate that time zone tables
are implicitly used in this statement (by pointing to fake_time_zone_table_list) and
for holding pointer to those tables after they've been opened.
sql/sql_parse.cc:
We should also create global table list if statement uses time zone tables implicitly.
Added initialization of LEX::time_zone_tables_used to mysql_query_init().
sql/sql_prepare.cc:
We should also create global table list if statement uses time zone tables implicitly.
sql/sql_select.cc:
Removed functions which are no longer used.
sql/sql_yacc.yy:
CONVERT_TZ() and @@time_zone variable are handled in special way since they implicitly
use time zone tables.
sql/tztime.cc:
Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server".
If statement uses CONVERT_TZ() function or @@time_zone variable is set then it implicitly
uses time zone tables. We need to open and lock such tables with all other tables of
such statement.
All code responsible for opening table was removed from tz_load_from_db() and function was
renamed to tz_load_from_open_tables() (which uses list of pre-opened tables).
We also have new functions for construction and initialization of table list of time
zone tables.
my_tz_find() now always require list of pre-opened time zone tables and no longer needs
current THD. So we have to pre-open them in my_tz_init().
Also now we try to open time zone tables only if they were found during startup.
sql/tztime.h:
New function for construction of table list of time zone tables my_tz_get_table_list().
Now my_tz_find() requires list of pre-pened time zone tables instead of current thread.
We should allow 19 as length of newly created TIMESTAMP fields.
mysql-test/r/type_timestamp.result:
Added test of TIMESTAMP(19) support.
mysql-test/t/type_timestamp.test:
Added test of TIMESTAMP(19) support.
sql/sql_parse.cc:
add_field_to_list(): TIMESTAMP columns should also support 19 as length since it is
length of 4.1 compatible representation.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Added support of converion specifiers mentioned in manual but missing in code.
mysql-test/r/date_formats.result:
Added tests of str_to_date() with new %T, %r and %V, %v conversion specifiers, and also
some other specifiers for which tests were missing previously.
mysql-test/t/date_formats.test:
Added tests of str_to_date() and new %T, %r and %V, %v conversion specifiers, and also
some other specifiers for which tests were missing previously.
sql/item_timefunc.cc:
Added support for %T, %r, %V, %v, %X, %x conversion specifiers to extract_date_time()
function. Also simplified a bit calculation of dates from week number.
Added NDBCLUSTER to table types which does not support generate.
Added test case for truncate.
sql/handler.h:
Add NDBCLUSTER to table types that does not support generate.
Check if there are any operations pending that needs to be taken over to the updating/deleting transaction before closing the scan
sql/ha_ndbcluster.cc:
Check ops_pending if there are operations to take over before closing the scan