Commit graph

279 commits

Author SHA1 Message Date
konstantin@mysql.com
21957c423e Implement MySQL framework to support consistent read views in
cursors. This should fix Bug#11813 when InnoDB part is in 
(tested with a draft patch).
The idea of the patch is that if a storage engine supports
consistent read views, we open one when open a cursor,
set is as the active view when fetch from the cursor, and close
together with cursor close.
2005-07-20 20:02:36 +04:00
georg@lmy002.wdf.sap.corp
dc0645f7cf Merge grichter@bk-internal.mysql.com:/home/bk/mysql-4.1
into lmy002.wdf.sap.corp:/home/georg/work/mysql/prod/mysql-4.1
2005-07-20 13:32:43 +02:00
georg@lmy002.wdf.sap.corp
3468c8485d cs fixes from last commit 2005-07-20 13:31:45 +02:00
jimw@mysql.com
2a06e5756e Merge bk-internal:/home/bk/mysql-5.0
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-19 19:59:32 -07:00
jimw@mysql.com
63c6ece728 Cleanups after merge from 4.1. 2005-07-19 16:32:38 -07:00
konstantin@mysql.com
14344b658a A fix and a test case for Bug#10760 and complementary cleanups.
The idea of the patch
is that every cursor gets its own lock id for table level locking.
Thus cursors are protected from updates performed within the same 
connection. Additionally a list of transient (must be closed at
commit) cursors is maintained and all transient cursors are closed
when necessary. Lastly, this patch adds support for deadlock
timeouts to TLL locking when using cursors.
+ post-review fixes.
2005-07-19 22:21:12 +04:00
jimw@mysql.com
80c1c6b33f Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-19 11:05:49 -07:00
georg@lmy002.wdf.sap.corp
3e1ae2633a fix for bug#12001 2005-07-19 17:31:18 +02:00
monty@mishka.local
2278e0319c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.local:/home/my/mysql-5.0
2005-07-18 19:03:01 +03:00
reggie@linux.site
8f605428cb Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-4.1
into  linux.site:/home/reggie/bk/bug7142
2005-07-18 08:03:59 -06:00
monty@mishka.local
78c65b5adc Cleanups during review
Changed defaults option --instance to --defaults-group-suffix
Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
mysql_print_defaults now understands --defaults-group-suffix
Remove usage of my_tempnam() (not safe function)
if( -> if ( and while( to while (
2005-07-18 15:33:18 +03:00
georg@lmy002.wdf.sap.corp
912fef706a cs fixes 2005-07-16 09:19:23 +02:00
georg@lmy002.wdf.sap.corp
02599bdf27 minor fix for restoring the previous characterset in
test_client_character_set
2005-07-15 17:05:00 +02:00
georg@lmy002.wdf.sap.corp
8c4cd0427f Fix for bug #11037.
When all rows are fetched subsequent calls to mysql_stmt_fetch return
now MYSQL_NO_DATA instead of errorcode 1.
2005-07-15 14:30:47 +02:00
tomas@poseidon.ndb.mysql.com
b144b920a0 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-new
2005-07-15 14:14:59 +02:00
konstantin@mysql.com
1c142ee631 Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/opt/local/work/mysql-5.0-root
2005-07-14 20:02:34 +04:00
konstantin@mysql.com
a1270b65db A fix and a test case for Bug#11183 "mysql_stmt_reset() doesn't reset
information about error".
2005-07-14 20:02:33 +04:00
konstantin@mysql.com
3f28ad8eb7 Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/opt/local/work/mysql-5.0-root
2005-07-14 20:02:32 +04:00
ramil@mysql.com
be233935cc fix for #11808 backported. 2005-07-14 20:19:27 +05:00
konstantin@mysql.com
509531421c Implement MarkM optimization request to avoid redundnat packet exchange
in cursors.
2005-07-14 15:27:24 +04:00
konstantin@mysql.com
62b8e6fdd1 A fix and a test case for Bug#9735.
No separate typecode for MEDIUMTEXT/LONGTEXT is added, as we
have no sound decision yet what typecodes and for what types are
sent by the server (aka what constitutes a distinct type in MySQL).
2005-07-14 15:13:23 +04:00
konstantin@mysql.com
e0b9e35484 Post-merge fixes. 2005-07-14 01:19:52 +04:00
ramil@mysql.com
6da9cf09c9 a fix (bug #11808: Test case 'mysql_client_test' fails in assert 'double_data == o_double_data') 2005-07-13 11:49:54 +05:00
reggie@linux.site
8a68788c39 Bug #7142 Show Fields from fails using Borland's dbExpress interface
The problem here is that columns that have an especially long type 
such as an enum type with many options would be longer than 40 chars
but the type column returned from show columns always was defined
as varchar(40).

This is fixed in 5.0 using info schema.
2005-07-12 08:35:30 -06:00
georg@lmy002.wdf.sap.corp
55d413252f changes after Bar's review: renamed CHARACTER_SET to MY_CHARSET_INFO 2005-07-12 10:58:21 +02:00
georg@lmy002.wdf.sap.corp
ceba4ee9cd New attempt after Bar's review
Added api function mysql_get_character_set_info which provides
information about the current client character set.
2005-07-12 10:31:43 +02:00
jimw@mysql.com
485f2c93c2 Merge mysql.com:/home/jimw/my/mysql-5.0-10214
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-05 09:47:20 -07:00
konstantin@mysql.com
d8fef65119 tests/mysql_client_test.c
Add a test case for Bug#11656 "Server crash with mysql_stmt_fetch 
    (cursors)", the bug itself is no longer present.
2005-07-01 17:11:39 +04:00
konstantin@mysql.com
0efa6f86be A fix and a test case for Bug#11172 "mysql_stmt_attr_set
CURSOR_TYPE_READ_ONLY date/datetime filter server crash".
The fix adds support for Item_change_list in cursors (proper rollback
of the modified item tree).
2005-07-01 15:47:45 +04:00
konstantin@mysql.com
f60ebc4815 A fix and a test case for Bug#10794 "mysql_stmt_attr_set no
open cursor after mysql_stmt_execute" + post-review fixes.
The bug was caused by wrong flags in stmt->server_status on the client
side: if there was no cursor, the server didn't send server_status
flags to the client, and the old flags were used to set up the
fetch function of a statement. Consequently, stmt_read_row_from_cursor was
used when there was no cursor. The fix fixes the server to always
send server flags to the client.
2005-06-30 16:17:10 +04:00
konstantin@mysql.com
8b0cee88f0 A fix and a test case for Bug#10736 "mysql_stmt_attr_set
CURSOR_TYPE_READ_ONLY select within select".
The bug was caused by the reset of thd->mem_root to thd->main_mem_root in 
Item_subselect::exec, which in turn triggered too early free_root() for
data which was needed on subsequent fetches from a cursor.
This reset also caused a memory leak in stored procedures, as 
subsequent executions of instructions containing a subselect
were allocating memory in thd->main_mem_root, which is not freed
until the end of the entire SP, instead of the per-call mem_root,
which is freed in the end of execution of the instruction.
2005-06-28 20:52:15 +04:00
jimw@mysql.com
3ccb90c085 Make status of NO_BACKSLASH_ESCAPES mode known to the client so
it can use it to switch to only quoting apostrophes by doubling
them when it is in effect. (Bug #10214)
2005-06-23 18:29:56 -07:00
konstantin@mysql.com
b875f7902d Fix a formatting bug and add a test for it. 2005-06-20 15:38:15 +04:00
konstantin@mysql.com
82f3120541 Rewrite the test for Bug#9992. 2005-06-19 17:31:20 +04:00
konstantin@mysql.com
021c2d45cb Fix the test for Bug#11111: coding style, a compiler warning, don't
use tabs.
2005-06-19 17:02:31 +04:00
konstantin@mysql.com
b3d977df10 Rename all prepared statements COM_ commands to prefix with COM_STMT_ 2005-06-17 23:26:25 +04:00
bell@sanja.is.com.ua
303dafc538 fix of BUG#11111 fix 2005-06-15 01:57:25 +03:00
evgen@moonbone.local
bff2fd8d7b Fix 11 "fetch from view returns wrong data"
Wrong method for creating temporary field was choosen, which results in
sending int field with int header but lonlong data.

Test case is added to mysql_client_test.c because client library is required
to test the bug.
2005-06-15 01:57:40 +04:00
konstantin@mysql.com
95e620485c A fix and test case for Bug#10729 "mysql_stmt_attr_set
CURSOR_TYPE_READ_ONLY". The bug was that we (me) don't perform proper
cleanups of the prepared statement when done fetching from a cursor.
Another patch.
2005-06-09 18:17:45 +04:00
serg@serg.mylan
34df99ab82 more than 64 indexes per table. bugfixes. bug#10995 2005-06-01 18:33:16 +02:00
gluh@eagle.intranet.mysql.r18.ru
26e9e13c26 Fix for bug #9992: mysql_next_result hangs on error
set net->no_send_error to 0 before execution of each element of
    multiquery statement to provide the sending of error to client
2005-05-27 18:01:09 +05:00
monty@mysql.com
c1b512fad3 Change update_auto_increment to return 1 if get_auto_increment() returned ~(ulonglong)
This makes it easier to give an error in the handler if there was a problem generating an auto-increment value
2005-05-18 10:41:35 +03:00
konstantin@mysql.com
f1916b87d2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-9643
2005-05-16 18:29:04 +04:00
konstantin@mysql.com
38d68559bf A fix and a test case for Bug#9643 " CURSOR_TYPE_SCROLLABLE dos not work"
- check on the client the unsupported feature and return 
an error message if it's been requested.
Additionally added API support for STMT_ATTR_PREFETCH_ROWS.
Post-review fixes.
2005-05-16 18:27:21 +04:00
monty@mysql.com
7d70579917 Fixed failing tests for not 32 bit intel machines
Fixed bug in mysql_stmt_fetch() when retrieving rows to return
2005-05-16 13:34:23 +03:00
konstantin@mysql.com
d0e24153b9 A fix and test case for Bug#9478 "mysql_stmt_attr_set mysql_stmt_execute"
(crash on attempt to re-execute a statement with an open cursor) + 
post-review fixes.
2005-05-12 11:16:12 +04:00
jimw@mysql.com
7bab94f36b Clean up merge from 4.1 2005-05-02 10:19:37 -07:00
monty@mysql.com
e16985ba15 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-04-30 09:37:07 +03:00
konstantin@mysql.com
6040b0abf6 A fix and a test case for Bug#9520 "SELECT DISTINCT crashes server
with cursor". The patch refactors do_select/sub_select
functions, which implement the nested loop algorithm, and reuses them to
fetch rows for cursors as well.
Pushing with view.test failing (--ps-protocol).
2005-04-30 09:54:35 +04:00
jimw@mysql.com
518f644204 Fix 'mysql_client_test' with embedded server. (Bug #9634) 2005-04-27 17:50:48 -07:00
monty@mysql.com
215be0264b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-04-27 17:19:32 +03:00
monty@mysql.com
69b813a901 mysqladmin extended-status now displays global status
Fixed problem with NULL in VARCHAR/BLOB keys for multi-part keys where VARCHAR/BLOB is first part
2005-04-27 17:16:08 +03:00
georg@lmy002.wdf.sap.corp
1cbe701d78 Fix for verification tests: loss of decimal places should not
return an error
2005-04-12 08:51:26 +02:00
monty@mysql.com
5ba3f707f7 Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly
Fix that mysql.proc works with new VARCHAR fields
Give warnings for wrong zero dates
2005-04-04 16:43:25 +03:00
bar@eagle.intranet.mysql.r18.ru
97b5cbba41 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into eagle.intranet.mysql.r18.ru:/home/bar/mysql-5.0
2005-03-25 17:35:37 +04:00
bar@mysql.com
0a72d12deb mysql_client_test.c:
Don't run GBK test if not GBK support was compiled.
2005-03-25 17:30:51 +04:00
konstantin@mysql.com
a8c1316c6b Manual merge 2005-03-24 15:17:39 +03:00
konstantin@mysql.com
fd54ee4539 Fixes and test cases for Bug#8880 "Commands out of sync error with cursors"
and Bug#9159 "Server crash during mysql_stmt_close".
The patch adds support for single-row result sets in cursors.
2005-03-24 15:12:53 +03:00
konstantin@mysql.com
223bf565af Add the test case for Bug#8722 "prepared statement with view crashes
server" to the test suite, the bug is no longer repeatable.
2005-03-24 00:48:16 +03:00
konstantin@mysql.com
8ed6b8f82c Cleanup, remove some -ansi -pedancit warnings (mysql_client_test.c) 2005-03-19 18:16:38 +03:00
jimw@mysql.com
5ff77dfb54 Fix 64-bit issue with mysql_client_test. (Bug #8047) 2005-03-16 16:29:43 -08:00
monty@mysql.com
7e5f74f8f2 Merge with global tree 2005-02-25 17:12:06 +02:00
monty@mysql.com
0a6b7aedb2 Remove compiler warnings and remove not used variables
(Found during build process)
2005-02-25 16:53:22 +02:00
bell@51.0.168.192.in-addr.arpa
a11369b999 Merge 2005-02-20 18:49:27 +02:00
jimw@mysql.com
7eb8c130f7 Merge 2005-02-17 16:16:58 -08:00
jimw@mysql.com
45d8283f1a Merge 2005-02-17 13:52:39 -08:00
jimw@mysql.com
e2291bdc7e Only escape the first character in a sequence of bytes that appears to be
a multibyte character, but was not a valid multibyte character. Refinement
of fix for Bug #8378.
2005-02-15 11:31:01 -08:00
bell@sanja.is.com.ua
6da6c5be0c fixed SP processing for mysql_list_fields() command (BUG#6814) 2005-02-13 21:47:00 +02:00
konstantin@mysql.com
957beb9794 Merge mysql.com:/home/kostja/work/mysql-4.1-root
into mysql.com:/home/kostja/work/mysql-5.0-root
2005-02-10 18:31:02 +03:00
konstantin@mysql.com
36c992b264 Follow-up for bug#7990 2005-02-10 18:24:26 +03:00
konstantin@mysql.com
6054f8140c Merge mysql.com:/home/kostja/work/mysql-4.1-root
into mysql.com:/home/kostja/work/mysql-5.0-root
2005-02-10 17:53:06 +03:00
konstantin@mysql.com
4b2b327dcc A fix and test case for Bug#7990 "mysql_stmt_close doesn't
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.
2005-02-10 17:41:54 +03:00
konstantin@mysql.com
7d735c7207 manual merge 2005-02-10 16:58:02 +03:00
konstantin@mysql.com
016544df22 A fix and test case for Bug#8330 "mysql_stmt_execute crashes" (libmysql). 2005-02-10 14:56:20 +03:00
jimw@mysql.com
5bb39302ab When escaping a string in a multi-byte character set, escape all bytes of
a character that appears to be a multi-byte character based on its first
byte, but is not actually a valid multi-byte character. (Bug #8378)
2005-02-09 16:14:13 -08:00
hf@deer.(none)
b94a482ee9 Precision Math implementation 2005-02-09 02:50:45 +04:00
jimw@mysql.com
d11081bd6f Merge 2005-01-24 13:48:48 -08:00
serg@serg.mylan
c33f1b6e63 Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-01-24 19:45:15 +01:00
lenz@mysql.com
9675b0698f - renamed client_test -> mysql_client_test
- 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)
2005-01-20 16:25:38 +01:00
Renamed from tests/client_test.c (Browse further)