into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23383
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql_stmt_affected_rows()
The problem was that affected_rows for prepared statement wasn't updated
in the client library on the error. The solution is to always update
affected_rows, which will be equal to -1 on the error.
libmysql/libmysql.c:
Update status variables even in the case of an error. Some variables
have a defined value on the error (like affected_rows is -1), others are
undefined, so updating them won't harm.
libmysqld/lib_sql.cc:
Update status variables even in the case of an error. Some variables
have a defined value on the error (like affected_rows is -1), others are
undefined, so updating them won't harm.
tests/mysql_client_test.c:
Add test for bug#23383: mysql_affected_rows() returns different values
than mysql_stmt_affected_rows().
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-lex-string
BUILD/SETUP.sh:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/t/create.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
sql/item_timefunc.cc:
Manual merge.
sql/mysqld.cc:
Manual merge.
sql/mysqld.cc.rej:
manual merge
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
client/mysql_upgrade.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
vio/Makefile.am:
Auto merged
BitKeeper/deleted/.del-Makefile.am~abb265028eb9b6a7:
Auto merged
mysql-test/mysql-test-run-shell.sh:
Auto merged
client/Makefile.am:
Use local
tests/Makefile.am:
SCCS merged
- Most likely caused by linking with libmysqlclient using gcc and not g++.
- Removing our "yassl_dummy_link_fix" hacks so some test programs are linked
with gcc
- Remove build of non working test programs in vio
client/Makefile.am:
Remove "yassl_dummy_link_fix"
tests/Makefile.am:
Remove "yassl_dummy_link_fix"
tools/Makefile.am:
Remove "yassl_dummy_link_fix"
vio/Makefile.am:
Remove "yassl_dummy_link_fix"
Remove non working test programs from being built
into alik.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged-2
configure.in:
Auto merged
include/my_time.h:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/kill.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/rename.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/rename.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/Makefile.am:
Auto merged
sql/handler.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/lex.h:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql-common/my_time.c:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/time.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/mysql-test-run.pl:
Manually merged.
sql/sql_parse.cc:
Manually merged.
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
configure.in:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
myisam/sort.c:
Manual merge.
mysql-test/r/innodb_mysql.result:
Manual merge.
mysql-test/t/innodb_mysql.test:
Manual merge.
mysys/mf_iocache.c:
Manual merge.
Due to the complexity of this change, everything is documented in WL#3565
This patch is the third iteration, it takes into account the comments
received to date.
mysql-test/r/func_math.result:
Improved test coverage
mysql-test/r/view.result:
Name collision, x() is a geometry native in function
mysql-test/t/func_math.test:
Improved test coverage
mysql-test/t/view.test:
Name collision, x() is a geometry native in function
sql/item_create.cc:
Revised the create_func implementation
sql/item_create.h:
Revised the create_func implementation
sql/item_geofunc.h:
Explicit Item allocation in the thread memory pool.
sql/lex.h:
Removed function parsing from the lexical parser
sql/lex_symbol.h:
Removed function parsing from the lexical parser
sql/mysql_priv.h:
Server initialization and shutdown
sql/mysqld.cc:
Server initialization and shutdown
sql/share/errmsg.txt:
New error messages
sql/sql_yacc.yy:
Removed function parsing from the lexical parser
tests/mysql_client_test.c:
Spaces are no longer significant for function calls
mysql-test/include/parser_bug21114.inc:
New tests
mysql-test/r/parser.result:
New tests
mysql-test/r/parser_bug21114_innodb.result:
New tests
mysql-test/t/parser.test:
New tests
mysql-test/t/parser_bug21114_innodb.test:
New tests
Fix two memory leaks in mysql_client_test
mysql-test/mysql-test-run.pl:
Add valgrinding support for mysql_client_test
tests/mysql_client_test.c:
Fix two memory leaks
- Fix check in mysql_client_test to reflect the change of datatype
for DEFAULT column
tests/mysql_client_test.c:
Update check of datatype for field DEFAULT returned from "explain"
as datatype has changed after patch for bug 23037
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
mysql-test/mysql-test-run.pl:
Auto merged
tests/mysql_client_test.c:
Remove the fflush(NULL) and instead explicitly fflush stdout and then stderr
Flush both stdout and stderr before abort'ing mysql_client_test
mysql-test/mysql-test-run.pl:
Run mysql_client_test wihtout --silent flag
tests/mysql_client_test.c:
Before aborting mysql_client_test in die, make sure
to first flush stdout and finally after the error message
has been printed also fflush stderr
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-lex-string
BUILD/SETUP.sh:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/events.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/events.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_parse.cc:
remove_escape() function removed. Manual merge.
sql/table.cc:
Manually merged. Old line removed.
tests/mysql_client_test.c:
Manually merged. test_status position now last.
sql/sql_parse.cc.rej:
undefined
sql/table.cc.rej:
undefined
tests/mysql_client_test.c.rej:
undefined
BUILD/SETUP.sh:
Added check for CCACHE_DISABLE. If set, do not
use ccache at all.
BUILD/compile-pentium-gcov:
Moved CCACHE_DISABLE up before going into SETUP.sh.
Added debug_extra_flags to extra_flags.
mysql-test/r/create.result:
Added tests for incorrect database names.
mysql-test/r/ctype_create.result:
Added tests for incorrect alter database names.
mysql-test/r/events.result:
Added tests for incorrect database names.
mysql-test/r/grant.result:
Output changed to capital letters.
mysql-test/t/alter_table.test:
Removed extra empty line
mysql-test/t/create.test:
Added tests for incorrect database names.
mysql-test/t/ctype_create.test:
Added tests for incorrect name handling
mysql-test/t/events.test:
Added tests for incorrect database names.
sql/item_timefunc.cc:
Added dummy case to avoid compiler warning.
sql/mysql_priv.h:
Changed argument from char pointer to LEX_STRING pointer.
sql/mysqld.cc:
Added a missing component from struct.
sql/sql_class.h:
Added function LEX_STRING_make that sets the string and length.
sql/sql_db.cc:
Changed several char pointers to lex_strings.
sql/sql_lex.cc:
name is now LEX_STRING
sql/sql_lex.h:
Changed name to LEX_STRING.
sql/sql_parse.cc:
Changed several char pointers to lex_strings.
db_length needed a trick, because in old client protocol there
was an extra char zero added to the string.
check_db_name() now takes LEX_STRING pointer as an argument.
Changed remove_escape() to take LEX_STRING pointer as an argument.
Removed COM_CREATE_DB and COM_DROP_DB. These are obsolete.
sql/sql_table.cc:
char* -> LEX_STRING*
sql/sql_yacc.yy:
Changed char* -> LEX_STRING*
sql/table.cc:
check_db_name() now takes LEX_STRING* as argument instead of char*.
Optimized code a bit.
tests/mysql_client_test.c:
Added test for (short) status.
After defining out (ifdef) COM_DROP_DB and COM_CREATE_DB
in mysqld.cc mysql_client_test needed to be informed that
failing in recognizing these commands is not fatal error
anymore.
Note: bug#21726 does not directly apply to 4.1, as it doesn't have stored
procedures. However, 4.1 had some bugs that were fixed in 5.0 by the
patch for bug#21726, and this patch is a backport of those fixes.
Namely, in 4.1 it fixes:
- LAST_INSERT_ID(expr) didn't return value of expr (4.1 specific).
- LAST_INSERT_ID() could return the value generated by current
statement if the call happens after the generation, like in
CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY, j INT);
INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID());
- Redundant binary log LAST_INSERT_ID_EVENTs could be generated.
mysql-test/r/rpl_insert_id.result:
Add result for bug#21726: Incorrect result with multiple invocations
of LAST_INSERT_ID.
mysql-test/t/rpl_insert_id.test:
Add test case for bug#21726: Incorrect result with multiple invocations
of LAST_INSERT_ID.
sql/item_func.cc:
Add implementation of Item_func_last_insert_id::fix_fields(), where we
set THD::last_insert_id_used when statement calls LAST_INSERT_ID().
In Item_func_last_insert_id::val_int(), return THD::current_insert_id
if called like LAST_INSERT_ID(), otherwise return value of argument if
called like LAST_INSERT_ID(expr).
sql/item_func.h:
Add declaration of Item_func_last_insert_id::fix_fields().
sql/log_event.cc:
Do not set THD::last_insert_id_used on LAST_INSERT_ID_EVENT. Though we
know the statement will call LAST_INSERT_ID(), it wasn't called yet.
sql/set_var.cc:
In sys_var_last_insert_id::value_ptr(), set THD::last_insert_id_used,
and return THD::current_insert_id for @@LAST_INSERT_ID.
sql/sql_class.h:
Update comments.
Remove THD::insert_id(), as it has lost its purpose now.
sql/sql_insert.cc:
Now it is OK to read THD::last_insert_id directly.
sql/sql_load.cc:
Now it is OK to read THD::last_insert_id directly.
sql/sql_parse.cc:
In mysql_execute_command(), remember THD::last_insert_id (first
generated value of the previous statement) in THD::current_insert_id,
which then will be returned for LAST_INSERT_ID() and @@LAST_INSERT_ID.
sql/sql_select.cc:
If "IS NULL" is replaced with "= <LAST_INSERT_ID>", use right value,
which is THD::current_insert_id, and also set THD::last_insert_id_used
to issue binary log LAST_INSERT_ID_EVENT.
sql/sql_update.cc:
Now it is OK to read THD::last_insert_id directly.
tests/mysql_client_test.c:
Add test case for bug#21726: Incorrect result with multiple invocations
of LAST_INSERT_ID.
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-real-bug21726
mysql-test/t/rpl_insert_id.test:
Use local.
sql/item_func.cc:
Use local.
sql/item_func.h:
Use local.
sql/log_event.cc:
SCCS merged
sql/set_var.cc:
Use local.
sql/sql_class.h:
Use local.
sql/sql_insert.cc:
Use local.
sql/sql_load.cc:
Use local.
sql/sql_parse.cc:
Use local.
sql/sql_select.cc:
Use local.
sql/sql_update.cc:
Use local.
mysql-test/r/rpl_insert_id.result:
Use local.
sql/sql_class.cc:
Manual merge. Add comment for THD::cleanup_after_query().
tests/mysql_client_test.c:
Manual merge. Add test case for bug#21726: Incorrect result with
multiple invocations of LAST_INSERT_ID.
Non-upper-level INSERTs (the ones in the body of stored procedure,
stored function, or trigger) into a table that have AUTO_INCREMENT
column didn't affected the result of LAST_INSERT_ID() on this level.
The problem was introduced with the fix of bug 6880, which in turn was
introduced with the fix of bug 3117, where current insert_id value was
remembered on the first call to LAST_INSERT_ID() (bug 3117) and was
returned from that function until it was reset before the next
_upper-level_ statement (bug 6880).
The fix for bug#21726 brings back the behaviour of version 4.0, and
implements the following: remember insert_id value at the beginning
of the statement or expression (which at that point equals to
the first insert_id value generated by the previous statement), and
return that remembered value from LAST_INSERT_ID() or @@LAST_INSERT_ID.
Thus, the value returned by LAST_INSERT_ID() is not affected by values
generated by current statement, nor by LAST_INSERT_ID(expr) calls in
this statement.
Version 5.1 does not have this bug (it was fixed by WL 3146).
mysql-test/r/rpl_insert_id.result:
Add results for bug#21726: Incorrect result with multiple invocations
of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
does not replicate statement-based.
mysql-test/t/rpl_insert_id.test:
Add test cases for bug#21726: Incorrect result with multiple invocations
of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
does not replicate statement-based.
sql/item_func.cc:
Add implementation of Item_func_last_insert_id::fix_fields(), where we
remember in THD::current_insert_id the first value generated during
execution of the previous statement, which is returned then from
Item_func_last_insert_id::val_int().
sql/item_func.h:
Add declaration of Item_func_last_insert_id::fix_fields().
sql/log_event.cc:
Do not set THD::last_insert_id_used on LAST_INSERT_ID_EVENT. Though we
know the statement will call LAST_INSERT_ID(), it wasn't called yet.
sql/set_var.cc:
In sys_var_last_insert_id::value_ptr() remember in
THD::current_insert_id the first value generated during execution of the
previous statement, and return this value for @@LAST_INSERT_ID.
sql/sql_class.cc:
Reset THD::last_insert_id_used after each statement execution.
sql/sql_class.h:
Rather then remember current insert_id value on first invocation of
THD::insert_id(), remember it in Item_func_last_insert_id::fix_fields(),
sys_var_last_insert_id::value_ptr(), or mysql_execute_command().
Remove THD::insert_id(), as it lost its value now.
sql/sql_insert.cc:
THD::insert_id() is removed, use THD::last_insert_id directly.
sql/sql_load.cc:
THD::insert_id() is removed, using THD::last_insert_id directly is OK.
sql/sql_parse.cc:
Remember in THD::current_insert_id first generated insert id value of
the previous statement in mysql_execute_command().
No need to reset THD::last_insert_id_used in
mysql_reset_thd_for_next_command(), it will be reset after each
statement.
sql/sql_select.cc:
If "IS NULL" is replaced with "= <LAST_INSERT_ID>", use right value,
which is THD::current_insert_id, and also set THD::last_insert_id_used
to issue binary log LAST_INSERT_ID_EVENT.
sql/sql_update.cc:
THD::insert_id() is removed, use THD::last_insert_id directly.
tests/mysql_client_test.c:
Add test case for bug#21726: Incorrect result with multiple invocations
of LAST_INSERT_ID.
- Build mysql_client_test from mysql_client_test.c and mysys/my_memmem.c
tests/Makefile.am:
Build mysql_client_test from mysql_client_test.c and mysys/my_memmem.c
- Change 'get_unit_column_type" to return the field list for the procedure
sql/sql_union.cc:
Change 'get_unit_column_type' to return the procedure field list if this is the execution of a procedure.
tests/mysql_client_test.c:
Add test case for using "procedure" in cursor.
CMakeLists.txt:
New BitKeeper file ``CMakeLists.txt''
bdb/CMakeLists.txt:
New BitKeeper file ``bdb/CMakeLists.txt''
client/CMakeLists.txt:
New BitKeeper file ``client/CMakeLists.txt''
dbug/CMakeLists.txt:
New BitKeeper file ``dbug/CMakeLists.txt''
extra/CMakeLists.txt:
New BitKeeper file ``extra/CMakeLists.txt''
extra/yassl/CMakeLists.txt:
New BitKeeper file ``extra/yassl/CMakeLists.txt''
extra/yassl/taocrypt/CMakeLists.txt:
New BitKeeper file ``extra/yassl/taocrypt/CMakeLists.txt''
heap/CMakeLists.txt:
New BitKeeper file ``heap/CMakeLists.txt''
innobase/CMakeLists.txt:
New BitKeeper file ``innobase/CMakeLists.txt''
libmysql/CMakeLists.txt:
New BitKeeper file ``libmysql/CMakeLists.txt''
myisam/CMakeLists.txt:
New BitKeeper file ``myisam/CMakeLists.txt''
myisammrg/CMakeLists.txt:
New BitKeeper file ``myisammrg/CMakeLists.txt''
mysys/CMakeLists.txt:
New BitKeeper file ``mysys/CMakeLists.txt''
regex/CMakeLists.txt:
New BitKeeper file ``regex/CMakeLists.txt''
server-tools/CMakeLists.txt:
New BitKeeper file ``server-tools/CMakeLists.txt''
server-tools/instance-manager/CMakeLists.txt:
New BitKeeper file ``server-tools/instance-manager/CMakeLists.txt''
sql/CMakeLists.txt:
New BitKeeper file ``sql/CMakeLists.txt''
sql/examples/CMakeLists.txt:
New BitKeeper file ``sql/examples/CMakeLists.txt''
strings/CMakeLists.txt:
New BitKeeper file ``strings/CMakeLists.txt''
tests/CMakeLists.txt:
New BitKeeper file ``tests/CMakeLists.txt''
vio/CMakeLists.txt:
New BitKeeper file ``vio/CMakeLists.txt''
win/Makefile.am:
New BitKeeper file ``win/Makefile.am''
win/README:
New BitKeeper file ``win/README''
win/build-vs71.bat:
New BitKeeper file ``win/build-vs71.bat''
win/build-vs8.bat:
New BitKeeper file ``win/build-vs8.bat''
win/build-vs8_x64.bat:
New BitKeeper file ``win/build-vs8_x64.bat''
win/configure.js:
New BitKeeper file ``win/configure.js''
zlib/CMakeLists.txt:
New BitKeeper file ``zlib/CMakeLists.txt''
single file is a bad practice.
tests/mysql_client_test.c:
Replace literal characters which don't make sense in UTF8 with ubiquitously-
understood numbers.
include/config-netware.h:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
- Use the "%.*b" format when printing prepared and exeuted prepared statements to the log.
- Add test case to check that also prepared statements end up in the query log
Bug#14346 Prepared statements corrupting general log/server memory
- Use "stmt->query" when logging the newly prepared query instead of "packet"
sql/sql_prepare.cc:
mysql_stmt_prepare
- Use "%.*b" format when printing to log
- Print the query from stmt instead of "packet", packet points at the net in/out buffer and has most likely been overwritten
when result for prepare was written to client.
mysql_stmt_execute
- Use "%.*b" format when printing to log
- Print the query from thd as the expanded query has been specifially set to be valid also after restore from backup statement
tests/mysql_client_test.c:
Add tests for bug#21813 to already existing test for bug#17667. Add functionality for also executing prepared statements and making sure they end up in the log as well.
into rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.1-new-maint_11972
BitKeeper/etc/ignore:
auto-union
client/mysql.cc:
Auto merged
client/mysql_upgrade.c:
Auto merged
include/config-netware.h:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/mysql.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/gen_lex_hash.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/r/csv.result:
manual merge
mysql-test/t/csv.test:
manual merge
storage/csv/ha_tina.cc:
manual merge
into zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.1
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/mysql.test:
Auto merged
mysql-test/t/mysql_client_test.test:
Auto merged
server-tools/instance-manager/listener.cc:
Auto merged
server-tools/instance-manager/portability.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
BitKeeper/deleted/.del-openssl.m4~41cebd0ba8281769:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
client/mysql.cc:
Manual merge.
mysql-test/mysql-test-run.pl:
Manual merge.