Commit graph

480 commits

Author SHA1 Message Date
unknown
cde39f5e6b changed comment for LONG_DATA_COMMAND 2004-05-25 19:52:05 +04:00
unknown
4cca7db746 Manually merged, requirees more merging
sql/mysql_priv.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-05-25 08:15:50 +04:00
unknown
093d62922b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.


include/my_global.h:
  Macro swap(a, b, c) was renamed to resolve name conflict with
  String::swap() method.
include/my_sys.h:
  Added declaration of escape_string_for_mysql()
include/mysql_com.h:
  Removed and moved back: a macro which is visible to libmysql user but
  has sence only in prepared statement protocol implementation.
isam/_search.c:
  swap -> swap_variables
isam/test2.c:
  swap -> swap_variables
libmysql/libmysql.c:
  - sub_escape_string moved to mysys/charset.c to be visible in sql/
  - few cleanups
myisam/mi_test2.c:
  swap -> swap_variables
mysys/charset.c:
  sub_escape_string was moved from libmysql.c to be able to use it in sql/
  code.
mysys/my_chsize.c:
  rename: swap -> swap_variables
mysys/my_compress.c:
  swap -> swap_variables
mysys/my_handler.c:
  swap -> swap_variables
sql/field.cc:
  Field::store_time refactored to use TIME_to_string function from time.cc
sql/item.cc:
  New implementation of Item_param class:
  added support for character sets conversion.
sql/item.h:
  Item_param:
  - 'state' member introduced instead of many boolean variables.
  - put ltime, int_value and real_value into union to save space.
  - remove unimplemented members
  - set_value renamed to set_str
sql/item_timefunc.cc:
  Refactored to use functions from time.cc
sql/lock.cc:
  rename: swap -> swap_variables
sql/mysql_priv.h:
  - added declarations for TIME_to_ulonglong_*, TIME_to_string functions
  - const specifiers for make_date, make_time, make_datetime arguments
sql/opt_range.cc:
  rename: swap -> swap_variables
sql/protocol.cc:
  - added character set conversion support to binary protocol.
  - Protocol::convert changed to point at shared buffer in THD.
    This lets us use one convert buffer for binary and simple protocol.
    The same buffer is used for client->server conversions in prepared
    statements code.
  - string conversion code refactored to Protocol::store_string_aux function.
  - few more comments
sql/protocol.h:
  - Protocol::convert now points at THD::convert_buffer: we want to share one
    buffer between all protocol implementations.
sql/sql_class.cc:
  - implementation of THD::convert_string using THD::convert_buffer
    (conversion of strings allocated in the system heap).
sql/sql_class.h:
  - THD::convert_buffer is shared between THD and network Protocols and
    used for character set conversion of strings.
  - new function to convert String object from one charset to another using
    THD::convert_buffer
sql/sql_insert.cc:
  A little fix in a comment.
sql/sql_parse.cc:
  Shrink convert buffer in the end of each statement.
sql/sql_prepare.cc:
    Many changes:
  - static specifier for set_param_* family of functions.
  - FIELD_TYPE -> MYSQL_TYPE
  - added set_param_binary as handler for BLOB types.
  - added character set support
  - added support for param typecode in mysql_stmt_get_longdata
    (mysql_stmt_send_long_data handler)
  - changes in Item_param deployed
  - few cleanups
sql/sql_select.cc:
  rename: swap -> swap_variables
sql/sql_string.cc:
  - String::append rewritten to support character set conversion for
  single-byte encodings.
  - added String::swap method to efficiently exchange two string objects.
sql/sql_string.h:
  Declraration for String::swap().
sql/time.cc:
  - function TIME_to_string to convert TIME to String in default MySQL format
  - family of functions TIME_to_ulonglong_*
tests/client_test.c:
  Test for support for character set conversions in prepared statements
  (binary and text data).
2004-05-25 02:03:49 +04:00
unknown
c0729cbbca Added support for PREPARE stmt1 FROM @var,
Fixed the problem of previous patch with replication,
More post-review fixes


sql/sql_parse.cc:
  Added support for PREPARE stmt1 FROM @var
sql/sql_prepare.cc:
  Added support for PREPARE stmt1 FROM @var, 
  Fixed the problem of previous patch with replication
  Post-review fixes.
