Commit graph

503 commits

Author SHA1 Message Date
kroki/tomash@moonlight.intranet
5ea8adfae7 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).
2006-10-02 14:28:23 +04:00
msvensson@shellback.(none)
2c3015499d Merge shellback.(none):/home/msvensson/mysql/bug22139/my50-bug22139
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-09-15 16:42:27 +02:00
msvensson@shellback.(none)
e890eed69b Bug#22139 undefined reference to `my_memmem' when compiling tests/mysql_client_test
- Build mysql_client_test from mysql_client_test.c and mysys/my_memmem.c
2006-09-12 11:34:46 +02:00
grichter@bk-internal.mysql.com
6993e3a3f7 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-cmake
2006-09-02 11:03:16 +02:00
georg@lmy002.wdf.sap.corp
9d6471c33e make dist changes for Cmake build 2006-09-01 10:32:12 +02:00
georg@lmy002.wdf.sap.corp
27636d9303 Additional files for cmake support 2006-08-31 19:52:42 +02:00
cmiller@zippy.cornsilk.net
4340ec8ce9 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/no-strange-literals/my50-no-strange-literals
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2006-08-31 11:31:45 -04:00
cmiller@zippy.cornsilk.net
797b8206ed Merge zippy.cornsilk.net:/home/cmiller/work/mysql/no-strange-literals/my41-no-strange-literals
into  zippy.cornsilk.net:/home/cmiller/work/mysql/no-strange-literals/my50-no-strange-literals
2006-08-31 11:27:55 -04:00
cmiller@zippy.cornsilk.net
436d3a3798 Bitkeeper's Tk interface uses UTF8 by default, so mixing charsets in a
single file is a bad practice.
2006-08-31 11:14:04 -04:00
msvensson@neptunus.(none)
9d87db7767 Bug#21813 An attacker has the opportunity to bypass query logging, part2
- 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"
2006-08-30 17:11:00 +02:00
msvensson@neptunus.(none)
1682c8b463 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-22 08:31:18 +02:00
msvensson@neptunus.(none)
aa944afbe7 Remove debug printout from mysql_client_test 2006-08-22 08:30:33 +02:00
iggy@rolltop.ignatz42.dyndns.org
39a8fe6e44 Bug#21757: mysql_client_test fails in testcase when reading master.log file 2006-08-21 20:29:11 -04:00
msvensson@shellback.(none)
adaa3a2a60 Merge bk-internal:/home/bk/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-21 14:09:38 +02:00
msvensson@shellback.(none)
2b2985e0ea Print lines from log file to see what's in them 2006-08-21 14:06:59 +02:00
cmiller@zippy.cornsilk.net
6998c5140b Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:53:12 -04:00
cmiller@zippy.cornsilk.net
7d38d61398 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:49:56 -04:00
cmiller@zippy.cornsilk.net
030ddb48f3 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:47:23 -04:00
rburnett@production.mysql.com
0199dda5a6 My previous change of replacing the call to sprintf with some memcpy type routines was not correct. This patch reverts that.
mysql_client_test.c:
  reverting my previous change
2006-08-14 20:48:37 +02:00
Reggie@xgeek.
e26aef9f64 Some small cleanups that will help get mysql_client_test passing on Windows 2006-08-10 17:39:01 -05:00
msvensson@neptunus.(none)
dee4105ce0 Remove extra whitespace 2006-08-07 19:21:43 +02:00
msvensson@neptunus.(none)
862d5626a5 Add some more code to analyze why the fgets fails. 2006-08-07 17:26:02 +02:00
msvensson@neptunus.(none)
419e4dd46f Add printouts in test case for bug17667 2006-08-07 14:02:57 +02:00
msvensson@neptunus.(none)
68168c8e8f Change the 'sleep' into an explicit FLUSH LOGS command 2006-08-07 11:29:41 +02:00
msvensson@neptunus.(none)
2e4dbadf9f fflush(NULL) before abort so that all pending writes are performed 2006-08-07 10:16:37 +02:00
msvensson@neptunus.(none)
e33bd1a309 Flush stderr before calling abort() 2006-08-06 23:56:51 +02:00
Reggie@xgeek.
7a8a33a941 please don't call methods that should always execute inside assert() 2006-08-05 18:58:38 -05:00
rburnett@production.mysql.com
a73a9da34b mysql_client_test.c:
Moving call that processes select results out of the assert
2006-08-05 23:15:23 +02:00
kostja@bodhi.local
4bfc67fc3c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge
2006-08-02 14:13:01 +04:00
kroki/tomash@moonlight.intranet
cc98d26a23 Fix after manual merge. 2006-07-29 13:50:08 +04:00
holyfoot/hf@mysql.com/deer.(none)
a9a345d9a5 Merge mysql.com:/home/hf/work/mysql-4.1.mrg
into  mysql.com:/home/hf/work/mysql-5.0.mrg
2006-07-25 13:50:17 +05:00
kostja@bodhi.local
2ce1a07c89 A fix and a test case for Bug#15752 "Lost connection to MySQL server
when calling a SP from C API"

