Commit graph

928 commits

Author SHA1 Message Date
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
9d0166363e Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-04-05 16:28:16 +03:00
unknown
7873b89fc5 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs ,  and )
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 ,  and )
  - 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
d7c25fe28e Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-on-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/table.h:
  Auto merged
2004-04-03 11:28:20 +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
32b28f9298 WL#1266 "Separate auto-set logic from TIMESTAMP type."
Final version of patch.

Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
clauses for TIMESTAMP field definition.
Current implementation allows only one such field per table and
uses several unireg types for storing info about this properties of
field. It should be replaced with better implementation when new
.frm format is introduced.


include/mysqld_error.h:
  Added error codes for case when we have more than one column with NOW()
  in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
  clause with wrong type.
mysql-test/r/create.result:
  Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
  non-TIMESTAMP fields.
mysql-test/r/show_check.result:
  Updated test results to reflect new default look of TIMESTAMP fields
  in SHOW CREATE TABLE.
mysql-test/r/system_mysql_db.result:
  Updated test results to reflect new default look of TIMESTAMP fields
  in SHOW CREATE TABLE.
mysql-test/r/type_ranges.result:
  Updated test results to reflect new default look of TIMESTAMP fields
  in SHOW COLUMNS.
mysql-test/r/type_timestamp.result:
  Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
  fields definitions.
mysql-test/t/create.test:
  Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
  non-TIMESTAMP fields.
mysql-test/t/type_timestamp.test:
  Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
  fields definitions.
sql/field.cc:
  Added support for various combinations of DEFAULT and ON UPDATE clauses
  for TIMESTAMP field. 
  
  Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set 
  option taking into account their unireg type (which corresponds to 
  various DEFAULT/ON UPDATE values combinations). Replaced 
  TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
  couple moved their setup to separate method set_timestamp_offsets(),
  which now is called from  open_table instead of Field_timestamp cons.
sql/field.h:
  Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
  NOW() for TIMESTAMP fields.
  Fixed value corresponding to DEFAULT item for TIMESTAMP field.
sql/ha_berkeley.cc:
  Now TIMESTAMP column with auto-set property could be updated during
  INSERT or/and UPDATE independently.
sql/ha_heap.cc:
  Now TIMESTAMP column with auto-set property could be updated during
  INSERT or/and UPDATE independently.
sql/ha_innodb.cc:
  Now TIMESTAMP column with auto-set property could be updated during
  INSERT or/and UPDATE independently.
sql/ha_isam.cc:
  Now TIMESTAMP column with auto-set property could be updated during
  INSERT or/and UPDATE independently.
sql/ha_isammrg.cc:
  Now TIMESTAMP column with auto-set property could be updated during
  INSERT or/and UPDATE independently.
sql/ha_myisam.cc:
  Now TIMESTAMP column with auto-set property could be updated during
  INSERT or/and UPDATE independently.
sql/ha_myisammrg.cc:
  Now TIMESTAMP column with auto-set property could be updated during
  INSERT or/and UPDATE independently.
sql/item_func.h:
  We need to distinguish NOW() from other function for using in 
  DEFAULT and in ON UPDATE clauses.
sql/item_timefunc.h:
  We need to distinguish NOW() from other function for using in 
  DEFAULT and in ON UPDATE clauses.
sql/mysql_priv.h:
  Added parameter for ON UPDATE value to add_field_to_list() function.
sql/share/czech/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/danish/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/dutch/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/english/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/estonian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/french/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/german/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/greek/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/hungarian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/italian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/japanese/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/korean/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/norwegian-ny/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/norwegian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/polish/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/portuguese/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/romanian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/russian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/serbian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/slovak/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/spanish/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/swedish/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/share/ukrainian/errmsg.txt:
  Added error messages for case when we have more than one column with
  NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
  ON UPDATE clauses and for case when we are using ON UPDATE clause with
  wrong type.
sql/sql_base.cc:
  Added setup of TABLE::timestamp_default_now/on_update_now pair
  for each statement to open_table().
sql/sql_insert.cc:
  Using TABLE::timestamp_default_now/on_update_now pair instead of
  old TABLE::time_stamp. Added check for case then REPLACE could not
  be converted to UPDATE because of different DEFAULT/ON UPDATE values
  for TIMESTAMP field.
sql/sql_lex.h:
  Added member for value used in ON UPDATE clause to st_lex.
sql/sql_load.cc:
  Using TABLE::timestamp_default_now/on_update_now pair instead of
  old TABLE::time_stamp. We don't need to restore these members
  since they are set up for each statement in open_table().
sql/sql_parse.cc:
  Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
  TIMESTAMP fields to add_field_to_list() function.
sql/sql_show.cc:
  Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and 
  ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
sql/sql_table.cc:
  mysql_create_table() function - added check for number of TIMESTAMP 
    fields with auto-set values and replacing of old style TIMESTAMPs
    with their newer analogs.
  mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now 
    pair instead of old TABLE::time_stamp. We don't need to restore these
    members since they are set up for each statement in open_table().
sql/sql_update.cc:
  Left only setting of TABLE::timestamp_default_now/on_update_now
  to 0 since they should be already set up in open_table().
sql/sql_yacc.yy:
  Added support for DEFAULT NOW() and ON UPDATE NOW() in field
  definitions.