2004-05-24 21:08:22 +04:00
unknown
fc68be78eb Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-21 04:31:07 +04:00
unknown
e7710af7f4 WL#1622 "SQL Syntax for Prepared Statements": Post-review fixes (1 of 2)
mysql-test/r/ps.result:
  Added tests for PREPARE stmt1 FROM @var syntax
mysql-test/t/ps.test:
  Added tests for PREPARE stmt1 FROM @var syntax
mysys/my_error.c:
  Added support for "%.*s" format
sql/item.cc:
  Removed one redundant Item_param::set_value function
sql/item.h:
  Removed one redundant Item_param::set_value function
sql/mysqld.cc:
  Reformmated the code
sql/share/czech/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/dutch/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/english/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/estonian/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/french/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/german/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/greek/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/hungarian/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/italian/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/japanese/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/korean/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/norwegian-ny/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/norwegian/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/polish/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/portuguese/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/romanian/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/russian/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/slovak/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/spanish/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/swedish/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/ukrainian/errmsg.txt:
  Changed ER_UNKNOWN_STMT_HANDLER format string
sql/sql_class.h:
  SQL Prepared statements now can't be used by binary protocol commands
sql/sql_lex.h:
  Added support for PREPARE stmt1 FROM @var syntax.
sql/sql_parse.cc:
  Added support for PREPARE stmt1 FROM @var syntax.
sql/sql_prepare.cc:
  Code cleanup
sql/sql_yacc.yy:
  Added support for PREPARE stmt1 FROM @var syntax.
2004-05-21 04:27:50 +04:00
unknown
16227c28e6 PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266)
mysql-test/r/sp.result:
  test suite for Bug #2266
mysql-test/t/sp.test:
  test suite for Bug #2266
sql/item_subselect.cc:
  made ancestor for Statement (Item_arena)
sql/item_subselect.h:
  made ancestor for Statement (Item_arena)
sql/item_sum.cc:
  made ancestor for Statement (Item_arena)
sql/item_sum.h:
  made ancestor for Statement (Item_arena)
sql/mysql_priv.h:
  reset_stmt_for_execute use PS and SP
sql/sp_head.cc:
  sp_head use Item_arena as ancestor to be PS cleunup compatible
  SP use PS storing/restoring/cleanup mechanisms
  cleanup() of SP Items added
  Items created in temporary memory pool during SP execution saved for normal freeing after SP execution
sql/sp_head.h:
  sp_head use Item_arena
sql/sql_base.cc:
  made ancestor for Statement (Item_arena)
  results of wild_setup made permanent
  setup_conds make natural joins expanding only once and store results in PS/SP memory
sql/sql_class.cc:
  made ancestor for Statement (Item_arena)
sql/sql_class.h:
  made ancestor for Statement (Item_arena)
  method to detect PS preparation added
sql/sql_delete.cc:
  storing where for DELETE and mark first execution
sql/sql_derived.cc:
  use method
sql/sql_insert.cc:
  mark first execution for INSERT
sql/sql_lex.cc:
  flags to correctly make transformations of query and storing them in memory of PS/SP
  made ancestor for Statement (Item_arena)
sql/sql_lex.h:
  reved variable od SP ol saving data
  flags to correctly make transformations of query and storing them in memory of PS/SP
sql/sql_parse.cc:
  cleunup unit for any query
sql/sql_prepare.cc:
  made ancestor for Statement (Item_arena)
  storing where moved to preparation
  changed interface of reset_stmt_for_execute to use it is SP
  do not restore where/order by/group by before first execution (but tables and unit can be chenged without execution and should be prepared (subqueries executes on demand))
sql/sql_select.cc:
  storing where for SELECT/multi-DELETE/... and mark first execution
sql/sql_union.cc:
  made ancestor for Statement (Item_arena)
sql/sql_update.cc:
  storing where for UPDATE and mark first execution
2004-05-20 02:02:49 +03:00
unknown
056ee93c5c embedded library: fix for sending of parameters to stored procedure.
using of methods like sint2korr() doesn't work on Bigendian machines


sql/sql_prepare.cc:
  special 'embedded' patches added to almost all set_parameter_XXX functions
