Commit graph

536 commits

Author SHA1 Message Date
gkodinov/kgeorge@magare.gmz
f45601ce58 Bug #27383: Crash in test "mysql_client_test"
The C optimizer may decide that data access operations
through pointer of different type are not related to 
the original data (strict aliasing).
This is what happens in fetch_long_with_conversion(),
when called as part of mysql_stmt_fetch() : it tries 
to check for truncation errors by first storing float
(and other types of data) into a char * buffer and then 
accesses them through a float pointer.
This is done to prevent the effects of excess precision
when using FPU registers.
However the doublestore() macro converts a double pointer
to an union pointer. This violates the strict aliasing rule.
Fixed by making the intermediary variables volatile (
to not re-introduce the excess precision bug) and using
the intermediary value instead of the char * buffer.
Note that there can be loss of precision for both signed
and unsigned 64 bit integers converted to double and back,
so the check must stay there (even for compatibility 
reasons).
Based on the excellent analysis in bug 28400.
2007-06-22 15:34:28 +03:00
msvensson@pilot.blaudden
93b1fe65d8 Bug#26664 test suite times out on OS X 64bit
- The "mysql client in mysqld"(which is used by
   replication and federated) should use alarms instead of setting
   socket timeout value if the rest of the server uses alarm. By
   always calling 'my_net_set_write_timeout'
   or 'my_net_set_read_timeout' when changing the timeout value(s), the
   selection whether to use alarms or timeouts will be handled by
   ifdef's in those two functions. 
 - Move declaration of 'vio_timeout' into "vio_priv.h"
2007-05-24 11:21:27 +02:00
tsmith@siva.hindu.god
369bbd926f Merge siva.hindu.god:/home/tsmith/m/bk/maint/mar05/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/50
2007-03-06 15:36:07 -07:00
tsmith@siva.hindu.god
22ebbfef91 Fix for bug #25595 "missing DBUG_RETURN in function "mysql_stat"" 2007-03-06 14:47:26 -07:00
monty@mysql.com/narttu.mysql.fi
a04157fbb3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2007-01-22 14:04:40 +02:00
msvensson@neptunus.(none)
11ddeb693d Merge neptunus.(none):/home/msvensson/mysql/bug15518/my50-bug15518
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2007-01-16 14:13:48 +01:00
msvensson@neptunus.(none)
f507bb2cb3 Bug#15518 Reusing a stmt that has failed during prepare does not clear error
- Always reset error when calling mysql_stmt_prepare a second time
 - Set stmt->state to MYSQL_STMT_INIT_DONE before closing prepared stmt in server.
 - Add test to mysql_client_test
 - Remove mysql_stmt_close in mysqltest after each query
 - Close all open statements in mysqltest if disable_ps_protocol is called.
2007-01-16 13:39:42 +01:00
monty@mysql.com/narttu.mysql.fi
a6481aa4c7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2006-12-15 01:01:52 +02:00
monty@mysql.com/narttu.mysql.fi
88dd873de0 Fixed compiler warnings detected by option -Wshadow and -Wunused:
- Removed not used variables and functions
- Added #ifdef around code that is not used
- Renamed variables and functions to avoid conflicts
- Removed some not used arguments

Fixed some class/struct warnings in ndb
Added define IS_LONGDATA() to simplify code in libmysql.c

I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes
2006-12-15 00:51:37 +02:00
df@kahlann.erinye.com
da7820c37d Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
2006-12-01 13:02:54 +01:00
monty@mysql.com/narttu.mysql.fi
601e6f4b2a Fixed compiler warnings
Don't assert if my_thread_end() is called twice (common case)
2006-11-30 21:56:03 +02:00
kostja@bodhi.local
5fea0724bc Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2006-11-29 02:44:12 +03:00
gkodinov@dl145s.mysql.com
e74c9add47 Merge bk-internal:/home/bk/mysql-5.0
into  dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-11-27 16:25:52 +01:00
monty@mysql.com/nosik.monty.fi
e825879800 Remove compiler warnings
(Mostly in DBUG_PRINT() and unused arguments)
Fixed bug in query cache when used with traceing (--with-debug)
Fixed memory leak in mysqldump
Removed warnings from mysqltest scripts (replaced -- with #)
2006-11-20 22:42:06 +02:00
kroki/tomash@moonlight.intranet
6d4558f7c3 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug23383
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23383
2006-11-17 12:30:26 +03:00
kroki/tomash@moonlight.intranet
5e2ef3a68e BUG#23383: mysql_affected_rows() returns different values than
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.
2006-11-17 12:21:32 +03:00
holyfoot/hf@mysql.com/deer.(none)
cd5684543c Merge mysql.com:/home/hf/work/w3475/my41-w3475
into  mysql.com:/home/hf/work/w3475/my50-w3475
2006-10-23 16:50:01 +05:00
holyfoot/hf@mysql.com/deer.(none)
4d23559806 WL#3475 (Threads for the embedded server in mysqltest)
Necessary code added to mysqltest.c.
Disabled tests are available now.
2006-10-23 15:02:51 +05: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
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)
00f56da9af merging 2006-07-18 16:43:39 +05:00
holyfoot/hf@mysql.com/deer.(none)
bed7b69243 Merge mysql.com:/home/hf/work/mysql-4.1.mrg
into  mysql.com:/home/hf/work/mysql-5.0.mrg
2006-07-18 14:52:29 +05:00
holyfoot/hf@mysql.com/deer.(none)
eddaafb12b Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1.16017
2006-07-13 22:32: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
holyfoot@deer.(none)
bc35c50063 bug #16017 (memory leaks in embedded server)
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.
2006-06-01 17:06:42 +05:00
knielsen@mysql.com
b6ee2d2340 Merge mysql.com:/usr/local/mysql/mysql-5.0-vgfix
into  mysql.com:/usr/local/mysql/tmp-5.0
2006-05-15 19:57:12 +02:00
knielsen@mysql.com
fc16aff742 Fix two Valgrind memory leak warnings. 2006-05-15 18:07:18 +02:00
msvensson@neptunus.(none)
b60540a862 Remove valgrind and compiler warnings
Add function 'vio_end' that will cleanup resources allocated by vio and the components it uses.
2006-05-08 17:14:06 +02:00
bar@mysql.com
13b5cdb126 Moving mysql_get_server_version() from libmysql.c to client.c,
as it is now required by mysql_set_character_set()
2006-04-06 13:03:22 +05:00
bar@mysql.com
45a3bb57d6 libmysql.c:
Bug#18830: incompatibility new libraries with old server
  Don't execute SET NAMES with pre-4.1 server.
