- Add build configuration parameter EMBEDDED_ONLY which will configure
the VS solution to produce only mysql embedded binary.
- Make necessary updates to successfully compile solution.
CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Remove leading space from various definitions.
- Remove optimizations from RelWithDebInfo configuration for debugging.
- Conditionally add the necessary build directories based on
EMBEDDED_ONLY flag.
BitKeeper/etc/ignore:
Embedded Server doesn't build on Windows.
- Ignore CMake's default configuration output directories.
- Ignore autogenerated cmake_dummy.c file.
libmysql/client_settings.h:
Embedded Server doesn't build on Windows.
- Build fixup
libmysqld/CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Update for recent changes.
libmysqld/libmysqld.def:
Embedded Server doesn't build on Windows.
- Export necessary methods.
libmysqld/examples/CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Updated include directories.
- test_libmysqld fixup.
- Added mysqltest_embedded and mysql_client_test_embedded exes needed for
testing.
sql/mysqld.cc:
Embedded Server doesn't build on Windows.
- Build fixup.
sql/sql_binlog.cc:
Embedded Server doesn't build on Windows.
- Build fixup.
sql-common/client.c:
Embedded Server doesn't build on Windows.
- Build fixup.
storage/federated/CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Define USE_TLS for embedded only builds.
storage/heap/CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Define USE_TLS for embedded only builds.
storage/innobase/CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Define USE_TLS for embedded only builds.
storage/myisam/CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Define USE_TLS for embedded only builds.
storage/myisam/ha_myisam.cc:
Embedded Server doesn't build on Windows.
- Define USE_TLS for embedded only builds.
storage/myisammrg/CMakeLists.txt:
Embedded Server doesn't build on Windows.
- Define USE_TLS for embedded only builds.
win/configure.js:
Embedded Server doesn't build on Windows.
- Add EMBEDDED_ONLY build configuration.
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
mysql-test/mysql-test-run.pl:
Auto merged
BitKeeper/deleted/.del-ctype_cp932_notembedded.test~3047e508460cef42:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/drop_temp_table.test:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/r/have_log_bin.require:
Auto merged
mysql-test/t/flush_block_commit_notembedded.test:
Auto merged
mysql-test/t/mysqlbinlog-cp932.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/sp_trans.test:
Auto merged
mysql-test/t/user_var-binlog.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/extra/binlog_tests/insert_select-binlog.test:
SCCS merged
mysql-test/r/binlog_stm_binlog.result:
SCCS merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
SCCS merged
configure.in:
manual merge
mysql-test/extra/binlog_tests/binlog.test:
manual merge
mysql-test/t/mysqlbinlog2.test:
manual merge
sql/mysqld.cc:
manual merge
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/51
configure.in:
Auto merged
BitKeeper/deleted/.del-ctype_cp932_notembedded.test~3047e508460cef42:
Auto merged
mysql-test/extra/binlog_tests/binlog.test:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
Auto merged
mysql-test/extra/binlog_tests/drop_temp_table.test:
Auto merged
mysql-test/extra/binlog_tests/insert_select-binlog.test:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/binlog_stm_binlog.result:
Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/r/have_log_bin.require:
Auto merged
mysql-test/t/flush_block_commit_notembedded.test:
Auto merged
mysql-test/t/insert_update.test:
Auto merged
mysql-test/t/mysqlbinlog-cp932.test:
Auto merged
mysql-test/t/mysqlbinlog2.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/sp_trans.test:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/date_formats.result:
Use local
mysql-test/r/partition.result:
SCCS merged
mysql-test/t/date_formats.test:
Use local
mysql-test/t/ndb_basic.test:
manual merge
mysql-test/t/partition.test:
manual merge
mysql-test/t/user_var-binlog.test:
use local
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/50
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/binlog.result:
Auto merged
mysql-test/r/have_log_bin.require:
Auto merged
BitKeeper/deleted/.del-ctype_cp932_notembedded.test:
Auto merged
mysql-test/t/binlog.test:
Auto merged
mysql-test/t/ctype_cp932_binlog.test:
Auto merged
mysql-test/t/ctype_ucs_binlog.test:
Auto merged
mysql-test/t/flush_block_commit_notembedded.test:
Auto merged
mysql-test/t/insert_select-binlog.test:
Auto merged
mysql-test/t/mysqlbinlog-cp932.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/sp_trans.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/mix_innodb_myisam_binlog.result:
Use local
mysql-test/t/blackhole.test:
manual merge
mysql-test/t/drop_temp_table.test:
manual merge
mysql-test/t/mix_innodb_myisam_binlog.test:
Use local
mysql-test/t/mysqlbinlog.test:
Use local
In many cases, binaries can no longer dump core after calling setuid().
Where the PR_SET_DUMPABLE macro is set, use the prctl() system call
to tell the kernel that it's allowed to dump the core of the server.
configure.in:
Test system for "sys/prctl.h", to get access to prctl().
sql/mysqld.cc:
Add a process-control operation that tells the Linux kernel that it
is allowed to dump core after setuid().
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
client/mysqltest.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/include/mix1.inc:
merging
mysql-test/r/innodb_mysql.result:
merging
sql/sql_select.cc:
merging
into mysql.com:/d2/hf/mrg/mysql-5.0-opt
client/mysqltest.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/innodb_mysql.result:
merging
mysql-test/t/innodb_mysql.test:
merging
sql/sql_select.cc:
merging
Removed the ability to cache queries with UUID() and UUID_SHORT().
sql/item_create.cc:
Removed the ability to cache queries with UUID() and UUID_SHORT().
Fixed where the slave code would try to update the Lex->sphead which is NULL on an "alter table" commands.
mysql-test/r/rpl_events.result:
test that "alter event" replicates without crashing the slave
mysql-test/t/rpl_events.test:
test that "alter event" replicates without crashing the slave
sql/sql_parse.cc:
Added a check for lex->spd, which isn't set on an "alter event" command
Removed the ability to cache queries containing "UUID()".
mysql-test/r/query_cache.result:
Added test to ensure "select UUID(), a from t1" is different each time.
mysql-test/t/query_cache.test:
Added test to ensure "select UUID(), a from t1" is different each time.
sql/item_create.cc:
Removed the ability to cache queries with UUID().
was erroneously converted to double, while the result of
ROUND(<decimal expr>, <int literal>) was preserved as decimal.
As a result of such a conversion the value of ROUND(D,A) could
differ from the value of ROUND(D,val(A)) if D was a decimal expression.
Now the result of the ROUND function is never converted to
double if the first argument is decimal.
mysql-test/r/type_decimal.result:
Added a test case for bug #28980.
mysql-test/t/type_decimal.test:
Added a test case for bug #28980.
into magare.gmz:/home/kgeorge/mysql/work/merge-5.1-opt
mysql-test/r/insert_update.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/t/insert_update.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/item_func.cc:
merge of 5.0-opt -> 5.1-opt
sql/sql_insert.cc:
merge of 5.0-opt -> 5.1-opt
sql/structs.h:
merge of 5.0-opt -> 5.1-opt
tests/mysql_client_test.c:
merge of 5.0-opt -> 5.1-opt
protocol
Fixed duplicated code, same as last commit.
One could send a malformed packet that caused the server to SEGV. In
recent versions of the password protocol, the client tells the server
what length the ciphertext is (almost always 20). If that length was
large enough to overflow a signed char, then the number would jump to
very large after being casted to unsigned int.
Instead, cast the *passwd char to uchar.
sql/sql_parse.cc:
Additional location of signed-char casted to uint.
- fixed wrong test case for bug 20903
- closed the dangling connections in trigger.test
- GET_LOCK() and RELEASE_LOCK() now produce more detailed log
- fixed an omission in GET_LOCK() : assign the thread_id when
acquiring the lock.
mysql-test/r/trigger.result:
Bug #28992: test case updated
mysql-test/t/trigger.test:
Bug #28992: test case updated. dangling connections closed.
sql/item_func.cc:
Bug #28992:
- GET_LOCK() and RELEASE_LOCK() now produce more detailed log
- fixed an omission in GET_LOCK() : assign the thread_id when
acquiring the lock.
Sometimes a parameter slot may not get a value because of the protocol
data being plain wrong.
Such cases should be detected and handled by returning an error.
Fixed by checking data stream constraints where possible (like maximum
length) and reacting to the case where a value cannot be constructed.
sql/sql_prepare.cc:
Bug #28934:
- check for a parameter slot not being set because
of wrong data
- check if the length read from the stream is not
greater than the maximum length of the field
tests/mysql_client_test.c:
Bug #28934: test case
When the INSERT .. ON DUPLICATE KEY UPDATE has to update a matched row but
the new data is the same as in the record then it returns as if
no rows were inserted or updated. Nevertheless the row is silently
updated. This leads to a situation when zero updated rows are reported
in the case when data has actually been changed.
Now the write_record function updates a row only if new data differs from
that in the record.
sql/sql_insert.cc:
Bug#28904: INSERT .. ON DUPLICATE was silently updating rows when it shouldn't.
Now the write_record function updates a row only if new data differs from
that in the record.
mysql-test/r/insert_update.result:
Added a test case for the bug#28904: INSERT .. ON DUPLICATE was silently
updating rows when it shouldn't.
mysql-test/t/insert_update.test:
Added a test case for the bug#28904: INSERT .. ON DUPLICATE was silently
updating rows when it shouldn't.
protocol
Update for function moved to new file in 5.1.
One could send a malformed packet that caused the server to SEGV. In
recent versions of the password protocol, the client tells the server
what length the ciphertext is (almost always 20). If that length was
large enough to overflow a signed char, then the number would jump to
very large after being casted to unsigned int.
Instead, cast the *passwd char to uchar.
sql/sql_connect.cc:
Update for function moved to new file in 5.1.
In create_tmp_table() don't set full table path as a table name. Other code assumes table names to not exceed NAME_LEN bytes.
sql/sql_select.cc:
In create_tmp_table() don't set full table path as a table name. Other code assumes table names to not exceed NAME_LEN bytes.
mysql-test/r/long_tmpdir.result:
Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
mysql-test/t/long_tmpdir-master.opt:
Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
mysql-test/t/long_tmpdir-master.sh:
Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
mysql-test/t/long_tmpdir.test:
Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
into moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
mysql-test/r/view.result:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/r/grant2.result:
SCCS merged
mysql-test/r/information_schema.result:
SCCS merged
mysql-test/t/information_schema.test:
SCCS merged
sql/sql_table.cc:
SCCS merged
Post merge fix.
mysql-test/t/error_simulation.test:
Post merge fix.
mysql-test/r/subselect.result:
Post merge fix.
mysql-test/r/error_simulation.result:
Post merge fix.
sql/item.cc:
Post merge fix.
Post merge fix.
sql/sql_yacc.yy:
Post merge fix.
sql/sql_insert.cc:
Post merge fix.
sql/sql_class.h:
Post merge fix.
sql/item_cmpfunc.cc:
Post merge fix.
sql/field.cc:
Post merge fix.
changed bytes_received, bytes_sent status variables to longlong
sql/mysqld.cc:
changed bytes_received, bytes_sent status variables to longlong
sql/sql_class.h:
changed bytes_received, bytes_sent status variables to longlong
sql/sql_show.cc:
changed bytes_received, bytes_sent status variables to longlong
sql/structs.h:
changed bytes_received, bytes_sent status variables to longlong
IS_UPDATABLE flag is set to 'yes' when the view has at least one updatable column and
the algorithm is not 'temporary'.
mysql-test/r/information_schema.result:
test result
mysql-test/r/view.result:
test result
mysql-test/t/information_schema.test:
test case
mysql-test/t/view.test:
test case
sql/sql_show.cc:
IS_UPDATABLE flag is set to 'yes' when the view has at least one updatable column and
the algorithm is not 'temporary'.
mysql-test/include/have_archive.inc:
test fix(according to new 'support' column values)
mysql-test/include/have_blackhole.inc:
test fix(according to new 'support' column values)
mysql-test/include/have_csv.inc:
test fix(according to new 'support' column values)
mysql-test/include/have_exampledb.inc:
test fix(according to new 'support' column values)
mysql-test/include/have_federated_db.inc:
test fix(according to new 'support' column values)
mysql-test/include/have_innodb.inc:
test fix(according to new 'support' column values)
mysql-test/include/have_multi_ndb.inc:
test fix(according to new 'support' column values)
mysql-test/include/have_ndb.inc:
test fix(according to new 'support' column values)
mysql-test/r/information_schema.result:
result fix
protocol
One could send a malformed packet that caused the server to SEGV. In
recent versions of the password protocol, the client tells the server
what length the ciphertext is (almost always 20). If that length was
large enough to overflow a signed char, then the number would jump to
very large after being casted to unsigned int.
Instead, cast the *passwd char to uchar.
sql/sql_parse.cc:
Cast *passwd to get rid of the sign, so that sign extension doesn't
cause the sequence 125, 126, 127, 4294967169, 4294967170.