Improved check for thread identity in the "embedded" case,
provided by Monty.
This finishes the fixes for bug#27078.
sql/item_func.cc:
Improved check for thread identity in the "embedded" case,
provided by Monty.
This finishes the fixes for bug#27078.
https://inside.mysql.com/wiki/MySQL's_Code_Reviews_Published_Externally
BitKeeper/triggers/post-commit:
1) Add additional method of detecting merge changesets.
2) Remove code sending e-mail to dev-public@ or dev-bugs@.
3) Change code sending e-mail to commits@ to send to dev-private@ if a specific file is present in the BK root directory, denoting this tree as private.
but rather use the "thread_id" counter.
Fixes bug#27078:
Compile error: lib_sql.cc cast from 'THD*' to 'pthread_t' loses precision
libmysqld/lib_sql.cc:
Avoid casting a pointer to a (possibly) int, which will not compile on some platforms:
Do not use the "thd" pointer to identify a thread in the embedded lib,
but rather use the "thread_id" counter.
Patch is proposed by Monty. Fixes bug#27078.
netware/comp_err.def:
Allocate 128K stack for all executables (bug#23504)
netware/isamchk.def:
Allocate 128K stack for all executables (bug#23504)
netware/isamlog.def:
Allocate 128K stack for all executables (bug#23504)
netware/libmysql.def:
Allocate 128K stack for all executables (bug#23504)
netware/my_print_defaults.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisam_ftdump.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisamchk.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisamlog.def:
Allocate 128K stack for all executables (bug#23504)
netware/myisampack.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql_install_db.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql_test_run.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysql_waitpid.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqladmin.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlbinlog.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlcheck.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqld.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqld_safe.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqldump.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlimport.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqlshow.def:
Allocate 128K stack for all executables (bug#23504)
netware/mysqltest.def:
Allocate 128K stack for all executables (bug#23504)
netware/pack_isam.def:
Allocate 128K stack for all executables (bug#23504)
netware/perror.def:
Allocate 128K stack for all executables (bug#23504)
netware/replace.def:
Allocate 128K stack for all executables (bug#23504)
netware/resolve_stack_dump.def:
Allocate 128K stack for all executables (bug#23504)
netware/resolveip.def:
Allocate 128K stack for all executables (bug#23504)
forbid the use of subselect in PURGE LOGS BEFORE command
mysql-test/r/subselect.result:
test result
mysql-test/t/subselect.test:
test case
sql/sql_yacc.yy:
forbid the use of subselect in PURGE LOGS BEFORE command
- Add funtion "query_get_value to allow reading a fields value
into a $variable
client/mysqltest.c:
- Add function "let $var= query_get_value(<query>,<colname>,<row>)"
making it possible to read a value from a specific field in a query
into a $variable.
mysql-test/r/mysqltest.result:
Add test cases for "query_get_value"
mysql-test/t/mysqltest.test:
Add test cases for "query_get_value"
- Check that filemode was set to 0000
mysql-test/mysql-test-run.pl:
Checking for "running as root" should also read the filemode to see it
was properly set to 0000
- Final touchups
client/mysqltest.c:
Final touch ups, rename sorted_results to sorted_result
mysql-test/r/mysqltest.result:
Update test result
mysql-test/t/mysqltest.test:
Update results with additional subtests for empty result set,
NULL values and 1024 rows
review comment
if some tcp-transporter has data, then do select with timeout 0
ndb/src/common/transporter/TransporterRegistry.cpp:
review comment
if some tcp-transporter has data, then do select with timeout 0
Make sure that data can not e left lingering in receive buffer
ndb/src/common/transporter/Packer.cpp:
test, make MAX_RECEIVED_SIGNALS an variable
ndb/src/common/transporter/TCP_Transporter.hpp:
add new method for checking of data in receive buffer
ndb/src/common/transporter/TransporterRegistry.cpp:
Make sure that
1) poll_TCP return true if any transporter has data in receiveBuffer
(previously only if socket had data)
2) performReceive executes signals if TCP transporter has data in receiveBuffer
(previously only if data was recevied)
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
test, make MAX_RECEIVED_SIGNALS an variable
ndb/test/ndbapi/testNdbApi.cpp:
testcase
ndb/test/run-test/daily-basic-tests.txt:
testcase
BUG#25712 - insert delayed and check table run together report
crashed tables
Let MY_THREADSAFE have distinct value. Some functions call my_seek
passing MyFlags argument directly to it. This may cause unnecessary
locks, which may finally lead to a dead-lock (specifically see my_lock).
include/my_sys.h:
Addition to fix for
BUG#25712 - insert delayed and check table run together report
crashed tables
Let MY_THREADSAFE have distinct value. Some functions call my_seek
passing MyFlags argument directly to it. This may cause unnecessary
locks, which may finally lead to a dead-lock (specifically see my_lock).
Also it doesn't affect my_pread/my_pwrite in any way. So the comment was
updated.
- Correct bad path in project files.
VC++Files/sql/mysqld.dsp:
Bug#24400 Source files for Server: Visual Studio Workspace contains a small config bug
- Correct bad path.
tables
In case system doesn't have native pread/pwrite calls (e.g. Windows)
and there is CHECK TABLE runs concurrently with another statement that
reads from a table, the table may be reported as crashed.
This is fixed by locking file descriptor when my_seek is executed on
MyISAM index file and emulated pread/pwrite may be executed concurrently.
Affects MyISAM tables on platforms that do not have native
pread/pwrite calls (e.g. Windows).
No deterministic test case for this bug.
myisam/mi_check.c:
Key file descriptor is shared among threads and mixed set of
my_pread/my_pwrite and my_seek calls is possible. This is not
a problem on systems that have native pread/pwrite calls.
In case system doesn't have native pread/pwrite calls (e.g. Windows)
we must ensure that my_pread/my_pwrite are not executed at the same
time with my_seek. This is done by passing MY_THREADSAFE flag to
my_seek.
mysys/my_seek.c:
On platforms that do not have native pread/pwrite calls (e.g. Windows)
these calls are emulated as follow: lock fd, lseek, read, unlock fd.
In case file descriptor is shared among threads, where one thread
executes my_pread and another thread executes my_seek, we may read
from a wrong position. This may happen because my_seek doesn't lock
fd and thus may be executed by another thread after emulated pread
has done lseek and before it has done read.
To fix problem mentioned above we introduce new flag MY_THREADSAFE to
my_seek, which is meaningful only in case pread/pwrite calls are
emulated. If this flag is set, lseek operation is performed as follow:
lock fd, seek, unlock fd.
- Change from "query_sorted <query>" to "sorted_results"
client/mysqltest.c:
Replace "query_sorted <query>" with the ability to turn
on "one shot result sorting" with the command "sorted_results"
mysql-test/r/mysqltest.result:
Update test and result
mysql-test/t/mysqltest.test:
Update test and result