Commit graph

604 commits

Author SHA1 Message Date
unknown
4ba94cc3f9 After merge fixes 2004-10-20 17:28:40 +03:00
unknown
560d7bcdd0 Merge with 4.0
BitKeeper/etc/logging_ok:
  auto-union
Docs/Support/texi2html:
  Auto merged
innobase/trx/trx0rec.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
myisam/myisampack.c:
  Auto merged
mysql-test/t/innodb-lock.test:
  Auto merged
mysys/thr_lock.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/sql_acl.cc:
  Keep old code
2004-10-20 16:24:28 +03:00
unknown
7c20b13288 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/work/mysql-4.1-6049


libmysql/libmysql.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
tests/client_test.c:
  Auto merged
2004-10-20 16:45:09 +04:00
unknown
8fe8912f4c A fix and test case for bug#6058 "Prepared statements return '0000-00-00'
(date) as empty  string": preserve time type (date, time, or datetime) for
zero dates, times, and datetimes.


libmysql/libmysql.c:
  A fix for bug#6058 "Prepared statements return '0000-00-00' (date) as empty
   string": preserve time type (date, time, or datetime) for zero 
  dates, times, and datetimes.
tests/client_test.c:
  A test case for Bug#6058, the existing tests required some adjustments too.
2004-10-20 16:43:36 +04:00
unknown
95f0e39a38 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0


libmysql/libmysql.c:
  Auto merged
2004-10-20 11:25:46 +03:00
unknown
ed8ec2cf16 Code cleanups (done during review of new code)
Rename innodb_table_locks_old_behavior -> innodb_table_locks
Set innodb_table_locks to off by default to get same behaviour as in MySQL 4.0.20
(This means that Innodb ignore table locks by default, which makes it easier to combine MyISAM and InnoDB to simulate a transaction)


libmysql/libmysql.c:
  Use ulong instead of unsigned long
  Reuse _dig_vec()
myisam/myisampack.c:
  Simplify code
mysql-test/r/innodb-lock.result:
  new test case
mysql-test/t/innodb-lock.test:
  new test case
sql/ha_innodb.cc:
  Rename innodb_table_locks_old_behavior -> innodb_table_locks
sql/mysqld.cc:
  Rename innodb_table_locks_old_behavior -> innodb_table_locks
  Set this off by default to get same behaviour as in MySQL 4.0.20
sql/set_var.cc:
  Rename innodb_table_locks_old_behavior -> innodb_table_locks
sql/sql_class.h:
  Rename innodb_table_locks_old_behavior -> innodb_table_locks
2004-10-20 11:24:08 +03:00
unknown
2da1cbd97d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mishka.local:/home/my/mysql-4.1


client/mysqlimport.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2004-10-20 02:55:03 +03:00
unknown
4736d0fe99 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


client/mysqlimport.c:
  Remove not used variable
client/mysqltest.c:
  Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
  Simplified code
  Remove usage of sprintf("%llu") as this is not portable
include/mysql.h:
  Added mysql_embedded() to be able to easily check if we are using the embedded server
innobase/srv/srv0start.c:
  Don't use memcmp() when using purify (to avoid false warnings)
libmysql/libmysql.c:
  Added mysql_embedded() to be able to easily check if we are using the embedded server
libmysql/libmysql.def:
  Added mysql_embedded() to be able to easily check if we are using the embedded server
myisam/myisam_ftdump.c:
  Remove compiler warning
myisam/myisamchk.c:
  Remove compiler warning
myisam/rt_test.c:
  #ifdef not used code
mysys/hash.c:
  Remove compiler warning (from last push)
mysys/my_gethwaddr.c:
  Remove compiler warning
ndb/src/ndbapi/ndberror.c:
  #ifdef not used code
regex/regcomp.c:
  Remove not used code
regex/regcomp.ih:
  Remove not used code (to remove compiler warnings)
sql-common/client.c:
  Remove compiler warnings
sql/field.cc:
  Simple optimization
sql/ha_innodb.cc:
  Rename mysql_embedded -> mysqld_embedded
sql/item.cc:
  Fix comments
  Move variables first on block
  Remove else after return
  Simple optimizations
  (no logic changes)
sql/item_cmpfunc.cc:
  Added comment
sql/mysql_priv.h:
  Rename mysql_embedded -> mysqld_embedded
sql/mysqld.cc:
  Rename mysql_embedded -> mysqld_embedded
sql/sql_acl.cc:
  Added comments
  simple optimization
  Fixed 'very unlikely' bug when doing REVOKE ALL PRIVILEGES
sql/sql_select.cc:
  More comments
  Simple optimization
sql/sql_show.cc:
  Simple changes to make similar code similar
  More comments
sql/sql_string.cc:
  Trivial optimization and better code layout
strings/Makefile.am:
  Change xml.c to use bcmp to avoid warnings from purify
strings/xml.c:
  Change xml.c to use bcmp to avoid warnings from purify
tests/client_test.c:
  Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
2004-10-20 01:28:42 +03:00
unknown
30d33c7132 libmysql.c:
Add note to mysql_hex_string() comment.


libmysql/libmysql.c:
  Add note to mysql_hex_string() comment.
2004-10-19 07:44:20 -05:00
unknown
2428fb5c2b libmysql.c:
New function mysql_hex_string()


libmysql/libmysql.c:
  New function mysql_hex_string()
2004-10-19 09:50:47 +05:00
unknown
037f07006d A fix (bug #6057: Data Type Problem in manager.c).
libmysql/manager.c:
  Code clean-up: as my_net_read() returns ulong value we should use ulong here.
2004-10-18 12:43:52 +05:00
unknown
9aefc403f9 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.


include/my_time.h:
  Declarations for new functions shared between the client and server.
libmysql/libmysql.c:
  Fix for Bug#6049 "Loss of sign when using prepared statements and negative
  time/date values": use the same function as the server to convert
  date/time/datetime values to strings.
sql-common/my_time.c:
  Implementation of my_{time,datetime,date,TIME}_to_str: it's
  needed by the client library, so it should be shared.
sql/field.cc:
  Don't create String object if it's not needed.
sql/item.cc:
  Don't create String object if it's not needed: TIME_to_string was
  moved to my_TIME_to_str, with different arguments.
sql/item_timefunc.cc:
  Don't create String object if it's not needed.
sql/mysql_priv.h:
  TIME_to_string and MAX_DATE_REP_LENGTH moved to the client library.
  MAX_DATE_REP_LENGTH was renamed to MAX_DATE_STRING_REP_LENGTH to not 
  conflict with the same name in libmysql.c
sql/protocol.cc:
  Don't create String object if it's not needed.
sql/time.cc:
  Implementation of my_{time,date,datetime,TIME}_to_str moved to my_time.c
  shared between the client and the server.
tests/client_test.c:
  A test case for Bug#6049.
2004-10-16 00:12:59 +04:00
unknown
77d7398e0b Fix for Bug#6024 "Test "client_test" fails in 4.1.6-gamma build (1)":
let's not assume that char is signed (its signedness is not defined).
The server was also affected by the wrong typedef.


include/my_global.h:
  Fix for Bug#6024 "Test "client_test" fails in 4.1.6-gamma build (1)":
  let's not assume that char is signed (its signedness is not defined).
libmysql/libmysql.c:
  Fix for Bug#6024 "Test "client_test" fails in 4.1.6-gamma build (1)":
  let's not assume that char is signed (its signedness is not defined).
2004-10-15 03:54:40 +04:00
unknown
e8bc4e16e0 libmysql/libmysql.c:
Fix for Bug#6025 "Test "client_test" fails in 4.1.6-gamma build (2)".
 No need for a test case, the bug is covered already.


libmysql/libmysql.c:
  Fix for Bug#6025 "Test "client_test" fails in 4.1.6-gamma build (2)":
  the bug was in assignments like:
    *row+= read_binary_time(tm, row);
  which makes two assingments without a sequence point (read_binary_*
  changes *row too) => undefined behaviour.
  The fix changes read_binary_{time,date,datetime} signature to get
  rid of any probability to fall into the same trouble in future.
2004-10-15 02:52:52 +04:00
unknown
cd1cd0df72 Activating the new string->number conversion functions 2004-09-25 17:20:50 +05:00
unknown
ccf52b4fd5 A fix and test case for Bug#5315 "mysql_change_user() doesn't free
prepared statements."


include/hash.h:
  New declaration for hash_reset() function. The old version was not used.
libmysql/client_settings.h:
  Declaration for mysql_detach_stmt_list().
libmysql/libmysql.c:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  add call to mysql_detach_stmt_list(prepared statements) to
  mysql_change_user(): all statements are freed by server, so client
  counterparts need to be marked as not usable.
mysys/hash.c:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  implementation of hash_reset(), which frees all hash elements
  and prepares the hash for reuse.
sql-common/client.c:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  implementation of mysql_detach_stmt_list(): zero connection pointer
  in given statement list, thus marking given statements as not usable.
sql/sql_class.cc:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  reset prepared statements map in THD::change_user().
sql/sql_class.h:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  implementation of Statement_map::reset().
  A little cleanup of ~Statement_map(): first empty names_hash, as st_hash
  has a free function, which will delete statements.
tests/client_test.c:
  A test case for bug #5315 "mysql_change_user() doesn't free prepared
  statements".
2004-09-22 15:50:07 +04:00
unknown
a2a0a61b20 libmysql.c:
Fix typos noticed while poking around in file.


libmysql/libmysql.c:
  Fix typos noticed while poking around in file.
2004-09-11 14:38:23 -05:00
unknown
1460e454d0 Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1group_concat


sql-common/client.c:
  Auto merged
2004-09-09 13:02:15 +06:00
unknown
d7a230677c A fix and test case for Bug#5194 "Bulk Insert Failures with Prepared
Statements": 
- fix a couple of net->buff overruns in libmysql,
- check in the server that statement parameter count is less than
  65535 (maximum value supported by prepared statements protocol).
 


libmysql/libmysql.c:
  Bug#5194 "Bulk Insert Failures with Prepared Statements":
  - clean up my_realloc_str()
  - ensure that net buffer has space when storing null bits and
    parameter typecodes.
sql/net_serv.cc:
  - set net->last_errno if packet is too big, even on client
    (Why was it ifdefed before?)
sql/sql_prepare.cc:
  Bug#5194 "Bulk Insert Failures with Prepared Statements":
  - if placeholder count is bigger than 65535, give error.
    We have only 2 bytes reserved for transferring placeholder count
    in 4.1 protocol.
  - can't add a proper error code and message in 4.1 because of
    possible merge difficulties."
tests/client_test.c:
  A test case for Bug#5194 "Bulk Insert Failures with Prepared 
  Statements".
2004-09-08 23:07:11 +04:00
unknown
411ef7d7b6 Small fixes to patch for #5371
libmysql/libmysql.c:
  Code trimmed
2004-09-07 16:33:39 +05:00
unknown
a1d960418c Fix for the bug #5371 (Prepared query converting float to string blows the
stack)
We just don't expect BIG buffer to be sent for just a double


