Commit graph

126 commits

Author SHA1 Message Date
konstantin@mysql.com
0f1d024461 Porting of "buffered read" patch to 5.0 and post-review fixes.
The patch implements the idea suggested by Olaf van der Spek in 
thread "Client: many small reads?" (internals@lists.mysql.com).
Now small reads performed by the client library are buffered.
The buffering gives up to 2 times speedup when retrieving 
one-column tables.
2005-03-06 00:10:08 +03:00
patg@krsna.patg.net
4b7bc748ea WL #2094 Federated Storage Handler
This is the first changeset of suggested changes recommended in Kostja's 
review of my patch, 1.1846, which includes only functionality changes. 
Style changes/Documentation patch to follow.
2005-02-23 00:29:57 -08:00
patg@krsna.patg.net
e6352ee568 Merge 2005-02-20 14:20:05 -08:00
jani@ua141d10.elisa.omakaista.fi
3bc92ed9f5 Fixed Bug#7783, "mysql_free_result removes all resultsets (multi statements)". 2005-02-17 21:45:13 +02:00
patg@krsna.patg.net
0a48c5b5c2 WL# 2094
This patch contains all that my previous patch (1.1814) contained, with the addition of using cli_fetch_lengths for
handling binary data (Bar noted this on the review of 1.1814, Guilhem suggested using cli_fetch_lenghts by 
making available via removal of static in method definition and declaration in mysql.h, but
Konstantin had some reservations, but he said to commit the patch using this anyway,
and I suppose this can be discussed. I abandoned 1.1814 because Monty made a couple
fixes to my code as well as formatting changes, and I thought it would just be easier
to hand-edit my changes into a fresh clone and then make a patch. 

The reason for using cli_fetch_lengths is so that I can correctly get the length of
the field I am setting into the field. I was previously using 'strlen' but Bar pointed out this
won't correctly get the length of binary data and is also less effecient. Upon testing,
it was in fact verified that binary data in a blob table was being inserted correctly,
but not being retrieved correctly, all due to not having the correct value for the
field:

(*field)->store(row[x], strlen(row[x]), &my_charset_bin);

was changed to:

(*field)->store(row[x], lengths[x], &my_charset_bin);

lengths being a unsigned long pointer to the values of the field lengths from a 
MYSQL_ROW.

Since the server doesn't have the function "mysql_fetch_lengths" available, I tried 
to use "result->lengths", but this isn't set, so I finally successfully used 
cli_fetch_lenghts, which does give the correct lengths, and now the binary data gets
retrieved correctly.

I've also run the code through indent-ex and am using Brian's vimrc to ensure correct formatting!

This code passes the entire test suite, without any errors or warning on both my 
workstation and build.mysql.com
2005-02-06 09:40:07 -08:00
tomas@poseidon.ndb.mysql.com
c0b21df9ec Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2005-01-16 20:13:47 +01:00
serg@serg.mylan
8bea4729fc initialize mysql->charset in mysql_init 2005-01-16 16:38:38 +01:00
jimw@mysql.com
3d0e2e70c6 Merge 2005-01-11 05:10:08 +01:00
jimw@mysql.com
0d8bfc5f92 Replace all sprintf() calls with my_snprintf() in client.c. All of the
format strings (in all languages) already included field limits on the
specifiers, so this is just protection against future mistakes. (Bug #7556)
2005-01-09 02:19:42 +01:00
serg@sergbook.mysql.com
f472cec178 merged 2005-01-06 19:32:16 +02:00
paul@kite-hub.kitebird.com
913f505769 client.c:
Make multi-statements the preferred option name (to coincide
  with the renaming of the CLIENT_MULTI_RESULTS symbol to
  CLIENT_MULTI_STATEMENTS). Continue to allow multi-queries
  for backward compatibility.
2005-01-04 10:32:42 -06:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
wax@kishkin.ru
4788b15201 fix indentation
add space after comma
add space after equal
add comments in vio_close_shared_memory()
2004-12-23 16:04:40 +05:00
petr@mysql.com
0cca540502 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/cps/mysql/trees/mysql-5.0
2004-12-18 03:53:43 +03:00
petr@mysql.com
299a2cbeb3 BUG#7384 IM fails to compile on Solaris.
Solaris doesn't define INADDR_NONE macro. This resulted in compilation
failure. (advanced fix)
2004-12-18 03:21:20 +03:00
konstantin@mysql.com
7055fc5122 Truncations patch: a post-review fix. 2004-12-18 00:17:25 +03:00
wax@kishkin.ru
0c8a78cca1 BUG#6056
(continue)
added event_conn_closed
replaced WaitForSingleObject on WaitForMultipleObjects
inserted a check in vio_close()
added SetEvent() for event_conn_closed
2004-12-14 19:24:19 +05:00
guilhem@mysql.com
1cbc904c59 Changing the default of libmysqlclient : it's now NO reconnection.
All our programs which use mysql_real_connect() and mysql_connect() are updated accordingly, though I have deliberately
made mysqlimport not reconnect anymore (already true for mysqldump >= 4.1.8).
All Connector devs have been warned about the change I'm doing here - which was agreed with Monty,
and fixes BUG#2555.
2004-12-09 14:44:10 +01:00
monty@mysql.com
75d0958dc3 After merge fixes
Fixed compiler warnings
Fix core dump when sending SIGHUP to mysqld
2004-12-06 17:15:54 +02:00
monty@mysql.com
47bbf768d4 Fixes after merge with 4.1
FOUND is not a reserved keyword anymore
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
2004-11-03 12:39:38 +02:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03:00
monty@mysql.com
5706a92f06 Added missing initialier 2004-10-26 19:59:33 +03:00
monty@mysql.com
6fbc869d18 A lot of fixes for prepared statements (PS):
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
2004-10-26 19:30:01 +03:00
monty@mishka.local
04c23808a8 Review of all code pushed since last review
Simple optimzations and cleanups
Removed compiler warnings and fixed portability issues
Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
Fixes for purify
2004-10-20 01:28:42 +03:00
konstantin@mysql.com
36548b10ca A fix and test case for Bug#5315 "mysql_change_user() doesn't free
prepared statements."
2004-09-22 15:50:07 +04:00
wax@mysql.com
da53ad65b0 Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1group_concat
2004-09-09 13:02:15 +06:00
paul@ice.snake.net
39a37691ac client.c:
sqlstat uninitialized in mysql_init().
2004-09-06 09:23:51 -05:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
vva@eagle.mysql.r18.ru
b076665030 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_4998/mysql-4.1
2004-08-24 20:18:39 +05:00
vva@eagle.mysql.r18.ru
ffacc77f22 more accurate processing of find_type result
(Bug #4998 --protocol doesn't reject bad values)
2004-08-24 20:13:31 +05:00
rburnett@build.mysql.com
680aa3d69d Bug #4629 Crash after SLAVE STOP, if the IO thread is in special state.
client.c:
  Removed call to clear_slave_vio in end_server().  Removed header declaration of clear_slave_vio
slave.cc:
  Removed clear_slave_vio function and added calls to thd->clear_active_vio before each call to end_server()
2004-08-23 18:55:12 +02:00
rburnett@build.mysql.com
3bd71971d6 Bug #4629 Crash after SLAVE STOP, if the IO thread is in special state.
client.c:
  Added call to clear_slave_vio inside end_server only when under Windows with repliaction
slave.cc:
  Added clear_slave_vio function for clearing active vio on THD under Windows replication
2004-08-21 05:07:32 +02:00
wax@mysql.com
589c485aa7 Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1group_concat
2004-08-19 19:41:30 +06:00
wax@kishkin.ru
5c872a7ebc Change information text in pipe and shared memory 2004-08-19 18:42:17 +06:00
hf@deer.(none)
c43d7d92dd Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.emb
2004-08-19 15:47:09 +05:00
serg@serg.mylan
3f2210c064 after merge fixes 2004-08-19 03:02:09 +02:00
hf@deer.(none)
94bfeb8393 Fixes for bugs in embedded library:
#4700 (Unsigned value returned as signed)
    just no appropriate checking
#4701 (Errors returned earlier than expected)
    all errors returned from send_command()
#4702 (Result isn't freed properly if there's no retrieval)
    flush_use_result has only 'client' version and should
    be made 'virtual'
2004-07-22 20:54:25 +05:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
paul@kite-hub.kitebird.com
c53dc62ece client.c, libmysql.c:
Symbol spelling change.
errmsg.c:
  Client error message edits.
errmsg.h:
  Two symbol spelling changes.
2004-06-30 22:18:41 -05:00
monty@mysql.com
e7a01ed3dc After merge fixes 2004-06-25 21:56:23 +03:00
monty@mysql.com
1388c164bc After merge fixes
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
2004-06-21 10:21:20 +03:00
konstantin@mysql.com
f08bbd1f12 assert.h needed for my_dbug.h now is included in my_dbug.h, where it for
some reason wasn't included before.
A lot of files cleaned up from #include <assert.h>
2004-06-10 23:58:39 +04:00
bar@bar.intranet.mysql.r18.ru
acbb3096b2 client.c:
Bug #3990  	`--with-charset' ./configure's switch doesn'taffect mysql client library.
2004-06-07 17:28:31 +05:00
monty@mysql.com
42c35d4569 Added authentication code that was missed in merge
Added new windows configuration
2004-06-03 01:55:47 +03:00
dlenev@brandersnatch.localdomain
03b705ff44 Made my_snprintf() behavior snprintf() compatible when printing %x arguments (it should
produce hex digits in lower case). (fixed version)

Replaced _dig_vec array with two _dig_vec_upper/_dig_vec_lower arrays.
Added extra argument to int2str function which controls case of digits you get.
Replaced lot of invocations of int2str for decimal radix with more optimized int10_to_str()
function.
Removed unused my_itoa/my_ltoa functions.
2004-05-27 17:54:40 +04:00
pem@mysql.com
dfd59e296e Merge 4.1 -> 5.0. 2004-04-07 19:07:44 +02:00
monty@mysql.com
42cf92ce37 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
2004-04-05 13:56:05 +03:00
jcole@mugatu.jcole.us
15cc92cacb Added LOCAL INFILE callback function support. 2004-03-22 19:58:49 -05:00
monty@mysql.com
75dda82526 Removed compiler warning
Changed _XXX to _MY_XXX to solve conflict problem on Mac OS X
2004-03-18 14:53:38 +02:00
konstantin@mysql.com
420c956d27 Intermediate commit of client library (cleanups + fixes of 3 items from
flaws list)
TODO: 
 * verify that no sequence of API calls produces SIGSEGV.
 That is, verify that mysql_stmt_init  -> mysql_stmt_fetch is OK,
 or mysql_stmt_prepare -> mysql_stmt_fetch_column is OK and sets
 meaningful error.
 * remove alloc_stmt_fields call
 * revise stmt->state codes and statement states.
 * there are other items in prepared statements 'to fix' document.

Done:
 - cleanups and comments
 - revision of prepared statement error codes.
 - mysql_stmt_prepare is now can always be called (that is, you can reprepare
   a statement)
 - new implementation of mysql_stmt_close and fetch cancellation
2004-03-16 01:04:04 +03:00