into chilla.local:/home/mydev/mysql-4.1-axmrg
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/thr_alarm.h:
Auto merged
mysys/default.c:
Auto merged
mysys/my_pthread.c:
Auto merged
mysys/thr_alarm.c:
Auto merged
mysys/my_thr_init.c:
Manual merged
sql/mysqld.cc:
Manual merged
The bug could cause choosing a sub-optimal execution plan for
a single-table query if a unique index with many null keys were
defined for the table.
It happened because the code of the check_quick_keys function
made an assumption that any key may occur in an unique index
only once. Yet this is not true for keys with nulls that may
have multiple occurrences in the index.
mysql-test/r/null_key.result:
Fixed bug #25407
Adjusted result after the fix.
mysql-test/r/select.result:
Added a test case for bug #25407.
mysql-test/t/select.test:
Added a test case for bug #25407.
Its root cause is a difference between the "readline" and "libedit" (header files)
definitions of "rl_completion_entry_function", where the "libedit" one is wrong anyway:
This variable is used as a pointer to a function returning "char *",
but "libedit" declares it as returning "int" and then adds casts on usage.
Change it to "CPFunction *" and get rid of the casts.
client/mysql.cc:
Fix bug#23293 "readline detection broken on NetBSD":
Now that the "libedit" header files declares "rl_completion_entry_function" correctly,
it need not be cast on usage, and "no_completion()" can be declared to return "char *".
cmd-line-utils/libedit/readline.c:
Fix bug#23293 "readline detection broken on NetBSD":
Now that the "libedit" header files declares "rl_completion_entry_function" correctly,
it need not be cast on usage, and "complet_func()" is a "CPFunction *" as well.
cmd-line-utils/libedit/readline/readline.h:
Fix bug#23293 "readline detection broken on NetBSD":
Declare "rl_completion_entry_function()" to be a "CPFunction *", this avoids casts
and brings "libedit" in sync with "readline".
into rakia.gmz:/home/kgeorge/mysql/autopush/B25575-5.0-opt
sql/mysql_priv.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
Two problems here:
Problem 1:
While constructing the join columns list the optimizer does as follows:
1. Sets the join_using_fields/natural_join members of the right JOIN
operand.
2. Makes a "table reference" (TABLE_LIST) to parent the two tables.
3. Assigns the join_using_fields/is_natural_join of the wrapper table
using join_using_fields/natural_join of the rightmost table
4. Sets join_using_fields to NULL for the right JOIN operand.
5. Passes the parent table up to the same procedure on the upper
level.
Step 1 overrides the the join_using_fields that are set for a nested
join wrapping table in step 4.
Fixed by making a designated variable SELECT_LEX::prev_join_using to
pass the data from step 1 to step 4 without destroying the wrapping
table data.
Problem 2:
The optimizer checks for ambiguous columns while transforming
NATURAL JOIN/JOIN USING to JOIN ON. While doing that there was no
distinction between columns that are used in the generated join
condition (where ambiguity can be checked) and the other columns
(where ambiguity can be checked only when resolving references
coming from outside the JOIN construct itself).
Fixed by allowing the non-USING columns to be present in multiple
copies in both sides of the join and moving the ambiguity check
to the place where unqualified references to the join columns are
resolved (find_field_in_natural_join()).
mysql-test/r/join_nested.result:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- test case
mysql-test/t/join_nested.test:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- test case
sql/mysql_priv.h:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- use SELECT_LEX to store the ref to JOIN USING list needed by the
parser
sql/sql_base.cc:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- proper check for duplicate cols
- more detailed debug output
sql/sql_lex.h:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- use SELECT_LEX to store the ref to JOIN USING list needed by the
parser
sql/sql_parse.cc:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- proper check for duplicate cols in JOIN USING
sql/sql_yacc.yy:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- use SELECT_LEX to store the ref to JOIN USING list needed by the
parser
sql/table.cc:
BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
- return null if no table ref (as in nested join columns).
When a merge table is opened compare column and key definition of
underlying tables against column and key definition of merge table.
If any of underlying tables have different column/key definition
refuse to open merge table.
mysql-test/r/merge.result:
A test case for WL#3456.
mysql-test/t/merge.test:
A test case for WL#3456.
sql/ha_myisam.cc:
Moved a part of code that converts TABLE object to MyISAM key and column
definition to a separate function.
Added check_definition() function that compares MyISAM table definitions.
sql/ha_myisammrg.cc:
Check if underlying table definition conforms to merge table definition,
and in case underlying table definition differs, refuse to open merge
table.
The optimizer takes away columns from GROUP BY/DISTINCT if they constitute
all the parts of an unique index.
However if some of the columns can contain NULLs this cannot be done
(because an UNIQUE index can have multiple rows with NULL values).
Fixed by not using UNIQUE indexes with nullable columns to remove
grouping columns from GROUP BY/DISTINCT.
mysql-test/r/distinct.result:
Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
- test case
mysql-test/t/distinct.test:
Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
- test case
sql/sql_select.cc:
Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
- UNIQUE NULL indices don't guarantee GROUP BY/DISTINCT.
If inserting a GPL header, include a complete one
Makefile.am, mysql.dsw, mysql.sln:
Removed C version of mysql-test-run
mysql.spec.sh:
Specify GPL license only in GPL sources
.del-my_manage.h:
Delete: mysql-test/my_manage.h
mysql.spec.sh:
Added GPL header
.del-mysql_test_run_new.c:
Delete: mysql-test/mysql_test_run_new.c
.del-mysql_test_run_new.dsp:
Delete: VC++Files/mysql-test/mysql_test_run_new.dsp
.del-my_create_tables.c:
Delete: mysql-test/my_create_tables.c
.del-mysql_test_run_new_ia64.dsp:
Delete: VC++Files/mysql-test/mysql_test_run_new_ia64.dsp
msql2mysql.sh:
Use up-to-date GPL header
.del-mysql_test_run_new.vcproj:
Delete: VC++Files/mysql-test/mysql_test_run_new.vcproj
.del-my_manage.c:
Delete: mysql-test/my_manage.c
scripts/msql2mysql.sh:
Use up-to-date GPL header
support-files/mysql.spec.sh:
Added GPL header
sql/gen_lex_hash.cc:
If inserting a GPL header, include a complete one
BitKeeper/deleted/.del-mysql_test_run_new.c:
Delete: mysql-test/mysql_test_run_new.c
BitKeeper/deleted/.del-mysql_test_run_new.dsp:
Delete: VC++Files/mysql-test/mysql_test_run_new.dsp
BitKeeper/deleted/.del-mysql_test_run_new.vcproj:
Delete: VC++Files/mysql-test/mysql_test_run_new.vcproj
BitKeeper/deleted/.del-mysql_test_run_new_ia64.dsp:
Delete: VC++Files/mysql-test/mysql_test_run_new_ia64.dsp
BitKeeper/deleted/.del-my_create_tables.c:
Delete: mysql-test/my_create_tables.c
BitKeeper/deleted/.del-my_manage.c:
Delete: mysql-test/my_manage.c
BitKeeper/deleted/.del-my_manage.h:
Delete: mysql-test/my_manage.h
VC++Files/mysql.dsw:
Removed C version of mysql-test-run
VC++Files/mysql.sln:
Removed C version of mysql-test-run
mysql-test/Makefile.am:
Removed C version of mysql-test-run
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
no matches were found (instead of -1 it returned prior this patch).
This changes allow us to avoid possible conflicts with return values
from user-defined handler methods which also may return -1.
No particular test cases are provided with this fix.
sql/opt_sum.cc:
Fixed bug #24987.
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
no matches were found (instead of -1 it returned prior this patch).
This changes allow us to avoid possible conflicts with return values
from user-defined handler methods which also may return -1.
sql/sql_select.cc:
Fixed bug #24987.
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
no matches were found (instead of -1 it returned prior this patch).
This changes allow us to avoid possible conflicts with return values
from user-defined handler methods which also may return -1.
into production.mysql.com:/usersnfs/jamppa/mysql-4.0
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
mysys/default.c:
Auto merged
mysys/my_pthread.c:
Auto merged
mysys/my_thr_init.c:
Auto merged
mysys/thr_alarm.c:
Auto merged
sql/mysqld.cc:
Auto merged
Move get_thread_lib to mysys/my_pthread.c
Set 'thr_client_alarm' to signal number used by thr_alarm to give alarms
include/my_global.h:
Fixed to be same as in 5.1
include/my_pthread.h:
Move things around to be more in line with rest of code
mysys/default.c:
Fixed two wrong pointer incrementations.
mysys/my_pthread.c:
Cleanup: Use variable thr_client_alarm
mysys/my_thr_init.c:
Detect thread library at startup.
Set also thr_client_alarm signal here, so that we get
it in init_signals() in mysqld
mysys/thr_alarm.c:
Set thr_client_alarm depending on which thread library we are using
sql/mysqld.cc:
Move get_thread_lib to mysys/my_pthread.c
Checking for NULL before calling the val_xxx()
methods only checks for such arguments that are
known to be NULLs at compile time.
The arguments that may or may not contain
NULLs (e.g. function calls and possibly others)
are not checked at all.
Fixed by first calling the val_xxx() method and
then checking for null in SEC_TO_TIME().
In addition QUARTER() was not returning 0 (as all the
val_int() functions do when processing a NULL value).
mysql-test/r/func_time.result:
Bug #25643: SEC_TO_TIME function problem
- test case
mysql-test/t/func_time.test:
Bug #25643: SEC_TO_TIME function problem
- test case
sql/item_timefunc.cc:
Bug #25643: SEC_TO_TIME function problem
- null handling fixed for QUARTER() and SEC_TO_TIME()
into chilla.local:/home/mydev/mysql-5.0-axmrg
BUILD/SETUP.sh:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/thr_alarm.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/symlink.test:
Auto merged
mysys/my_pthread.c:
Auto merged
sql/item_func.cc:
Auto merged
include/my_pthread.h:
Manual merged
mysql-test/r/myisam.result:
Manual merged
mysys/thr_alarm.c:
Manual merged
sql/ha_ndbcluster.cc:
Manual merged
sql/mysqld.cc:
Manual merged
into chilla.local:/home/mydev/mysql-4.1-axmrg
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/symlink.test:
Auto merged
mysql-test/r/myisam.result:
Manual merged
mysql-test/t/myisam.test:
Manual merged
Objects of the classes Item_func_is_not_null_test and Item_func_trig_cond
must be transparent for the method Item::split_sum_func2 as these classes
are pure helpers. It means that the method Item::split_sum_func2 should
look at those objects as at pure wrappers.
mysql-test/r/subselect3.result:
Added a test case for bug #24420.
mysql-test/t/subselect3.test:
Added a test case for bug #24420.
The bug report has demonstrated the following two problems.
1. If an ORDER/GROUP BY list includes a constant expression being
optimized away and, at the same time, containing single-row
subselects that return more that one row, no error is reported.
Strictly speaking the standard allows to ignore error in this case.
Yet, now a corresponding fatal error is reported in this case.
2. If a query requires sorting by expressions containing single-row
subselects that, however, return more than one row, then the execution
of the query may cause a server crash.
To fix this some code has been added that blocks execution of a subselect
item in case of a fatal error in the method Item_subselect::exec.
mysql-test/r/subselect.result:
Added a test cases for bug #24653.
mysql-test/t/subselect.test:
Added a test cases for bug #24653.
sql/filesort.cc:
Fixed bug #24653.
Added a check for fatal error after reading the next row from the table
in the function find_all_keys.
sql/item.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item.h:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.h:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_func.cc:
Fixed bug #24653.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_subselect.cc:
Fixed bug #24653.
Added a check for fatal error in the method Item_subselect::exec
to block evaluation of subselects in erroneous situations.
Down-ported calculation of the attribute with_subselect of for Item objects.
sql/sql_select.cc:
Fixed bug #24653.
Added a check to verify that any constant expression used
in ORDER BY and/or GROUP BY lists which is optimized away
does not contain subselects returning more than one row.
If it does a fatal error is reported.
Move get_thread_lib to mysys/my_pthread.c
Set 'thr_client_alarm' to signal number used by thr_alarm to give alarms
include/my_global.h:
Fixed to be same as in 5.1
include/my_pthread.h:
Move things around to be more in line with rest of code
include/thr_alarm.h:
extern of thr_client_alarm
mysys/default.c:
Fixed two wrong pointer incrementations.
mysys/my_pthread.c:
Cleanup: Use variable thr_client_alarm
mysys/my_thr_init.c:
Detect thread library at startup
mysys/thr_alarm.c:
Set thr_client_alarm depending on which thread library we are using
sql/mysqld.cc:
Move get_thread_lib to mysys/my_pthread.c
additional files that specify some actions which are allowed to the MySQL binaries.
Create a new subdirectory "supportfiles/RHEL4-SElinux" for them, and process it.
This fixes bug#12676.
configure.in:
New "support-files/RHEL4-SElinux/Makefile.am" must be processed by "automake" etc.
support-files/Makefile.am:
For Linux systems running RHEL 4 (which includes SE-Linux), we need to provide
additional files that specify some actions which are allowed to the MySQL binaries.
Create a new subdirectory "supportfiles/RHEL4-SElinux" for them, and process it.
support-files/RHEL4-SElinux/Makefile.am:
BitKeeper file /MySQL/M50/bug12676-5.0/support-files/RHEL4-SElinux/Makefile.am
support-files/RHEL4-SElinux/mysql.fc:
BitKeeper file /MySQL/M50/bug12676-5.0/support-files/RHEL4-SElinux/mysql.fc
support-files/RHEL4-SElinux/mysql.te:
BitKeeper file /MySQL/M50/bug12676-5.0/support-files/RHEL4-SElinux/mysql.te
BUILD/SETUP.sh:
BUG#25530 --with-readline fails with commercial source packages
The compile-* scripts should not use --with-readline explicitly when no readline is present.
configure.in:
BUG#25530 --with-readline fails with commercial source packages
Configuring --with-readline should fail when libreadline is not bundled.
A system libreadline is only used when there is a bundled libreadline too, so the commercial source code isn't linked with GPL libreadline by accident.
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/symlink.test:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/myisam.result:
Manually merged.
mysql-test/t/myisam.test:
Manually merged.
into mysql.com:/home/psergey/mysql-5.0-bug8804-r12
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
Manual Merge