An error occurred fetching the project authors.
  1. 19 Jun, 2004 1 commit
  2. 18 Jun, 2004 1 commit
    • unknown's avatar
      API change: mysql_shutdown() now requires a 2nd argument, the shutdown level. · ceb1f65b
      unknown authored
      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.
      ceb1f65b
  3. 16 Jun, 2004 3 commits
  4. 15 Jun, 2004 2 commits
    • unknown's avatar
      API change: mysql_shutdown() now needs a 2nd parameter, the shutdown level. · 766eef4c
      unknown authored
      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
      766eef4c
    • unknown's avatar
      ebfbeed3
  5. 11 Jun, 2004 1 commit
  6. 10 Jun, 2004 1 commit
    • unknown's avatar
      assert.h needed for my_dbug.h now is included in my_dbug.h, where it for · 22bc1bb8
      unknown authored
      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.
      22bc1bb8
  7. 08 Jun, 2004 1 commit
    • unknown's avatar
      Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types · b9862a88
      unknown authored
      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
      b9862a88
  8. 05 Jun, 2004 2 commits
    • unknown's avatar
      mysql_stmt_field_count() · 0839550f
      unknown authored
      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()
      0839550f
    • unknown's avatar
      More comments in prepared statements code. · af175193
      unknown authored
      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
      af175193
  9. 02 Jun, 2004 1 commit
    • unknown's avatar
      Added authentication code that was missed in merge · d6db18e8
      unknown authored
      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
      d6db18e8
  10. 31 May, 2004 1 commit
    • unknown's avatar
      mysql_get_parameter interface fixed · 790686ed
      unknown authored
      include/mysql.h:
        (void) added to the empty parameter's list
      libmysql/libmysql.c:
        (void) added to the empty parameter's list
      790686ed
  11. 26 May, 2004 2 commits
    • unknown's avatar
      Fix to make Windows compilation smoother · 8fd378d6
      unknown authored
      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
      8fd378d6
    • unknown's avatar
      Changed prototype of killed_ptr() to make it more portable · abcd9171
      unknown authored
      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
      abcd9171
  12. 24 May, 2004 2 commits
    • unknown's avatar
      New MYSQL_SERVER_SUFFIX usage (for easier compilation) · 072d1044
      unknown authored
      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
      072d1044
    • unknown's avatar
      Support for character set conversion in binary protocol: another go · eff961a9
      unknown authored
      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).
      eff961a9
  13. 15 May, 2004 1 commit
    • unknown's avatar
      Fixes for #3371, #3372, #3374, #3375, #3376 · 86009849
      unknown authored
      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)
      86009849
  14. 07 May, 2004 1 commit
    • unknown's avatar
      Added additional parameter userdata for mysql_set_local_infile_handler · fabcf369
      unknown authored
      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
      fabcf369
  15. 06 May, 2004 2 commits
    • unknown's avatar
      Portability fixes · f3b3b2b1
      unknown authored
      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
      f3b3b2b1
    • unknown's avatar
      mysql_stmt_reset now expects ok/error packet from server. · a18a5aa1
      unknown authored
      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.
      a18a5aa1
  16. 04 May, 2004 1 commit
    • unknown's avatar
      Fix to handle unsigned data in prepared statements (Bug #3447) · 29c07902
      unknown authored
      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
      29c07902
  17. 30 Apr, 2004 2 commits
    • unknown's avatar
      Only calculate MYSQL_FIELD->max_length if mysql_stmt_attr_set(...,... · b8dc907a
      unknown authored
      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)
      b8dc907a
    • unknown's avatar
      Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647) · 72163289
      unknown authored
      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
      72163289
  18. 29 Apr, 2004 2 commits
    • unknown's avatar
      Fix for Bug#3035 "Prepared statement integer inserts": now unsigned · b8585472
      unknown authored
      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.
      b8585472
    • unknown's avatar
      Implementation of mysql_stmt_attr_get and mysql_stmt_attr_set · 858856d5
      unknown authored
      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
      858856d5
  19. 28 Apr, 2004 1 commit
    • unknown's avatar
      Allow one to send empty strings with mysql_stmt_send_long_data() · 752f4e7b
      unknown authored
      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
      752f4e7b
  20. 30 Mar, 2004 1 commit
    • unknown's avatar
      Stubs for types/names of placeholders, cursor flags and array execution count · 87806e53
      unknown authored
      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.
      87806e53
  21. 28 Mar, 2004 1 commit
    • unknown's avatar
      Simplification: MYSQL_RES *result replaced with MYSQL_DATA result; · e1b45818
      unknown authored
      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.
      e1b45818
  22. 26 Mar, 2004 1 commit
  23. 25 Mar, 2004 1 commit
    • unknown's avatar
      Cleanups & safety fixes · cf5e9e65
      unknown authored
      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
      cf5e9e65
  24. 23 Mar, 2004 1 commit
  25. 17 Mar, 2004 1 commit
    • unknown's avatar
      WL #1510 "Implement support for "commercial" binaries on handshake", · 1b8f0058
      unknown authored
      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'
      1b8f0058
  26. 15 Mar, 2004 1 commit
    • unknown's avatar
      Intermediate commit of client library (cleanups + fixes of 3 items from · c2589ba0
      unknown authored
      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
      c2589ba0
  27. 12 Mar, 2004 1 commit
    • unknown's avatar
      Rudimentary part of libmysql patch: · bf559af0
      unknown authored
      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
      bf559af0
  28. 10 Mar, 2004 1 commit
    • unknown's avatar
      Rename: · 8ad53800
      unknown authored
      read_statistic -> read_statistics
      (statistic is adjective)
      
      
      include/mysql.h:
        read_statistic -> read_statistics
      libmysql/client_settings.h:
        read_statistic -> read_statistics
      libmysql/libmysql.c:
        read_statistic -> read_statistics
      libmysqld/lib_sql.cc:
        read_statistic -> read_statistics
      sql-common/client.c:
        read_statistic -> read_statistics
      8ad53800
  29. 05 Mar, 2004 2 commits
    • unknown's avatar
      Fix for C++ style declaration · 54655dfd
      unknown authored
      54655dfd
    • unknown's avatar
      New call mysql_stmt_init() introduced. · 700893cc
      unknown authored
      Renames:
      mysql_bind_param      -> mysql_stmt_bind_param
      mysql_bind_result     -> mysql_stmt_bind_result
      mysql_execute         -> mysql_stmt_execute
      mysql_fetch           -> mysql_stmt_fetch
      mysql_fetch_column    -> mysql_stmt_fetch_column
      mysql_get_metadata    -> mysql_stmt_result_metadata
      mysql_param_count     -> mysql_stmt_param_count
      mysql_param_result    -> mysql_stmt_param_metadata
      mysql_prepare         -> mysql_stmt_prepare
      mysql_send_long_data  -> mysql_stmt_send_long_data
      
      client_test.c cleaned up from memory leaks
      
      
      include/mysql.h:
        New call mysql_stmt_init() introduced.
        Renames:
        mysql_bind_param      -> mysql_stmt_bind_param
        mysql_bind_result     -> mysql_stmt_bind_result
        mysql_execute         -> mysql_stmt_execute
        mysql_fetch           -> mysql_stmt_fetch
        mysql_fetch_column    -> mysql_stmt_fetch_column
        mysql_get_metadata    -> mysql_stmt_result_metadata
        mysql_param_count     -> mysql_stmt_param_count
        mysql_param_result    -> mysql_stmt_param_metadata
        mysql_prepare         -> mysql_stmt_prepare
        mysql_send_long_data  -> mysql_stmt_send_long_data
        Renames are done according to the rule 'Everything call operating with
        'MYSQL_STMT' structure has 'mysql_stmt_' prefix.
        Additionally mysql_param_result was renamed to mysql_stmt_param_metadata
        and mysql_get_metadata to mysql_stmt_result_metadata.
        All renames are done in hope that new names are easier to remember and 
        understand.
      libmysql/client_settings.h:
        skip_list is not needed any more
      libmysql/libmysql.c:
        New call mysql_stmt_init() introduced.
        Renames:
        mysql_bind_param      -> mysql_stmt_bind_param
        mysql_bind_result     -> mysql_stmt_bind_result
        mysql_execute         -> mysql_stmt_execute
        mysql_fetch           -> mysql_stmt_fetch
        mysql_fetch_column    -> mysql_stmt_fetch_column
        mysql_get_metadata    -> mysql_stmt_result_metadata
        mysql_param_count     -> mysql_stmt_param_count
        mysql_param_result    -> mysql_stmt_param_metadata
        mysql_prepare         -> mysql_stmt_prepare
        mysql_send_long_data  -> mysql_stmt_send_long_data
      sql-common/client.c:
        no skip_list argument any more
      tests/client_test.c:
        - many memory leaks and valgrind errors cleaned up.
      700893cc
  30. 20 Feb, 2004 1 commit