The bug was caused by lack of checks for misuse in mysql_real_query. 
A stored procedure always returns at least one result, which is the 
status of execution of the procedure itself.
This result, or so-called OK packet, is similar to a result
returned by INSERT/UPDATE/CREATE operations: it contains the overall
status of execution, the number of affected rows and the number of
warnings. The client test program attached to the bug did not read this 
result and ivnoked the next query. In turn, libmysql had no check for 
such scenario and mysql_real_query was simply trying to send that query 
without reading the pending response, thus messing up the communication
protocol.

The fix is to return an error from mysql_real_query when it's called
prior to retrieval of all pending results.
2006-07-24 14:56:53 +04:00
holyfoot/hf@mysql.com/deer.(none)
95b88445fb Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1.19983
2006-07-20 16:03:21 +05:00
holyfoot/hf@mysql.com/deer.(none)
00f56da9af merging 2006-07-18 16:43:39 +05:00
cmiller@zippy.(none)
2c5308a703 Merge zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.0
into  zippy.(none):/home/cmiller/work/mysql/m50-maint--07C2P
2006-07-13 11:11:20 -04:00
cmiller@zippy.(none)
e62e730020 A patch to Bug#17667 didn't take into consideration that the vardir, which contains
the server's binlog file, might be set to a different directory.  This adds a new
"vardir" parameter, which takes the name of the directory as a value, so that the 
test_bug17667() test can find the binlog.
2006-07-10 16:38:03 -04:00
knielsen@rt.int.sifira.dk
7062993817 Merge mysqldev@production:my/mysql-5.0-release
into  rt.int.sifira.dk:/usr/local/mysql/tmp-5.0
2006-07-04 12:08:58 +02:00
kent@suse9-x86.mysql.com
6b08a98644 Makefile.am:
Avoid duplicate symbol errors on Netware
mwldnlm, mwccnlm, mwasmnlm:
  Filter garbage characters from output
2006-07-03 10:56:19 +02:00
gluh@mysql.com
d2b378d57f Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/gluh/MySQL/Merge/5.0-kt
2006-07-03 13:19:18 +05:00
monty@mysql.com
2f86009c9e Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2006-06-30 19:15:18 +03:00
kroki@mysql.com
79ca4c1d55 bug #20152: mysql_stmt_execute() overwrites parameter buffers
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.
2006-06-30 12:52:05 +04:00
gluh@eagle.intranet.mysql.r18.ru
f9214221fc Bug#19671 mysql_list_fields returns incorrect table name for VIEWs
After view onening real view db name and table name are placed
into table_list->view_db & table_list->view_name.
Item_field class does not handle these names properly during 
intialization of Send_field.
The fix is to use new class 'Item_ident_for_show' 
which sets correct view db name and table name for Send_field.
2006-06-29 16:52:46 +05:00
holyfoot@deer.(none)
7a1c9459b3 bug #19983 (mysql_client_test_embedded fails) 2006-06-02 22:33:22 +05:00
kent@mysql.com
51f3882243 Merge mysql.com:/data0/mysqldev/my/mysql-5.0.22-release
into  mysql.com:/data0/mysqldev/my/mysql-5.0
2006-05-26 18:38:34 +02:00
serg@mysql.com
c00edb8e8a Merge mysql.com:/data0/mysqldev/my/mysql-5.0.17c-release
into  mysql.com:/data0/mysqldev/my/mysql-5.0.22-release
2006-05-24 14:22:36 +02:00
serg@mysql.com
44ec4456b8 Merge mysql.com:/data0/mysqldev/my/mysql-4.1.16a-release
into  mysql.com:/data0/mysqldev/my/mysql-4.1.20-release
2006-05-24 14:12:19 +02:00
serg@mysql.com
1841c44cfc Merge mysql.com:/data0/mysqldev/my/mysql-4.1.16a-release
into  mysql.com:/data0/mysqldev/my/mysql-5.0.17c-release
2006-05-24 12:19:39 +02:00
kent@mysql.com
97674810b0 don't let bugfix for bug#8303 break the bugfix for bug#8378
revert the fix for bug#8303
correct the test for bug#8378
2006-05-24 00:55:53 +02:00
knielsen@mysql.com
f0341ac431 Fix a bunch of non-Linux compile failures. 2006-05-02 09:19:54 +02:00
cmiller@zippy.(none)
85ffd9640e SECURITY FIX
Bug#17667: An attacker has the opportunity to bypass query logging.

This adds a new, local-only printf format specifier to our *printf functions
that allows us to print known-size buffers that must not be interpreted as 
NUL-terminated "strings."

It uses this format-specifier to print to the log, thus fixing this 
problem.
2006-05-01 22:10:50 -04:00