sql/table.h:
  Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
  pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
  clauses and optimize checks if TIMESTAMP field should be set to NOW()
  in handlers.
sql/unireg.cc:
  Now we are marking only TIMESTAMP fields with NOW() as default or
  as on update value as special field for unireg.
2004-04-02 10:12:53 +04:00
unknown
f5297edcae Worklog#1563 - Support of on-line CREATE/DROP INDEX.
This is to enable table handlers to implement online create/drop index.
It consists of some parts:
- New default handler methods in handler.h
- Split of mysql_alter_table. It decides if only one kind of
  alteration is to be done (e.g. only create indexes or only drop
  indexes etc.) It then calls the specialized new handler method if
  the handler implements it. Otherwise it calls real_alter_table.
- The parser sets flags for each alter operation detected in a
  command. These are used by mysql_alter_table for the decision.
- mysql_prepare_table is pulled out of mysql_create_table. This is
  also used by mysql_create_index to prepare the key structure array
  for the handler. It is also used by mysql_create_index and
  mysql_drop_index to prepare a call to mysql_create_frm.
- mysql_create_frm is pulled out of rea_create_table for use by
  mysql_create_index and mysql_drop_index after the index is
  created/dropped.
Thanks to Antony who supplied most of the changes.


sql/handler.h:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  New virtual handler methods with default implementation and return flags.
sql/mysql_priv.h:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  New function prototypes. mysql_prepare_table is pulled out of
  mysql_create_table. It prepares a table structure, which is used by 
  mysql_create_table, mysql_create_index and mysql_drop_index.
  real_alter_table is pulled out of mysql_alter_table. The latter only
  looks if the requested operation can be done by specialized functions
  or else calls real_alter_table, which does the real thing.
  mysql_add_column and mysql_drop_colunm are for future use. They simply
  call real_alter_table. mysql_create_frm is pulled out of
  rea_create_table. It is called also from mysql_create_index and
  mysql_drop_index after successful create/drop index.
  mysql_alter_table prototype is extended by the new alter_flags argument.
sql/sql_base.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  mysql_create_index and mysql_drop_index moved to sql_table.cc.
sql/sql_lex.h:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  Definitions for the new alter_flags.
sql/sql_parse.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  Extend the calls to mysql_alter_table by the new alter_flags argument.
sql/sql_table.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  mysql_prepare_table is pulled out of mysql_create_table.
  mysql_create_index and mysql_drop_index are changed so that they use
  the new handler functions if the handler implements them.
  mysql_add_column and mysql_drop_column are for future use. They simply
  call real_alter_table. mysql_alter_table only decides which function
  to use for the requested operation. real_alter_table implements most
  of what mysql_alter_table did before.
sql/sql_yacc.yy:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  Set the alter_flags where appropriate.
sql/unireg.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  mysql_create_frm is pulled out of rea_create_table.
2004-03-30 19:22:14 +02:00
unknown
ceeaa24d18 false/true -> FALSE/TRUE
Fixes after last merge


mysql-test/r/bdb-crash.result:
  fixed bad merge
mysql-test/r/myisam.result:
  after merge fix
mysql-test/r/order_by.result:
  fixed bad merge
mysql-test/t/order_by.test:
  after merge fix
sql/field_conv.cc:
  false/true -> FALSE/TRUE
sql/handler.cc:
  false/true -> FALSE/TRUE
sql/item.cc:
  false/true -> FALSE/TRUE
sql/item_cmpfunc.cc:
  false/true -> FALSE/TRUE
sql/item_sum.cc:
  false/true -> FALSE/TRUE
sql/slave.cc:
  false/true -> FALSE/TRUE
sql/sql_acl.cc:
  false/true -> FALSE/TRUE
sql/sql_cache.cc:
  after merge fix
sql/sql_help.cc:
  false/true -> FALSE/TRUE
sql/sql_olap.cc:
  false/true -> FALSE/TRUE
sql/sql_parse.cc:
  false/true -> FALSE/TRUE
sql/sql_select.cc:
  fix after bad merge
sql/sql_table.cc:
  fix after bad merge
sql/sql_test.cc:
  false/true -> FALSE/TRUE
2004-03-30 02:32:41 +03:00
unknown
526b25e263 Merge with 4.0
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-libmysql.def~f5dffcb3ed925d28:
  Auto merged
BitKeeper/deleted/.del-post-incoming~9f2168f531f09f3b:
  Auto merged
BitKeeper/deleted/.del-post-outgoing~1dd3d8f0f6e8f3cd:
  Auto merged
VC++Files/innobase/innobase.dsp:
  Auto merged
VC++Files/strings/MASM6x/strings.dsp:
  Auto merged
client/mysqldump.c:
  Auto merged
innobase/sync/sync0sync.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
mysql-test/t/union.test:
  Auto merged
mysql-test/t/update.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
sql/nt_servc.cc:
  Auto merged
mysql-test/r/system_mysql_db.result:
  Auto merged
sql/sql_base.cc:
  Auto merged
2004-03-25 23:29:45 +02:00
unknown
7f0a632c19 merge with 3.23
BitKeeper/etc/logging_ok:
  auto-union
scripts/mysqlbug.sh:
  Auto merged
sql/sql_parse.cc:
  Auto merged
mysql-test/t/alter_table.test:
  Merge code with 3.23