libmysql/libmysql.c:
  We shouldn't fall if the buffer_length is bigger than 330
2004-09-07 14:30:53 +05:00
unknown
0c58737ad6 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.


include/my_time.h:
  Declaration for set_zero_time: a tiny piece of code, which I
  see no reason to not reuse.
libmysql/libmysql.c:
  set_zero_time implementation is now shared between client and
  server.
sql-common/my_time.c:
  set_zero_time implementation added.
sql/sql_prepare.cc:
  A fix 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.
tests/client_test.c:
  Test case for bug#4231 "Wrong result with MYSQL_TIME parameters"
2004-09-02 20:16:01 +04:00
unknown
ce91cbb867 A short fix and test case for Bug#5126
"Mediumint and PS problem": just treat mediumint as long.


libmysql/libmysql.c:
  A short fix for bug #5126 "Mediumint and PS problem": just
  treat mediumint as long, as it's sent just like long.
tests/client_test.c:
  A test case for bug#5126
2004-08-26 22:47:34 +04:00
unknown
717fc0b01e Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


libmysql/libmysql.c:
  Auto merged
mysql-test/r/endspace.result:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
2004-08-26 18:27:33 +03:00
unknown
44b2807e4b Portability fixes
Fixed bug in end space handle for WHERE text_column="constant"


heap/hp_hash.c:
  Optimzations (no change of logic)
libmysql/libmysql.c:
  Added missing casts (portability fix)
myisam/mi_key.c:
  Changed macro to take arguments and not depend on local variables
  Simple indentation fixes ?
mysql-test/r/connect.result:
  Added test for setting empty password
mysql-test/r/create_select_tmp.result:
  TYPE -> ENGINE
mysql-test/r/ctype_utf8.result:
  Combine drop's
mysql-test/r/endspace.result:
  Added more tests to test end space behaviour
mysql-test/r/having.result:
  Added missing DROP TABLE
mysql-test/r/type_blob.result:
  Added more tests to ensure that fix for BLOB usage is correct
mysql-test/r/type_timestamp.result:
  Add test from 4.0
mysql-test/t/connect.test:
  Added test for setting empty password
mysql-test/t/create_select_tmp.test:
  TYPE -> ENGINE
mysql-test/t/ctype_utf8.test:
  Combine drop's
mysql-test/t/endspace.test:
  Added more tests to test end space behaviour
mysql-test/t/having.test:
  Added missing DROP TABLE
mysql-test/t/type_blob.test:
  Added more tests to ensure that fix for BLOB usage is correct
mysql-test/t/type_timestamp.test:
  Add test from 4.0
sql/field.cc:
  Removed not used variable
  Portability fix (cast)
  Simplified Field_str::double()
  Simple indentation cleanups
sql/field.h:
  Removed not needed class variable
sql/item_cmpfunc.cc:
  Indentation fix
sql/item_strfunc.cc:
  Use on stack variable for Item_str_func::val() instead of str_value.
  This makes it safe to use str_value inside the Item's val function.
  Cleaned up LEFT() usage, thanks to the above change
sql/item_sum.cc:
  Indentation cleanups
sql/protocol.cc:
  Added missing cast
sql/sql_acl.cc:
  Indentatin cleanups.
  Added missing cast
  Simple optimization of get_sort()
sql/sql_select.cc:
  Don't use 'ref' to search on text field that is not of type BINARY (use 'range' instead).
  The reson is that for 'ref' we use 'index_next_same' to read the next possible row. 
  For text fields, rows in a ref may not come in order, like for 'x', 'x\t' 'x ' (stored in this order) which causes a search for 'column='x ' to fail
sql/tztime.cc:
  Simple cleanup
strings/ctype-bin.c:
  Comment fixes
strings/ctype-mb.c:
  Changed variable names for arguments
2004-08-26 18:26:38 +03:00
unknown
7dfdfa9fa3 Cleanup. 2004-08-25 17:20:12 +04:00
unknown
2e09e96b05 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.emb


include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
2004-08-20 10:50:23 +05:00
unknown
0ed563e801 Fixed symbol name problems that made build fail.
include/mysql.h:
  Fixed symbol name change.
include/mysql_com.h:
  Reverted parts of previous changeset (name changes) to make it build.
libmysql/libmysql.c:
  Fixed symbol name change.
sql/sql_parse.cc:
  Fixed symbol name change.
2004-08-19 20:48:00 +02:00
unknown
c325b0478d Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1group_concat


libmysql/errmsg.c:
  Auto merged
sql-common/client.c:
  Auto merged
2004-08-19 19:41:30 +06:00
unknown
3381fae281 Change information text in pipe and shared memory
libmysql/errmsg.c:
  Changed texts of shared memory and pipe
sql-common/client.c:
  remove information about host from pipe and change assigment
  of host_info in shared_memory
2004-08-19 18:42:17 +06:00
unknown
37c025e6f9 Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.emb


libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-08-19 15:47:09 +05:00
unknown
945625ebaa manually merged
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-mytest-old.c~5237697b30cf59e4:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/mysql-copyright:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
  Auto merged
VC++Files/innobase/innobase.dsp:
  Auto merged
client/mysql.cc:
  Auto merged
include/my_global.h:
  Auto merged
innobase/dict/dict0crea.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0log.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0dbg.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/ut/ut0dbg.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
libmysql/Makefile.am:
  Auto merged
libmysql/Makefile.shared:
  Auto merged
libmysql/conf_to_src.c:
  Auto merged
libmysql/dll.c:
  Auto merged
libmysql/errmsg.c:
  Auto merged
libmysql/manager.c:
  Auto merged
libmysql_r/Makefile.am:
  Auto merged
myisam/mi_key.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/having.result:
  Auto merged
mysql-test/r/heap.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/t/having.test:
  Auto merged
mysql-test/t/heap.test:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/type_uint.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/polish/errmsg.txt:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
2004-08-18 19:57:55 +02:00
unknown
70f0a36dbd Fix for BUG#5038 "Cannot disable LOAD DATA LOCAL INFILE from client"
(specific to 4.1): don't put CLIENT_LOCAL_FILES in
CLIENT_CAPABILITIES; it would make mysql_options(CLIENT_LOCAL_FILES,0)
have no effect.


