Commit graph

31 commits

Author SHA1 Message Date
unknown
bc6652db9b Fix compiler warnings (detected by Intel's C++ compiler)
Fixed checking of privilege handling in CREATE ... SELECT (Bug #6094)


client/mysql.cc:
  Fix compiler warnings
client/mysqltest.c:
  Fix wrong counting of lines
  Remove compiler warnings
heap/hp_hash.c:
  Fix compiler warnings
innobase/dict/dict0load.c:
  Fix compiler warnings
innobase/include/mem0mem.h:
  Fix compiler warnings
libmysql/client_settings.h:
  Fix compiler warnings
myisam/ft_nlq_search.c:
  Add comments about compiler warnings
myisam/rt_index.c:
  Add comments about compiler warnings
myisam/rt_mbr.c:
  Add comments about compiler warnings
mysql-test/r/ps.result:
  Test case for bug#6094
mysql-test/t/ps.test:
  Test case for bug#6094
mysys/hash.c:
  Fix compiler warnings
mysys/my_handler.c:
  Add comments about compiler warnings
mysys/my_thr_init.c:
  Add comments about compiler warnings
ndb/include/mgmapi/mgmapi.h:
  Fix compiler warnings
regex/main.c:
  Fix compiler warnings
sql/item.h:
  Fix compiler warnings
sql/item_func.h:
  Add comments about compiler warnings
sql/spatial.h:
  Add comments about compiler warnings
sql/sql_lex.h:
  Fix compiler warning
sql/sql_list.h:
  Fix compiler warning
sql/sql_parse.cc:
  Move testing of access rights of tables in CREATE ... SELECT to create_table_precheck() to fix privilege checking in CREATE ... SELECT
  (Bug #6094)
sql/sql_prepare.cc:
  Remove not needed empty line
sql/sql_string.h:
  Fix compiler warnings
strings/ctype-mb.c:
  Fix compiler warnings
2004-10-22 18:44:51 +03: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
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
4ea5cf8c5a Fix VC++ compiler error (function redifinition) for embedded server 2004-05-10 20:55:52 -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
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
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
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
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
188535bba0 Rename:
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
2004-03-10 20:12:24 +03:00
unknown
7ef1b4dff2 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

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.
2004-03-05 16:55:09 +03:00
unknown
3711e24a86 Fix for #1429 (Segfault in mysql_stmt_close)
Problem was that we checked for existing connection in stmt_close
and did not free(stmt) if it's closed (that didn't work well with
embedded)
I just added new flag to the stmt_close and now we check it instead
of connection


libmysql/client_settings.h:
  declaration changed
libmysql/libmysql.c:
  stmt_close and it's calls modified
sql-common/client.c:
  stmt_close call modified
2004-02-20 12:18:06 +04:00
unknown
b012018b7a Fix for #2212 (mysql_change_user doesn't work in embedded library)
now it's working


include/mysql.h:
  read_change_user_result 'virtual' method added
libmysql/client_settings.h:
  cli_read_change_user_result interface
libmysql/libmysql.c:
  cli_read_change_user_result implementation
libmysqld/lib_sql.cc:
  emb_read_change_user_result implementation
sql-common/client.c:
  cli_read_change_user_result added to the method's table
sql/sql_parse.cc:
  fixes to make mysql_change_user working in embedded library
2004-02-14 20:26:21 +04:00
unknown
886307f282 Fix for #2126 (mysql_server_init call shouldn't be needed)
now mysql_server_init is called from mysql_init with fake parameters
mysql_once_init code included to mysql_server_init.
embedded-specific initialization is in init_embedded_server function


include/errmsg.h:
  this error won't happen
include/mysql.h:
  declarations removed
libmysql/client_settings.h:
  declaration of init_embedded_server/end_embedded_server added
libmysql/errmsg.c:
  this error won't happen
libmysql/libmysql.c:
  mysql_once_init -> mysql_server_init transformations
libmysqld/embedded_priv.h:
  declaration deleted
libmysqld/lib_sql.cc:
  mysql_server_init -> init_embedded_server
  mysql_server_end  -> end_embedded_server
libmysqld/libmysqld.c:
  check for server_inited not needed now
sql-common/client.c:
  mysql_server_init now called from mysql_init
sql/client_settings.h:
  fake mysql_server_init for server code
sql/net_serv.cc:
  we need MYSQL_CLIENT defined in embedded server
sql/sql_client.cc:
  not needed now
2003-12-18 15:51:22 +04:00
unknown
35da5e43fb Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)


VC++Files/client/mysqlclient.dsp:
  Add missing file to project
VC++Files/libmysql/libmysql.dsp:
  Add missing file to project
VC++Files/myisam/myisam.dsp:
  Add missing file to project
VC++Files/mysys/mysys.dsp:
  Add missing file to project
heap/hp_test1.c:
  Fixed wrong call to heap_rkey()
heap/hp_test2.c:
  Fixed wrong call to heap_rkey()
include/hash.h:
  Move not used (internal) struct to hash.c
include/my_pthread.h:
  Made some structs 'const char*' to avoid warnings
include/my_sys.h:
  Moved key cache structs and functions to keycache.h
include/myisam.h:
  Merge key cache structures to one
include/mysql.h:
  Remove STDCALL from internal functions
include/sql_common.h:
  Remove STDCALL from internal functions
include/violite.h:
  Fixed compiler warning
isam/_locking.c:
  Merge key cache structures to one
isam/_page.c:
  Merge key cache structures to one
isam/close.c:
  Merge key cache structures to one
isam/extra.c:
  Merge key cache structures to one
isam/isamchk.c:
  Merge key cache structures to one
isam/isamdef.h:
  Merge key cache structures to one
isam/isamlog.c:
  Merge key cache structures to one
isam/panic.c:
  Merge key cache structures to one
isam/test2.c:
  Merge key cache structures to one
isam/test3.c:
  Merge key cache structures to one
libmysql/client_settings.h:
  Remove STDCALL from internal functions
libmysql/libmysql.c:
  Remove STDCALL from internal functions
myisam/ft_boolean_search.c:
  Fixed compiler warning
myisam/ft_dump.c:
  Fixed compiler warnings (%qx is not portable)
myisam/ft_update.c:
  Fixed compiler warnings
myisam/mi_check.c:
  Merge key cache structures to one
myisam/mi_close.c:
  Merge key cache structures to one
myisam/mi_delete_all.c:
  Merge key cache structures to one
myisam/mi_extra.c:
  Merge key cache structures to one
myisam/mi_keycache.c:
  Merge key cache structures to one
myisam/mi_locking.c:
  Merge key cache structures to one
myisam/mi_page.c:
  Merge key cache structures to one
myisam/mi_panic.c:
  Merge key cache structures to one
myisam/mi_preload.c:
  Merge key cache structures to one
myisam/mi_test1.c:
  Merge key cache structures to one
myisam/mi_test2.c:
  Merge key cache structures to one
myisam/mi_test3.c:
  Merge key cache structures to one
myisam/myisamchk.c:
  Merge key cache structures to one
myisam/myisamdef.h:
  Merge key cache structures to one
myisam/myisamlog.c:
  Merge key cache structures to one
  Removed not used option
myisam/sort.c:
  Fixed compiler warnings
myisam/sp_test.c:
  Fixed compiler warnings
mysql-test/r/case.result:
  Updated results after fix of correct NULL detection in WHEN
mysql-test/r/date_formats.result:
  Updated results after fixing date handling
mysql-test/r/symlink.result:
  Updated results after adding DEFAULT CHARSET
mysql-test/t/case.test:
  New test
mysql-test/t/symlink.test:
  Updated error numbers
mysys/hash.c:
  Made HASH_LINK struct local
mysys/mf_keycache.c:
  Merge key cache structures to one
  Fixed key_cache_read() and key_cache_write() to be resize-safe.
mysys/mf_keycaches.c:
  Merge key cache structures to one
mysys/thr_mutex.c:
  Added test if mutex is initalized
sql-common/client.c:
  Remove STDCALL from internal functions
sql/derror.cc:
  Added comment
sql/field.cc:
  Removed not used variables
sql/ha_innodb.cc:
  Fixed compiler warnings (removed not used variables)
sql/ha_myisam.cc:
  Merge key cache structures to one
sql/ha_myisammrg.cc:
  Removed not used variables
sql/handler.cc:
  Merge key cache structures to one
sql/handler.h:
  Merge key cache structures to one
sql/item.cc:
  Fixed compiler warning
sql/item_cmpfunc.cc:
  Remove not used variables
sql/item_func.cc:
  Remove not used variables
sql/item_strfunc.cc:
  Removed not used variables
sql/item_sum.cc:
  Removed not used variables
  Moved setting of item_thd to fix_fields()
sql/item_timefunc.cc:
  Removed not used variables
sql/mysql_priv.h:
  Merge key cache structures to one
sql/mysqld.cc:
  Merge key cache structures to one
  init_thread_environment() is not called before mysql_init_variables(). This fixes a case where a mutex was not initialized before it was used
sql/opt_sum.cc:
  Remove not used variables
sql/protocol.cc:
  Don't send errors after ok has been sent
sql/protocol_cursor.cc:
  Remove not used variable
  Simple optimization
sql/repl_failsafe.cc:
  Remove not used variables
sql/set_var.cc:
  Merge key cache structures to one
sql/set_var.h:
  Merge key cache structures to one
sql/sql_acl.cc:
  Remove not used variables
sql/sql_base.cc:
  Remove not used function
sql/sql_db.cc:
  Remove not used variables
sql/sql_handler.cc:
  Remove not used variables
sql/sql_insert.cc:
  More DBUG statements
  Simple code cleanup
sql/sql_lex.cc:
  Remove not used variables
sql/sql_parse.cc:
  Remove not used variables
sql/sql_prepare.cc:
  Remove not used variables
sql/sql_repl.cc:
  Remove not used variables
sql/sql_select.cc:
  Remove not used variables
sql/sql_show.cc:
  Remove not used variables
sql/sql_table.cc:
  Merge key cache structures to one
  Removed not used variables
sql/sql_test.cc:
  Merge key cache structures to one
sql/strfunc.cc:
  Fixed that find_type() returns correct value for partly matched words.
  (This fixed the error found by date_formats.test)
sql/time.cc:
  Remove not used variables
strings/my_strtoll10.c:
  Fixed compiler warnings
2003-11-20 22:06:25 +02:00
unknown
ddbc842854 Portability fixes for windows
After merge fixes


include/my_base.h:
  Fix comment syntax
libmysql/client_settings.h:
  Portability fixes for windows
libmysql/libmysql.c:
  Portability fixes for windows
libmysql/libmysql.def:
  Portability fixes for windows
mysql-test/r/variables.result:
  Fix result after merge
sql-common/client.c:
  Portability fixes for windows
sql/ha_berkeley.cc:
  Use defines instead of constants
sql/item_strfunc.cc:
  Portability fixes for windows
sql/mysql_priv.h:
  Use defines instead of defines
sql/mysqld.cc:
  After merge fix
sql/opt_range.h:
  After merge fix
sql/set_var.h:
  Portability fixes for windows
sql/sql_class.cc:
  Defines instead of constants
sql/sql_help.cc:
  after merge fixes
  More OOM error checking
sql/sql_prepare.cc:
  After merge fixes
sql/sql_table.cc:
  Portability fixes for windows
2003-10-15 22:40:36 +03:00
unknown
759aabf7df Fix for bugs #1437, #1446
include/mysql.h:
  read_statistic added to virtual methods
libmysql/client_settings.h:
  interface for cli_read_statistic added
libmysql/libmysql.c:
  read_statistic and mysql_stat code changes
libmysqld/lib_sql.cc:
  emb_read_statistic implemented
  server_version initialized
sql-common/client.c:
  cli_read_statistic added to the table
sql/sql_parse.cc:
  storage of result of COM_STATISTIC changed in embedded library
2003-10-04 19:28:08 +05:00
unknown
83e8881a5a SCRUM
prepared statements in embedded library.
some fixes after testing


include/mysql.h:
  virtual method added
libmysql/client_settings.h:
  declaration added
libmysql/libmysql.c:
  implementation added
  mysql_fetch changed to work in both libraries
libmysqld/lib_sql.cc:
  implementation added
sql-common/client.c:
  added items in methods table
sql/client_settings.h:
  decided to remove such defines - i placed single #ifdef in client.c
2003-09-19 14:05:28 +05:00
unknown
194f6725d4 SCRUM:
prepared statements in embedded library


include/mysql.h:
  Another 'virtual' method
libmysql/client_settings.h:
  client implementation declared
libmysql/libmysql.c:
  mysql_execute edited to work with embedded implementation
libmysqld/lib_sql.cc:
  one error fixed (we do need parameter's buffer in embedded library)
  embedded recordset transfer methods implementations added
sql-common/client.c:
  method added to the table
sql/client_settings.h:
  no prepared statements in mimiclient
sql/mysql_priv.h:
  these functions became global
sql/protocol.cc:
  the stub added
sql/protocol.h:
  had to change Protocol's interface for embedded library
sql/sql_class.h:
  i changed this only for embedded case, but i think it's better to do the
  same for remote server also
sql/sql_prepare.cc:
  parts of code #ifndef-ed
2003-09-17 20:48:53 +05:00
unknown
6b05f916b8 SCRUM
prepared statements in embedded library


include/mysql.h:
  stmt_execute 'virtual' method added
include/sql_common.h:
  two functions became global
libmysql/client_settings.h:
  declaration for cli_stmt_execute
libmysql/libmysql.c:
  some functions changed to be usable from embedded library
libmysqld/lib_sql.cc:
  code for embedded stmt_execute added
sql-common/client.c:
  cli_stmt_execute added to the methods table
sql/client_settings.h:
  no need for prepared statements in miniclient
2003-09-17 15:18:18 +05:00
unknown
d05807153b SCRUM
Prepared statements in embedded server
Several changes in library code with two goals:
to make mysql_prepare_stmt working in embedded server
to get rid of #define mysql_interface_func mysql->methods->interface_func
in user's interface


include/mysql.h:
  modifications of interface
  two goals: to implement prepared statements and to get rid
  of #define mysql_proc (mysql->smth) in interface
include/sql_common.h:
  read_rows function got 'virtual'
libmysql/client_settings.h:
  interface of some functions declared in client.c moved here
libmysql/libmysql.c:
  several functions changed with declared goals
libmysqld/embedded_priv.h:
  libmysqld.c <--> lib_sql.cc interface moved here
libmysqld/lib_sql.cc:
  all embedded 'virtual' functions moved here so they can be static
libmysqld/libmysqld.c:
  embedded 'virtual' function was moved out of here
sql-common/client.c:
  several changes with the declared goal
sql/sql_class.h:
  place to store statement data added to THD
sql/sql_prepare.cc:
  storing of prepare_statement result for embedded server added
2003-09-16 16:06:25 +05:00
unknown
dc250a6efc SCRUM:
#977 Prepared statements in embedded library


include/mysql.h:
  read_prepare_result function moved to 'virtual'
libmysql/client_settings.h:
  declare proper function for libmysql
libmysql/libmysql.c:
  some code moved from implementation of read_prepare_result to 
  mysql_prepare_result to make creating separate (remote and embedded-server)
  versions easier
libmysqld/libmysqld.c:
  emb_read_prepare_result prototype
sql-common/client.c:
  cli_read_prepare_result added to the client_methods
sql/client_settings.h:
  we don't need prepared statements in mini_client
sql/sql_prepare.cc:
  embedded send_prep_stmt added
2003-09-12 19:35:34 +05:00
unknown
d6f15e9d02 SCRUM
embedded&client library
some fixes: zero at the end of the data added
mysql_list_fields became 'virtual'


include/mysql.h:
  mysql_list_fields became 'virtual'
libmysql/client_settings.h:
  in client library we need proper implementation for list_fields
libmysql/libmysql.c:
  implementation for remote server
libmysqld/lib_sql.cc:
  we still need zero at the end of the data in client (see mysql.cc).
  I feel it should be changed
libmysqld/libmysqld.c:
  implementation for embedded server
sql-common/client.c:
  cli_list_fields member set for client library
sql/client_settings.h:
  we don't need mysql_list_fields in mini_client code
2003-09-11 09:46:31 +05:00
unknown
4c7431dc90 Last part of resolving conflicts after pull
Some intersections with Monty encountered


libmysql/client_settings.h:
  We don't need the trick with macroses since Monty moved cli_mysql_use_result
  into sql-common/client.c
libmysql/libmysql.c:
  mysql_use_result moved in sql-common/client.c
sql-common/client.c:
  code simplified with the moving of mysql_use_result here
sql/client_settings.h:
  we don't need this #define anymore
sql/sql_client.cc:
  this function was moved to sql-common/pack.c by me
  i think the pack.c is the better place for it
2003-06-18 10:34:09 +05:00
unknown
46cb15ccd4 SCRUM
merged conflicts about my previous commit
it seems there are some errors left - gonna check...


BitKeeper/etc/logging_ok:
  auto-union
client/mysqltest.c:
  Auto merged
include/mysql_com.h:
  Auto merged
include/sql_common.h:
  Auto merged
include/mysql.h:
  conflicts merged
libmysql/client_settings.h:
  conflicts merged
libmysql/libmysql.c:
  conflicts merged
sql-common/client.c:
  conflicts merged
sql/client_settings.h:
  conflicts merged
sql/protocol.cc:
  conflict merged
2003-06-17 21:53:13 +05:00
unknown
ef726bbff3 SCRUM
client capabilities included into libmysqld
some API methods became "virtual"
lots of duplicated code removed

IMHO all the above made library's code way more pleasant to look at, didn't it?


BitKeeper/deleted/.del-lib_vio.c~d779731a1e391220:
  Delete: libmysqld/lib_vio.c
BitKeeper/etc/ignore:
  Added libmysqld/client.c libmysqld/client_settings.h libmysqld/libmysql.c libmysqld/pack.c to the ignore list
client/mysqltest.c:
  we don't need this now
include/mysql.h:
  MYSQL and related structures unified
  four methods made "virtual"
  relative wrappers added
include/mysql_com.h:
  todo added
include/mysql_embed.h:
  now we include implementations of Vio structure in libmysqld
include/sql_common.h:
  declarations changed
include/violite.h:
  implementation of Vio included in libmysqld
libmysql/client_settings.h:
  changes to make this working with both client and embedded
libmysql/libmysql.c:
  global variables and my_net_local_init moved to sql-common/pack.c
libmysqld/Makefile.am:
  libmysql.c, client.c, pack.c symlinked and added to sources
  lib_vio.c removed
libmysqld/examples/Makefile.am:
  now we need CLIENT_LIBS here
libmysqld/lib_sql.cc:
  code duplications removed
  emb_advanced_command was made from simple_command
libmysqld/libmysqld.c:
  duplicated code removed
sql-common/client.c:
  code trimmed with new model of calling
sql-common/pack.c:
  some code moved here from libmysql.c and protocol.cc
sql/client_settings.h:
  we don't need mysql_use_result for mini_client
sql/net_serv.cc:
  file included in embedded server
sql/protocol.cc:
  code moved to sql-common/pack.c
2003-06-17 21:32:31 +05:00
unknown
7ababc3bb4 Fix for compilation error.
Compiler can signal error when init_sigpipe_variables expands as empty place.
Had to remove all semicolons after init_sigpipe_variables


libmysql/client_settings.h:
  semicolon added
sql-common/client.c:
  we don't need semicolons after init_sigpipe_variables
2003-06-16 03:13:22 +05:00
unknown
ccf59c3874 Cleanup after split of libmysql.c to client.c and libmysql.c. A 4.1 master/slave will now use the 4.1 protocol
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS to mysql_real_connect()
Changed mysql_port and mysql_unix_port to mysqld_xxxx


client/mysql.cc:
  Removed valgrind & compiler warnings
client/sql_string.h:
  Fix to remove valgrind warnings
include/mysql.h:
  Added read_timeout and write_timeout to mysql options struct.
  This is to be used for slave when connection to master.
  code cleanup
include/mysql_com.h:
  Fixed wrong value for SQLSTATE_LENGTH
  Added CLIENT_REMEMBER_OPTIONS
include/sql_common.h:
  Cleanup after split of libmysql.c to client.c and libmysql.c
include/sql_state.h:
  Removed default states
libmysql/client_settings.h:
  Cleanup after split of libmysql.c to client.c and libmysql.c
libmysql/libmysql.c:
  Cleanup after split of libmysql.c to client.c and libmysql.c
mysql-test/r/type_blob.result:
  Update results after someone updated error messages without running tests
mysys/charset.c:
  More debug information
mysys/errors.c:
  Fixed wrong error message
sql-common/client.c:
  Cleanup after split of libmysql.c to client.c and libmysql.c
sql/Makefile.am:
  Added sql_client.cc
sql/client_settings.h:
  Cleanup after split of libmysql.c to client.c and libmysql.c
sql/log.cc:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysql_priv.h:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysqld.cc:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/protocol.cc:
  Fix for SQLSTATE_LENGTH
  Moved function to sql_client.c
sql/repl_failsafe.cc:
  Cleanup after split of libmysql.c to client.c and libmysql.c
sql/set_var.cc:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/slave.cc:
  Cleanup after split of libmysql.c to client.c and libmysql.c
2003-06-14 11:37:42 +03:00
unknown
aed6de39b6 SCRUM:
splittiln common client's parts


include/sql_common.h:
  superfluous #ifdef-s removed
libmysql/client_settings.h:
  superfluous #ifdef-s removed
libmysql/libmysql.c:
  some litter removed
libmysqld/lib_sql.cc:
  here we had wrong parameters
mysys/default.c:
  this is not needed anymore - calling code fixed
sql-common/client.c:
  code trimmed and simplified
sql/client_settings.h:
  code trimmed
sql/repl_failsafe.cc:
  option's initialization added
sql/slave.cc:
  option's initialization added
2003-06-03 15:02:57 +05:00
unknown
62c7d2cd27 SCRUM:
Here is another pack of changes about gathering common client code in
sql-common/client.c.
Now i symlink the client.c from sql/ and libmysql/. These directories
have client_settings.h files to be included to client.c. It contains
defines and declarations to compile client.c in appropriate manner.
Also i've added include/sql_common.h, containing declarations of what
is exported from client.c

I removed as many #ifdef-s from client.c as i dared to. I think it's better
push it with some extra #ifdef-s now (of course, if everythihg besides it is
ok) so other people can check the code.


Makefile.am:
  symlinking of sql-common/client.c was added
include/mysql.h:
  MYSQL_CLIENT define moved here from libmysql/Makefile
libmysql/Makefile.am:
  ../libmysql/client_settings.h added to the list of necessary h-files
libmysql/Makefile.shared:
  client.lo added to the list of objects
libmysql/libmysql.c:
  a lot of changes about separating code between libmysql.c and client.c
mysys/default.c:
  changed to keep compiler happy
sql-common/client.c:
  a lot of changes about code separating
sql/Makefile.am:
  mini_client.h has to be removed
sql/repl_failsafe.cc:
  mysql_real_connect prototype was unified, so we've got to set connection timeout separately
sql/slave.cc:
  trimming code to the changed function's prototypes
sql/sql_repl.cc:
  mini_client isn't needed anymore
2003-05-31 15:15:46 +05:00