Procedure analyse() redefines select's fields_list. setup_copy_fields() assumes
that fields_list is a part of all_fields_list. Because select have only
3 columns and analyse() redefines it to have 10 columns, int overrun in
setup_copy_fields() occurs and server goes to almost infinite loop.
Because fields_list used not only to send data ad fields types, it's wrong
to allow procedure redefine it. This patch separates select's fileds_list
and procedure's one. Now if procedure is present, copy of fields_list is
created in procedure_fields_list and it is used for sending data and fields.
mysql-test/t/analyse.test:
Test case for bug #14138 ROLLUP and PROCEDURE ANALYSE() hang server
mysql-test/r/analyse.result:
Test case for bug #14138 ROLLUP and PROCEDURE ANALYSE() hang server
sql/sql_select.h:
Fix bug #14138 ROLLUP and PROCEDURE ANALYSE() hang server
To JOIN Added separate fields_list for procedure.
sql/sql_select.cc:
Fix bug #14138 ROLLUP and PROCEDURE ANALYSE() hang server
SELECT's fields_list and procedure's fields_list made split. If procedure is defined
then procedure's fields_list is used to send fields and data.
Changed the parser test for wildcards in hostname to checking for empty
strings instead (analogous with the test in default_view_definer()),
since wildcards do appear in the definer's host-part sometimes.
mysql-test/r/view.result:
Updated result.
mysql-test/r/view_grant.result:
Added test for BUG#14256.
mysql-test/t/view.test:
Changed test for explicit definer; wildcards in host are ok, empty host-part is not.
mysql-test/t/view_grant.test:
Added test for BUG#14256.
sql/sql_yacc.yy:
Changed test for wildcards in hostpart of explicit view definer to test for empty
host part instead. (Analogous with sql_parse.cc:default_view_definer().)
mysql-test/r/insert_select.result:
Merge from 4.1 to 5.0.
mysql-test/r/select.result:
Merge from 4.1 to 5.0.
mysql-test/t/insert_select.test:
Merge from 4.1 to 5.0.
mysys/my_handler.c:
Merge from 4.1 to 5.0.
sql/item.cc:
Merge from 4.1 to 5.0.
sql/item_timefunc.cc:
Imported bug fix from 4.1 to 5.0. (Bug#14016)
sql/item_timefunc.h:
Imported bug fix from 4.1 to 5.0. (Bug#14016)
into sanja.is.com.ua:/home/bell/mysql/bk/work-owner7-5.0
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_view.cc:
Auto merged
mysql-test/r/information_schema.result:
error message changed
mysql-test/r/sp.result:
error message changed
mysql-test/r/sql_mode.result:
fixed test suite
mysql-test/r/view.result:
error message changed
mysql-test/r/view_grant.result:
test of underlying view tables check
mysql-test/t/sql_mode.test:
fixed test suite
mysql-test/t/view_grant.test:
test of underlying view tables check
sql/item.cc:
check of underlying tables privilege added
sql/item.h:
Name the resolution context points to the security context of view (if item belong to the view)
sql/item_func.cc:
a view error hiding for execution of prepared function belonged to a view
fixed checking privileges if stored functions belonds to some view
sql/mysql_priv.h:
refult of derived table processing functions changed to bool
Security_context added as an argument to find_field_in_table()
sql/share/errmsg.txt:
error message fixed
sql/sql_acl.cc:
Storing requested privileges of tables added
View underlying tables privilege check added
sql/sql_base.cc:
View underlying tables privilege check added
sql/sql_cache.cc:
Code cleunup: we should not register underlying tables of view second time
sql/sql_delete.cc:
ancestor -> merge_underlying_list renaming
sql/sql_derived.cc:
refult of derived table processing functions changed to bool
do not give SELECT_ACL for TEMPTABLE views
sql/sql_lex.h:
The comment added
sql/sql_parse.cc:
registration of requested privileges added
sql/sql_prepare.cc:
registration of requested privileges added
sql/sql_update.cc:
manipulation of requested privileges for underlying tables made the same as for table which we are updating
sql/sql_view.cc:
underlying tables of view security check support added
sql/table.cc:
renaming and fixing view preparation methods, methods for checking underlyoing tables security context added
sql/table.h:
storege for reuested privileges added
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-tmp
heap/_check.c:
Auto merged
heap/hp_create.c:
Auto merged
include/config-netware.h:
Auto merged
include/my_base.h:
Auto merged
include/my_handler.h:
Auto merged
include/myisam.h:
Auto merged
innobase/include/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_delete.c:
Auto merged
myisam/mi_rnext_same.c:
Auto merged
myisam/mi_search.c:
Auto merged
myisam/mi_write.c:
Auto merged
myisam/myisamdef.h:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/update.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/update.test:
Auto merged
mysys/my_getopt.c:
Auto merged
mysys/my_handler.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/records.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/structs.h:
Auto merged
strings/conf_to_src.c:
Auto merged
strings/ctype-win1250ch.c:
Auto merged
Makefile.am:
Merged from 4.1
myisam/myisamchk.c:
Merged from 4.1
mysql-test/mysql-test-run.pl:
Merged from 4.1
mysql-test/r/insert_select.result:
Merged from 4.1
mysql-test/r/myisam.result:
Merged from 4.1
mysql-test/r/select.result:
Merged from 4.1
mysql-test/t/insert_select.test:
Merged from 4.1
mysql-test/t/myisam.test:
Merged from 4.1
netware/mysql_test_run.c:
Merged from 4.1
sql/item.cc:
Merged from 4.1
sql/mysqld.cc:
Merged from 4.1
sql/sql_update.cc:
Merged from 4.1
tests/mysql_client_test.c:
Merged from 4.1
Cleaned up xxxx_gis.test's and made gis_generic.inc independent of ndb
(Note that archive_gis.test fails, but this is independent of this patch)
client/mysqldump.c:
Add DROP TABLE to be able to re-run mysqldump if it fails after 'table-named-as-view' is created
mysql-test/include/gis_generic.inc:
Remove dependency of ndb
mysql-test/include/have_archive.inc:
Fix syntax
mysql-test/include/have_geometry.inc:
Fix syntax
mysql-test/r/mysqldump.result:
New test results after adding 'drop table'
mysql-test/t/archive_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/bdb_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/innodb_gis.test:
gis_generic tests for have_geometry.inc
mysql-test/t/ndb_gis.test:
gis_generic tests for have_geometry.inc
sql/item_func.cc:
Simplify code (as signal_divide_by_null sets 'null_value')
include/config-netware.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/select.result:
Manually merged fix for bug#13855
mysql-test/t/select.test:
Manuall merged fix for bug#13855
Added back missing return in mysql_delete()
mysql-test/my_manage.c:
Cleanup: Remove some #ifdef
mysql-test/r/drop_temp_table.result:
Delete database that may be left from other test
mysql-test/t/drop_temp_table.test:
Delete database that may be left from other test
sql/log.cc:
false -> FALSE
true -> TRUE
Wait until readers_count is 0 (not just for a signal)
NOTE: it's very likely that the way to handle readers_count is wrong.
(We are in pthread_cond_wait freeing a mutex that is not the innermost mutex,
which can lead to deadlocks)
I will talk with Guilhem about this ASAP
sql/log_event.h:
Remove number from last even to help future merges
(all compilers I know of can handle this properly)
sql/sql_delete.cc:
Add back missing RETURN (was lost in a merge)
Indentation fixes
into mysql.com:/home/jimw/my/mysql-5.0-clean
mysql-test/std_data/loaddata_dq.dat:
Merge rename: mysql-test/std_data/loaddata5.dat -> mysql-test/std_data/loaddata_dq.dat
sql/item.cc:
Auto merged
sql/sql_load.cc:
Auto merged
mysql-test/r/loaddata.result:
Resolve conflicts, deal with renamed dat file
mysql-test/t/loaddata.test:
Resolve conflicts, deal with renamed dat file
mysql-test/include/gis_generic.inc:
Change in test for NDB (needs order by)
mysql-test/r/archive.result:
Change for gis_generic
mysql-test/r/archive_gis.result:
Change in test gis_generic
mysql-test/r/bdb_gis.result:
Change in gis test means new results
mysql-test/r/innodb_gis.result:
Change in gis test means change in results.
mysql-test/r/ndb_gis.result:
Change in gis means result change
mysql-test/t/archive.test:
Added alter table test to fix bug in alter table
mysql-test/t/archive_gis.test:
Change in syntax
mysql-test/t/ndb_gis.test:
Change to test both with and not with pushdown conditions
sql/ha_archive.cc:
Removed ARN temp file from exts[] to solve warning messages in alter table.
options to the wrong value. (Bug #12925)
mysql-test/t/mysql_client_test.test:
Add parameter for testing getopt bug
mysys/my_getopt.c:
Remove incorrect and unnecessary casts
tests/mysql_client_test.c:
Add test case for Bug #12925 (my_getopt bug)
mysqldump.result:
BUG# 12838
New test results for mysqldump -x on a DB with views
mysqldump.test:
sqldump.test:
BUG# 12838
New test to run mysqldump -x on a DB with views
mysqldump.c:
BUG# 12838
Removed/Changed code which created tables to be put into the dump
(For loading views of views) by creating temp tables and then using
the CREATE TABLE information in those temp tables. The problem with this
is that when mysqldump -x is called, it locks all tables, so the
temp tables could not be created, causing the mysqldump to exit with
failure. The code was changed to use SHOW FIELDS to get the column
names and type to build CREATE TABLE text used to create these tables
that views need in the dump.
client/mysqldump.c:
BUG# 12838
Removed/Changed code which created tables to be put into the dump
(For loading views of views) by creating temp tables and then using
the CREATE TABLE information in those temp tables. The problem with this
is that when mysqldump -x is called, it locks all tables, so the
temp tables could not be created, causing the mysqldump to exit with
failure. The code was changed to use SHOW FIELDS to get the column
names and type to build CREATE TABLE text used to create these tables
that views need in the dump.
mysql-test/t/mysqldump.test:
sqldump.test:
BUG# 12838
New test to run mysqldump -x on a DB with views
mysql-test/r/mysqldump.result:
BUG# 12838
New test results for mysqldump -x on a DB with views
collation
By default constant strings in second parameter of date_time() have case
insensitive collation. Because of this expressions date_format(f,'%m') and
date_format(f,'%M') wrongly becomes equal, which results in choosing wrong
column to sort by.
Now if second parameter of date_format() is constant then it's collation is
changed to case sensitive.
sql/item_timefunc.cc:
Fix bug #14016 date_format() 2nd parameter was compared using case insensitive collation.
If second parameter of date_format() is constant then it's collation is changed to case sensitive.
mysql-test/r/date_formats.result:
Test case for bug#14016 2nd parameter was compared using case insensitive collation
mysql-test/t/date_formats.test:
Test case for bug#14016 2nd parameter was compared using case insensitive collation
VALUES() can only refer to table insert going to.
But Item_insert_value::fix_fields() were passing to it's arg full table list,
This results in finding second column which shouldn't be found, and
failing with error about ambiguous field.
Item_insert_value::fix_fields() now passes only first table of full table
list.
sql/item.cc:
Fix bug #14016 date_format() 2nd parameter was compared using case insensitive collation.
If second parameter of date_format() is constant then it's collation is changed to case sensitive.
mysql-test/r/insert_select.result:
Test case for bug#14016 2nd parameter was compared using case insensitive collation
mysql-test/t/insert_select.test:
Test case for bug#14016 2nd parameter was compared using case insensitive collation
ctype-win1250ch.c:
Like range prefix tables were wrong.
ctype_cp1250_ch.result, ctype_cp1250_ch.test:
Adding test case.
strings/ctype-win1250ch.c:
Bug#13347: empty result from query with like and cp1250 charset
Like range prefix tables were wrong.
mysql-test/t/ctype_cp1250_ch.test:
Adding test case.
mysql-test/r/ctype_cp1250_ch.result:
Adding test case.
mysql-test/r/sp-error.result:
Results for the test case for BUG#13037.
mysql-test/t/sp-error.test:
Test case for BUG#13037.
sql/sql_base.cc:
Polishing: use constant.
sql/sql_class.cc:
Reset THD::where in THD::cleanup_after_query();
Polishing: use the constant (THD::DEFAULT_WHERE).
sql/sql_class.h:
Introduce a constant for the default value of THD::where.
mysql-test/r/ndb_gis.result:
Result file change to check pushdown conditions.
mysql-test/t/ndb_gis.test:
pushdown conditions now checked for geom types
mysql-test/r/innodb_gis.result:
New BitKeeper file ``mysql-test/r/innodb_gis.result''