Commit graph

299 commits

Author SHA1 Message Date
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
15779a96d7 SCRUM
embedded library
some fixes - cleanup procedure changed for embedded library - deletion of
embedded mysql->thd


include/mysql.h:
  free_embedded_thd added to the list of virtual methods
libmysqld/embedded_priv.h:
  function deleted
libmysqld/lib_sql.cc:
  function moved upper in file
sql-common/client.c:
  call of free_embedded_thd added
2003-09-29 14:09:51 +05:00
unknown
dbb9596727 Merge
include/mysql.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
libmysqld/lib_sql.cc:
  SCCS merged
libmysqld/libmysqld.c:
  SCCS merged
sql/sql_parse.cc:
  SCCS merged
2003-09-26 15:40:26 +05:00
unknown
1705369809 SCRUM:
WL#604 Privileges in embedded library
code added to check privileges in embedded library
NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
access-checking parts. Actually we now can exclude these parts from
standalone server as well. Do we need it?
Access checks are disabled in embedded server by default. One should
edit libmysqld/Makefile manually to get this working.
We definitely need the separate configure for embedded server


include/mysql.h:
  options added so user of embedded library can set the client host
  it will work as if the usual client connects from this host
libmysqld/Makefile.am:
  Usually one doesn't need access checking in embedded library
  we definitely should separate configure for embedded server
libmysqld/lib_sql.cc:
  necessary code for getting passwords and access checks added
libmysqld/libmysqld.c:
  code #ifdef-ed - we use this only when we check permissions
sql-common/client.c:
  one mysql_close left now
sql/item_strfunc.cc:
  #ifndef-s added
sql/log.cc:
  #ifndef-s added
sql/mysql_priv.h:
  #ifndef-s added
  also i removed default parameters from check_access and check_table_access
  definitions to set definitions working
sql/mysqld.cc:
  #ifndef-s added
  localhost renamed to my_localhost
sql/repl_failsafe.cc:
  parameters added
sql/set_var.cc:
  #ifndef-s added
sql/sql_acl.cc:
  #ifndef-s added
sql/sql_acl.h:
  #ifndef-s added
sql/sql_base.cc:
  #ifndef-s added
sql/sql_cache.cc:
  #ifndef-s added
sql/sql_class.cc:
  #ifndef-s added
sql/sql_db.cc:
  #ifndef-s added
sql/sql_derived.cc:
  #ifndef-s added
sql/sql_insert.cc:
  #ifndef-s added
sql/sql_parse.cc:
  a horde of #ifndef-s added
sql/sql_prepare.cc:
  #ifndef-s added
sql/sql_repl.cc:
  parameters added
sql/sql_show.cc:
  #ifndef-s added
sql/sql_update.cc:
  #ifndef-s added
2003-09-26 15:33:13 +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
4c63804846 SCRUM
embedded library
some dirty places cleaned:

uint removed from mysql.h as Miguel suggested
empty_string renamed as my_empty_string to get rid of name's intersections
using embedded library


include/mysql.h:
  uint -> unsigned int
include/mysql_com.h:
  this caused warnings when not in expression
libmysqld/lib_sql.cc:
  uint -> unsigned int
sql-common/client.c:
  uint -> unsigned int
sql/item_strfunc.cc:
  empty_string -> my_empty_string
sql/mysql_priv.h:
  empty_string -> my_empty_string
sql/set_var.cc:
  empty_string -> my_empty_string
sql/sql_class.cc:
  empty_string -> my_empty_string
sql/sql_prepare.cc:
  net_flush ifdef-ed
2003-09-18 18:58:02 +05:00
unknown
88fcf2a943 SCRUM:
embedded library
I decided to get rid of #define mysql_some_function in mysql.h
It puzzles users and makes problems with dynamic libraries

Finally, there are only two functions left, that are covered with
the #define-s and it won't hurt performance at all


client/mysqltest.c:
  that'll be faster
include/mysql.h:
  #defines changed to functions
libmysql/libmysql.c:
  that'll be faster that calls of wrapper functions