2004-05-18 19:13:21 +05:00
unknown
05cd698f54 Fixes for #3371, #3372, #3374, #3375, #3376
libmysql/libmysql.c:
  code to fix #3772
  counting of field->max_length moved to mysql_store_stmt_result so
  it will work in libmysqld also
libmysqld/lib_sql.cc:
  to fix #3771 and #3775
  stmt->affected_rows specifying added
  code getting default values changed so it will add terminating /0 to
  values
sql/sql_parse.cc:
  to fix #3773
  silly mistake here :\
sql/sql_prepare.cc:
  to fix #3774 and #3776
  special function for datetime values in embedded server added
  unsigned flag now specified for values in embedded server
tests/client_test.c:
  this test fails if privilege-checking pars are disabled
  (it's the default for libmysqld)
2004-05-15 17:07:44 +05:00
unknown
e9c1e75b48 Merge 4.1 -> 5.0
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/sql/mysqld.dsp:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
sql/ha_berkeley.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
tests/client_test.c:
  Auto merged
2004-05-07 18:52:06 +02:00
unknown
6810ca1b71 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-06 23:02:32 +04:00
unknown
151495baf7 mysql_stmt_reset now expects ok/error packet from server.
libmysql/libmysql.c:
  Make advanced_command check client reply
sql/sql_prepare.cc:
  mysql_stmt_reset now sends ok/error reply to the client.
tests/client_test.c:
  Memory leak fixed.
2004-05-06 22:44:00 +04:00
unknown
60017fb260 WL#1622: Post-merge fixes 2004-05-05 19:11:40 +04:00
unknown
b30d0883b1 Merge miguel@bk-internal.mysql.com:/home/bk/mysql-4.1
into hegel.local:/home/miguel/bk/mysql-4.1


sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-05-05 10:55:39 -03:00
unknown
cf8463ac7b Fixes for prior commit
mysys/my_getsystime.c:
  Applied Sergei's fixes
sql/sql_prepare.cc:
  Fix prior commit
2004-05-05 10:54:11 -03:00
unknown
77ee81b5cc Manual merge for WL#1622 code, will need fixes
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Manual merge, will need fixes
2004-05-05 16:10:16 +04:00
unknown
575541b9f7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


mysql-test/r/subselect.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-05-05 12:40:59 +03:00
unknown
e75a26ba3f Delete Items created during Prepared Stat (memory leak bug) (Bug #3451)
sql/sql_parse.cc:
  Delete Items created during Prepared Stat (memory leak bug)
sql/sql_prepare.cc:
  Delete Items created during Prepared Stat (memory leak bug)
2004-05-05 12:40:33 +03:00
unknown
bddee0c170 Windows fixes for VC++ compiler compability
myisam/myisam_ftdump.c:
  VC++ compiler compability fix
mysys/my_getsystime.c:
  Applied Sergei's code for Windows (still subject to changes by him)
sql/handler.cc:
  VC++ compiler compability fix
sql/item_geofunc.cc:
  Removed non-used variable
sql/item_strfunc.cc:
  VC++ compiler compability fix
sql/opt_range.cc:
  VC++ compiler compability fix
sql/sql_insert.cc:
  VC++ compiler compability fix
sql/sql_lex.cc:
  VC++ compiler compability fix
sql/sql_parse.cc:
  VC++ compiler compability fix
sql/sql_prepare.cc:
  VC++ compiler compability fix
sql/sql_union.cc:
  Removed non-used variable and VC++ compiler compability fix
2004-05-05 02:59:17 -03:00
unknown
5c9f01a79b Manual merge of bugfix for Bug #1664.
sql/sql_prepare.cc:
  Auto merged
tests/client_test.c:
  Manual merge.
2004-05-04 19:13:18 +04:00
unknown
6ca757544b Fix for remaining issues described in Bug #1664
"mysql_send_long_data() API call is completely broken".

Now we are resetting some members (long_data_supplied/null_value...) of Item_param to its 
initial state after each execution of prepared statement. We also manipulating 
Item_param::maybe_null/null_value only via Item_param::set_* setters which makes code a bit 
more robust.


sql/item.cc:
  Now we are assuming that Item_param may be NULL until we know this fact exactly.
  Added non-empty implementation of Item_param::reset() method which should be used
  for restoring Item_param state after each statment execution. (We need to clear 
  long_data_supplied flag, we also clear some other Item_param members here since it
  makes code simpler.)
sql/item.h:
  Now Item_param::reset() method really does something.
sql/sql_prepare.cc:
  Now we are calling Item_param::reset() for each parameter after execution for resetting Item_param
  to initial state. So we no longer don't need Prepared_statement::long_data_flag. We also 
  set Item_param::null_value/maybe_null value in Item_param::set_* and reset() methods 
  instead of doing it explicitly in insert_params_* functions (this by the way lowers 
  probability that we will forget to update one of such functions).
tests/client_test.c:
  Added test for Bug#1664 "mysql_send_long_data() API call is broken".
2004-05-04 19:08:19 +04:00
unknown
8746b6a102 More small WL#1622 fixes: Allocate name of Prepared Statement on PS's mem_root.
sql/sql_prepare.cc:
  Allocate name of Prepared Statement on PS's mem_root.
2004-04-30 20:44:46 +04:00
unknown
85f85a8548 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


sql/item.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-04-30 19:24:57 +04:00
unknown
be5d750a24 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-u2


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


include/config-win.h:
  added floaststore implementation
include/my_global.h:
  added floatstore implementation
include/mysql.h:
  Bug#3035:
  added 'is_unsigned' member
  binary_data wasn't used, removed
  null_field wasn't necessary, removed
include/mysql_com.h:
  Unused defines were removed.
libmysql/libmysql.c:
  Function store_param_type was removed - too much for a function, especially
  with bug in it.
  New implementation is inline and takes into account signedness of 
  placeholder.
  Fixed store functions to not perform double network-host order conversion
  on high-byte-first systems (should also fix Bug#3578 "Prepared statement 
  integer conversions work wrong in 64-bit Power Mac G5 CPUs").
  null_field removed.
sql/sql_prepare.cc:
  Placeholder sign is taken into account when reading data from network.
tests/client_test.c:
  Test for BUG#3035 added: insert and retrieve minimum and maximum of all
  integer types.
2004-04-30 03:00:19 +04:00
unknown
4a26ea142a Post-merge fixes 2004-04-14 22:20:19 +04:00
unknown
7e114f3cd1 Merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Manual merge
sql/sql_prepare.cc:
  Manual merge
2004-04-13 02:18:09 +04:00
unknown
756223bbda WL#1622 "SQL Syntax for Prepared Statements": post-review fixes:
Moved PS name to Statement class, Statement_map now handles name-to-statement resolution.
  Both named and unnamed statements are now executed in one function (sql_prepare.cc:execute_stmt)
  Fixed a problem: Malformed sequence of commands from client could cause server to use previously deleted objects.
  Some code cleanup and small fixes


sql/mysql_priv.h:
  WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
sql/sql_class.cc:
  WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
sql/sql_class.h:
  WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
sql/sql_parse.cc:
  WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
sql/sql_prepare.cc:
  WL#1622 "SQL Syntax for Prepared Statements": post-review fixes.
2004-04-13 01:58:48 +04:00
unknown
8033292dbb Fix and testcase for BUG#3367.
sql/sql_prepare.cc:
  value_is_set should be true for NULL value, as for non-NULL values.
2004-04-13 00:13:25 +04:00
unknown
8ab58393c5 after review PS fixes
sql/item_cmpfunc.cc:
  merged in one if
sql/mysql_priv.h:
  removed unused paremeter of check_one_table_access
  declaration of new function for SP share code
sql/set_var.cc:
  function descriotion added
  unneeded parantses removed
sql/sql_acl.cc:
  new parameter to limit number of checked tables for check_grant
sql/sql_acl.h:
  new parameter to limit number of checked tables for check_grant
sql/sql_delete.cc:
  preparation moved in separate function
sql/sql_insert.cc:
  preparation moved in separate function
sql/sql_lex.cc:
  comment style fixed
  unneeded assignment removed
sql/sql_parse.cc:
  new parameter to limit number of checked tables for check_grant
  table list manipulation removed (because of above)
  new precheck function
sql/sql_prepare.cc:
  function rewrited to shere code with sql_prepare.cc
  flow control fixed
sql/sql_show.cc:
  new parameter to limit number of checked tables for check_grant
sql/sql_update.cc:
  preparation moved in separate function
sql/table.h:
  flag renamed
2004-04-10 01:14:32 +03:00
unknown
718d1f0aa7 Merge
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  SCCS merged
2004-04-08 17:08:56 +04:00
unknown
d5135aff3a merge
sql/item_cmpfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-04-08 00:19:43 +03:00
unknown
c9d856c8b7 new error for unsupported command in PS
fixed IN subselect with basic constant left expression
SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
fixed multiupdate privelege check (BUG#3408)
fixed multiupdate tables check (BUG#3411)
unchecked commands now is rejected by PS protocol to avoid serever crash
fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)


include/mysqld_error.h:
  new error for unsupported command in PS
mysql-test/r/multi_update.result:
  test sutes (BUG#3408, BUG#3411)
mysql-test/t/multi_update.test:
  test sutes (BUG#3408, BUG#3411)
sql/item_cmpfunc.cc:
  fixed IN subselect with basic constant left expression
sql/mysql_priv.h:
  some function frop sql_parse.h become public
sql/set_var.cc:
  check for SET command via PS
sql/set_var.h:
  check for SET command via PS
sql/share/czech/errmsg.txt:
  new error for unsupported command in PS
sql/share/danish/errmsg.txt:
  new error for unsupported command in PS
sql/share/dutch/errmsg.txt:
  new error for unsupported command in PS
sql/share/english/errmsg.txt:
  new error for unsupported command in PS
sql/share/estonian/errmsg.txt:
  new error for unsupported command in PS
sql/share/french/errmsg.txt:
  new error for unsupported command in PS
sql/share/german/errmsg.txt:
  new error for unsupported command in PS
sql/share/greek/errmsg.txt:
  new error for unsupported command in PS
sql/share/hungarian/errmsg.txt:
  new error for unsupported command in PS
sql/share/italian/errmsg.txt:
  new error for unsupported command in PS
sql/share/japanese/errmsg.txt:
  new error for unsupported command in PS
sql/share/korean/errmsg.txt:
  new error for unsupported command in PS
sql/share/norwegian-ny/errmsg.txt:
  new error for unsupported command in PS
sql/share/norwegian/errmsg.txt:
  new error for unsupported command in PS
sql/share/polish/errmsg.txt:
  new error for unsupported command in PS
sql/share/portuguese/errmsg.txt:
  new error for unsupported command in PS
sql/share/romanian/errmsg.txt:
  new error for unsupported command in PS
sql/share/russian/errmsg.txt:
  new error for unsupported command in PS
sql/share/serbian/errmsg.txt:
  new error for unsupported command in PS
sql/share/slovak/errmsg.txt:
  new error for unsupported command in PS
sql/share/spanish/errmsg.txt:
  new error for unsupported command in PS
sql/share/swedish/errmsg.txt:
  new error for unsupported command in PS
sql/share/ukrainian/errmsg.txt:
  new error for unsupported command in PS
sql/sql_lex.cc:
  first table unlincking procedures for CREATE command
sql/sql_lex.h:
  first table unlincking procedures for CREATE command
sql/sql_parse.cc:
  used function to exclude first table from list
  SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
  fixed multiupdate privelege check (BUG#3408)
  fixed multiupdate tables check (BUG#3411)
sql/sql_prepare.cc:
  fixed a lot of commands to be compatible with PS
  unchecked commands now is rejected to avoid serever crash
sql/sql_select.cc:
  allow empty result for PS preparing
sql/sql_union.cc:
  fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
sql/sql_update.cc:
  fixed update to use correct tables lists (BUG#3408)
sql/table.h:
  flag to support multi update tables check (BUG#3408)
tests/client_test.c:
  removed unsupported tables
  fixed show table test
  added new tests
2004-04-08 00:16:17 +03:00
unknown
c635d37479 Merge 4.1 -> 5.0.
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/sql/mysqld.dsp:
  Auto merged
client/Makefile.am:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/r/insert_select.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/r/null.result:
  Auto merged
mysql-test/r/connect.result:
  Auto merged
mysql-test/r/func_sapdb.result:
  Auto merged
mysql-test/r/mix_innodb_myisam_binlog.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/rpl_change_master.result:
  Auto merged
mysql-test/r/rpl_log.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/r/rpl_flush_log_loop.result:
  Auto merged
mysql-test/r/rpl_flush_tables.result:
  Auto merged
mysql-test/r/rpl_loaddata.result:
  Auto merged
mysql-test/r/rpl_loaddata_rule_m.result:
  Auto merged
mysql-test/r/rpl_loaddata_rule_s.result:
  Auto merged
mysql-test/r/rpl_max_relay_size.result:
  Auto merged
mysql-test/r/rpl_reset_slave.result:
  Auto merged
mysql-test/r/rpl_temporary.result:
  Auto merged
mysql-test/r/rpl_until.result:
  Auto merged
mysql-test/r/rpl_user_variables.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/func_sapdb.test:
  Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/rpl_change_master.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
netware/BUILD/compile-linux-tools:
  Auto merged
netware/BUILD/compile-netware-END:
  Auto merged
netware/BUILD/compile-netware-all:
  Auto merged
netware/BUILD/compile-netware-standard:
  Auto merged
mysql-test/t/rpl_empty_master_crash.test:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
mysql-test/t/rpl_flush_log_loop.test:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
mysql-test/t/rpl_loaddata_rule_m.test:
  Auto merged
mysql-test/t/rpl_loaddata_rule_s.test:
  Auto merged
mysql-test/t/rpl_max_relay_size.test:
  Auto merged
mysql-test/t/rpl_openssl.test:
  Auto merged
mysql-test/t/rpl_relayrotate-slave.opt:
  Auto merged
mysql-test/t/rpl_reset_slave.test:
  Auto merged
mysql-test/t/rpl_trunc_binlog.test:
  Auto merged
mysql-test/t/rpl_until.test:
  Auto merged
mysql-test/t/rpl_user_variables.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/mysql_create_system_tables.sh:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_berkeley.h:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql-common/client.c:
  Auto merged
tests/client_test.c:
  Auto merged
2004-04-07 19:07:44 +02:00
unknown
0948f9769b Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1


mysql-test/r/union.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-04-07 15:23:05 +03:00
unknown
08594c4795 after review changes
sql/log_event.cc:
  non_cachable_table flag changed to cacheable_table
sql/repl_failsafe.cc:
  non_cachable_table flag changed to cacheable_table
sql/slave.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_acl.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_base.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_cache.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_help.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_insert.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_parse.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_prepare.cc:
  renamed DEBUG tag
sql/table.h:
  non_cachable_table flag changed to cacheable_table
2004-04-07 13:25:24 +03:00
unknown
4ceaf3a629 Correct handling of parameter variables with NULL values in PREPARE queries 2004-04-07 12:58:28 +04:00
unknown
34e6098403 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1


sql/sql_prepare.cc:
  Auto merged
2004-04-06 12:32:02 +02:00
unknown
e78208e59b don't modify constant strings
sql/sql_prepare.cc:
  use static variable
2004-04-06 12:31:25 +02:00
unknown
fbfdff7fb0 Post-merge fixes
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-04-05 19:52:10 +04:00
unknown
ef8a5401f1 Many files:
SQL Syntax for Prepared Statements (WL#1622)
ps.test, ps.result:
  new file


sql/item.cc:
  SQL Syntax for Prepared Statements (WL#1622)
sql/item.h:
  SQL Syntax for Prepared Statements (WL#1622)
sql/lex.h:
  SQL Syntax for Prepared Statements (WL#1622)
sql/mysql_priv.h:
  SQL Syntax for Prepared Statements (WL#1622)
sql/mysqld.cc:
  SQL Syntax for Prepared Statements (WL#1622)
sql/sql_class.cc:
  SQL Syntax for Prepared Statements (WL#1622)
sql/sql_class.h:
  SQL Syntax for Prepared Statements (WL#1622)
sql/sql_lex.h:
  SQL Syntax for Prepared Statements (WL#1622)
sql/sql_parse.cc:
  SQL Syntax for Prepared Statements (WL#1622)
sql/sql_prepare.cc:
  SQL Syntax for Prepared Statements (WL#1622)
sql/sql_yacc.yy:
  SQL Syntax for Prepared Statements (WL#1622)
2004-04-05 19:43:37 +04:00
unknown
7873b89fc5 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly


include/mysql_com.h:
  Fixed compiler warning
libmysqld/emb_qcache.cc:
  Removed not used variable
libmysqld/lib_sql.cc:
  Removed not used variable
myisam/mi_locking.c:
  Added comment
myisam/mi_rnext.c:
  Fixed bug in concurrent insert
myisam/mi_rprev.c:
  Simple optimization
mysql-test/r/func_gconcat.result:
  New tests
mysql-test/t/func_gconcat.test:
  New tests
mysql-test/t/func_group.test:
  Cleanup
sql-common/client.c:
  Removed compiler warning
sql/derror.cc:
  Better comments
sql/field.cc:
  Removed not used function/variable
sql/field.h:
  Removed not needed variable
sql/ha_innodb.cc:
  Removed not used function
sql/item.cc:
  Fixed compiler warning
sql/item_cmpfunc.cc:
  Fixed compiler warning
sql/item_func.cc:
  Fixed compiler warning
sql/item_geofunc.cc:
  Fixed compiler warning
sql/item_sum.cc:
  Fixed bugs in group_concat and added more comments
  (Bugs #2695, #3381 and #3319)
  - field->abs_offset was not needed
  - Wrong assumption of field order in temporary table
  - Some not used variables removed
  - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
  - Optimized loops
sql/item_sum.h:
  Bug fixing and cleanup of group_concat()
sql/log.cc:
  Removed wrong comment
sql/log_event.cc:
  Removed compiler warning
sql/mysqld.cc:
  Set locked_in_memory properly
sql/protocol.cc:
  Removed compiler warning
sql/set_var.cc:
  Code cleanup
sql/slave.cc:
  Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
sql/sql_cache.cc:
  Removed compiler warnings
sql/sql_derived.cc:
  Removed not used variable
sql/sql_insert.cc:
  Removed compiler warnings
sql/sql_lex.cc:
  Removed not used lable
sql/sql_lex.h:
  Removed compiler warnings
sql/sql_parse.cc:
  Removed compiler warnings
sql/sql_prepare.cc:
  Removed compiler warnings
sql/sql_select.cc:
  Removed not used variables
  Added function comments
sql/sql_show.cc:
  Removed compiler warnings
sql/sql_yacc.yy:
  Fix for ORDER BY handling in GROUP_CONCAT()
2004-04-05 13:56:05 +03:00
unknown
8c8dffb60d fixed brocken of client_test
fixed aggregate functions in PS (BUG#3360)


mysql-test/r/union.result:
  4.1 more correct error
sql/item_cmpfunc.h:
  and_conds do not make fix fields
sql/item_sum.cc:
  storing/restoring argument of aggregate function for prepared statements
  restoring order list of group_concat for safety
sql/item_sum.h:
  storing/restoring argument of aggregate function for prepared statements
  layout fix
sql/mysql_priv.h:
  just declaration
sql/sql_base.cc:
  fix_fields() have to be called with temporary memory pool active
sql/sql_parse.cc:
  removed hack with item pointer storing
sql/sql_prepare.cc:
  debug output added
  removed hack with item pointer storing
sql/sql_select.cc:
  fix_fields now should be called separately
sql/sql_union.cc:
  removed wrong merged check from 4.0 (4.1 have its own protection)
sql/table.h:
  removed hack with item pointer storing
tests/client_test.c:
  new test fo PS
2004-04-03 11:13:51 +03:00
unknown
bc5365b4bb Stubs for types/names of placeholders, cursor flags and array execution count
implemented in the client library and server.
Warning: this makes the new client library and server incompatible with all 
previous versions and 5.0.


libmysql/libmysql.c:
  Make client library compatible with future extensions: types of placeholders, 
   names of named parameters, cursors and array execution.
sql/sql_prepare.cc:
  Alpha server side support for future extensions: types of placeholders and names of
  named parameters are sent to client (virtually), cursor flags and execution
  count received in COM_EXECUTE packet are ignored.
2004-03-31 02:27:49 +04:00
unknown
989756ab99 Better comment.
sql/sql_prepare.cc:
  While reviewing Sanja's patch finally understood what is going one here
  (previously marked as 'safety - nasty init' :-) ).
2004-03-30 02:03:42 +04:00
unknown
ef44fb9af3 Fixes for bugs #2274 "mysqld gets SIGSEGV during processing of malformed
COM_EXECUTE packet" and #2795 "prepare + execute without bind_param crashes
 server" and #2473 "seg fault running tests/client_test.c": 
- length checking added to packet parser 
- default impelemntation of Item_param::set_param_func will work in
case of malformed packet.
No test cases are possible in our test suite, as there are no tests 
operating on protocol layer.


sql/item.cc:
  Default set_param function implemented: this is to not sigsegv in case
  of malformed packet with no parameters data.
sql/item.h:
  - Item_param constructor moved to .cc to be able to assign set_param_func.
  - now embedded and ordinary versions of set_param have the same signature.
sql/mysql_priv.h:
  mysql_stmt_execute now requires packet_length
sql/sql_parse.cc:
  mysql_stmt_execute now requires packet length.
sql/sql_prepare.cc:
  - length checking added to all functions working with network packet.
  - set_param_func's in embedded and ordinary version now have the same 
  signature
2004-03-15 20:20:47 +03:00
unknown
7b68eaafda Desperate attempt to push part of prepared statements cleanup which was
reviewed in Saint-Petersbourg (including post-review fixes).


include/my_sys.h:
  Added clear_alloc_root (reset alloc root without freeing its memory)
sql/item.h:
  - rename setup_param -> set_parap (function assigns parameter value to item)
sql/mysql_priv.h:
  - all return values are void, because return value is never checked in
      dispatch_command
  - removed unused declaration of setup_param_functions
sql/protocol.h:
  - unused declarations of setup_params_data* removed
sql/sql_class.cc:
  Cleanup:
    - bzero(mem_root) replaced with clear_alloc_root
    - query_id and command members moved back to THD from Statement
  Assignment of mem_root, free_list, query_id and command optimized
  away from set_statement().
sql/sql_class.h:
  - query_id and command moved back to THD from Statement
sql/sql_lex.h:
  - better type for param_list
  - param_count is the same thing as param_list.elements
sql/sql_parse.cc:
  - comments for dispatch_command
sql/sql_prepare.cc:
  Cleanup:
  - added comments to many functions and removed trailing spaces in many 
    lines, some stale comments removed.
  - it's faster to iterate using pointers, than classes
  - Renames: error_in_prepare renamed to get_longdata_error (because it is set
    when there is an error in mysql_send_longdata, rather than in
    mysql_prepare), embedded versions of placeholder assignement functions
    now have prefix emb_, setup_ functions renamed to set_, because they
    perform assignment, not installation, setup_params_data now doesn't
    call insert_params and was renamed to setup_set_param_functions,
  - find_prepared_statement should not send error if called from no-reply
    calls, like mysql_stmt_reset
  - error reporting is checked up, to always report errors and not report
    errors twice. send_prep_stmt can be done mostly in send_prepare_result, 
    rather than in test_* functions.
  - now we don't need to reinit THD->mem_root/free_list in mysql_stmt_execute,
    because it's not reset there.
tests/client_test.c:
  - removed second call to test_subqueries
2004-03-02 22:39:50 +03:00
unknown
9977ce0c71 after review changes
sql/sql_class.h:
  changed methods names
sql/sql_prepare.cc:
  changed methods names
  removed incorrect comments
  added error handler
2004-02-20 16:24:03 +02:00
unknown
7dd164f730 after review fix
sql/item.h:
  typo fixed
sql/item_func.h:
  clear refernce on deleted variable
sql/item_subselect.cc:
  layout fixed
sql/sql_base.cc:
  temporary memory pool allocation moved from open_and_lock_tables
sql/sql_prepare.cc:
  temporary memory pool allocation moved
  changing in routine suggeted by Monty
tests/client_test.c:
  uncomment accidently commented test
2004-02-20 15:37:45 +02:00
unknown
4588385715 revision of fix_fields calls in subqueries transformation
after merge fix


sql/item_subselect.cc:
  revision of fix_fields calls in subqueries transformation
sql/sql_prepare.cc:
  after merge fix
2004-02-18 22:14:41 +02:00