Thirty five seconds is entirely too short of a period to wait for a server
to exit. Instead, make a valliant effort to make sure it exits, and only
give up after a very long period (arbitrarily chosen as 15 minutes).
In addition, if we're being asked to restart the server, then don't try
to start again if trying to stop the server failed.
---
Return zero by default, when the script exits.
---
Set return-/exit-value based on whether we successfully dealt with the
PID-file.
---
Don't wait that long if the program we're waiting on exits. It
should only exit if the server is not going to be started.
support-files/mysql.server.sh:
Raise timeout to a pessimistic value, 15 minutes. We should only be willing
to give up and exit after an extraordinary effort.
---
Return zero by default, when the script exits.
---
Set return-/exit-value based on whether we successfully dealt with the
PID-file.
---
Don't wait that long if the program we're waiting on exits. It
should only exit if the server is not going to be started.
into mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.1-engines
mysql-test/r/merge.result:
Auto merged
mysql-test/t/merge.test:
Auto merged
storage/myisam/ha_myisam.cc:
Manually merged.
storage/myisammrg/ha_myisammrg.cc:
Manually merged.
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.
into mysql.com:/home/ram/work/b19690/b19690.5.1
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/type_float.test:
Auto merged
sql/field.cc:
Auto merged
sql/init.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/field.h:
merging
sql/item_sum.cc:
merging
sql/sql_select.cc:
merging
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.
into mysql.com:/home/ram/work/b19690/b19690.5.0
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/type_float.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/field.h:
merging
sql/init.cc:
merging
sql/item_cmpfunc.cc:
merging
sql/mysql_priv.h:
merging
sql/sql_select.cc:
merging
Depending on the queries we use different data processing methods
and can lose some data in case of double (and decimal in 4.1) fields.
The fix consists of two parts:
1. double comparison changed, now double a is equal to double b
if (a-b) is less than 5*0.1^(1 + max(a->decimals, b->decimals)).
For example, if a->decimals==1, b->decimals==2, a==b if (a-b)<0.005
2. if we use a temporary table, store double values there as is
to avoid any data conversion (rounding).
mysql-test/r/type_float.result:
fix for bug #19690: ORDER BY eliminates rows from the result
- test result
mysql-test/t/type_float.test:
fix for bug #19690: ORDER BY eliminates rows from the result
- test case
sql/field.cc:
fix for bug #19690: ORDER BY eliminates rows from the result
- use not_fixed flag instead of dec to check bounds.
sql/field.h:
fix for bug #19690: ORDER BY eliminates rows from the result
- Field_Double::not_fixed flag introduced, which is set if dec == NOT_FIXED_DEC
and is used in the ::store() to check bounds.
- new constructor introduced (with not_fixed_arg parameter).
sql/init.cc:
fix for bug #19690: ORDER BY eliminates rows from the result
- fill log_01[] array with 0.1 powers.
sql/item_cmpfunc.cc:
fix for bug #19690: ORDER BY eliminates rows from the result
- compare_real_fixed() and compare_e_real_fixed() introduced,
they consider double a == double b if a-b is less than 'precision',
'precision' is set to 5*0.1^(1 + max(a->decimals, b->decimals)),
for example, if a->decimals==1, b->decimals==2, 'precision' is 0.005
- use the above functions if both arguments are fixed.
sql/item_cmpfunc.h:
fix for bug #19690: ORDER BY eliminates rows from the result
- Arg_comparator::presision introduced.
- Arg_comparator::compare_real_fixed(), Arg_comparator::compare_e_real_fixed() introduced.
sql/mysql_priv.h:
fix for bug #19690: ORDER BY eliminates rows from the result
- log_01 array of 0.1 powers added.
sql/mysqld.cc:
fix for bug #19690: ORDER BY eliminates rows from the result
- log_01 array of 0.1 powers added.
sql/sql_select.cc:
fix for bug #19690: ORDER BY eliminates rows from the result
- if we create double field in a temporary table, set not_fixed flag
(use proper constructor) to avoid data conversion
in the Field_double::store(). Otherwise we can lose some data.
into mysql.com:/home/kent/bk/tmp2/mysql-5.1-build
sql/gen_lex_hash.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
BitKeeper/deleted/.del-my_create_tables.c~c121a0c4c427ebb:
Auto merged
BitKeeper/deleted/.del-my_manage.c~4de50e721d227d19:
Auto merged
BitKeeper/deleted/.del-my_manage.h~9d2cbc1e8bc894f:
Auto merged
BitKeeper/deleted/.del-mysql_test_run_new.c~a23ab2c4b28b25ad:
Auto merged
BitKeeper/deleted/.del-mysql_test_run_new.dsp~9d8078f3f02fcc8e:
Auto merged
BitKeeper/deleted/.del-mysql_test_run_new.vcproj~1ddaed30361efefe:
Auto merged
BitKeeper/deleted/.del-mysql_test_run_new_ia64.dsp~e7ee71ec8d2995e3:
Auto merged
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 perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/include/ndbapi/NdbOperation.hpp:
Auto merged
storage/ndb/include/ndbapi/NdbTransaction.hpp:
Auto merged
storage/ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbIndexStat.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
storage/ndb/test/include/HugoOperations.hpp:
Auto merged
storage/ndb/test/ndbapi/testNdbApi.cpp:
Auto merged
storage/ndb/test/src/HugoOperations.cpp:
Auto merged
1) move AbortOption from NdbTransaction to NdbOperation
2) let each operation have a "default" abort option dependant on
operation type
- read - AO_IgnoreError
- dml - AbortOnError
- scan take over - AbortOnError
3) Changed default value to execute() from AbortOnError to DefaultAbortOption, which does not change the operations abort-option.
Another value to execute(AO) is equivalent to setting AO on each operation before calling execute
4) execute() does _only_ return -1 if transaction has been aborted
otherwise, you need to check each operation for error code
sql/ha_ndbcluster.cc:
adopt to changes in aption option handling
storage/ndb/include/ndbapi/NdbOperation.hpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/include/ndbapi/NdbTransaction.hpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/src/ndbapi/NdbBlob.cpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/src/ndbapi/NdbIndexStat.cpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
Put default value on abortoption dependant on operation type
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/test/include/HugoOperations.hpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/test/ndbapi/testNdbApi.cpp:
Move "ownership" of AbortOption to operation from transaction
storage/ndb/test/src/HugoOperations.cpp:
Move "ownership" of AbortOption to operation from transaction
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/include/ndbapi/NdbIndexOperation.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
Auto merged
storage/ndb/test/ndbapi/testBlobs.cpp:
Auto merged
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