libmysql/client_settings.h:
  Don't enforce that we client have CLIENT_LOCAL_FILES;
  indeed this CLIENT_CAPABILITIES is used as minimum
  client options in mysql_real_connect(), which is *after*
  mysql_options(). Having CLIENT_LOCAL_FILES in
  CLIENT_CAPABILITIES defeats disabling it in mysql_options().
2004-08-17 17:33:21 +02:00
unknown
d13c9acff8 Fix for BUG#5073 "--disable-local-infile has no effect if client reads it with MYSQL_READ_DEFAULT":
that was a forgotten '~' probably.


libmysql/libmysql.c:
  When we read "disable-local-infile" from the option file specified by mysql_options(MYSQL_READ_DEFAULT_FILE),
  we must take CLIENT_LOCAL_FILES down (it was probably a forgotten '~').
2004-08-17 14:12:37 +02:00
unknown
e1ae7e4860 Fixing typos in big comment (libmysql):
you need to check in to find out another couple of typos


libmysql/libmysql.c:
  Typos in comments fixed.
2004-08-10 01:16:19 -07:00
unknown
362b1fb7f9 Comments in libmysql (prepared statements API)
libmysql/libmysql.c:
  Comments to mysql_stmt_bind_param(). A couple of typos in existing 
  comments fixed.
2004-08-10 01:08:53 -07:00
unknown
901c1db483 libmysql.c:
Can't return value from void function


libmysql/libmysql.c:
  Can't return value from void function
2004-08-06 18:03:27 +02:00
unknown
06cd2efc2e - rename: EXCEPTIONS->EXCEPTIONS-CLIENT 2004-08-05 17:05:11 +02:00
unknown
7b61477461 - Fixed libmysql license texts: added reference to the FLOSS
EXCEPTIONS file and amended the GPL text as requested by Zak


libmysql/Makefile.am:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql/Makefile.shared:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql/conf_to_src.c:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql/dll.c:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql/errmsg.c:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql/get_password.c:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql/libmysql.c:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql/manager.c:
   - Fixed license text, added reference to the EXCEPTIONS file
libmysql_r/Makefile.am:
   - Fixed license text, added reference to the EXCEPTIONS file
2004-08-05 11:59:17 +02:00
unknown
f47a0b9f29 Cleanup in libmysql.
libmysql/libmysql.c:
  Cleanup of conversion part of libmysql (prepared statements protocol):
  - now we have basic support for any conversion sequence:
    when we don't implement direct conversion of given value to requested 
    buffer type (i.e. time -> double, or the other way around) we
    first convert i.e. time -> string and then call string -> double 
    conversion.
    param->offset is now handled only in one place.
  - conversion functions renamed from send_data_{string, long, double}
    to fetch_{string,long,double}_with_conversion. Don't be confused
    with strange diff for send_data_long: I had to move send_data_string
    before all other sends as it's used inside thesm. (Shall we have
    a forward declaration instead?-)
  - a little cleanup in read_binary_{date,time,datetime} - now type of
    date value is set inside these functions, so we can be sure
    that we always return fully filled MYSQL_TIME structure to the user
  - float -> string conversion is fixed to honor param->precision. 
    This is a step forward in fixing bug#4172
tests/client_test.c:
  test fix: now libmysql always sets MYSQL_TIME::time_type field.
  We need to set these fields in the test as later _in values are compared
  with canonical by plain memcmp.
2004-08-05 02:43:18 -07:00
unknown
108864ed3b WL#1518, "make bundled zlib usable for unix builds":
required autotools macro written and deployed in all apropriate Makefile.ams.
Use cases checked:
- linux, standard location of zlib, no ndb
- linux, standard locatoin of zlib, with ndb
- linux, non-standard location of zlib, no ndb
- hpux11, use of bundled zlib, no ndb 
The only non-checked case is non-standard location of zlib (or use of bundled
zlib) + ndb. I wasn't able to check it as ndb/ just won't compile on beasts 
like AIX52 or HPUX11, where such a check is possible. It didn't compile 
there before as these systems dont't have installed zlib, so nothing got broken ;)


Makefile.am:
  WL#1518 "make bundled zlib usable for unix builds", part 2:
  - zlib dir should be built only if there is no system zlib available;
    with introducing of DIST_SUBDIRS goal, os2, BUILD and SSH now only entered
    if make dist
acinclude.m4:
  WL#1518, "make bundled zlib usable for unix builds":
  - actual implementation of the check for various zlib usage options
configure.in:
  WL#1518, "make bundled zlib usable for unix builds":
  - MYSQL_CHECK_ZLIB_WITH_COMPRESS deployed
libmysql/Makefile.am:
  WL#1518, "make bundled zlib usable for unix builds":
  - support for non-standard zlib include dir added
libmysql_r/Makefile.am:
  WL#1518, "make bundled zlib usable for unix builds":
  - support for non-standard zlib include dir added
libmysqld/Makefile.am:
  WL#1518, "make bundled zlib usable for unix builds":
  - support for non-standard zlib include dir added
myisam/Makefile.am:
  WL#1518, "make bundled zlib usable for unix builds":
  - support for non-standard zlib binary dir added
mysys/Makefile.am:
  WL#1518, "make bundled zlib usable for unix builds":
  - support for non-standard zlib include dir added
sql/Makefile.am:
  WL#1518, "make bundled zlib usable for unix builds":
  - support for non-standard zlib include dir and library dir added
tools/Makefile.am:
  WL#1518, "make bundled zlib usable for unix builds":
  - support for non-standard zlib include dir added
  - copyright added
2004-07-24 03:30:11 -07:00
unknown
2cd7e4cdef 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'