2006-04-06 11:47:46 +05:00
konstantin@mysql.com
2ea0b9b72c Revert the changeset for Bug#16144 "mysql_stmt_attr_get type error":
it breaks binary compatibility. The patch will be left intact
in 5.1.
2006-03-05 00:38:54 +03:00
konstantin@mysql.com
951943c22a Undo the patch for Bug#16144 "mysql_stmt_attr_get type error",
it breaks binary compatibility. The patch will be left intact
in 5.1. Warning: this changeset should be null-merged into 5.1.
A separate commit in order to push into the release clone of 
5.0.19.
2006-03-04 23:04:48 +03:00
monty@mysql.com
82b77cdd90 Fixes to embedded server to be able to run tests with it
(Needed for "list of pushes" web page and autopush)
2006-02-24 18:34:15 +02:00
msvensson@neptunus.(none)
e919f8e888 Merge neptunus.(none):/home/msvensson/mysql/bug14057/my50-bug14057
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-21 08:50:26 +01:00
msvensson@neptunus.(none)
56acf0a0c2 Bug#14057 mysql_ping() handles TCP and UNIX socket connections in different ways
- Retry the ping if reconnect is turned on and the error was CR_SERVER_LOST
2006-02-16 13:44:56 +01:00
msvensson@neptunus.(none)
12b23630db Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-15 20:16:33 +01:00
msvensson@devsrv-b.mysql.com
eb97818627 Bug#16143 mysql_stmt_sqlstate returns an empty string instead of '00000'
- Init sql_state in mysql_stmt_init
2006-02-15 13:45:03 +01:00
msvensson@neptunus.(none)
e486d81a52 Merge neptunus.(none):/home/msvensson/mysql/bug14013/my50-bug14013
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-02-13 10:56:45 +01:00
msvensson@neptunus.(none)
5000951ab4 Bug#14013 mysql_stmt_store_result() bombs if a cursor is open
- Add code to 'mysql_stmt_store_result' to allow it to be called on 
   a prepared statement with open server side cursor.
 - Add tests to mysql_client_test that uses 'mysql_stmt_store_result'
2006-02-10 14:50:29 +01:00
konstantin@mysql.com
98091b152a Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/opt/local/work/mysql-5.0-root
2006-02-02 18:17:18 +03:00
andrey@lmy004.
736faf4730 fix for bug #12744 (MYSQL_STMT operations cause seg fault after connection reset) 2006-02-01 20:35:16 +01:00
konstantin@mysql.com
d2bba04183 Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/opt/local/work/mysql-5.0-root
2006-01-18 15:15:09 +03:00
konstantin@mysql.com
19fd36e254 A fix and a test case for Bug#16144 "mysql_stmt_attr_get type error":
use the right type in mysql_stmt_attr_get
2006-01-17 23:19:43 +03:00
serg@serg.mylan
14f94dc0ca many warnings (practically safe but annoying) corrected 2006-01-03 17:54:54 +01:00
hf@deer.(none)
1311d4dc79 Merging 2005-08-04 16:27:53 +05:00
hf@deer.(none)
39ef54fd8e Fix for bug #12177 (errorlog file isn't closed)
4.1 version of the patch
2005-08-04 15:23:21 +05:00
monty@mysql.com
b3cbd0048f Cleanups during review of new code
Ensure mysql_close() is called if mysql_set_character_set() fails
2005-07-28 16:10:14 +03:00
jimw@mysql.com
d7fbff3ec5 Merge mysql.com:/home/jimw/my/mysql-5.0-5906
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-19 19:59:34 -07:00
georg@lmy002.wdf.sap.corp
21a88afeed minor fix (backport from 5.0) - changed function prototype/definition 2005-07-19 17:12:00 +02:00