into mysql.com:/home/hf/work/mysql-4.1.16017
include/sql_common.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_parse.cc:
Auto merged
libmysqld/libmysqld.c:
merging
When using a parameter bind MYSQL_TYPE_DATE in a prepared statement,
the time part of the MYSQL_TIME buffer was written to zero in
mysql_stmt_execute(). The param_store_date() function in libmysql.c
worked directly on the provided buffer.
Changed to use a copy of the buffer.
libmysql/libmysql.c:
fix for bug #20152
tests/mysql_client_test.c:
added test for bug#20152
There actually was 3 different problems -
hash_user_connections wasn't cleaned
one strdupped database name wasn't freed
and stmt->mem_root wasn't cleaned as it was
replased with mysql->field_alloc for result
For the last one - i made the library using stmt's
fields to store result if it's the case.
include/mysql.h:
statement pointer added to the advanced_command to be checked in
embedded server
include/sql_common.h:
stmt added to the cli_advanced_command interface
libmysql/libmysql.c:
stmt pointer now sent to advanced_command
libmysqld/embedded_priv.h:
it's enough to send database name to check_embedded_connection
libmysqld/lib_sql.cc:
Now we store result directly in the MYSQL_STMT structure to
avoid extra copying
libmysqld/libmysqld.c:
it's enough to only send database pointer to check_embedded_connection
sql-common/client.c:
stmt fake attribute added to cli_advanced_command
sql/sql_parse.cc:
hash_user_connections isn't used if no access checks compiled
Bug#18830: incompatibility new libraries with old server
Don't execute SET NAMES with pre-4.1 server.
libmysql/libmysql.c:
Bug#18830: incompatibility new libraries with old server
Don't execute SET NAMES with pre-4.1 server.
it breaks binary compatibility. The patch will be left intact
in 5.1.
libmysql/libmysql.c:
Revert the changeset for Bug#16144: it breaks binary compatibility.
tests/mysql_client_test.c:
Revert the changeset for Bug#16144: it breaks binary compatibility.
libmysql/libmysql.c:
stmt->mysql could be 0x0 if the connection has failed between prepare and execute
or any other operation. thus if the user decides to use mysql_stmt_reset()
we should not segfault.
tests/mysql_client_test.c:
test for bug #12744 (MYSQL_STMT operations cause seg fault after connection reset)
use the right type in mysql_stmt_attr_get
libmysql/libmysql.c:
Fix Bug#16144 "mysql_stmt_attr_get type error"
tests/mysql_client_test.c:
A test case for Bug#16144
libmysqlclient versioning when linked with GNU ld.
BitKeeper/etc/ignore:
Added libmysql/libmysql.ver to the ignore list
configure.in:
libmysqlclient versioning when linked with GNU ld.
libmysql/Makefile.shared:
libmysqlclient versioning when linked with GNU ld.
libmysql/libmysql.ver.in:
New BitKeeper file ``libmysql/libmysql.ver.in''
Enable "make distcheck" to work
configure.in:
Enable "make distcheck" to work
Docs/Makefile.am:
Enable "make distcheck" to work
Makefile.am:
Enable "make distcheck" to work
client/Makefile.am:
Enable "make distcheck" to work
cmd-line-utils/libedit/Makefile.am:
Enable "make distcheck" to work
include/Makefile.am:
Enable "make distcheck" to work
libmysql/Makefile.am:
Enable "make distcheck" to work
libmysql_r/Makefile.am:
Enable "make distcheck" to work
libmysqld/Makefile.am:
Enable "make distcheck" to work
libmysqld/examples/Makefile.am:
Enable "make distcheck" to work
mysql-test/Makefile.am:
Enable "make distcheck" to work
ndb/docs/Makefile.am:
Enable "make distcheck" to work
netware/Makefile.am:
Enable "make distcheck" to work
pstack/Makefile.am:
Enable "make distcheck" to work
scripts/Makefile.am:
Enable "make distcheck" to work
sql-bench/Makefile.am:
Enable "make distcheck" to work
sql/Makefile.am:
Enable "make distcheck" to work
sql/share/Makefile.am:
Enable "make distcheck" to work
support-files/Makefile.am:
Enable "make distcheck" to work
added export symbols mysql_server_init and
mysql_server_end to allow client to connect to external and embedded
server using the same code (required for Connector/OO.org). (Backport from 5.0 - cs. 1.35)
information about error".
libmysql/libmysql.c:
Clear the last error on the statement if mysql_stmt_reset succeeded.
tests/mysql_client_test.c:
A test case for Bug#11183 "mysql_stmt_reset() doesn't reset information
about error"
BitKeeper/deleted/.del-outfile2.result~fb702ee2518d8e6d:
Delete: mysql-test/r/outfile2.result
libmysql/libmysql.c:
Fix indentation for new function mysql_set_character_set()
mysql-test/r/alter_table.result:
Fix test to be in same order as in 4.0
mysql-test/r/innodb.result:
After merge fix
mysql-test/r/insert_update.result:
Add extra test for insert into ... on duplicate key upate
mysql-test/r/outfile.result:
After merge fix
mysql-test/t/alter_table.test:
Fix test to be in same order as in 4.0
mysql-test/t/insert_update.test:
Add extra test for insert into ... on duplicate key upate
mysql-test/t/outfile.test:
After merge fix
sql/item_func.cc:
After merge fix
sql/sql_table.cc:
After merge fix
as a work around for #8317 and #9637
This function sends SET NAMES command and changes mysql->charset
so mysql_real_escape_string will work as expected.
libmysql/libmysql.def:
added new function mysql_set_character_set
s/sleep/safe_sleep (thread safe); sleep 0/1/2/3/4/5/5/5 (get slave less late);
no message on error log (deadlock is too common sometimes), a global counter
instead (SHOW STATUS LIKE 'slave_retried_transactions').
Plus a fix for libmysql/Makefile.shared
libmysql/Makefile.shared:
When we "make clean" in libmysql/ we remove the symlinks there, so we
need to mark that they have to be recreated later: this is done by removing
../linked_libmysql_sources. If we don't do this, 'make' will fail after 'cd libmysql;make clean'.
This Makefile.shared is used by libmysql_r too.
No reason to remove linked_client_sources as we don't remove the links in client/.
mysql-test/r/rpl_deadlock.result:
result fix
mysql-test/t/rpl_deadlock.test:
small test addition
sql/mysqld.cc:
if active_mi could not be alloced, die. New SHOW STATUS LIKE "slave_retried_transactions".
sql/slave.cc:
If slave retries automatically a transaction, no message on error log
(too common situation); sleep 0 secs at first retry, then 1, 2, 3, 4,
5, 5, 5... Sleeping 0 is to get the least possible late, as deadlocks
are usually resolved at first try. New global counter rli->retried_trans
(for SHOW STATUS: total number of times the slave had to retry
any transaction). safe_sleep() is thread-safe, sleep() was not.
I change the rli->trans_retries counter to go from 0 to max instead
of the other way (better for new sleep()).
sql/slave.h:
new global counter rli->retried_trans
sql/sql_show.cc:
SHOW STATUS LIKE "slave_retried_transactions"; needs replication mutexes.
Can't be a simple SHOW_LONG, because active_mi is unset (not alloced yet)
when the static global status_vars is created (active_mi is set
in init_slave()).
sql/structs.h:
new SHOW_SLAVE_RETRIED_TRANS
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
reset mysql->net.last_error": the solution is to clear
MYSQL->net error before performing COM_CLOSE: if the call
succeeds, the connection is usable for other statements.
More comprehensive fix is to clear MYSQL->net for all
recoverable errors at the time they happen, it will be
implemented in 5.0 as it introduces incompatibility in behavior.
libmysql/libmysql.c:
A simple fix for Bug#7990 "mysql_stmt_close doesn't reset
mysql->net.last_error"
tests/mysql_client_test.c:
A test case for Bug#7990 " mysql_stmt_close doesn't reset
mysql->net.last_error"
libmysql/libmysql.c:
Fix for bug#8330 "mysql_stmt_execute crashes": we need to bail out
from mysql_stmt_execute if mysql->net is occupied with a result set of
another statement. Otherwise on the next attempt to use net we get
a crash, as it's freed in case of error.
tests/mysql_client_test.c:
A test case for Bug#8330 "mysql_stmt_execute craches" (libmysql)
- renamed the tests that use the embedded server (client_test ->
mysql_client_test_embedded, mysqltest -> mysql_test_embedded
and changed some Makefiles and scripts so they are installed in $bindir
(required to be able to run the test suite against the embedded server)
tests/mysql_client_test.c:
Rename: tests/client_test.c -> tests/mysql_client_test.c
libmysql/libmysql.c:
- renamed client_test.c to mysql_client_test.c in a comment
libmysqld/examples/Makefile.am:
- renamed client_test -> mysql_client_test_embedded
- renamed mysqltest -> mysqltest_embedded
- both will be installed in $bindir
scripts/make_binary_distribution.sh:
- install mysql_client_test, mysql_client_test_embedded and mysqltest_embedded
into bin directory
tests/Makefile.am:
- renamed client_test to mysql_client_test
BitKeeper/etc/ignore:
Added tests/mysql_client_test to the ignore list
connect to an external server with mysqld.
libmysql/libmysql.c:
fix for bug #7285: Disable start of embedded server when need to
connect to an external server with libmysqld.
Calling mysql_server_init with a negative value for argc will not
start the embedded server.
include/errmsg.h:
New libmysql error status code CR_NO_STMT_METADATA
libmysql/errmsg.c:
Error message for CR_STMT_NO_METADATA.
Adding an empty line to shorten further diffs when new error
messages are added (as suggested by Monty).
libmysql/libmysql.c:
Return error from mysql_stmt_bind_result() if the statement contains
no metadata.
A few comments fixed.
tests/client_test.c:
Tests fixed: mysql_stmt_bind_result now returns error if there is no
metadata.
BitKeeper/etc/ignore:
Added analyse.test client/mysqladmin.c to the ignore list
libmysql/libmysql.c:
Fix for a bug #6996
This fix enables that after all rows are read from a buffered result,
mysql_stmt_data_seek(stmt,0) can rewind a counter to the beginning,
so that rows can be re-fetched.
tests/client_test.c:
Addition of a test for fix of the bug #6996 in client_test.c
properly" with main tree.
libmysql/libmysql.c:
Auto merged
sql-common/my_time.c:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
tests/client_test.c:
Manual merge.
In server we assume that datetime values stored in MYSQL_TIME struct
are normalized (and year is not greater than 9999), so we should
perform range checks in all places then we convert something to
MYSQL_TIME.
include/my_time.h:
Added one more argument to set_zero_time() function to make it more
convinient.
Added comment clarifying why MAX_DATE_STRING_REP_LENGTH value is 30.
include/mysql_time.h:
Documented MySQL's internal assumptions for members of MYSQL_TIME
structure.
libmysql/libmysql.c:
It does not make sense to set MYSQL_TIME::time_type twice in case of
errors.
mysql-test/r/type_datetime.result:
Added test for bug #6266 "Invalid DATETIME value not handled properly".
mysql-test/t/type_datetime.test:
Added test for bug #6266 "Invalid DATETIME value not handled properly".
sql-common/my_time.c:
str_to_datetime(): Added missing check for too big year values.
set_zero_time(): added time_type argument, since MYSQL_TIMESTAMP_NONE
is not the value that we want in most cases.
sql/field.cc:
Field_datetime::store_time():
clarified why we don't perform any range checks here.
sql/item.cc:
Item_param::set_time():
Added comment describing this method and range checking for TIME
values.
sql/sql_prepare.cc:
Removed comments about range checking for TIME values in prepared
statements, which are no longer true.
set_zero_time() has one more argument now.
tests/client_test.c:
Added test for bug #6266 "Invalid DATETIME value not handled properly"
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-Makefile.am:
Delete: Docs/Images/Makefile.am
Build-tools/Bootstrap:
Auto merged
Docs/Makefile.am:
Auto merged
configure.in:
Auto merged
include/mysql.h:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysys/default.c:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/log.cc:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_table.cc:
Auto merged
client/mysqldump.c:
merge with 4.0
(This only reorders options)
sql/ha_innodb.cc:
merge with 4.0 (Keep original code)
sql/time.cc:
Note that part of this patch is done in my_time.c
having approval for it since 4.1.4, I also have some assurance that
very few people actually used this: to enable these calls a user
had to #define HAVE_DEPRECATED_411_API and recompile the client library.
include/mysql.h:
remove defines for obsolete 4.1 prepared statements C API names
libmysql/libmysql.c:
Remove #ifdefed implementation of obsolete mysql_prepare call.
numeric columns (stmt_resultset_metadata)"
libmysql/libmysql.c:
A fix for Bug#6096 "field.max_length is always zero for numeric columns
(stmt_resultset_metadata)": set field->max_lenght for numeric
columns when we set up skip_result functions. A minor drawback for this
approach is that field->max_length can be not zero even if
STMT_ATTR_UPDATE_MAX_LENGTH is not set.
sql-common/my_time.c:
Fix valgrind warning.
tests/client_test.c:
A test case for Bug#6096 "field.max_length is always zero for numeric
columns (stmt_resultset_metadata)
New mysqltest that can run mysqltest with PS
Added support for ZEROFILL in PS
Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
Updated test cases to support --ps-protocol
(Some tests are still run using old protocol)
Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
Fixed crash in PS when using sub queries
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new PS query
group_concat(...ORDER BY) didn't work with PS
Fixed problem with test suite when not using innodb
BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
Delete: mysql-test/t/innodb-lock-master.opt
client/Makefile.am:
mysqltest now uses regex
client/mysqltest.c:
Added support for testing of prepared statements (with --ps-protocol)
Main code was done by Kent, I did mainly some cleanups and minor bug fixes
New test commands:
--disable_ps_protocol
--enable_ps_protocol
NOTE: new code still has some things that needs to be cleaned up.
For example run_query_stmt_handle_error() should be made more general so that same code can be used also by 'normal' queries
configure.in:
mysqltest now uses regex
libmysql/libmysql.c:
Reset warning_count after prepare (safety). In the future we should also provide warnings on prepare
integer -> string conversion now handles ZEROFILL
double -> string conversion is now closer to the one in the server
Fixed crash when one called mysql_stmt_store_result() without preceding mysql_stmt_bind_result()
libmysqld/examples/Makefile.am:
mysqltest now uses regex
mysql-test/include/have_query_cache.inc:
Fixes for --ps-protocol
mysql-test/include/ps_conv.inc:
Fixes for --ps-protocol
mysql-test/mysql-test-run.sh:
Added options --ps-protocol
mysql-test/r/ctype_utf8.result:
Fixed test case
mysql-test/r/fulltext_cache.result:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/fulltext_left_join.result:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/fulltext_multi.result:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/innodb-lock.result:
Fixed test to work even if Innodb is not compiled in.
mysql-test/t/create.test:
Fixes for --ps-protocol
mysql-test/t/ctype_utf8.test:
Remove warnings
mysql-test/t/date_formats.test:
Fixes for --ps-protocol
mysql-test/t/fulltext_cache.test:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/fulltext_left_join.test:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/fulltext_multi.test:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/func_group.test:
Fixes for --ps-protocol
mysql-test/t/func_sapdb.test:
Fixes for --ps-protocol
mysql-test/t/innodb-lock.test:
Fixed test to work even if Innodb is not compiled in.
mysql-test/t/insert.test:
Fixes for --ps-protocol
mysql-test/t/insert_select.test:
Fixes for --ps-protocol
mysql-test/t/insert_update.test:
Fixes for --ps-protocol
mysql-test/t/metadata.test:
Fixes for --ps-protocol
mysql-test/t/multi_statement.test:
Fixes for --ps-protocol
mysql-test/t/ps_1general.test:
Fixes for --ps-protocol
mysql-test/t/rollback.test:
Fixes for --ps-protocol
mysql-test/t/rpl_redirect.test:
Fixes for --ps-protocol
mysql-test/t/rpl_user_variables.test:
Fixes for --ps-protocol
mysql-test/t/select.test:
Fixes for --ps-protocol
mysql-test/t/status.test:
Fixes for --ps-protocol
mysql-test/t/type_blob.test:
Fixes for --ps-protocol
mysql-test/t/type_float.test:
Fixes for --ps-protocol
mysql-test/t/union.test:
Fixes for --ps-protocol
mysql-test/t/warnings.test:
Fixes for --ps-protocol
mysys/my_alloc.c:
More debugging information
sql-common/client.c:
More debugging information
sql-common/my_time.c:
TIME didn't support full range with PS
sql/field.cc:
TIME didn't support full range with PS
sql/item_cmpfunc.cc:
IN(constants,...) didn't work with PS
sql/item_subselect.cc:
Some subqueries didn't work with PS
sql/item_sum.cc:
group_concat(...ORDER BY) didn't work with PS
Removed variable warning_available as 'warning' can be used for this.
sql/item_sum.h:
Removed not needed variable
sql/protocol.cc:
TIME didn't support full range with PS
sql/set_var.cc:
Style fix
sql/sql_base.cc:
setup_wild() didn't properly restore old arena, which caused core dump in PS when using
SELECT * FROM t1 NATURAL JOIN t2...
sql/sql_class.cc:
Style fix
sql/sql_error.cc:
Style fix
sql/sql_insert.cc:
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
sql/sql_lex.h:
Fix for PS and procedures
sql/sql_parse.cc:
More debugging information
Make a copy of 'db' in PS as this may change
Fixed wrong permissions check in PS and multi-table updates
sql/sql_prepare.cc:
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new query
sql/sql_union.cc:
Fixes for PS and SELECT ... PROCEDURE
Reset 'with_wild' as 'wild' is resolved on prepare
BitKeeper/etc/logging_ok:
auto-union
Docs/Support/texi2html:
Auto merged
innobase/trx/trx0rec.c:
Auto merged
libmysql/libmysql.c:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysys/thr_lock.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/sql_acl.cc:
Keep old code
into mysql.com:/home/kostja/work/mysql-4.1-6049
libmysql/libmysql.c:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
tests/client_test.c:
Auto merged