Commit graph

150 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
joerg@mysql.com
f5e0cf8e51 Changed C++ style comments to C style, bug#7665. 2005-01-04 17:21:55 +01:00
monty@mysql.com
309b1a2b6c Merge with 4.1 tree to get fix for INSERT IGNORE ... ON DUPLICATE KEY 2005-01-03 23:04:52 +02:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
dlenev@brandersnatch.localdomain
cd98fcf4e9 Merged fixes for bug #7297 "Two digit year should be interpreted
correctly even with zero month and day" and bug #7515 "from_unixtime(0)
now returns NULL instead of the Epoch" into 4.1 tree.
2004-12-30 23:44:42 +03: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
konstantin@mysql.com
7216594f4f Data truncation reporting implementation (libmysql) + post review
fixes. Still to do: 
-  deploy my_strtoll10 in limbysql.c
- add mysql_options option to switch MYSQL_DATA_TRUNCATED on and off.
2004-12-16 03:15:06 +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
serg@serg.mylan
2d3dd65cc1 merged 2004-11-20 18:36:41 +01:00
dlenev@mysql.com
cb7e272e46 Manual merge of fix for bug #6266 "Invalid DATETIME value is not handled
properly" with main tree.
2004-11-19 18:35:36 +03:00
dlenev@brandersnatch.localdomain
b02f5aa692 Fix for bug #6266 "Invalid DATETIME value is not handled properly".
In server we assume that datetime values stored in MYSQL_TIME struct
are normalized (and year is not greater than 9999), so we should 
perform range checks in all places then we convert something to
MYSQL_TIME.
2004-11-15 15:44:29 +03:00
monty@mysql.com
addd1a0da8 Merge with 4.1 2004-11-12 19:58:24 +02:00
monty@mysql.com
e9c3887b58 After merge fixes 2004-11-12 17:44:17 +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
konstantin@mysql.com
f96d99eba1 A fix and test case for Bug#6096 "field.max_length is always zero for
numeric columns (stmt_resultset_metadata)"
2004-10-27 23:46:22 +04: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
konstantin@mysql.com
e546d901ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/work/mysql-4.1-6049
2004-10-20 16:45:09 +04: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
33fb5ab61b A fix and test case for Bug#6049 "Loss of sign when using prepared
statements and negative time/date values". 
The bug was in wrong sprintf format used in the client library.
The fix moves TIME -> string conversion functions to sql-common and
utilized them in the client library.
2004-10-16 00:12:59 +04:00
monty@mishka.local
f2941380c4 Strict mode & better warnings
Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
Added checking of date/datetime fields.
If strict mode, give error if we have not given value to field without a default value (for INSERT)
2004-09-28 20:08:00 +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
konstantin@mysql.com
2f191db2b1 A fix and test case for Bug#4231 "Wrong result with MYSQL_TIME
parameters": when unpacking binary time recieved from client, handle
the case when length is 0: it means all MYSQL_TIME members are zero.
2004-09-02 20:16:01 +04: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
dlenev@brandersnatch.localdomain
577d9b6ff2 Fixed windows-specific warning about undeclared localtime_r() in my_time.c.
We have to include my_pthread.h since it is the place where localtime_r() is declared 
on platforms where this function is missing.
2004-08-24 13:53:02 +04: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