Commit graph

696 commits

Author SHA1 Message Date
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
unknown
c6a0599642 WL #1510 "Implement support for "commercial" binaries on handshake",
client library:
- implemented 'check_license' function


include/errmsg.h:
  WL #1510: new error code
include/mysql_version.h.in:
  WL #1510: fallback define for LICENSE
libmysql/errmsg.c:
  WL #1510: error message to print in case when client and server license 
  mismatch.
libmysql/libmysql.c:
  WL#1510: implementation of 'check_license' function
sql/set_var.cc:
  removed unused variable 'license'
2004-03-17 20:04:50 +03:00
unknown
80057de54e Merge miguel@bk-internal.mysql.com:/home/bk/mysql-4.1
into hegel.local:/home/miguel/bk/mysql-4.1


sql/log_event.cc:
  Auto merged
2004-03-16 15:55:51 -03:00
unknown
321422c86e 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


include/errmsg.h:
  - CR_NOT_ALL_PARAMS_BOUND - this error code wasn't used until now. 
    Apparently it was added in advance, but then interface of
    mysql_stmt_bind_param changed. Now it's not possible to bind only some
    parameters - either all or none of parameters are bound.
    This error code  is renamed to CR_PARAMS_NOT_BOUND
  - CR_FETCH_CANCELLED - error code set on server side when fetch from 
    MYSQL_RES or MYSQL_STMT (in blocking mode) was cancelled because of
    intercepting call to mysql_stmt_close
  - CR_NO_DATA - this is proposed error code to return from 
    mysql_stmt_fetch_column if no row was fetched (by any type of fetch).
    We always can fall back to CR_COMMANDS_OUT_OF_SYNC though.
    Need reviewer's opinion on this one.
include/mysql.h:
  - added unbuffered_fetch_owner member to MYSQL to point to MYSQL_RES 
    or MYSQL_STMT which is used to fetch result at the moment.
    This is to be able to set CR_FETCH_CANCELLED error without fantoms.
  - added unbuffered_fetch_cancelled boolean variable to MYSQL_STMT and 
    MYSQL_RES structures
  - rename PREP_STMT_STATE -> enum enum_mysql_stmt_state
  - members of MYSQL_STMT ordered by size.
  - removed members of MYSQL_STMT: current_row, result_buffered,
    last_fetched_column, last_fetched_buffer, query
  - renamed members of MYSQL_STMT: param_buffers -> bind_param_done, 
    res_buffers -> bind_result_done
  - now mysql_stmt_fetch calls stmt->read_row_func to read row either from 
    buffer or from network.
include/sql_common.h:
  declaration for flush_use_result
libmysql/client_settings.h:
  stmt_close declaration removed
libmysql/errmsg.c:
  Error messages for changed and added error codes.
libmysql/libmysql.c:
  Many changes:
  - some unused variables removed
  - cleanups
  - better error reporting
  - some function calls commented
  - alloc_stmt_fields is now called right after execute, to not read
    mysql->fields of some other statement
  - new implementation of mysql_stmt_fetch - this is also with cursor
    fetch in mind (to implement cursor fetch I'll just need to write
    special read_row function for it, so this change will be local)
  - implementation of fetch cancellation, including complete rewrite of
    mysql_stmt_close
  - now mysql_stmt_free_result doesn't free results of other statements.
sql-common/client.c:
  - implementation of flush_use_result
  - implementation of fetch cancellation
  - changed behaviour of mysql_close in regard to mysql_stmt_close - now 
    mysql_close just set stmt->mysql to 0
2004-03-16 01:04:04 +03:00
unknown
db98fc8694 Merge miguel@bk-internal.mysql.com:/home/bk/mysql-4.1
into hegel.local:/home/miguel/bk/mysql-4.1
2004-03-12 17:59:06 -03:00
unknown
8752019413 For to export the renamed functions 2004-03-12 15:51:18 -03:00
unknown
8b11f1c106 fix to make client.c compile on windows 2004-03-12 18:53:45 +03:00
unknown
c4ddf58428 Rudimentary part of libmysql patch:
set_mysql_error is deployed


libmysql/client_settings.h:
  declaration for set_mysql_error
libmysql/libmysql.c:
  - set_mysql_error moved to client.c
  - st_stmt_errmsg -> set_stmt_error
sql-common/client.c:
  deployment of set_mysql_error
2004-03-12 15:21:48 +03:00
unknown
dd8b25510e Merge with 3.23 to get patch for floor()
BitKeeper/etc/logging_ok:
  auto-union
myisam/mi_check.c:
  Auto merged
mysql-test/r/func_math.result:
  Auto merged
mysql-test/t/func_math.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2004-03-12 01:12:14 +02:00