(ASCII space). For Bug#16857.
sql/field_conv.cc:
Bug#16857: Do not expand BINARY fields as if they are strings (which
presumably /should/ be filled with spaces). Instead, fill BINARY fields
with 0x00 bytes.
time per connection
Removed const_string() method from Item_string (it was only used in one
place, in a bad way). Defer possible SP variable, and access data directly
instead, in date_format item.
mysql-test/r/sp.result:
Updated results for new test (BUG#17476).
mysql-test/t/sp.test:
New test case (BUG#17476)
sql/item.h:
Removed const_string() from Item_string.
It was only used in one place, and we can just use str_value in Item directly.
sql/item_timefunc.cc:
Must defer a (possible) local SP variable to use max_length and str_value
in Item_func_date_format::fix_length_and_dec(), and refer to str_value
directly without the const_string() method (now removed); the cast didn't
work in all cases anyway.
- Change to use non blocking read to empty channel in case of too large sd number
- Don't check for too large socket number on Windows.
sql/net_serv.cc:
Windows does not need protection from sd >= FD_SETSIZE, it uses an array to store the sd's it should read from.
Change the handler for when "net_data_is_ready" returns -1 to perform nonblocking read to empty the net.
Only include that handler if HAVE_POLL is not defined and not windows
mysql-test/r/bigint.result:
test result
mysql-test/t/bigint.test:
testcase
sql/item.h:
unsigned_arg is a separate parameter now
sql/item_cmpfunc.cc:
we can get unsigned field from the signed Item - from string
like '1234'
used
In a simple queries a result of the GROUP_CONCAT() function was always of
varchar type.
But if length of GROUP_CONCAT() result is greater than 512 chars and temporary
table is used during select then the result is converted to blob, due to
policy to not to store fields longer than 512 chars in tmp table as varchar
fields.
In order to provide consistent behaviour, result of GROUP_CONCAT() now
will always be converted to blob if it is longer than 512 chars.
Item_func_group_concat::field_type() is modified accordingly.
sql/item_sum.h:
Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was
used
The Item_func_group_concat::field_type() now returns FIELD_TYPE_BLOB if the result is longer than 512 chars.
tests/mysql_client_test.c:
Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
into mysql.com:/home/dlenev/src/mysql-5.0-bg13525
sql/field.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_select.h:
Manual merge.
- Use 'poll' if available
- Check that sd <= FD_SETSIZE if using 'select'
- Handle case when 'net_data_is_ready' returns -1, ie. sd > FD_SETSIZE and 'select' is used
sql/net_serv.cc:
Use 'poll' in favor of 'select' if avaliable
This is to avoid the limitation with 'select' only being able to handle fd's with numbers <= 1024 as default.
If 'poll' is not available use 'select' but check that we are not having a number higher than FD_SETSIZE
Handle the case when 'net_data_is_ready' can't check if there is data to read, since the sd number is too high
- Use binary charset in acl_cache, to make searches case sensitive
- Add testcase
mysql-test/r/grant2.result:
Update test result
mysql-test/t/grant2.test:
Add test case for bug#17279, checking that user with access to TESTDB can't create TEStdb
sql/sql_acl.cc:
Use binary charset for the acl_cache to make the hash lookups case sensitive.
Thus denying user with access to "TESTDB" access to "TEStdb"
- Change && to ||
- Check for return value != 0 in "ndb->init()"
mysql-test/r/ndb_cache_multi2.result:
Update test result
mysql-test/t/ndb_cache_multi2.test:
Update test case
- add printouts for what server the queries are from
- Run the query from "while" once on server1 to cache it
sql/ha_ndbcluster.cc:
&& => ||, to call both the function "thd->store_global()" and "ndb->init()"
ndb_init returns 0 on sucess. Fail if not zero.
into mysql.com:/home/dlenev/src/mysql-5.0-bg13525
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_trigger.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/trigger.result:
SCCS merged
mysql-test/t/trigger.test:
SCCS merged
- Added empty constructors and virtual destructors to many classes and structs
- Removed some usage of the offsetof() macro to instead use C++ class pointers
configure.in:
Added comment
ndb/include/ndbapi/NdbDictionary.hpp:
Fixed compiler warnings from gcc 4.0.2
sql/field.cc:
Fixed compiler warnings from gcc 4.0.2
sql/handler.h:
Fixed compiler warnings from gcc 4.0.2
sql/item.h:
Fixed compiler warnings from gcc 4.0.2
sql/item_cmpfunc.h:
Fixed compiler warnings from gcc 4.0.2
sql/log_event.h:
Fixed compiler warnings from gcc 4.0.2
sql/mysql_priv.h:
Fixed compiler warnings from gcc 4.0.2
For find_table_in_list I fixed it to use proper C++ class pointers instead of C style pointers
sql/opt_range.cc:
Fixed compiler warnings from gcc 4.0.2
sql/parse_file.h:
Fixed compiler warnings from gcc 4.0.2
sql/sp_rcontext.h:
Fixed compiler warnings from gcc 4.0.2
sql/spatial.h:
Fixed compiler warnings from gcc 4.0.2
sql/sql_base.cc:
Fixed compiler warnings from gcc 4.0.2
sql/sql_cache.h:
Fixed compiler warnings from gcc 4.0.2
sql/sql_class.h:
Fixed compiler warnings from gcc 4.0.2
sql/sql_parse.cc:
Fixed compiler warnings from gcc 4.0.2
(Not pretty, but seams to work...)
sql/sql_select.h:
Fixed compiler warnings from gcc 4.0.2
sql/sql_update.cc:
Fixed compiler warnings from gcc 4.0.2
sql/table.h:
Fixed compiler warnings from gcc 4.0.2
sql/tztime.cc:
Fixed compiler warnings from gcc 4.0.2
sql/tztime.h:
Fixed compiler warnings from gcc 4.0.2
Let us transfer triggers associated with table when we rename it (but only if
we are not changing database to which table belongs, in the latter case we will
emit error).
mysql-test/r/trigger.result:
Added test for bug #13525 "Rename table does not keep info of triggers".
mysql-test/t/trigger.test:
Added test for bug #13525 "Rename table does not keep info of triggers".
sql/sql_rename.cc:
rename_tables():
Now after renaming table's .FRM file and updating handler data we call
Table_triggers_list::change_table_name() which is reponsible for
updating .TRG and .TRN files.
sql/sql_table.cc:
mysql_alter_table():
Now in case when ALTER should rename table we call
Table_triggers_list::change_table_name() which is responsible
for updating .TRG and .TRN files after renaming table.
sql/sql_trigger.cc:
Added Table_triggers_list::change_table_name() method and
change_table_name_in_triggers()/trignames() methods responsible for updating
.TRG and .TRN files for table during its renaming.
Two small cleanups - removed versioning for .TRG files (since it was not working
before anyway) and emphasized that type of lock specified in tables list is
unimportant for DROP TABLE (since this statement uses name-locking).
sql/sql_trigger.h:
Table_triggers_list:
Added on_table_names_list member to store pointers and lenghts of
"ON table_name" parts in triggers' definitions to be able easily
change them during RENAME TABLE.
Added change_table_name() method and change_table_name_in_trignames/triggers()
helper methods responsible for updating .TRG and .TRN files.
sql/sql_yacc.yy:
trigger_tail:
To be able properly update triggers' definitions with new table names
when renaming tables we need to know where in CREATE TRIGGER statement
"ON db_name.table_name" part resides.
Small cleanup - let us emphasize that for CREATE TRIGGER statement
lock type which is specified in table list is unimportant since
name-locking is used.
(Needed for "list of pushes" web page and autopush)
include/mysql.h:
Fix to embedded server to be able to run tests on it
libmysql/libmysql.c:
Fix to embedded server to be able to run tests on it
libmysqld/emb_qcache.cc:
Fix to embedded server to be able to run tests on it
libmysqld/embedded_priv.h:
Fix to embedded server to be able to run tests on it
libmysqld/lib_sql.cc:
Fix to embedded server to be able to run tests on it
libmysqld/libmysqld.c:
Fix to embedded server to be able to run tests on it
mysql-test/mysql-test-run.sh:
Fix to embedded server to be able to run tests on it
mysql-test/r/binlog.result:
Updated test for embedded server
mysql-test/r/ctype_cp932.result:
Updated test for embedded server
mysql-test/r/innodb.result:
Updated test for embedded server
mysql-test/r/mysqltest.result:
Updated test for embedded server
mysql-test/r/query_cache.result:
Updated test for embedded server
mysql-test/r/query_cache_notembedded.result:
Updated test for embedded server
mysql-test/r/sp-error.result:
Updated test for embedded server
mysql-test/r/sp.result:
Updated test for embedded server
mysql-test/r/subselect.result:
Updated test for embedded server
mysql-test/r/view.result:
Updated test for embedded server
mysql-test/r/view_grant.result:
Updated test for embedded server
mysql-test/t/backup.test:
Updated test for embedded server
mysql-test/t/binlog.test:
Updated test for embedded server
mysql-test/t/blackhole.test:
Updated test for embedded server
mysql-test/t/compress.test:
Updated test for embedded server
mysql-test/t/ctype_cp932.test:
Updated test for embedded server
mysql-test/t/delayed.test:
Updated test for embedded server
mysql-test/t/handler.test:
Updated test for embedded server
mysql-test/t/innodb.test:
Updated test for embedded server
mysql-test/t/mysql.test:
Updated test for embedded server
mysql-test/t/mysql_client_test.test:
Updated test for embedded server
mysql-test/t/mysqltest.test:
Updated test for embedded server
mysql-test/t/query_cache.test:
Updated test for embedded server
mysql-test/t/query_cache_notembedded.test:
Updated test for embedded server
mysql-test/t/read_only.test:
Updated test for embedded server
mysql-test/t/skip_grants.test:
Updated test for embedded server
mysql-test/t/sp-destruct.test:
Updated test for embedded server
mysql-test/t/sp-error.test:
Updated test for embedded server
mysql-test/t/sp-threads.test:
Updated test for embedded server
mysql-test/t/sp.test:
Updated test for embedded server
mysql-test/t/subselect.test:
Updated test for embedded server
mysql-test/t/temp_table.test:
Updated test for embedded server
mysql-test/t/view.test:
Updated test for embedded server
mysql-test/t/view_grant.test:
Updated test for embedded server
mysql-test/t/wait_timeout.test:
Updated test for embedded server
mysys/mf_dirname.c:
Review fix: Don't access data outside of array
mysys/my_bitmap.c:
Remove compiler warnings
scripts/mysql_fix_privilege_tables.sql:
Add flush privileges to .sql script so that one doesn't have to reboot mysqld when one runs the mysql_fix_privilege_script
sql-common/client.c:
Updated test for embedded server
sql/item.cc:
Remove DBUG_PRINT statement that can cause crashes when running with --debug
sql/mysqld.cc:
Fix to embedded server to be able to run tests on it
sql/protocol.cc:
Fix to embedded server to be able to run tests on it
(Trivial reconstruction of code)
sql/protocol.h:
Fix to embedded server to be able to run tests on it
sql/sql_base.cc:
Better comment
sql/sql_class.cc:
Fix to embedded server to be able to run tests on it
sql/sql_class.h:
Fix to embedded server to be able to run tests on it
sql/sql_cursor.cc:
Fix to embedded server to be able to run tests on it
sql/sql_parse.cc:
Fix to embedded server to be able to run tests on it
Don't crash for disabled commands when using embedded server
sql/sql_prepare.cc:
Fix to embedded server to be able to run tests on it
mysql-test/r/ctype_cp932_notembedded.result:
New BitKeeper file ``mysql-test/r/ctype_cp932_notembedded.result''
mysql-test/r/innodb_notembedded.result:
New BitKeeper file ``mysql-test/r/innodb_notembedded.result''
mysql-test/r/sp.result.orig:
New BitKeeper file ``mysql-test/r/sp.result.orig''
mysql-test/r/sp_notembedded.result:
New BitKeeper file ``mysql-test/r/sp_notembedded.result''
mysql-test/r/subselect_notembedded.result:
New BitKeeper file ``mysql-test/r/subselect_notembedded.result''
mysql-test/t/ctype_cp932_notembedded.test:
New BitKeeper file ``mysql-test/t/ctype_cp932_notembedded.test''
mysql-test/t/innodb_notembedded.test:
New BitKeeper file ``mysql-test/t/innodb_notembedded.test''
mysql-test/t/sp.test.orig:
New BitKeeper file ``mysql-test/t/sp.test.orig''
mysql-test/t/sp_notembedded.test:
New BitKeeper file ``mysql-test/t/sp_notembedded.test''
mysql-test/t/subselect_notembedded.test:
New BitKeeper file ``mysql-test/t/subselect_notembedded.test''
To quote Timour review lines:
The actual cause of the bug is that sql_base.cc:setup_wild()
sets "select_lex->with_wild = 0" (in the end of the function) once
it expands all wild-cards, and wild-card expansion is done during
the prepare phase. During this phase we replace all "*" with the
corresponding items, which for views happen to be references to
references. When we do execute, select_lex->with_wild = 0, and
all "*" are already replaced by the corresponding items, which
in the case of views need to be dereferenced first.
Fixed by refining the assert. Regression test for the bug is rpl_row_view01,
as was reported.
sql/item.cc:
Refined asssert, suggested by Evgen, due to BUG#17265 prepared statement for select with ps-protocol
does not hold the former.
The problem was that error flag was not reset.
mysql-test/r/sp-security.result:
Results for test case for BUG#7787.
mysql-test/t/sp-security.test:
A test case for BUG#7787.
sql/sp.cc:
Reset errors after sp_find_routine().
The cause of the bug was an ASSERT that checked the consistency
of TABLE_SHARE::db and TABLE_LIST::db and failed for I_S tables.
The fix relaxes the requirement for consistency for I_S.
mysql-test/r/join.result:
Added test for BUG#17523
mysql-test/t/join.test:
Added test for BUG#17523
sql/table.cc:
Take into account that for I_S tables, TABLE_SHARE::db == 0,
while TABLE_LIST::db contains the database name of a table.
The only change is in the ASSERTs.