libmysqld/libmysqld.c:
  skip wrapper function
sql-common/client.c:
  skip wrapper function
2003-09-18 18:28:42 +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
49b0312dd7 merge commit, hope that none of bar and dlenev changes were
lost.


BitKeeper/etc/logging_ok:
  auto-union
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
include/mysqld_error.h:
  merge commit: new error message added
sql-common/client.c:
  merge commit
sql/mysql_priv.h:
  merge commit: autoremerge
sql/set_var.h:
  merge commit
sql/share/czech/errmsg.txt:
  merge commit
sql/share/danish/errmsg.txt:
  merge commit
sql/share/dutch/errmsg.txt:
  merge commit
sql/share/english/errmsg.txt:
  merge commit
sql/share/estonian/errmsg.txt:
  merge commit
sql/share/french/errmsg.txt:
  merge commit
sql/share/german/errmsg.txt:
  merge commit
sql/share/greek/errmsg.txt:
  merge commit
sql/share/hungarian/errmsg.txt:
  merge commit
sql/share/italian/errmsg.txt:
  merge commit
sql/share/japanese/errmsg.txt:
  merge commit
sql/share/korean/errmsg.txt:
  merge commit
sql/share/norwegian-ny/errmsg.txt:
  merge commit
sql/share/norwegian/errmsg.txt:
  merge commit
sql/share/polish/errmsg.txt:
  merge commit
sql/share/portuguese/errmsg.txt:
  merge commit
sql/share/romanian/errmsg.txt:
  merge commit
sql/share/russian/errmsg.txt:
  merge commit
sql/share/serbian/errmsg.txt:
  merge commit
sql/share/slovak/errmsg.txt:
  merge commit
sql/share/spanish/errmsg.txt:
  merge commit
sql/share/swedish/errmsg.txt:
  merge commit
sql/share/ukrainian/errmsg.txt:
  merge commit
sql/slave.cc:
  merge commit
sql/slave.h:
  merge commit
sql/sql_acl.cc:
  merge commit
sql/sql_parse.cc:
  merge commit
sql/sql_repl.h:
  merge commit
2003-09-03 14:12:10 +04:00
unknown
36636e8278 SCRUM:
Fixed some mess with STDCALL in function's declarations


include/mysql.h:
  That definitions are more correct
libmysqld/lib_sql.cc:
  should be declared as STDCALL
libmysqld/libmysqld.c:
  should be declared as STDCALL
sql-common/client.c:
  should be declared as STDCALL