include/mysql.h:
  flush_use_result 'virtual' method added to MYSQL (#4701)
include/sql_common.h:
  no flush_use_result() now (#4702)
libmysql/libmysql.c:
  call of the flush_use_result changed (#4702)
libmysqld/lib_sql.cc:
  now errors returned from emb_advanced_command() or from emb_read_rows()
  depending on if number of returned fields is not 0 (#4701)
  emb_flush_use_result() implementation (#4702)
sql-common/client.c:
  cli_flush_use_result() implementation (#4702)
sql/sql_prepare.cc:
  unsigned flag now checked (#4700)
2004-07-22 20:54:25 +05:00
unknown
f1d8676c2d - fixed tabbing and added several missing symbols (required for
linking with PHP5) (thanks to Georg Richter for the patch)
2004-07-13 13:50:06 +02:00
unknown
b694101fce client.c, libmysql.c:
Symbol spelling change.
errmsg.c:
  Client error message edits.
errmsg.h:
  Two symbol spelling changes.


include/errmsg.h:
  Two symbol spelling changes.
libmysql/errmsg.c:
  Client error message edits.
libmysql/libmysql.c:
  Symbol spelling change.
sql-common/client.c:
  Symbol spelling change.
2004-06-30 22:18:41 -05:00
unknown
0193768acd Reword some client error messages. 2004-06-29 12:28:45 -05:00
unknown
7b9a0dd948 Fix for compilation failure on high-byte-first platforms.
include/my_global.h:
  Fix for libmysql compilation failure on high-byte-first systems:
  - add typecasting to char * in shortstore, longstore, doublestore macros
libmysql/libmysql.c:
  - suppress possible warnings
2004-06-26 04:54:11 +04:00
unknown
c6e23c8549 Merge with 4.0 to get the latest bug patches to 4.1
BitKeeper/etc/ignore:
  added sql/mysql_tzinfo_to_sql
BitKeeper/etc/logging_ok:
  auto-union
acinclude.m4:
  Auto merged
extra/perror.c:
  Auto merged
include/mysql.h:
  Auto merged
innobase/include/mach0data.ic:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0log.ic:
  Auto merged
innobase/mem/mem0dbg.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
BitKeeper/deleted/.del-4.0.XX-gpl.ipr~f5909a9e9bd8094:
  Auto merged
BitKeeper/deleted/.del-Clients and Tools.fgl~bf0f776883577f02:
  Auto merged
BitKeeper/deleted/.del-Development.fgl~6392ce285e73f5fc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/innodb_cache.result:
  Auto merged
mysql-test/r/lowercase_table2.result:
  Auto merged
mysql-test/t/innodb_cache.test:
  Auto merged
mysql-test/t/lowercase_table2.test:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/handler.cc:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
libmysql/libmysql.c:
  Merge with 4.0
mysql-test/r/bdb.result:
  Merge with 4.0
mysql-test/r/range.result:
  Merge with 4.0
mysql-test/t/bdb.test:
  Merge with 4.0
mysys/hash.c:
  Merge with 4.0
scripts/mysql_install_db.sh:
  Merge with 4.0
sql/field.cc:
  Merge with 4.0
sql/field.h:
  Merge with 4.0
sql/mysql_priv.h:
  Merge with 4.0
sql/sql_handler.cc:
  Merge with 4.0
sql/sql_select.cc:
  Merge with 4.0
sql/sql_table.cc:
  Merge with 4.0
2004-06-25 20:13:05 +03:00
unknown
13b09b10df Type of MYSQL_BIND::buffer changed to void * 2004-06-25 17:04:33 +04:00
unknown
9dde418895 Fix for Bug#4030 "Client side conversion string -> date type doesn't
work (prepared statements)" and after-review fixes:
- str_to_TIME renamed to str_to_datetime to pair with str_to_time
- functions str_to_time and str_to_TIME moved to sql-common
- send_data_str now supports MYSQL_TYPE_TIME, MYSQL_TIME_DATE,
  MYSQL_TIME_DATETIME types of user input buffers.
- few more comments in the client library
- a test case added.


VC++Files/libmysql/libmysql.dsp:
  new file: my_time.c
VC++Files/libmysqld/libmysqld.dsp:
  new file: my_time.c
VC++Files/sql/mysqld.dsp:
  new file: my_time.c
include/Makefile.am:
  - mysql_time.h added to the list of installed client library headers
include/mysql.h:
  - declarations for MYSQL_TIME and enum_mysql_timestamp_type moved to 
  mysql_time.h, which is in shared use of client library and mysys.
libmysql/Makefile.shared:
  - my_time.lo added to the list of libmysql objects
libmysql/libmysql.c:
  Fix for bug#4030 "Client side conversion string -> date type doesn't work
   (prepared statements)" and cleanup.
  - added case labels for TIME/DATE/DATETIME types to send_data_str
  - comments for read_binary_{date,time,datetime}, fetch_result_*, fetch_results.
libmysqld/Makefile.am:
  - my_time.c added
sql-common/Makefile.am:
  - my_time.c added to the list of files included into source distribution.
sql/Makefile.am:
  my_time.c added to the list of mysqld sources.
sql/field.cc:
  - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
    MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/item.cc:
  - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
    MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/item_timefunc.cc:
  - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
    MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/mysql_priv.h:
  - added typedefs for TIME and timestamp_type
  - removed declarations for str_to_time and str_to_TIME (now this functions
    reside in mysys)
sql/mysqld.cc:
  - log_10_int moved to mysys (it's used by str_to_TIME and str_to_time)
  - enum values TIMESTAMP_{TIME,DATE,DATETIME} were renamed to
    MYSQL_TIMESTAMP_{TIME,DATE,DATETIME}
sql/set_var.cc:
  - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
    MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/set_var.h:
  - fixed timestamp_type usage to be compatible with typedef.
sql/sql_prepare.cc:
  - TIMESTAMP_{TIME,DATE,DATETIME} were renamed to
    MYSQL_TIMESTAMP_{TIME,DATE,DATETIME}
  - embedded library implementation of set_param_{time,date,datetime} is
  much simplier now, as MYSQL_TIME is the same as TIME.
sql/sql_yacc.yy:
  - s/\<TIMESTAMP_/MYSQL_TIMESTAMP/gc
sql/structs.h:
  - declarations for TIME and timestamp_type replaced with typedefs
  - str_to_datetime arguments moved to mysys headers
sql/time.cc:
  - str_to_time and str_to_TIME moved to mysys
  - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
    MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} as these names are now
    exported to client.
  - str_to_TIME renamed to str_to_datetime to pair with str_to_time
  - str_to_TIME_with_warn renamed accordingly
sql/tztime.cc:
  - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
    MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
tests/client_test.c:
  - a test case for Bug#4030 "Client side conversion string -> date type 
  doesn't work (prepared statements)"
2004-06-24 19:08:36 +04:00
unknown
3db93f8086 lower_case_table_names=2 (Keep case for table names) was not honored
with ALTER TABLE and CREATE/DROP INDEX. (Bug #3109)
Make net_buffer_length visible for mysql clients (Bug #4206)


include/mysql.h:
  Make net_buffer_length visible for mysql clients
libmysql/libmysql.c:
  Make net_buffer_length visible for mysql clients
mysql-test/mysql-test-run.sh:
  Don't give warning for some common 'safe' warnings
mysql-test/r/lowercase_table2.result:
  Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109)
mysql-test/t/lowercase_table2.test:
  Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109)
scripts/mysql_install_db.sh:
  Removed not used variable
sql/sql_table.cc:
  lower_case_table_names=2 (Keep case for table names) was not honored
  with ALTER TABLE and CREATE/DROP INDEX. (Bug #3109)
2004-06-23 16:44:34 +03:00
unknown
83698bab08 Fixes to make client_test run on 64 bit Sun: a bug in libmysql and
test suite fixed.


libmysql/libmysql.c:
  - fixed a bug in protocol -> host integer conversions in send_data_str
tests/client_test.c:
  Fixes to make client_test run on 64 bit Sun:
  - strlen() doesn't accept NULL input
  - Sun is high byte first, so we can't store bind 32-bit variables to 16-bit
  to MYSQL_TYPE_SHORT/TINY
2004-06-22 23:07:08 +04:00
unknown
028dfdb3f7 merge
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
include/my_global.h:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
innobase/fil/fil0fil.c:
  merge (Use heikki's code)
2004-06-21 10:24:40 +03:00
unknown
5777892b66 swapping lines to make gcc happy
libmysql/libmysql.c:
  fix to make autobuild happy.
2004-06-19 15:35:41 +02:00
unknown
227f223d6b Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-874


include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-06-18 23:51:15 +02:00
unknown
83f485968f API change: mysql_shutdown() now requires a 2nd argument, the shutdown level.
mysqld >=4.1.3 will however understand shutdown requests sent by clients <4.1.3.
And mysqld <4.1.3 will understand shutdown requests sent by clients >=4.1.3
(it will ignore the level). Those shutdown level are just PLACEHOLDERS now.
So this change is just to make the 4.1 API suitable before it is frozen. Later
we will actually implement the shutdown levels.


VC++Files/winmysqladmin/main.cpp:
  2nd argument to mysql_shutdown()
VC++Files/winmysqladmin/mysql.h:
  2nd argument to mysql_shutdown()
VC++Files/winmysqladmin/mysql_com.h:
  Several types of shutdown now.
include/mysql_com.h:
  SHUTDOWN_DEFAULT is now 0 instead of 255, this saves one test in sql_parse.cc
libmysql/libmysql.c:
  correcting mistake (how come that my tests still all worked with this? - should recheck, for curiosity).
sql/sql_parse.cc:
  with SHUTDOWN_DEFAULT==0, no need for testing packet_length.
2004-06-18 23:50:04 +02:00
unknown
7d52eabb39 Fixed some byte order bugs with prepared statements on machines with high-byte-first. (Bug #4173)
Fixed problem with NULL and derived tables (Bug #4097)
Cleanup of new pushed code


BitKeeper/etc/ignore:
  added mysql-test/ndb/ndbcluster
client/mysqltest.c:
  simple cleanup
innobase/os/os0file.c:
  fix for netware
libmysql/libmysql.c:
  Fixed some byte order bugs with prepared statements on machines with
  high-byte-first. (Bug #4173)
myisam/ft_boolean_search.c:
  Comment cleanup
myisam/mi_check.c:
  Removed not needed check (check is done in check_index())
myisam/mi_unique.c:
  crc must be of type ha_checksum.
myisam/myisamchk.c:
  Portability fix.
mysql-test/mysql-test-run.sh:
  Simple cleanup
mysql-test/r/subselect.result:
  Test problem with NULL and derived tables (Bug #4097)
mysql-test/t/subselect.test:
  Test problem with NULL and derived tables (Bug #4097)
sql/mysqld.cc:
  Remove not used defines
sql/sql_select.cc:
  Fixed problem with NULL and derived tables (Bug #4097)
  Indentation fixes
sql/sql_string.cc:
  Code cleanup
sql/sql_yacc.yy:
  Allow one to use DROP PREPARE ...
2004-06-18 03:02:29 +03:00
unknown
8764abf237 Merge mysql.com:/home/my/mysql-3.23 into mysql.com:/home/my/mysql-4.0
libmysql/libmysql.c:
  Auto merged
2004-06-18 02:48:01 +03:00
unknown
b57fe1e26a Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-3.23
into mysql.com:/home/mysql_src/mysql-3.23


libmysql/libmysql.c:
  Auto merged
2004-06-17 15:41:54 +02:00
unknown
414250c4f2 Fix for BUG#4017 "mysql_real_connect buffer overflow"
libmysql/libmysql.c:
  safety fix
2004-06-17 15:40:13 +02:00
unknown
74d0f47ec2 - mysql_stmt_send_long_data commented. A few other comments. 2004-06-17 02:03:15 +04:00
unknown
340162df2c Comments and cleanups in client library.
include/mysql.h:
  mysql_bind_param -> mysql_stmt_bind_param
libmysql/libmysql.c:
  - more comments
  - trailing spaces stripped
  - update_statement_metadata moved to appropriate section (from 'Statement
  close and error reporting' section)
  - store_param_type moved to store_ functions
2004-06-16 23:11:02 +04:00
unknown
cf5d0db657 Another place where Bug#4079 "error checking in prepared statements"
pops up fixed.


libmysql/libmysql.c:
  Another place where Bug#4079 pops up fixed.
2004-06-16 14:06:39 +04:00
unknown
aba49a6c0b API change: mysql_shutdown() now needs a 2nd parameter, the shutdown level.
Server will however still accept shutdown without specified level; so that old
mysqladmin can still shut server down.
I would like your comments on the names of shutdown level which I chose. You
are welcome to propose better names. Please however check WL#709 before.
Reason for the names I propose is to be accurate, thus leaving possibility
for other levels which we may imagine in the future; that's why I have rejected
names like "fast", "smart", "graceful" so far. My position is that WAIT_ALL_BUFFERS
or WAIT_CRITICAL_BUFFERS say what the shutdown does, whereas for "smart", "fast" you
need to remember what it does.
This should be pushed in 4.1.3 but only after your comments.


client/mysqladmin.c:
  2nd parameter for mysql_shutdown()
include/mysql.h:
  2nd paramater for mysql_shutdown()
include/mysql_com.h:
  4 types of shutdown
libmysql/libmysql.c:
  passing the requested shutdown level
sql/sql_parse.cc:
  check for the shutdown level in dispatch_command(). Though its value is ignored for now.
tools/mysqlmanager.c:
  2nd parameter to mysql_shutdown
2004-06-15 11:35:23 +02:00
unknown
964618ede2 Fixed to compile with IBM C Compiler for AIX Version 6 2004-06-15 12:29:22 +04:00
unknown
4047b5ade3 Fix for Bug#4079 "error checking in prepared statements":
reset mysql->status if there was an error in row reading.


libmysql/libmysql.c:
  Fix for bug#4079
tests/client_test.c:
  Test for bug #4079
2004-06-11 13:12:29 +04:00
unknown
f203bebafc 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>


client/mysqlbinlog.cc:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
client/mysqldump.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
heap/hp_hash.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
include/m_string.h:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
include/my_dbug.h:
  include assert.h needed for DBUG_ASSERT
libmysql/libmysql.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/ftdefs.h:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_delete.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_dynrec.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_key.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_open.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_search.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_write.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/mf_iocache.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/mf_iocache2.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/mf_keycache.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_bitmap.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_gethostbyname.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_getopt.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_pthread.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_seek.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/rijndael.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/thr_alarm.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
sql-common/client.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
sql/mysql_priv.h:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
sql/sql_string.cc:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
strings/ctype-simple.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
strings/ctype-ucs2.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
strings/my_vsnprintf.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
2004-06-10 23:58:39 +04:00
unknown
27eda71204 Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types
is broken (prepared statements)": fixed date handling in many places 
of prepared statements code.


libmysql/libmysql.c:
  Fix for Bug#4026:
  - now buffer_length is defined for any buffer type. Network buffer 
    preallocation cleaned up.
  - added constants for maximum buffer sizes necessary for MYSQL_TYPE_DATE,
    MYSQL_TYPE_TIME, MYSQL_TYPE_DATETIME types.
  - TIME/DATETIME packing/unpacking functions fixed 
  - now result set metadata is always updated from fields sent to COM_EXECUTE.
    This is necessary to make 'SELECT ?' queries work without conversions.
sql/item.cc:
  - added implementatoin of Item_param::get_date
sql/item.h:
  - added enum_field_types Item_param::param_type. First step for proper
    handling of placeholders.
  - added get_date() implementation to prevent date -> string -> date 
    conversions when MYSQL_TYPE_DATE/DATETIME parameter is used in temporal 
    context.
sql/protocol.cc:
  Fix for Bug#4026:
  - PACKET_BUFFET_EXTRA_ALLOC -> PACKET_BUFFER_EXTRA_ALLOC.
    The define itself was moved to .cc as it's used only in protocol.cc
  - fixed Protocol_prep::store_time() call.
sql/protocol.h:
  - PACKET_BUFFER_EXTRA_ALLOC moved to protocol.cc
sql/sql_prepare.cc:
  Fix for Bug#4026:
  - MYSQL_TYPE_TIME/DATETIME handling fixed.
  - added initialization for Item_param::param_type in 
    setup_one_conversion_function
tests/client_test.c:
  Test case for Bug#4026
2004-06-09 03:21:50 +04:00
unknown
5cc410bb70 mysql_stmt_field_count()
include/mysql.h:
  mysql_stmt_field_count() declaration
libmysql/libmysql.c:
  added mysql_stmt_field_count(): 
  we need this function to ease use of mysql_stmt_result_metadata:
  if mysql_stmt_field_count() != 0 mysql_stmt_result_metadata fails
  only if OOM.
libmysql/libmysql.def:
  declaration for mysql_stmt_field_count()
2004-06-06 02:27:05 +04:00
unknown
780fdb02fd More comments in prepared statements code.
libmysql/libmysql.c:
  Extended comments for mysql_stmt_init, mysql_stmt_prepare, 
  mysql_stmt_result_metadata.
  Few bits of code moved around and cleaned up.
sql/sql_prepare.cc:
  Commented case with ulonglong length in get_param_length
2004-06-06 00:33:16 +04:00
unknown
f112903ca7 Added authentication code that was missed in merge
Added new windows configuration


VC++Files/client/mysqlclient.dsp:
  Added new configuration
VC++Files/zlib/zlib.dsp:
  Added new configuration
libmysql/libmysql.c:
  Moved check function from libmysql.c to client.c
sql-common/client.c:
  Moved check function from libmysql.c to client.c
2004-06-03 01:55:47 +03:00
unknown
5bf17d04f5 Merge with 4.0 to get fixes for netware
client/mysqltest.c:
  Auto merged
include/mysql.h:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/README:
  Auto merged
mysql-test/r/select_found.result:
  Auto merged
mysql-test/t/select_found.test:
  Auto merged
mysys/mf_wcomp.c:
  Auto merged
mysys/mf_wfile.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
configure.in:
  Get changes for netware
include/my_sys.h:
  Use local file
innobase/include/os0file.h:
  auto merge
innobase/os/os0file.c:
  auto merge
sql/mysqld.cc:
  auto merge
sql/sql_acl.cc:
  indentation change
sql/sql_acl.h:
  use local file
sql/sql_class.h:
  auto merge
sql/sql_db.cc:
  use local file
sql/sql_parse.cc:
  use local file
sql/sql_select.cc:
  Merge
sql/sql_show.cc:
  use local file
2004-06-02 00:09:14 +03:00
unknown
09b9182e2e mysql_get_parameter interface fixed
include/mysql.h:
  (void) added to the empty parameter's list
libmysql/libmysql.c:
  (void) added to the empty parameter's list
2004-05-31 13:53:10 +05:00
unknown
2d1384e442 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.


client/mysql.cc:
  Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
  call.
client/mysqladmin.c:
  Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
  call.
dbug/dbug.c:
   _dig_vec became _dig_vec_upper.
include/m_string.h:
  _dig_vec is obsoleted by _dig_vec_upper/_dig_vec_lower.
  my_itoa()/my_ltoa() functions were removed because they were never used in our code.
  int2str() now has one more argument which controls case of digits it will produce.
include/my_global.h:
  my_itoa()/my_ltoa() functions were removed because they were never used in our code.
isam/isamchk.c:
  Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
  call.
libmysql/libmysql.def:
  _dig_vec is obsoleted by _dig_vec_upper/_dig_vec_lower.
myisam/myisamchk.c:
  Replaced int2str invocation with radix argument equal to 10 with optimized int10_to_str()
  call.
mysys/mf_tempfile.c:
  _dig_vec became _dig_vec_upper.
mysys/my_error.c:
  Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
  call.
mysys/my_tempnam.c:
  _dig_vec became _dig_vec_upper.
sql-common/client.c:
  Replaced int2str invocation with radix argument equal to 10 with optimized int10_to_str()
  call.
sql/item_strfunc.cc:
  _dig_vec became _dig_vec_upper. Also we don't need hex[] array in this file now because we
  have _dig_vec_lower instead.
sql/mysqld.cc:
  Replaced int2str invocations with radix argument equal to 10 with optimized int10_to_str()
  call.
sql/password.c:
  _dig_vec became _dig_vec_upper.
sql/sql_bitmap.h:
  _dig_vec became _dig_vec_upper.
strings/int2str.c:
  Replaced _dig_vec by _dig_vec_upper/_dig_vec_lower pair.
  int2str() now has one more argument which controls case of digits it will produce.
  my_itoa()/my_ltoa() functions were removed because they were never used in our code.
strings/longlong2str-x86.s:
  _dig_vec became _dig_vec_upper.
strings/longlong2str.c:
  _dig_vec became _dig_vec_upper.
strings/my_vsnprintf.c:
  If my_snprintf() is printing %x argument it should produce lower case hexadecimal digits
  to be snprintf() compatible.
2004-05-27 17:54:40 +04:00
unknown
7c5cd4125d merge with 4.0 to get windows fixes
VC++Files/client/mysqlclient.dsp:
  Auto merged
VC++Files/innobase/innobase.dsp:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/include/log0log.h:
  Auto merged
innobase/include/log0log.ic:
  Auto merged
innobase/include/mtr0mtr.h:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
innobase/que/que0que.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysql_r/Makefile.am:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
tools/mysqlmanager.c:
  Auto merged
2004-05-27 00:30:28 +03:00
unknown
00c41b2850 Fix to make Windows compilation smoother
VC++Files/innobase/innobase.dsp:
  non-existent file removed
client/mysql.cc:
  local opt_max_allowed_packet and opt_net_buffer_length introduced
client/mysqldump.c:
  local opt_max_allowed_packet and opt_net_buffer_length introduced
include/mysql.h:
  mysql_get_parameters() interface added
  #define max_allowed_packet added
include/mysql_com.h:
  these should not be exported
libmysql/libmysql.c:
  mysql_get_parameters implementations
libmysql/libmysql.def:
  interface changed
libmysql_r/Makefile.am:
  MYSQL_CLIENT define added
libmysqld/lib_sql.cc:
  line moved to be above the '#include "mysql.cc"'
libmysqld/libmysqld.c:
  mysql_get_parameters implementation (embedded)
libmysqld/libmysqld.def:
  interface changed
sql/log_event.cc:
  should be like that in this case
tools/mysqlmanager.c:
  compiler warns on this line
2004-05-26 21:40:27 +05:00
unknown
30bffb0213 Changed prototype of killed_ptr() to make it more portable
Applied patches for Netware


innobase/include/os0thread.h:
  Applied patches for Netware
innobase/os/os0thread.c:
  Applied patches for Netware
libmysql/libmysql.c:
  Applied patches for Netware
libmysql/libmysql.def:
  Applied patches for Netware
myisam/myisamchk.c:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
myisam/myisamdef.h:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
mysql-test/t/rpl_relayspace-slave.opt:
  Applied patches for Netware
mysys/my_pthread.c:
  Applied patches for Netware
mysys/my_static.h:
  Portability fix
netware/BUILD/compile-linux-tools:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
netware/BUILD/mwenv:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
netware/BUILD/nwbootstrap:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
netware/my_manage.c:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
netware/mysql_fix_privilege_tables.pl:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
netware/mysql_test_run.c:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
netware/static_init_db.sql:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
scripts/make_binary_distribution.sh:
  Applied patches for Netware
  Changed prototype of killed_ptr() to make it more portable
sql/filesort.cc:
  Changed prototype of killed_ptr() to make it more portable
sql/ha_myisam.cc:
  Changed prototype of killed_ptr() to make it more portable
sql/mysqld.cc:
  Fixed some typos for Netware
sql/sql_bitmap.h:
  Applied patches for Netware
sql/sql_class.h:
  Changed prototype of killed_ptr() to make it more portable
sql/sql_insert.cc:
  safety fix
strings/my_strtoll10.c:
  Added comment
2004-05-26 19:12:49 +03:00
unknown
656e6e55f0 Merge with 4.0 to get fixes for Windows project files
VC++Files/client/mysql.dsp:
  Auto merged
VC++Files/client/mysqladmin.dsp:
  Auto merged
VC++Files/client/mysqldump.dsp:
  Auto merged
VC++Files/mysql.dsw:
  Auto merged
VC++Files/client/mysqlimport.dsp:
  Auto merged
VC++Files/client/mysqlshow.dsp:
  Auto merged
VC++Files/isamchk/isamchk.dsp:
  Auto merged
VC++Files/libmysql/libmysql.dsp:
  Auto merged
VC++Files/my_print_defaults/my_print_defaults.dsp:
  Auto merged
VC++Files/myisamchk/myisamchk.dsp:
  Auto merged
VC++Files/myisamlog/myisamlog.dsp:
  Auto merged
VC++Files/myisampack/myisampack.dsp:
  Auto merged
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Auto merged
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Auto merged
VC++Files/mysqlmanager/mysqlmanager.dsp:
  Auto merged
VC++Files/mysys/mysys.dsp:
  Auto merged
VC++Files/pack_isam/pack_isam.dsp:
  Auto merged
VC++Files/perror/perror.dsp:
  Auto merged
VC++Files/replace/replace.dsp:
  Auto merged
include/my_global.h:
  Auto merged
include/mysql_version.h.in:
  Auto merged
innobase/eval/eval0eval.c:
  Auto merged
innobase/sync/sync0arr.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql-bench/crash-me.sh:
  Auto merged
sql-bench/limits/mysql-4.0.cfg:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
2004-05-25 02:47:25 +03:00
unknown
da1623ddbb New MYSQL_SERVER_SUFFIX usage (for easier compilation)
Update of VC++ project files.


VC++Files/mysqlmanager/childfrm.cpp:
  Rename: VC++Files/mysqlmanager/CHILDFRM.CPP -> VC++Files/mysqlmanager/childfrm.cpp
VC++Files/mysqlmanager/childfrm.h:
  Rename: VC++Files/mysqlmanager/CHILDFRM.H -> VC++Files/mysqlmanager/childfrm.h
VC++Files/mysqlmanager/mainfrm.cpp:
  Rename: VC++Files/mysqlmanager/MAINFRM.CPP -> VC++Files/mysqlmanager/mainfrm.cpp
VC++Files/mysqlmanager/mainfrm.h:
  Rename: VC++Files/mysqlmanager/MAINFRM.H -> VC++Files/mysqlmanager/mainfrm.h
VC++Files/mysqlmanager/mysqlmanager.dsp:
  Rename: VC++Files/mysqlmanager/MySqlManager.dsp -> VC++Files/mysqlmanager/mysqlmanager.dsp
VC++Files/mysqlmanager/mysqlmanager.mak:
  Rename: VC++Files/mysqlmanager/MySqlManager.mak -> VC++Files/mysqlmanager/mysqlmanager.mak
VC++Files/mysqlmanager/resource.h:
  Rename: VC++Files/mysqlmanager/RESOURCE.H -> VC++Files/mysqlmanager/resource.h
VC++Files/mysqlmanager/stdafx.cpp:
  Rename: VC++Files/mysqlmanager/STDAFX.CPP -> VC++Files/mysqlmanager/stdafx.cpp
VC++Files/mysqlmanager/stdafx.h:
  Rename: VC++Files/mysqlmanager/STDAFX.H -> VC++Files/mysqlmanager/stdafx.h
VC++Files/mysqlmanager/toolsql.cpp:
  Rename: VC++Files/mysqlmanager/TOOLSQL.CPP -> VC++Files/mysqlmanager/toolsql.cpp
VC++Files/mysqlmanager/toolsql.h:
  Rename: VC++Files/mysqlmanager/TOOLSQL.H -> VC++Files/mysqlmanager/toolsql.h
VC++Files/mysqlmanager/RES/bitmap1.bmp:
  Rename: VC++Files/mysqlmanager/RES/BITMAP1.BMP -> VC++Files/mysqlmanager/RES/bitmap1.bmp
VC++Files/mysqlmanager/RES/bitmap3.bmp:
  Rename: VC++Files/mysqlmanager/RES/BITMAP3.BMP -> VC++Files/mysqlmanager/RES/bitmap3.bmp
VC++Files/mysqlmanager/RES/bmp00001.bmp:
  Rename: VC++Files/mysqlmanager/RES/BMP00001.BMP -> VC++Files/mysqlmanager/RES/bmp00001.bmp
VC++Files/mysqlmanager/RES/bmp00002.bmp:
  Rename: VC++Files/mysqlmanager/RES/BMP00002.BMP -> VC++Files/mysqlmanager/RES/bmp00002.bmp
VC++Files/mysqlmanager/RES/database.bmp:
  Rename: VC++Files/mysqlmanager/RES/DATABASE.BMP -> VC++Files/mysqlmanager/RES/database.bmp
VC++Files/mysqlmanager/RES/fontd.bmp:
  Rename: VC++Files/mysqlmanager/RES/FONTD.BMP -> VC++Files/mysqlmanager/RES/fontd.bmp
VC++Files/mysqlmanager/RES/fontu.bmp:
  Rename: VC++Files/mysqlmanager/RES/FONTU.BMP -> VC++Files/mysqlmanager/RES/fontu.bmp
VC++Files/mysqlmanager/RES/query_ex.bmp:
  Rename: VC++Files/mysqlmanager/RES/QUERY_EX.BMP -> VC++Files/mysqlmanager/RES/query_ex.bmp
VC++Files/mysqlmanager/RES/toolbar.bmp:
  Rename: VC++Files/mysqlmanager/RES/TOOLBAR.BMP -> VC++Files/mysqlmanager/RES/toolbar.bmp
BUILD/compile-pentium-valgrind-max:
  Use MYSQL_SERVER_SUFFIX
VC++Files/bdb/bdb.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysql.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqladmin.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqldump.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqlimport.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/client/mysqlshow.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/copy_mysql_files.bat:
  Assume we are in correct directory
VC++Files/innobase/innobase.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
  Remove old files
VC++Files/isamchk/isamchk.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/libmysqld/libmysqld.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/my_print_defaults/my_print_defaults.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/myisamchk/myisamchk.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/myisamlog/myisamlog.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/myisampack/myisampack.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysql.dsw:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/mysys/mysys.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/pack_isam/pack_isam.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/perror/perror.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/replace/replace.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
VC++Files/sql/mysqld.dsp:
  Use new version of MYSQL_SERVER_SUFFIX
include/my_global.h:
  Added QUOTE and STRINGIFY
include/mysql_version.h.in:
  New MYSQL_SERVER_SUFFIX handling
innobase/eval/eval0eval.c:
  Fixed compiler warning
libmysql/libmysql.c:
  Use STRINGIFY()
sql/mysqld.cc:
  New MYSQL_SERVER_SUFFIX handling
sql/mysqld_suffix.h:
  New MYSQL_SERVER_SUFFIX handling
sql/set_var.cc:
  Use STRINGIFY()
zlib/contrib/asm386/zlibvc.dsp:
  Updated for 4.0
2004-05-25 02:28:44 +03:00
unknown
093d62922b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.


include/my_global.h:
  Macro swap(a, b, c) was renamed to resolve name conflict with
  String::swap() method.
include/my_sys.h:
  Added declaration of escape_string_for_mysql()
include/mysql_com.h:
  Removed and moved back: a macro which is visible to libmysql user but
  has sence only in prepared statement protocol implementation.
isam/_search.c:
  swap -> swap_variables
isam/test2.c:
  swap -> swap_variables
libmysql/libmysql.c:
  - sub_escape_string moved to mysys/charset.c to be visible in sql/
  - few cleanups
myisam/mi_test2.c:
  swap -> swap_variables
mysys/charset.c:
  sub_escape_string was moved from libmysql.c to be able to use it in sql/
  code.
mysys/my_chsize.c:
  rename: swap -> swap_variables
mysys/my_compress.c:
  swap -> swap_variables
mysys/my_handler.c:
  swap -> swap_variables
sql/field.cc:
  Field::store_time refactored to use TIME_to_string function from time.cc
sql/item.cc:
  New implementation of Item_param class:
  added support for character sets conversion.
sql/item.h:
  Item_param:
  - 'state' member introduced instead of many boolean variables.
  - put ltime, int_value and real_value into union to save space.
  - remove unimplemented members
  - set_value renamed to set_str
sql/item_timefunc.cc:
  Refactored to use functions from time.cc
sql/lock.cc:
  rename: swap -> swap_variables
sql/mysql_priv.h:
  - added declarations for TIME_to_ulonglong_*, TIME_to_string functions
  - const specifiers for make_date, make_time, make_datetime arguments
sql/opt_range.cc:
  rename: swap -> swap_variables
sql/protocol.cc:
  - added character set conversion support to binary protocol.
  - Protocol::convert changed to point at shared buffer in THD.
    This lets us use one convert buffer for binary and simple protocol.
    The same buffer is used for client->server conversions in prepared
    statements code.
  - string conversion code refactored to Protocol::store_string_aux function.
  - few more comments
sql/protocol.h:
  - Protocol::convert now points at THD::convert_buffer: we want to share one
    buffer between all protocol implementations.
sql/sql_class.cc:
  - implementation of THD::convert_string using THD::convert_buffer
    (conversion of strings allocated in the system heap).
sql/sql_class.h:
  - THD::convert_buffer is shared between THD and network Protocols and
    used for character set conversion of strings.
  - new function to convert String object from one charset to another using
    THD::convert_buffer
sql/sql_insert.cc:
  A little fix in a comment.
sql/sql_parse.cc:
  Shrink convert buffer in the end of each statement.
sql/sql_prepare.cc:
    Many changes:
  - static specifier for set_param_* family of functions.
  - FIELD_TYPE -> MYSQL_TYPE
  - added set_param_binary as handler for BLOB types.
  - added character set support
  - added support for param typecode in mysql_stmt_get_longdata
    (mysql_stmt_send_long_data handler)
  - changes in Item_param deployed
  - few cleanups
sql/sql_select.cc:
  rename: swap -> swap_variables
sql/sql_string.cc:
  - String::append rewritten to support character set conversion for
  single-byte encodings.
  - added String::swap method to efficiently exchange two string objects.
sql/sql_string.h:
  Declraration for String::swap().
sql/time.cc:
  - function TIME_to_string to convert TIME to String in default MySQL format
  - family of functions TIME_to_ulonglong_*
tests/client_test.c:
  Test for support for character set conversions in prepared statements
  (binary and text data).
2004-05-25 02:03:49 +04:00
unknown
05cd698f54 Fixes for #3371, #3372, #3374, #3375, #3376
libmysql/libmysql.c:
  code to fix #3772
  counting of field->max_length moved to mysql_store_stmt_result so
  it will work in libmysqld also
libmysqld/lib_sql.cc:
  to fix #3771 and #3775
  stmt->affected_rows specifying added
  code getting default values changed so it will add terminating /0 to
  values
sql/sql_parse.cc:
  to fix #3773
  silly mistake here :\
sql/sql_prepare.cc:
  to fix #3774 and #3776
  special function for datetime values in embedded server added
  unsigned flag now specified for values in embedded server
tests/client_test.c:
  this test fails if privilege-checking pars are disabled
  (it's the default for libmysqld)
2004-05-15 17:07:44 +05:00
unknown
4ea5cf8c5a Fix VC++ compiler error (function redifinition) for embedded server 2004-05-10 20:55:52 -03:00
unknown
c6bc3cfb84 Added additional parameter userdata for mysql_set_local_infile_handler
to allow binding of userland functions in PHP.


include/mysql.h:
  added new last parameter (void *) for mysql_set_local_infile_handler
  st_mysql_options:
    added void *local_infile_userdata
    added last parameter (void *) for local_infile_init function pointer
libmysql/libmysql.c:
  added parameter userdata in mysql_set_local_infile_handler
  added parameter (void *userdata __attribute__ ((unused))) in mysql_local_infile_init
  passed additional parameter userdata to init function in handle_local_infile
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-05-07 14:50:10 +02:00
unknown
33e6b2af85 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


libmysql/libmysql.c:
  Auto merged
2004-05-07 01:44:07 +03:00
unknown
f3544f3c5d Portability fixes
Change strtoll -> my_strtoll10()
Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems (Bug #3472)


configure.in:
  Fixed problem on IRIX64 (One can't have AC_MSG_RESULT on same row as AC_DEFINE
extra/my_print_defaults.c:
  Fixed wrong definition for 'verbose'
include/my_global.h:
  Portability fix (IRIX64)
libmysql/client_settings.h:
  Remove compiler warnings
libmysql/libmysql.c:
  Remove compiler warnings
mysql-test/r/func_str.result:
  Updated results
mysql-test/r/key_cache.result:
  Updated results to not depend on key_blocks_unused
mysql-test/t/func_str.test:
  More test of long overflow
mysql-test/t/key_cache.test:
  Updated results to not depend on key_blocks_unused
sql/item.cc:
  Portability fix (don't use strtoll())
sql/item.h:
  Portability fix (don't use strtoll())
sql/item_sum.h:
  Portability fix (don't use strtoll())
sql/item_timefunc.cc:
  Fixed compiler warning
strings/ctype-simple.c:
  Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems
strings/ctype-ucs2.c:
  Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems
2004-05-07 01:43:17 +03:00
unknown
151495baf7 mysql_stmt_reset now expects ok/error packet from server.
libmysql/libmysql.c:
  Make advanced_command check client reply
sql/sql_prepare.cc:
  mysql_stmt_reset now sends ok/error reply to the client.
tests/client_test.c:
  Memory leak fixed.
2004-05-06 22:44:00 +04:00
unknown
030587a7a6 Fix to handle unsigned data in prepared statements (Bug #3447)
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.


Docs/mysqld_error.txt:
  Updated error values
client/mysqlcheck.c:
  Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
libmysql/libmysql.c:
  Fix to handle unsigned data in prepared statements (Bug #3447)
mysql-test/r/analyse.result:
  Test of analyze + impossible where (Bug #2238)
mysql-test/r/bdb.result:
  Update results
mysql-test/r/ctype_ujis.result:
  Update results
mysql-test/r/isam.result:
  Update results
mysql-test/r/repair.result:
  Update results
mysql-test/t/analyse.test:
  Test of analyze + impossible where (Bug #2238)
mysql-test/t/ctype_ujis.test:
  Added test for LIKE (Bug #3438)
sql/sql_acl.cc:
  Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
sql/sql_select.cc:
  Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
sql/sql_table.cc:
  Changed 'error' to 'note' when table doesn't support admin command.
sql/sql_update.cc:
  Indentaion cleanup
tests/client_test.c:
  Added test for handling unsigned/signed strings with prepared statements
2004-05-04 15:02:38 +03:00
unknown
7bf15f4b79 Only calculate MYSQL_FIELD->max_length if mysql_stmt_attr_set(..., STMT_ATTR_UPDATE_MAX_LENGTH) is done.
tests/client_test.c:
  Test mysql_stmt_attr_set(...STMT_ATTR_UPDATE_MAX_LENGTH)
2004-04-30 14:24:06 +03:00
unknown
72c7b3529e Merge
libmysql/libmysql.c:
  Auto merged
tests/client_test.c:
  Auto merged
include/mysql.h:
  SCCS merged
2004-04-30 14:04:51 +03:00
unknown
15c2bb61f5 Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647)
Added checking of cut read lines in bootstrap thread (Bug #2874)


include/mysql.h:
  Added length to MYSQL_ROWS to enable sanity checking of packets
  Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result()
libmysql/libmysql.c:
  Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647)
scripts/fill_help_tables.sh:
  Added checking of maximum length of line in output (Bug #2874)
scripts/mysql_install_db.sh:
  Added error message if help tables couldn't be done (Bug #2874)
sql/sql_parse.cc:
  Added checking of cut read lines in bootstrap thread (Bug #2874)
tests/client_test.c:
  Added --debug
  Changed some strange define names
  Less output
  Added testing of max_length for prepared statements
2004-04-30 14:02:17 +03:00
unknown
be5d750a24 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-u2


include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-04-30 03:00:55 +04:00
unknown
d5237fd09f Fix for Bug#3035 "Prepared statement integer inserts": now unsigned
flag is sent to server with placeholder types.
There were no need to extend the protocol as one additional byte
was reserved for placeholder code, when placeholder code is in range 0-255.
So this byte is now used for flags. Post-review fixes added.


include/config-win.h:
  added floaststore implementation
include/my_global.h:
  added floatstore implementation
include/mysql.h:
  Bug#3035:
  added 'is_unsigned' member
  binary_data wasn't used, removed
  null_field wasn't necessary, removed
include/mysql_com.h:
  Unused defines were removed.
libmysql/libmysql.c:
  Function store_param_type was removed - too much for a function, especially
  with bug in it.
  New implementation is inline and takes into account signedness of 
  placeholder.
  Fixed store functions to not perform double network-host order conversion
  on high-byte-first systems (should also fix Bug#3578 "Prepared statement 
  integer conversions work wrong in 64-bit Power Mac G5 CPUs").
  null_field removed.
sql/sql_prepare.cc:
  Placeholder sign is taken into account when reading data from network.
tests/client_test.c:
  Test for BUG#3035 added: insert and retrieve minimum and maximum of all
  integer types.
2004-04-30 03:00:19 +04:00
unknown
e73e26f381 Implementation of mysql_stmt_attr_get and mysql_stmt_attr_set
requested by Monty for Bug#1647 (No way to determine what size 
blob/clob is being returned into bound buffer)


include/mysql.h:
  Implementation of mysql_stmt_attr_get and mysql_stmt_attr_set 
  requested by Monty for Bug#1647.
libmysql/libmysql.c:
  Implementation of mysql_stmt_attr_get and mysql_stmt_attr_set 
  requested by Monty for Bug#1647.
libmysql/libmysql.def:
  Windows .defs added for new API calls
2004-04-30 01:02:29 +04:00
unknown
ae629fff86 Allow one to send empty strings with mysql_stmt_send_long_data()
mysql_stmt_reset() now resets param->long_data_used
Abort if --defaults-file=path-name uses a non-existing file (Bug #3413)
Fixed problem with symlink test (bug in 4.1.2)


libmysql/libmysql.c:
  Allow one to send empty strings with mysql_stmt_send_long_data()
  mysql_stmt_reset() now resets param->long_data_used
mysys/default.c:
  Abort if --defaults-file=path-name uses a non-existing file (Bug #3413)
sql/unireg.cc:
  Fixed problem with symlink test:  .frm table was not properly deleted if handler create failed
2004-04-28 20:19:50 +03:00
unknown
bc5365b4bb Stubs for types/names of placeholders, cursor flags and array execution count
implemented in the client library and server.
Warning: this makes the new client library and server incompatible with all 
previous versions and 5.0.


libmysql/libmysql.c:
  Make client library compatible with future extensions: types of placeholders, 
   names of named parameters, cursors and array execution.
sql/sql_prepare.cc:
  Alpha server side support for future extensions: types of placeholders and names of
  named parameters are sent to client (virtually), cursor flags and execution
  count received in COM_EXECUTE packet are ignored.
2004-03-31 02:27:49 +04:00
unknown
7e5cd91057 Simplification: MYSQL_RES *result replaced with MYSQL_DATA result;
No need to check for result existence any more, store_result functions
now are shorter.
cli_read_binary_rows rewritten to handle MYSQL_DATA directly.


include/mysql.h:
  MYSQL_RES * pointer replaced with MYSQL_DATA: it saves us at least 2 mallocs
  per store_result and simplifies stored result handling.
  Plus it's done with cursor fetch in mind: cursor fetch will use this
  structure to buffer fetched rows.
libmysql/client_settings.h:
  signature of cli_read_binary_rows changed
libmysql/libmysql.c:
  MYSQL_DATA is now used to handle result.
  cli_read_binary_rows rewritten to use MYSQL_DATA directly.
libmysql/libmysql.def:
  declarations of new calls in the library
libmysqld/lib_sql.cc:
  MYSQL_DATA is now used to handle result.
  cli_read_binary_rows rewritten to use MYSQL_DATA directly.
2004-03-28 17:22:04 +04:00
unknown
1712fcedf0 bad merge (?) fixed 2004-03-26 13:21:48 +01:00
unknown
054d2de499 Cleanups & safety fixes
include/mysql.h:
  cleanup of load data infile patch
libmysql/libmysql.c:
  cleanup of load data infile patch
myisam/mi_search.c:
  Added missing assert.h
mysql-test/r/func_time.result:
  Make test more secure
mysql-test/t/func_time.test:
  Make test more secure
sql/item.cc:
  restore to use str_value in item::save_in_field
sql/item.h:
  Simple cleanup
sql/item_cmpfunc.cc:
  Safety fix
sql/item_cmpfunc.h:
  Simple optimization
sql/item_func.cc:
  Updated comment
sql/sql_base.cc:
  Simple optimization
sql/sql_select.cc:
  Simple optimization
sql/sql_union.cc:
  safey fixes
2004-03-25 22:11:22 +02:00
unknown
665a255dee Unicode Collation Algorithm subset implementation 2004-03-24 16:16:08 +04:00
unknown
03f5ebf1b0 Added LOCAL INFILE callback function support.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-03-22 19:58:49 -05:00
unknown
67ea8aac5e merge with 4.0 (to get compiler error fixes for innodb)
client/mysqltest.c:
  Auto merged
include/errmsg.h:
  Auto merged
include/mysql_version.h.in:
  Auto merged
innobase/que/que0que.c:
  Auto merged
mysql-test/t/rpl000009.test:
  Auto merged
sql/set_var.cc:
  Auto merged
libmysql/errmsg.c:
  merge with 4.0
libmysql/libmysql.c:
  merge with 4.0
mysql-test/mysql-test-run.sh:
  merge with 4.0
mysql-test/r/rpl000009.result:
  merge with 4.0
scripts/mysql_fix_privilege_tables.sh:
  merge with 4.0
sql/repl_failsafe.cc:
  merge with 4.0
2004-03-19 15:17:56 +02:00