sql/nt_servc.cc:
  use original code
2004-03-25 22:05:09 +02:00
unknown
4a8dcd750c removed unneeded bzero 2004-03-23 19:24:35 +02:00
unknown
1744d26c95 used right table for grants check (BUG#3270)
mysql-test/t/alter_table.test:
  test for BUG#3270 added
2004-03-23 17:15:20 +02:00
unknown
560fc0379b aliases should be compared with my_strcasecmp (BUG#3251)
some db comparison code cleupup
removed compiler warnings


mysql-test/r/lowercase_table.result:
  test for BUG#3251
mysql-test/t/lowercase_table.test:
  test for BUG#3251
sql/item.cc:
  simple strcmp can be used for db name comparison
sql/set_var.h:
  changed initialisation order to satisfy compiler
sql/sql_cache.cc:
  simple strcmp can be used for db name comparison
sql/sql_db.cc:
  better use special cherset for files
sql/sql_parse.cc:
  simple strcmp can be used for db name comparison
  aliases should be compared with my_strcasecmp
sql/sql_select.cc:
  aliases should be compared with my_strcasecmp
2004-03-22 15:43:13 +02:00
unknown
afbf1bbaa4 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-select_list-4.1


sql/sql_parse.cc:
  Auto merged
2004-03-21 16:39:37 +02:00
unknown
1f08d0b4bd sys_var_str.value is never NULL 2004-03-20 15:56:20 +01:00
unknown
f379d7b172 after review changes
sql/item.cc:
  removed double_fix & already_fixed in Item_field
sql/item.h:
  added quick_fix_field() for cases when we are sure that no need full fix_field processing
  fixed neg() method for numeric constants to have the same logic as constant parser
  Item_null, Item_real, ... are constant which are fixed by creation
sql/item_cmpfunc.h:
  right fix_fields in and_conds call
sql/item_func.cc:
  changed Item_field constructor call
  fix_field emulation call
sql/item_strfunc.cc:
  correct layout
sql/item_subselect.cc:
  correct layout
  changed Item_field constructor call
sql/item_sum.cc:
  changed Item_field constructor call
sql/item_sum.h:
  changed Item_field constructor call
sql/sql_base.cc:
  fixed layout
  right fix_fields calls
sql/sql_help.cc:
  changed Item_field constructor call
sql/sql_load.cc:
  changed Item_field constructor call
sql/sql_parse.cc:
  constant changed
sql/sql_select.cc:
  fixed layout
  fix_field emulation insted of real fix_fields call
sql/sql_show.cc:
  changed Item_field constructor call
sql/sql_union.cc:
  changed Item_field constructor call
  double_fix removed
sql/sql_update.cc:
  renamed variable, fixed layout
sql/sql_yacc.yy:
  typo fixed
  fix_fields emulation calls
  hegation of numbers fixed
2004-03-20 13:36:26 +02:00
unknown
85dddd908a merge
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-03-18 15:21:06 +02:00
unknown
1a81e04145 DBUG_ASSERT(fixed == 1); added to val*
small optimisation in signed_literal


sql/field.cc:
  layout fixed
sql/item.cc:
  DBUG_ASSERT(fixed == 1); added to val*
  layout fixed
  fixed= 1; added where it was forgoten in fix_fields
  Item_string can be used without fix_fields
sql/item.h:
  DBUG_ASSERT(fixed == 1); added to val*
  Item_string can be used without fix_fields
sql/item_cmpfunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_cmpfunc.h:
  fixed layout and getting Item statistic
sql/item_func.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_func.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_geofunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_strfunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
  layout fixed
sql/item_strfunc.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_subselect.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_sum.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_sum.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_timefunc.cc:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_timefunc.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/item_uniq.h:
  DBUG_ASSERT(fixed == 1); added to val*
sql/sql_base.cc:
  Item creation revised
sql/sql_help.cc:
  Item creation revised
sql/sql_load.cc:
  Item creation revised
sql/sql_parse.cc:
  fix_field call added
sql/sql_select.cc:
  Item creation revised
sql/sql_show.cc:
  Item creation revised
sql/sql_union.cc:
  Item creation revised
sql/sql_update.cc:
  Item creation revised
sql/sql_yacc.yy:
  Item creation revised
  small optimisation in signed_literal
2004-03-18 15:14:36 +02:00
unknown
24148f04c7 merge fixes (use old code)
client/mysqladmin.c:
  Auto merged
client/mysqltest.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-03-18 00:16:04 +02:00
unknown
022c5241a9 after merge fixes
include/my_tree.h:
  After merge fixes
mysql-test/r/create.result:
  After merge fixes
mysql-test/r/insert.result:
  After merge fixes
mysql-test/r/multi_update.result:
  After merge fixes
mysql-test/r/query_cache.result:
  After merge fixes
mysql-test/r/rpl_error_ignored_table.result:
  After merge fixes
mysql-test/r/rpl_optimize.result:
  After merge fixes
mysql-test/r/show_check.result:
  After merge fixes
mysql-test/t/insert.test:
  After merge fixes (Remove columns with space last)
mysql-test/t/multi_update.test:
  After merge fixes
mysql-test/t/show_check.test:
  After merge fixes
sql/field.cc:
  Remove compiler warnings
sql/sql_base.cc:
  Fix bug when table was refreshed
2004-03-18 00:09:13 +02:00
unknown
b523802138 After merge fixes 2004-03-17 10:30:40 +02:00
unknown
a8aacf8764 merge with 4.0
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/innobase/innobase.dsp:
  Auto merged
VC++Files/libmysql/libmysql.dsp:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-com0shm.c~6a16f0c3d81de1f:
  Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
  Auto merged
extra/replace.c:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/btr/btr0btr.c:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/btr/btr0pcur.c:
  Auto merged
innobase/btr/btr0sea.c:
  Auto merged
innobase/configure.in:
  Auto merged
innobase/data/data0data.c:
  Auto merged
innobase/dict/dict0boot.c:
  Auto merged
innobase/dict/dict0crea.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/dict/dict0mem.c:
  Auto merged
innobase/ha/ha0ha.c:
  Auto merged
innobase/ha/hash0hash.c:
  Auto merged
innobase/include/btr0btr.ic:
  Auto merged
innobase/include/data0type.ic:
  Auto merged
innobase/include/dict0mem.h:
  Auto merged
innobase/include/log0log.ic:
  Auto merged
innobase/include/mach0data.ic:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0mtr.h:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/include/row0upd.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/include/trx0rseg.ic:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
innobase/mem/mem0dbg.c:
  Auto merged
innobase/mtr/mtr0log.c:
  Auto merged
innobase/mtr/mtr0mtr.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/page/page0cur.c:
  Auto merged
innobase/page/page0page.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
innobase/read/read0read.c:
  Auto merged
innobase/rem/rem0cmp.c:
  Auto merged
innobase/rem/rem0rec.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0purge.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/row/row0undo.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/sync/sync0rw.c:
  Auto merged
innobase/thr/thr0loc.c:
  Auto merged
innobase/trx/trx0purge.c:
  Auto merged
innobase/trx/trx0rec.c:
  Auto merged
innobase/trx/trx0roll.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/trx/trx0undo.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/mysqlbinlog.result:
  Auto merged
mysql-test/r/rpl_error_ignored_table.result:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/mf_pack.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
tests/thread_test.c:
  Auto merged
client/mysqldump.c:
  Keep original indentation
mysql-test/r/merge.result:
  keep old file
scripts/mysql_fix_privilege_tables.sh:
  Keep old structure in merge with 4.0
sql/table.cc:
  merge with 4.0 + simple optimizations
2004-03-16 22:41:30 +02:00
unknown
06deaf1c87 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-lower_case-4.1


sql/sql_parse.cc:
  Auto merged
2004-03-16 08:18:36 +02:00
unknown
ef44fb9af3 Fixes for bugs "mysqld gets SIGSEGV during processing of malformed
COM_EXECUTE packet" and  "prepare + execute without bind_param crashes
 server" and  "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
de448d41c0 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2985/mysql-4.0


sql/sql_db.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/table.cc:
  Auto merged
2004-03-12 17:56:27 +04:00
unknown
f85032f16e Portability fixes & fixing of test suite
mysql-test/r/func_math.result:
  Updated tests after merge with 3.23
mysql-test/r/multi_update.result:
  Fixed not portable test
mysql-test/r/mysqlbinlog.result:
  Fixed test after push without doing 'make test'
mysql-test/t/multi_update.test:
  Fixed not portable test
sql/sql_parse.cc:
  Don't use static inline, as this is not portable
2004-03-12 09:15:08 +02:00
unknown
bd6c4ef400 Fix for BUG#2983 "If statement was killed on master, slave errors despite replicate-wild-ignore-t"
We introduce a new function mysql_test_parse_for_slave().
If the slave sees that the query got a really bad error on master
(killed e.g.), then it calls this function to know if this query
can be ignored because of replicate-*-table rules (do not worry
about replicate-*-db rules: they are checked so early that they have
no bug). If the answer is yes, it skips the query and continues. If
it's no, then it stops and say "fix your slave data manually" (like it
did before this change).


mysql-test/r/rpl_error_ignored_table.result:
  result update
mysql-test/t/rpl_error_ignored_table-slave.opt:
  ignore more tables
mysql-test/t/rpl_error_ignored_table.test:
  we test if a killed query on the master, is ignored on the slave
  if the tables it involves should be excluded because of replicate-*-table
  rules.
sql/log_event.cc:
  If the query got a really bad error on the master (thread killed etc),
  parse it to test the table names: if the replicate-*-do|ignore-table
  rules say "this query must be ignored" then we exit gracefully;
  otherwise we warn about the bad error and tell DBA to check/fix it.
  Before this change, we always warned and stopped.
sql/mysql_priv.h:
  new function
sql/slave.cc:
  don't print error immediately as we need to do one more test to
  be sure.
sql/sql_parse.cc:
  we add a function mysql_test_parse_for_slave(), to be used only
  by the slave if it wants to know if the query should be ignored or not;
  so this function only parses the query, does not execute it.
2004-03-11 17:38:19 +01:00
unknown
f808030209 Fix for BUG#2921 "Replication problem on mutex lock in mySQL-4.0.18":
re-using unused LOCK_active_mi to serialize all administrative
commands related to replication:
START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
(replication autostart at server startup), end_slave() (replication
autostop at server shutdown), LOAD DATA FROM MASTER.
This protects us against a handful of deadlocks (like BUG#2921
when two START SLAVE, but when two STOP SLAVE too).
Removing unused variables.


sql/item_func.cc:
  We don't need LOCK_active_mi just to MASTER_POS_WAIT().
sql/repl_failsafe.cc:
  no need for macro
sql/set_var.cc:
  no need for macro
sql/slave.cc:
  Re-using unused LOCK_active_mi to serialize all administrative
  commands related to replication:
  START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
  (replication autostart at server startup), end_slave() (replication
  autostop at server shutdown), LOAD DATA FROM MASTER.
  This protects us against a handful of deadlocks.
  Removing unused variables.
sql/slave.h:
  Re-using LOCK_active_mi to serialize administrative replication commands.
  Macros unneeded. Removing unneeded variables.
sql/sql_parse.cc:
  found unused variable.
  Replacing macros.
sql/sql_show.cc:
  replacing macros
2004-03-11 16:23:35 +01:00
unknown
fea8903b0c Comment for do_command moved inside #ifndef EMBEDDED_LIBRARY. 2004-03-08 17:47:42 +03:00
unknown
8550c7abeb fixed Bug
"Table truncated when creating another table name with Spaces"
added to check_db_name, check_table_name and check_column_name
test for end space


mysql-test/r/create.result:
  added test for Bug  
   "Table truncated when creating another table name with Spaces"
mysql-test/t/create.test:
  added test for Bug  
   "Table truncated when creating another table name with Spaces"
sql/sql_db.cc:
  cancel strip end spaces for database name
sql/sql_parse.cc:
  cancel strip end spaces for database name
sql/table.cc:
  added to check_db_name, check_table_name and check_column_name 
  test for end space
2004-03-05 22:13:33 +04:00
unknown
d4f43e511c invalidation of locking for write tables (BUG#2693)
fixed linking query_prealloc_size to query cache presence


mysql-test/r/query_cache.result:
  test of QC invalidation by LOCK command
mysql-test/t/query_cache.test:
  test of QC invalidation by LOCK command
sql/mysqld.cc:
  new variable query_cache_wlock_invalidate
  fixed query_prealloc_size with QC absence
sql/set_var.cc:
  new variable query_cache_wlock_invalidate
sql/sql_cache.cc:
  new method for table invalidation
sql/sql_cache.h:
  new method for table invalidation
sql/sql_class.h:
  new variable query_cache_wlock_invalidate
sql/sql_parse.cc:
  layout fixed
2004-03-04 18:32:55 +02: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
5cb14e1b31 temporary undo needed for merge
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/serbian/errmsg.txt:
  Auto merged
include/mysqld_error.h:
  for merge
mysql-test/r/loaddata.result:
  for merge
mysql-test/r/warnings.result:
  for merge
sql/share/czech/errmsg.txt:
  for merge
sql/share/danish/errmsg.txt:
  for merge
sql/share/dutch/errmsg.txt:
  for merge
sql/share/english/errmsg.txt:
  for merge
sql/share/estonian/errmsg.txt:
  for merge
sql/share/french/errmsg.txt:
  for merge
sql/share/german/errmsg.txt:
  for merge
sql/share/greek/errmsg.txt:
  for merge
sql/share/hungarian/errmsg.txt:
  for merge
sql/share/italian/errmsg.txt:
  for merge
sql/share/japanese/errmsg.txt:
  for merge
sql/share/korean/errmsg.txt:
  for merge
sql/share/norwegian-ny/errmsg.txt:
  for merge
sql/share/norwegian/errmsg.txt:
  for merge
sql/share/polish/errmsg.txt:
  for merge
sql/share/portuguese/errmsg.txt:
  for merge
sql/share/romanian/errmsg.txt:
  for merge
sql/share/russian/errmsg.txt:
  for merge
sql/share/slovak/errmsg.txt:
  for merge
sql/share/spanish/errmsg.txt:
  for merge
sql/share/swedish/errmsg.txt:
  for merge
sql/share/ukrainian/errmsg.txt:
  for merge
2004-02-28 22:33:47 +01:00
unknown
57659a4daf Fix for BUG#3000:
"replicate-wild-*-table=db.% does not apply to ALTER DATABASE"
apply replicate-* rules to ALTER DATABASE like we already do
for CREATE DATABASE/ DROP DATABASE.


sql/sql_parse.cc:
  apply replicate-* rules to ALTER DATABASE like we already do
  for CREATE DATABASE/ DROP DATABASE.
2004-02-28 22:22:29 +01:00
unknown
d68c56a493 Fix for BUG#2757
"--read-only gives weird error on update".
It is not fixable in 4.0 because it requires modifying
the sql/share/*/errmsg.txt files. So it is fixed in 4.1 like this:
the ER_SKIP_GRANT_TABLES is replaced by a more generic
ER_OPTION_PREVENTS_STATEMENT which can be used both for
"can't do this because of --skip-grant-tables" and
"can't do this because of --read-only" (for this we don't use
ER_CANT_UPDATE_WITH_READLOCK anymore).
So now the message for --read-only is:
"The MySQL server is running with the --read-only option so
cannot execute this statement".


include/mysqld_error.h:
  more general naming as more general message
sql/share/czech/errmsg.txt:
  message change
sql/share/danish/errmsg.txt:
  message change
sql/share/dutch/errmsg.txt:
  message change
sql/share/english/errmsg.txt:
  message change
sql/share/estonian/errmsg.txt:
  message change
sql/share/french/errmsg.txt:
  message change
sql/share/german/errmsg.txt:
  message change
sql/share/greek/errmsg.txt:
  message change
sql/share/hungarian/errmsg.txt:
  message change
sql/share/italian/errmsg.txt:
  message change
sql/share/japanese/errmsg.txt:
  message change
sql/share/korean/errmsg.txt:
  message change
sql/share/norwegian-ny/errmsg.txt:
  message change
sql/share/norwegian/errmsg.txt:
  message change
sql/share/polish/errmsg.txt:
  message change
sql/share/portuguese/errmsg.txt:
  message change
sql/share/romanian/errmsg.txt:
  message change
sql/share/russian/errmsg.txt:
  message change
sql/share/serbian/errmsg.txt:
  message change
sql/share/slovak/errmsg.txt:
  message change
sql/share/spanish/errmsg.txt:
  message change
sql/share/swedish/errmsg.txt:
  message change
sql/share/ukrainian/errmsg.txt:
  message change
sql/sql_acl.cc:
  Changes to use the more generic ER_OPTION_PREVENTS_STATEMENT
  instead of ER_SKIP_GRANT_TABLES:
  * use of net_printf() instead of send_error() (because send_error()
  does not support printf-like format).
  * in some places we now just do my_error() and return -1
  (only caller is mysql_execute_command() which does send_error()
  if result is -1).
  * Replaced my_printf_error() by simpler my_error() (except in 2 locations
  where there was a "we must use my_printf_error()" comment).
sql/sql_parse.cc:
  new error code (more generic).
2004-02-21 15:15:26 +01:00
unknown
bdf490541d fixed comparation of tables/database names with --lower_case_table_names (BUG#2880)
mysql-test/r/lowercase_table.result:
  test of multi-update/multi-delete
mysql-test/t/lowercase_table.test:
  test of multi-update/multi-delete
sql/sql_cache.cc:
  correct databese names comparation
sql/sql_parse.cc:
  correct table names comparation in multi-delete
2004-02-20 22:44:54 +02:00
unknown
0c259c54b0 Merge with public tree
client/mysqldump.c:
  Auto merged
configure.in:
  Auto merged
include/m_ctype.h:
  Auto merged
include/m_string.h:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
mysql-test/r/warnings.result:
  Fix error numbers after merge
sql/share/czech/errmsg.txt:
  Add missing ',' and fix typo
sql/share/danish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/dutch/errmsg.txt:
  Add missing ',' and fix typo
sql/share/estonian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/french/errmsg.txt:
  Add missing ',' and fix typo
sql/share/german/errmsg.txt:
  Add missing ',' and fix typo
sql/share/greek/errmsg.txt:
  Add missing ',' and fix typo
sql/share/hungarian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/italian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/japanese/errmsg.txt:
  Add missing ',' and fix typo
sql/share/korean/errmsg.txt:
  Add missing ',' and fix typo
sql/share/norwegian-ny/errmsg.txt:
  Add missing ',' and fix typo
sql/share/norwegian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/polish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/portuguese/errmsg.txt:
  Add missing ',' and fix typo
sql/share/romanian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/russian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/slovak/errmsg.txt:
  Add missing ',' and fix typo
sql/share/spanish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/swedish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/ukrainian/errmsg.txt:
  Add missing ',' and fix typo
2004-02-16 10:31:05 +02:00
unknown
a07e48eca0 After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)


BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
  Delete: mysql-test/r/ctype_tis620.result-old
BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
  Delete: mysql-test/t/ctype_tis620.test-old
client/mysqlbinlog.cc:
  Added DBUG statements
  Added call of my_end() to free all used memory on exit
heap/hp_info.c:
  After merge fixes
heap/hp_open.c:
  After merge fixes
include/heap.h:
  After merge fixes
include/m_ctype.h:
  Use pchar instead of 'int' for character parameters.
  Added 'my_binary_compare()'
include/m_string.h:
  Fixed wrong define
innobase/ibuf/ibuf0ibuf.c:
  After merge fixes
innobase/srv/srv0start.c:
  After merge fixes
mysql-test/r/alter_table.result:
  Fixed results after merge
mysql-test/r/auto_increment.result:
  Fixed results after merge
mysql-test/r/bdb.result:
  Fixed results after merge
mysql-test/r/binary.result:
  Fixed results after merge
mysql-test/r/create.result:
  Fixed results after merge
mysql-test/r/ctype_mb.result:
  Fixed results after merge
mysql-test/r/ctype_tis620.result:
  Fixed results after merge
mysql-test/r/ctype_utf8.result:
  Fixed results after merge
mysql-test/r/delete.result:
  Fixed results after merge
mysql-test/r/func_compress.result:
  Fixed results after merge
mysql-test/r/func_gconcat.result:
  Fixed results after merge
mysql-test/r/func_group.result:
  Fixed results after merge
mysql-test/r/func_str.result:
  Fixed results after merge
mysql-test/r/innodb.result:
  Fixed results after merge
mysql-test/r/insert.result:
  Fixed results after merge
mysql-test/r/insert_select.result:
  Fixed results after merge
mysql-test/r/key.result:
  Fixed results after merge
mysql-test/r/loaddata.result:
  Fixed results after merge
mysql-test/r/lock.result:
  Fixed results after merge
mysql-test/r/myisam.result:
  Fixed results after merge
mysql-test/r/null.result:
  Fixed results after merge
mysql-test/r/null_key.result:
  Fixed results after merge
mysql-test/r/order_by.result:
  Fixed results after merge
mysql-test/r/query_cache.result:
  Fixed results after merge
mysql-test/r/range.result:
  Fixed results after merge
mysql-test/r/rpl_multi_delete.result:
  Fixed results after merge
mysql-test/r/rpl_until.result:
  Fixed results after merge
mysql-test/r/subselect.result:
  Fixed results after merge
mysql-test/r/subselect_innodb.result:
  Fixed results after merge
mysql-test/r/type_blob.result:
  Fixed results after merge
mysql-test/r/type_datetime.result:
  Fixed results after merge
mysql-test/r/type_decimal.result:
  Fixed results after merge
mysql-test/r/type_enum.result:
  Fixed results after merge
mysql-test/r/type_float.result:
  Fixed results after merge
mysql-test/r/type_ranges.result:
  Fixed results after merge
mysql-test/r/type_time.result:
  Fixed results after merge
mysql-test/r/type_timestamp.result:
  Fixed results after merge
mysql-test/r/type_uint.result:
  Fixed results after merge
mysql-test/r/type_year.result:
  Fixed results after merge
mysql-test/r/variables.result:
  Fixed results after merge
mysql-test/r/warnings.result:
  Fixed results after merge
mysql-test/t/case.test:
  Fixed shifted error messages
mysql-test/t/create.test:
  Fixed shifted error messages
mysql-test/t/ctype_collate.test:
  Fixed shifted error messages
mysql-test/t/ctype_tis620.test:
  Merge with 4.0 ctype_tis620 test
mysql-test/t/delete.test:
  Fixed shifted error messages
mysql-test/t/derived.test:
  Fixed shifted error messages
mysql-test/t/fulltext.test:
  Fixed shifted error messages
mysql-test/t/func_in.test:
  Fixed shifted error messages
mysql-test/t/func_str.test:
  Fixed shifted error messages
mysql-test/t/func_test.test:
  Fixed shifted error messages
mysql-test/t/grant.test:
  Fixed shifted error messages
mysql-test/t/innodb.test:
  Change to 4.1 syntax
mysql-test/t/key_cache.test:
  Fixed shifted error messages
mysql-test/t/myisam.test:
  New test of blob and end space
mysql-test/t/row.test:
  Fixed shifted error messages
mysql-test/t/rpl_until.test:
  Fixed shifted error messages
mysql-test/t/subselect.test:
  Fixed shifted error messages
mysql-test/t/subselect_innodb.test:
  Fix test to take into account foreign key constraints
mysql-test/t/union.test:
  Fixed shifted error messages
mysql-test/t/user_var.test:
  Fixed shifted error messages
mysql-test/t/variables.test:
  Fixed shifted error messages
mysys/my_handler.c:
  Merge with 4.0 code
sql/ha_heap.cc:
  After merge fixes
sql/handler.cc:
  After merge fixes
sql/item.cc:
  After merge fixes
sql/item_cmpfunc.cc:
  Ensure that we are comparing end space with BINARY strings
sql/item_cmpfunc.h:
  Ensure that we are comparing end space with BINARY strings
sql/log_event.cc:
  More DBUG statements
  Ensure that we use all options to LOAD DATA in replication
sql/opt_range.cc:
  After merge fixes
sql/sql_db.cc:
  After merge fixes
sql/sql_handler.cc:
  After merge fixes
  Use 'any_db' instead of '' to mean 'no database comparison'
sql/sql_parse.cc:
  After merge fixes
sql/sql_select.cc:
  After merge fixes
  Added function comment for setup_group()
sql/sql_string.cc:
  Added stringcmp() for binary comparison.
  Added function comments for sortcmp() and stringcmp()
sql/sql_string.h:
  Added stringcmp()
sql/sql_table.cc:
  After merge fixes
sql/sql_update.cc:
  After merge fixes
sql/sql_yacc.yy:
  Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
strings/ctype-big5.c:
  Strip only end space, not other space characters.
strings/ctype-bin.c:
  Removed some not needed functions.
  Added function comments
  Don't remove end space in comparisons
  Change my_wildcmp_bin() to be 'identical' with other similar code
strings/ctype-czech.c:
  Strip only end space, not other space characters.
strings/ctype-gbk.c:
  Strip only end space, not other space characters.
strings/ctype-latin1.c:
  Strip only end space, not other space characters.
strings/ctype-mb.c:
  Strip only end space, not other space characters.
strings/ctype-simple.c:
  Strip only end space, not other space characters.
strings/ctype-sjis.c:
  Strip only end space, not other space characters.
strings/ctype-tis620.c:
  Added usage of my_instr_simple. This needs to be cleaned up!
strings/ctype-utf8.c:
  Strip only end space, not other space characters.
strings/ctype-win1250ch.c:
  Strip only end space, not other space characters.
  Fixed indentation
strings/strto.c:
  Code cleanup
2004-02-16 10:03:25 +02:00
unknown
b012018b7a Fix for (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
47e4ca7bec Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-limit-4.1


sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-02-14 13:06:04 +02:00
unknown
f2adc11249 Another fix for
previous one had error


libmysqld/lib_sql.cc:
  memdup_mysql deleted
sql/sql_class.h:
  String instead of char*
sql/sql_parse.cc:
  storing of the rest of the query
2004-02-13 11:56:36 +04:00
unknown
d476dceb96 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-limit-4.1


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/sql_lex.cc:
  Auto merged
2004-02-12 22:33:30 +02:00
unknown
1e8dcbe01f Bug#2703
"MySQL server does not detect if garbage chara at the end of query"

Allow the parser to see the garbage characters.
Garbage should cause the parser to report an error.


sql/sql_lex.cc:
  Return END_OF_INPUT when at the end of the input buffer.
  Allows the parser to determine if there is junk after a \0 character.
sql/sql_parse.cc:
  Undo 1.314.1.1 04/02/11 12:32:42 guilhem@mysql.com
sql/sql_prepare.cc:
  Undo 1.73 04/02/11 12:32:42 guilhem@mysql.com
2004-02-12 12:01:27 +00:00
unknown
861d3f4152 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.2208


sql/sql_parse.cc:
  Auto merged
2004-02-11 16:36:33 +04:00
unknown
0aa48dc500 Fix for BUG#2703
"MySQL server does not detect if garbage chars at the end of query":

Detect garbage chars at the end of the query or at the end of a query
for a prepared statement (which happens if mysql_real_query() or mysql_prepare()
were called with a too big 'length' parameter (bigger than the real intended
length of the query: then we receive a query + garbage characters from the
client). This resulted in garbage chars written into the binlog.
Now instead the client receives something like:
'You have an error in your SQL syntax.  Check the manual that corresponds
to your MySQL server version for the right syntax to use near '!stmt'
at line 1' i.e. the server is pointing at the weird tail of the query
(this '!stmt' are the garbage chars sent by the client).
All tests pass, except mysqldump.test and ctype_utf8.test but they failed
before the patch.


sql/sql_parse.cc:
  Detect garbage chars at the end of the query
  (which happens if mysql_real_query() was called with a too big 'length'
  parameter (bigger than the real intended length of the query: then
  we receive a query + garbage characters from the client).
sql/sql_prepare.cc:
  Detect garbage chars at the end of the query
  (which happens if mysql_prepare() was called with a too big 'length'
  parameter (bigger than the real intended length of the query: then
  we receive a query + garbage characters from the client).
tests/client_test.c:
  The change to sql_parse.cc and sql_prepare.cc rightfully gives many
  syntax errors to tests/client_test.c which is full of
  mysql_prepare(mysql, "SHOW TABLES", 100).
  Correcting all these commands.
2004-02-11 12:32:47 +01:00
unknown
5b2c312627 Merge with 4.0.18
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
mysql-test/r/ctype_tis620.result-old:
  Merge rename: mysql-test/r/ctype_tis620.result -> mysql-test/r/ctype_tis620.result-old
BUILD/compile-pentium-max:
  Auto merged
BitKeeper/etc/config:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/Do-compile:
  Auto merged
configure.in:
  Auto merged
mysql-test/t/ctype_tis620.test-old:
  Merge rename: mysql-test/t/ctype_tis620.test -> mysql-test/t/ctype_tis620.test-old
Docs/Makefile.am:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/myisam.h:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/ibuf/ibuf0ibuf.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0mem.h:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
myisam/myisam_ftdump.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/bigint.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
2004-02-11 00:06:46 +01:00
unknown
86c161e6cb Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.2208


sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-02-10 19:33:04 +04:00
unknown
b4fc7c7fbf Fix for (multi-query returns wrong result in embedded library)
now we execute only one first select during mysql_real_query
others - during 'mysql_next_result'


include/mysql.h:
  'virtual' next_result added
libmysql/client_settings.h:
  cli_next_result declaration added
libmysql/libmysql.c:
  mysql_next_result now works in embedded library as well
libmysqld/lib_sql.cc:
  emb_next_result implemented
sql/sql_class.h:
  fields to store the rest of the query added
sql/sql_parse.cc:
  Saving the rest of the query added for embedded case
2004-02-10 17:09:59 +04:00
unknown
61f0e69cb6 ufter revview fix (BUG#2120)
mysql-test/r/derived.result:
  test of error handling in derived tables with UPDATE & DELETE
mysql-test/t/derived.test:
  test of error handling in derived tables with UPDATE & DELETE
sql/mysql_priv.h:
  opened tables counter added to avoid loop of tables calculating in lock_tables
sql/sql_acl.cc:
  opened tables counter added to avoid loop of tables calculating in lock_tables, here it is just for compatibility
sql/sql_base.cc:
  removed unneeded assignment
  opened tables counter added to avoid loop of tables calculating in lock_tables
  commentary fixed
sql/sql_derived.cc:
  mysql_derived made static
  variable res moved in place where it used
  priveleges written in correct place
sql/sql_handler.cc:
  opened tables counter added to avoid loop of tables calculating in lock_tables
sql/sql_parse.cc:
  mistyping in commentary fixed
2004-02-09 14:44:03 +02:00
unknown
584ddfdab2 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1


sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-02-09 12:10:12 +02:00