2003-08-28 13:39:46 +05:00
unknown
91dc31d383 Fix for bug in ROLLUP when all tables where 'const' tables (Bug #714)
mysql-test/r/olap.result:
  new test case for bug
mysql-test/t/olap.test:
  new test case for bug
sql-common/client.c:
  Safety fix
2003-08-26 20:23:48 +03:00
unknown
2901c3b8fa After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings


BitKeeper/deleted/.del-convert.result~a3b56e1db6f498e9:
  Delete: mysql-test/r/convert.result
BitKeeper/deleted/.del-convert.test~f4ceb743194dfe72:
  Delete: mysql-test/t/convert.test
BitKeeper/deleted/.del-make_win_src_distribution.old~5c9ebdc4a852b43b:
  Delete: scripts/make_win_src_distribution.old
client/mysql.cc:
  Use server character set if --default-character-set is not used
client/mysqltest.c:
  Code cleanup (merge identical code)
  More debug messages
heap/hp_create.c:
  After merge fix
include/m_ctype.h:
  After merge fix
include/my_global.h:
  Remove size_str (we already have size_s)
include/mysql_com.h:
  After merge fix
libmysql/libmysql.c:
  After merge fix
libmysqld/Makefile.am:
  After merge fix
mysql-test/r/auto_increment.result:
  After merge fix
mysql-test/r/create.result:
  After merge fix
mysql-test/r/ctype_latin1_de.result:
  After merge fix
mysql-test/r/distinct.result:
  After merge fix
mysql-test/r/drop.result:
  After merge fix
mysql-test/r/fulltext.result:
  After merge fix
mysql-test/r/func_gconcat.result:
  After merge fix
mysql-test/r/func_str.result:
  After merge fix
mysql-test/r/func_test.result:
  After merge fix
mysql-test/r/grant.result:
  After merge fix
mysql-test/r/group_by.result:
  After merge fix
mysql-test/r/handler.result:
  After merge fix
mysql-test/r/heap.result:
  After merge fix
mysql-test/r/heap_btree.result:
  After merge fix
mysql-test/r/heap_hash.result:
  After merge fix
mysql-test/r/innodb.result:
  After merge fix
mysql-test/r/insert.result:
  After merge fix
mysql-test/r/insert_select.result:
  After merge fix
mysql-test/r/join_outer.result:
  After merge fix
mysql-test/r/key.result:
  After merge fix
mysql-test/r/key_cache.result:
  After merge fix
mysql-test/r/loaddata.result:
  After merge fix
mysql-test/r/myisam.result:
  After merge fix
mysql-test/r/null.result:
  After merge fix
mysql-test/r/null_key.result:
  After merge fix
mysql-test/r/order_by.result:
  After merge fix
mysql-test/r/rpl_do_grant.result:
  After merge fix
mysql-test/r/rpl_error_ignored_table.result:
  After merge fix
mysql-test/r/rpl_ignore_grant.result:
  After merge fix
mysql-test/r/rpl_loaddata.result:
  After merge fix
mysql-test/r/rpl_log.result:
  After merge fix
mysql-test/r/rpl_log_pos.result:
  After merge fix
mysql-test/r/rpl_max_relay_size.result:
  After merge fix
mysql-test/r/rpl_replicate_do.result:
  After merge fix
mysql-test/r/rpl_reset_slave.result:
  After merge fix
mysql-test/r/rpl_rotate_logs.result:
  After merge fix
mysql-test/r/rpl_user_variables.result:
  After merge fix
mysql-test/r/select.result:
  After merge fix
mysql-test/r/select_safe.result:
  After merge fix
mysql-test/r/subselect.result:
  After merge fix
mysql-test/r/type_blob.result:
  After merge fix
mysql-test/r/type_decimal.result:
  After merge fix
mysql-test/r/type_float.result:
  After merge fix
mysql-test/r/type_ranges.result:
  After merge fix
mysql-test/r/type_time.result:
  After merge fix
mysql-test/r/type_uint.result:
  After merge fix
mysql-test/r/union.result:
  After merge fix
mysql-test/r/warnings.result:
  After merge fix
mysql-test/t/auto_increment.test:
  After merge fix
mysql-test/t/case.test:
  After merge fix
mysql-test/t/ctype_collate.test:
  After merge fix
mysql-test/t/ctype_latin1_de.test:
  After merge fix
mysql-test/t/drop.test:
  After merge fix
mysql-test/t/func_in.test:
  After merge fix
mysql-test/t/func_set.test:
  After merge fix
mysql-test/t/func_str.test:
  After merge fix
mysql-test/t/func_test.test:
  After merge fix
mysql-test/t/grant.test:
  After merge fix
mysql-test/t/group_by.test:
  After merge fix
mysql-test/t/handler.test:
  After merge fix
mysql-test/t/heap.test:
  After merge fix
mysql-test/t/heap_btree.test:
  After merge fix
mysql-test/t/heap_hash.test:
  After merge fix
mysql-test/t/innodb.test:
  After merge fix
mysql-test/t/insert_select.test:
  After merge fix
mysql-test/t/key.test:
  After merge fix
mysql-test/t/key_cache.test:
  After merge fix
mysql-test/t/lock_tables_lost_commit-master.opt:
  After merge fix
mysql-test/t/lock_tables_lost_commit.test:
  After merge fix
mysql-test/t/myisam.test:
  After merge fix
mysql-test/t/row.test:
  After merge fix
mysql-test/t/subselect.test:
  After merge fix
mysql-test/t/type_decimal.test:
  After merge fix
mysql-test/t/type_ranges.test:
  After merge fix
mysql-test/t/type_uint.test:
  After merge fix
mysql-test/t/variables.test:
  After merge fix
mysql-test/t/warnings.test:
  After merge fix
scripts/make_win_src_distribution.sh:
  after merge fixes
sql-common/client.c:
  After merge fix
  Change my_connect() to use poll()
  If character set is not given, use servers character set.
sql/field.cc:
  After merge fix
  Don't give warnings when storing data in fields in optimizer.
sql/ha_myisammrg.h:
  After merge fix
sql/log.cc:
  After merge fix
sql/log_event.cc:
  After merge fix
sql/mysqld.cc:
  After merge fix
sql/opt_range.cc:
  After merge fix
sql/set_var.cc:
  Code cleanup
  Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/set_var.h:
  Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/slave.cc:
  After merge fix
sql/sql_acl.cc:
  After merge fix
  Code cleanup
sql/sql_class.cc:
  Added convert_string() for more efficient alloc+character-set convert of strings
  Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_class.h:
  Added convert_string() for more efficient alloc+character-set convert of strings
  Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_handler.cc:
  After merge fix
sql/sql_lex.h:
  After merge fix
sql/sql_parse.cc:
  Optimize and fix memory reference errors reported by valgrind
sql/sql_repl.cc:
  After merge fix
sql/sql_yacc.yy:
  After merge fix
  Avoid calling mysql_charset_same() when parsing identifiers
strings/ctype-latin1.c:
  Port latin_de conversion code from 4.0
2003-08-19 00:08:08 +03:00
unknown
4acc45d784 manual merge
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_parse.cc:
  merge commit
  convert of database to utf8 in case of cahnge_user added
2003-07-31 17:11:52 +04:00
unknown
2c3cba310a merge commit
sql-common/client.c:
  comment fix
2003-07-31 15:47:00 +04:00
unknown
4ef2a4306d Fix for #886
sql-common/client.c:
  SOCKET_EINTR is handled differently working in replication
2003-07-28 20:16:11 +05:00
unknown
41e77ddf65 SCRUM - adding client into embedded server
error handling fixed
fetch_lengths made to work differently in embedded and client cases


include/mysql.h:
  removed 'embedded' error containers - they're unnecessary now
  added declarations for fetch_lengths to be 'virtual'
include/sql_common.h:
  fetch_lengths declaration removed
libmysql/libmysql.c:
  implementations for fetch_lengths to be 'virtual' added
libmysqld/lib_sql.cc:
  error informations now is moved from thd->net to mysql-net
libmysqld/libmysqld.c:
  error data is in mysql->net now
sql-common/client.c:
  we have to return old fetch_lengths implementation for 'client' case
sql/protocol.cc:
  handling of sqlstate for embedded library added
2003-07-23 15:23:20 +05:00
unknown
30ced7f7f6 Style fixes, comments for 4.1.1 authorization
Now special 1-byte packet is used for request of old password
Fixed bug with --skip-grant-tables and acl_getroot


include/mysql.h:
  removed scramble_323 member as now scramble_323 function does not count
  on trailing zero for scramble
include/mysql_com.h:
  updated declarations
libmysql/libmysql.c:
  now server sends special 1-byte packet instead of old scramble
  to re-request password.
  mysql->scramble_323 replaced with mysql->scramble
sql-common/client.c:
  now server sends special 1-byte packet instead of old scramble
  to re-request password.
  mysql->scramble_323 replaces with mysql->scramble
sql/password.c:
  comments beautified
  hash_password now accepts password length
sql/protocol.cc:
  added send_old_password_request function
sql/protocol.h:
  added send_old_password_request function
sql/sql_acl.cc:
  style fixes, bug with --skip-grant-tables and acl_getroot
  fixed
sql/sql_class.h:
  thd->scramble_323 removed as now
  old functions accept not null-terminated scrambles
sql/sql_crypt.cc:
  fixed with new hash_password proto
sql/sql_parse.cc:
  style fixes
  few comments added
2003-07-18 18:25:54 +04:00
unknown
d17b3e967d SCRUM
Including client code into embedded library
fixes


libmysql/libmysql.c:
  We should call this way
libmysqld/lib_sql.cc:
  Necessary initializations added
libmysqld/libmysqld.c:
  mysql_close can't be "virtual"
  mysqltest.c calls mysql_close before mysql_connect
sql-common/client.c:
  We have to redo fetch_lengths to count lengths looking at '\0' in string.
  It works slower, but is correct for both client and embedded libraries
2003-07-18 16:26:35 +05:00
unknown
90091dee46 Some mistakes fixed
libmysql/libmysql.c:
  was removed by mistake during merging
libmysqld/Makefile.am:
  link should be removed first
libmysqld/libmysqld.c:
  We don't need this line here
sql-common/pack.c:
  Function was moved to old place
sql/sql_client.cc:
  we do need this function
2003-07-14 16:38:51 +05:00
unknown
78c3d9684c Preliminary support for options --secure-auth,
--old-passwords
Support for option --old-protocol was removed.
Some test performed.
Tests for SSL and replication are pending.
More strict following to specification for --old-passwords
is in the TODO.


include/mysql_com.h:
  support for 3.20 passwords removed from
  scramble_323
include/mysqld_error.h:
  added error code for --secure-auth mode
libmysql/libmysql.c:
  removed support for 3.20 password and protocol
  version 9
mysql-test/r/connect.result:
  added check for new syntax of 
  set password
mysql-test/r/func_crypt.result:
  tests for two-argument of password() were removed.
  Instead added tests for cooperation of password() and
  old_passwords session/global variable, passwords() and spaces 
  in argument string
mysql-test/t/connect.test:
  added check for new syntax of
  set password
mysql-test/t/func_crypt.test:
  tests for two-argument of password() were removed.
  Instead added tests for cooperation of password() and
  old_passwords session/global variable, passwords() and spaces 
  in argument string
sql-common/client.c:
  removed support for 3.20 servers and 
  protocol version 9
sql/item_strfunc.h:
  fixed comment
sql/mysql_priv.h:
  added declarartion for option opt_secure_auth
sql/mysqld.cc:
  added option opt_secure_auth
  option old-password placed according to
  sort order
sql/password.c:
  removed support for 3.20 clients and 
  old scrambles
sql/set_var.cc:
  added system variable 'secure_auth'
  added system/thread variable 'old_passwords'
sql/set_var.h:
  sys_old_passwords needs to be exported 
  because sys_old_passwords.after_update is used
  in sql_acl.cc
sql/sql_acl.cc:
  support for 3.20 passwords removed
  now acl_init honors options works properly with
  options/variables --secure-auth and --old-passwords
sql/sql_acl.h:
  support for 3.20 clients removed
sql/sql_class.h:
  added system/thread variable old_passwords
sql/sql_parse.cc:
  support for 3.20 clients removed
  now check_user takes into account option
  secure_auth
sql/sql_yacc.yy:
  global variable use_old_passwords 
  replaced with thread-specific variable 
  old_passwords
sql/share/czech/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/danish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/dutch/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/english/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/estonian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/french/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/german/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/greek/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/hungarian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/italian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/japanese/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/korean/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/norwegian-ny/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/norwegian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/polish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/portuguese/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/romanian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/russian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/serbian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/slovak/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/spanish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/swedish/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
sql/share/ukrainian/errmsg.txt:
  error message for --secure-auth added
  (as suggested by Paul)
2003-07-08 02:36:14 +04:00
unknown
ccbcf1c9da Bug fixes for authentication
OLD_PASSWORD made a keyword to allow set password=old_password('abc') constructions.


BitKeeper/etc/ignore:
  Added BitKeeper/post-commit BitKeeper/post-commit-manual build_tags.sh tests/connect_test BUILD/compile-pentium-maintainer to the ignore list
include/mysql_com.h:
  scramble return type changed to void as now it's not used
libmysql/libmysql.c:
  fixed bug with with failed authentification when scramble contained zero byte
sql-common/client.c:
  applied patch from Lycos team
  fixed bug with scramble containing zero byte
sql/item_create.cc:
  removed create_func_old_password, create_func_password as they are not used any more
sql/item_create.h:
  removed create_func_old_password, create_func_password as they are not used any more
sql/item_strfunc.cc:
  Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/item_strfunc.h:
  Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/lex.h:
  OLD_PASSWORD now is keyword, to allow statements like
  set password=old_password('abc')
sql/password.c:
  fixed scramble return value
  trailing zero now is not written
sql/sql_acl.cc:
  incorporated patch from Lycos team
  41 replaced with constant
  acl_getroot rewritten to support ER_AUTH_... error
sql/sql_parse.cc:
  authenticate merged with check_user
  check_user return values reversed, support for ER_AUTH in check_user.added
sql/sql_yacc.yy:
  OLD_PASSWORD now is keyword, to allow statements like
  set password=old_password('abc')
2003-07-04 20:52:04 +04:00
unknown
7248ab7b59 Resolving conflicts
BitKeeper/etc/logging_ok:
  auto-union
client/mysqltest.c:
  Auto merged
sql-common/client.c:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/sql_client.cc:
  Auto merged
include/mysql.h:
  Merging (prolly it's the mistake)
libmysqld/libmysqld.c:
  This code seems to be unnecessary
2003-07-04 13:21:14 +05:00
unknown
14fd42e13f SCRUM
Including client code into embedded library

Code trimming (fixes of comments etc)


include/mysql_com.h:
  Comment fixed
include/mysql_embed.h:
  comment fixed
include/violite.h:
  comment fixed
libmysql/libmysql.c:
  #undef should work anyway
libmysqld/libmysqld.c:
  comment fixed
sql-common/client.c:
  #undef should work anyway
sql/net_serv.cc:
  #undef should work anyway
2003-07-04 11:40:10 +05:00
unknown
dbb088b034 First version of new authentification procedure: now authentification is one-stage (instead of two-stage in 4.1)
For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
  hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; 

- password.c: new functions were implemented, old rolled back to 4.0 state

- server code was rewritten to use new authorization algorithm (check_user(), change
  user, and other stuff in sql/sql_parse.cc)

- client code was rewritten to use new authorization algorithm
  (mysql_real_connect, myslq_authenticate in sql-common/client.c)

- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
  authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)

- mysqladmin.c was fixed to work correctly with new passwords

Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.


BitKeeper/etc/ignore:
  Added start_mysqld.sh mysys/main.cc to the ignore list
client/mysqladmin.c:
  fixed with new password api
include/mysql.h:
  So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary.
  gotta be fixed
include/mysql_com.h:
  new constants and password.c api changes
libmysql/libmysql.c:
  mysql_change_user rewritten to work with new password api
scripts/mysql_create_system_tables.sh:
  fixed 'Password' column length to 41
scripts/mysql_fix_privilege_tables.sql:
  fixed 'Password' column length to 41
sql-common/client.c:
  mysql_real_connect rewritten to support new handshake procedure
sql/item_strfunc.cc:
  Item_func_password and Item_func_old_password rewritten with new password api
sql/item_strfunc.h:
  bit commented, numbers replaced with #defined constants
sql/mysql_priv.h:
  removed unnecessary declaration as now all constants defined is in mysql_com.h
sql/mysqld.cc:
  scramble initialization moved to sql_parce.cc:check_connection
sql/password.c:
  All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes.
  Names for 4.0 functions were suffixed with '_323'
  Functions for new handshake were added.
sql/slave.cc:
  Fixed to new constant; Bug #766 remains to be fixed
sql/slave.h:
  fixed to new constant; Buf #766 remains to be fixed
sql/sql_acl.cc:
  rewritten to support new passwords (41 byte-long) and password api
sql/sql_acl.h:
  ditto
sql/sql_class.cc:
  initialization for new members added
sql/sql_class.h:
  same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old
sql/sql_parse.cc:
  check_connections was renamed to check_connection as this name reflects better what this function does
  authorization part of check_connection was rewritten
  check_user was rewritten with new password and acl api
  new function 'authenticate', which optionally re-request scramble from client was added
  fixed some typos
  COM_CHANGE_USER piece of dipsatch_command() was rewritten
sql/sql_repl.h:
  HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH
  bug #766 remains
sql/sql_yacc.yy:
  Two-argument form of PASSWORD() was removed
  PASSWORD() function was fixed with new password api.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-07-01 23:40:59 +04:00
unknown
fff1f663c2 Fixed some new memory leaks
Updated VC++ files


VC++Files/client/mysql.dsp:
  Update of VC++ files
VC++Files/client/mysqlclient.dsp:
  Update of VC++ files
VC++Files/libmysqld/examples/test_libmysqld.dsp:
  Update of VC++ files
VC++Files/libmysqld/libmysqld.def:
  Update of VC++ files
VC++Files/libmysqld/libmysqld.dsp:
  Update of VC++ files
VC++Files/myisam/myisam.dsp:
  Update of VC++ files
VC++Files/mysql.dsw:
  Update of VC++ files
VC++Files/sql/mysqld.dsp:
  Update of VC++ files
include/mysql.h:
  Add missing client functions to embedded server
libmysql/libmysql.def:
  sort functions to enable comparison with libmysqld.def
libmysqld/libmysqld.c:
  Add missing client functions to embedded server
libmysqld/libmysqld.def:
  sort functions to enable comparison with libmysql.def
  Added missing functions
myisam/mi_preload.c:
  Fixed compiler warning.
  Small code cleanup
scripts/make_win_src_distribution.sh:
  Fixed typo
  Don't run zip in verbose mode
scripts/mysql_create_system_tables.sh:
  Change so that localhost has full access (to make this like 4.0)
scripts/mysql_fix_privilege_tables.sh:
  Allow on to run this from the source distribution
sql-common/client.c:
  Fixed memory leak
sql/item_sum.cc:
  Removed compiler warning
sql/slave.cc:
  Cleanup
sql/sql_client.cc:
  Portability fix
sql/sql_help.cc:
  Fixed memory leak
2003-06-24 12:10:35 +03:00
unknown
06f3d10ffd Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.2way


BitKeeper/etc/logging_ok:
  auto-union
2003-06-19 16:38:51 +05:00
unknown
cc0904178b SCRUM
client code added to the embedded library
some fixes


include/mysql.h:
  test code removed
  simple_command is the macrodefinition now
libmysqld/embedded_priv.h:
  this declaration obsolete
libmysqld/lib_sql.cc:
  errors stored in the same place for embedded and client libraries now
sql-common/client.c:
  we don't need that ugly wrapper
2003-06-19 16:38:21 +05:00
unknown
76a06a4742 - added sql-common subdirectory and sql_common.h to source distribution
Makefile.am:
   - added sql-common directory to distribution
configure.in:
   - minor fixes
   - added sql-common/Makefile to AC_OUTPUT
include/Makefile.am:
   - added sql_common.h to distribution
2003-06-18 23:13:29 +02:00
unknown
13e8bf67fc SCRUM
including client code into embedded server
code to guess what library to use added
net_field_length moved to pack.c


include/mysql.h:
  typedefinitions moved for suitability
  mysql_option.methods_to_use added
include/mysql_com.h:
  net_store_length declaration
libmysql/libmysql.c:
  net_store_length moved to sql-common/pack.c
libmysqld/libmysqld.c:
  added code to guess whether to use remote or embedded connection
sql-common/client.c:
  options checking added
sql-common/pack.c:
  net_store_length implementation moved here
sql/protocol.cc:
  net_store_length moved to sql-common/pack.c
2003-06-18 15:58:57 +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
19a4898c72 merge
sql-common/client.c:
  Auto merged
scripts/mysql_install_db.sh:
  Use local version
2003-06-16 01:13:23 +03: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
ed1d28fdb6 Fixes for make_win_src_distributions
Removed compiler warnings


scripts/make_win_src_distribution.sh:
  Added option --dirname
  Also copy sql-common directory
  Create mysql data files even if mysqld is not installed
scripts/mysql_create_system_tables.sh:
  Update for usage with make_win_src_distribution
scripts/mysql_install_db.sh:
  Update for usage with make_win_src_distribution
sql-common/client.c:
  Portability fix
sql/item_cmpfunc.cc:
  Removed compiler warning
sql/sql_acl.cc:
  Indentation cleanup
  Removed compiler warning
sql/sql_parse.cc:
  Removed compiler warning
sql/sql_select.cc:
  Removed compiler warning
sql/sql_yacc.yy:
  Removed compiler warning
strings/ctype-utf8.c:
  Removed compiler warning
2003-06-15 23:24:37 +03: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
ac366a4ba5 client.c:
Compilation falure fix


sql-common/client.c:
  Compilation falure fix
2003-06-06 11:06:45 +05:00
unknown
824dd7f545 After merge fixes
mysql-test/r/repair_part1.result:
  Rename: mysql-test/r/repair.result -> mysql-test/r/repair_part1.result
mysql-test/t/repair_part1.test:
  Rename: mysql-test/t/repair.test -> mysql-test/t/repair_part1.test
include/sql_common.h:
  Declare not_error_sqlstate
scripts/Makefile.am:
  Added back fill_help_tables.sql
2003-06-05 23:19:56 +03:00
unknown
020baadcfe client.c:
Missed file from earlier commit


sql-common/client.c:
  Missed file from earlier commit
2003-06-04 00:21:49 -07:00
unknown
b7eadb2a09 Windows build fixups (Fix for slave_net_timeout)
VC++Files/libmysqld/libmysqld.dsp:
  Remove the old files from Embedded library
sql/slave.h:
  Fix for client.c - slave_net_timeout
sql-common/client.c:
  Fix warning
2003-06-03 22:57:42 -07:00
unknown
f403a2967b Fix windows build after applyiing the changes from new client.c(sql-common)
NOTE: Still the build fails to compile core server on Windows due to slave_net_timeout linker error from client.obj
      and make sure to have the next changeset, which fixes this.


sql/item_geofunc.cc:
  Fix warnings
sql/sql_help.cc:
  Fix compiler errors
sql-common/client.c:
  Delete and move redefination of shared memory stuff
libmysql/libmysql.c:
  Fix for redefination stuff from client.c
VC++Files/client/mysqlclient.dsp:
  add client.c
VC++Files/libmysql/libmysql.dsp:
  add client.c
VC++Files/sql/mysqld.dsp:
  add client.c and remove old convert.cpp and mini_client.c
2003-06-03 20:59:32 -07: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
unknown
a1e47ce8ee SCRUM
common parts of libmysql.c and sql/mini_client.cc moved to sql-common/client.c
names of functions now are same in both cases


libmysql/libmysql.c:
  many parts moved to sql-common/client.c
libmysqld/Makefile.am:
  superfluous files removed
sql/mini_client.cc:
  most of the file moved to sql-common/client.c
sql/mini_client.h:
  mc_ prefixes were deleted
sql/repl_failsafe.cc:
  mc_ prefixes removed
sql/slave.cc:
  _mc prefixes removed
2003-05-02 21:07:41 +05:00
unknown
f0909cd71a SCRUM
Protocol_cursor class and sql-common/ directory


Makefile.am:
  pack.c added to linked sources
include/mysql.h:
  net_field_length_ll declaration added
include/mysql_com.h:
  net_field_length declaration added
libmysql/Makefile.am:
  sql-common files symlinked
libmysql/Makefile.shared:
  pack.lo target added
libmysql/libmysql.c:
  net_field_length removed from here
sql/Makefile.am:
  pack.c added to the sources
sql/mini_client.cc:
  mc_net_field_length functions replaced with net_field_length
sql/protocol.h:
  Protocol_cursor class added
2003-04-23 19:37:33 +05:00