Commit graph

927 commits

Author SHA1 Message Date
unknown
27ad8e4078 Merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysys/my_error.c:
  Hand merged
2004-06-07 12:21:26 +04:00
unknown
1d4ee7f81c Post review fixes for "SQL Syntax for Prepared Statements".
mysql-test/r/ps.result:
  Better error message
mysys/my_error.c:
  Comments added
sql/item.cc:
  Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
sql/item.h:
  Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
sql/item_func.cc:
  Code cleanup
sql/mysql_priv.h:
  Code cleanup
sql/sql_class.cc:
  Code cleanup
sql/sql_parse.cc:
  use user_var_entry::val_str in PREPARE stmt FROM @var.
sql/sql_prepare.cc:
  Post-review fixes and code cleanup.
sql/sql_yacc.yy:
  Coding style fixes
2004-06-07 12:09:10 +04:00
unknown
8438a19382 Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-4.1


sql/sql_yacc.yy:
  Auto merged
2004-06-04 10:35:57 -05:00
unknown
e9c4cea9de Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


sql/lex.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_yacc.yy:
  Auto merged
2004-06-04 05:37:14 +04:00
unknown
934bb37d39 Implementation of WL#1824 "Add replication of character set variables in 4.1",
by binlogging some SET ONE_SHOT CHARACTER_SETetc,
which will be enough until we have it more compact and more complete in 5.0. With the present patch,
replication will work ok between 4.1.3 master and slaves, as long as:
- master and slave have the same GLOBAL.COLLATION_SERVER
- COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
- application does not use the fact that table is created with charset of the USEd db (BUG#2326).
all of which are not too hard to fulfill. 
ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
so we give error if used for non-charset vars.
Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
 variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
 properly after SET NAMES".
Detecting that master and slave have different global charsets or server ids.


mysql-test/r/rpl_server_id1.result:
  it's normal to not run as I have added a test to compare server ids of master and slave
  at startup and stop if equal (unless --replicate-same-server-id)
mysql-test/r/rpl_user_variables.result:
  result update (as we now print charset of user var).
mysql-test/r/user_var.result:
  result update
mysql-test/t/rpl_server_id1.test:
  no need to select as slave is not running
mysql-test/t/user_var.test:
  testing if the content of user vars is escaped when mysqlbinlog prints them,
  and if the name is backquoted.
sql/lex.h:
  new keyword ONE_SHOT
sql/log.cc:
  when writing to the binlog, before writing the actual statement, write some SET ONE_SHOT CHARACTER_SET_CLIENT etc
  for the slave to know the charset variables (which are important as they affect the inserted data).
sql/log_event.cc:
  print charset and collation of user var in mysqlbinlog and SHOW BINLOG EVENTS.
  escape the content of the var. Backquote its name.
  Will ask Bar to check that using my_charset_bin for escaping is ok.
sql/set_var.cc:
  understand SET CHARACTER_SET_CLIENT=10 (don't require a string, accept a number).
  Refuse changing of GLOBAL CHARACTER_SET_SERVER/COLLATION_SERVER if binlog or slave,
  as it will make the master or slave make wrong assumptions.
  A function to catch SET ONE_SHOT on non-charset variables (which is forbidden)
sql/set_var.h:
  no_support_one_shot to know if the var supports ONE_SHOT (only charset vars do, soon timezones).
  Accept int arg in SET CHARACTER_SET_etc
sql/slave.cc:
  when I/O slave thread starts, verify that master's and slave charsets match.
  And by the way verify that server ids are different.
  Don't fail if UNIX_TIMESTAMP() can't be done on master (very old master), that's
  not fatal.
sql/sql_class.cc:
  one_shot
sql/sql_class.h:
  one_shot
sql/sql_lex.h:
  one_shot
sql/sql_parse.cc:
  when SET ONE_SHOT is used, verify that it's only used for charset/collation vars;
  otherwise refuse.
sql/sql_yacc.yy:
  ONE_SHOT keyword in SET
2004-06-03 23:17:18 +02:00
unknown
e6b4b30481 Fix skipp -> skip once and for all.
(Note: This affects only comments, not variable names.)


extra/perror.c:
  Fix skipp -> skip once and for all.
heap/hp_hash.c:
  Fix skipp -> skip once and for all.
isam/_dynrec.c:
  Fix skipp -> skip once and for all.
isam/isamchk.c:
  Fix skipp -> skip once and for all.
isam/isamlog.c:
  Fix skipp -> skip once and for all.
isam/pack_isam.c:
  Fix skipp -> skip once and for all.
isam/test1.c:
  Fix skipp -> skip once and for all.
merge/mrg_open.c:
  Fix skipp -> skip once and for all.
myisam/mi_check.c:
  Fix skipp -> skip once and for all.
myisam/mi_delete.c:
  Fix skipp -> skip once and for all.
myisam/mi_key.c:
  Fix skipp -> skip once and for all.
myisam/mi_search.c:
  Fix skipp -> skip once and for all.
myisam/myisamlog.c:
  Fix skipp -> skip once and for all.
mysys/ChangeLog:
  Fix skipp -> skip once and for all.
mysys/default.c:
  Fix skipp -> skip once and for all.
mysys/mf_iocache.c:
  Fix skipp -> skip once and for all.
mysys/mf_iocache2.c:
  Fix skipp -> skip once and for all.
mysys/mf_pack.c:
  Fix skipp -> skip once and for all.
mysys/mf_soundex.c:
  Fix skipp -> skip once and for all.
mysys/mf_wfile.c:
  Fix skipp -> skip once and for all.
mysys/my_error.c:
  Fix skipp -> skip once and for all.
mysys/my_getwd.c:
  Fix skipp -> skip once and for all.
scripts/mysql_find_rows.sh:
  Fix skipp -> skip once and for all.
sql/sql_yacc.yy:
  Fix skipp -> skip once and for all.
sql/time.cc:
  Fix skipp -> skip once and for all.
strings/ctype-big5.c:
  Fix skipp -> skip once and for all.
strings/ctype-gbk.c:
  Fix skipp -> skip once and for all.
strings/ctype-tis620.c:
  Fix skipp -> skip once and for all.
2004-06-03 11:52:54 -05:00
unknown
4d3dce7fc1 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


mysys/my_error.c:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/share/german/errmsg.txt:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/italian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/polish/errmsg.txt:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
2004-06-01 17:29:13 +04:00
unknown
7f49646cf3 Merging
myisam/mi_create.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/rt_test.c:
  Auto merged
myisam/sp_test.c:
  Auto merged
sql/spatial.cc:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
myisam/mi_range.c:
  merging
myisam/mi_rnext.c:
  merging
2004-05-27 16:32:49 +05:00
unknown
c54f3ba680 Merge
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/sql_lex.h:
  SCCS merged
2004-05-24 21:13:38 +04:00
unknown
88da3ae5f9 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/TASK_ALTER_INFO/mysql-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-24 21:01:35 +05:00
unknown
0bf85cfdfa Fix for bug which caused temp_table.test fail on Darwin 7.3
The code in mysql_create_table() code assumes that if lower_case_names==2 then table alias 
should contain unchanged table name, and this was not true for temporary tables which
had 'tmp-table' constant as alias. Now we are using table name as alias for such tables.


sql/sql_lex.cc:
  Removed tmp_table_alias constant which is no longer used.
sql/sql_lex.h:
  Removed tmp_table_alias constant which is no longer used.
sql/sql_yacc.yy:
  Let us use table name instead of 'tmp-table' as alias for table being created by 
  CREATE TEMPORARY TABLE statement. This fixes failing temp_table.test on Darwin 7.3 
  since mysql_create_table() code assumes that if lower_case_names==2 then table alias 
  should contain unchanged table name (and now this assumtion is true but it were false
  for temporary tables before...).
2004-05-24 15:48:19 +04:00
unknown
ea63df7f54 Introduced parameter object "ALTER_INFO" for mysql_alter_table
to make list of parameters in mysql_alter_table shorted
to avoid warning in MSVC (windows) building 


sql/mysql_priv.h:
  Introduced parameter object "ALTER_INFO" for mysql_alter_table
  - changed declaration of mysql_alter_table
  - changed declaration of mysql_drop_index 
    (replaced List<Alter_drop> by ALTER_INFO)
sql/sql_lex.h:
  Introduced parameter object "ALTER_INFO" for mysql_alter_table
  - declared struct ALTER_INFO
  - added ALTER_INFO alter_info; into LEX
  - removed fields which were added into ALTER_INFO from LEX
sql/sql_parse.cc:
  Introduced parameter object "ALTER_INFO" for mysql_alter_table
  - changed invotaions of mysql_alter_table
  - replaced cleaning fields in SQLCOM_OPTIMIZE by ALTER_INFO::reset
  - changed invocation of mysql_drop_index (replaced lex->drop_list by &lex->alter_info)
  - changed definition of mysql_create_index and mysql_drop_index to use ALTER_INFO
sql/sql_table.cc:
  Introduced parameter object "ALTER_INFO" for mysql_alter_table
  - changed definition of mysql_alter_table
sql/sql_yacc.yy:
  Introduced parameter object "ALTER_INFO" for mysql_alter_table
  - replaced using of removed from LEX fields my fields of LEX::alter_info
2004-05-21 19:57:03 +05: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
de2c35230f Fixed BUG#3709: SELECT INTO 1 FROM DUAL not parsed as expected
Made the combination of INTO and FROM DUAL work, e.g.
SELECT 1 INTO @x FROM DUAL.
As a consequence, DUAL is made a reserved word. It would work to not have
it reserved, but it was deemed to be confusing as a user defined table by
the same name then must be qualified with a db (schema).


sql/sql_yacc.yy:
  Made the combination of INTO and FROM DUAL work, e.g.
  SELECT 1 INTO @x FROM DUAL.
  As a consequence, DUAL is made a reserved word. It would work to not have
  it reserved, but it was deemed to be confusing as a user defined table by
  the same name then must be qualified with a db (schema).
2004-05-19 14:51:41 +02:00
unknown
201412da75 Trivial manual merge
sql/sql_class.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-15 00:06:16 +04:00
unknown
f16022dfae get rid of remaining strtolls - irix64 compatibility 2004-05-14 19:12:09 +02:00
unknown
47890151b4 Portability fixes
scripts/mysql_install_db.sh:
  Portability fix (! is not portable)
sql/item_func.cc:
  Use my_strtoll10() instead of strtoull()
sql/repl_failsafe.cc:
  Use my_strtoll10() instead of strtoull()
sql/sql_analyse.cc:
  Use my_strtoll10() instead of strtoull()
sql/sql_yacc.yy:
  Use my_strtoll10() instead of strtoull()
strings/my_strtoll10.c:
  Fix compiler warnings
2004-05-12 02:38:57 +03:00
unknown
d3fcd8d4c0 Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
Prefer not automatic keys before automatic keys. If there is two conf


BitKeeper/etc/ignore:
  added *.d
include/my_base.h:
  Added flag for automaticly generated key
mysql-test/r/constraints.result:
  Update tests after bug fix
mysql-test/r/create.result:
  Update tests after bug fix
mysql-test/r/innodb.result:
  Added test of automatic creation of foreign keys
mysql-test/t/innodb.test:
  Added test of automatic creation of foreign keys
mysql-test/t/key_cache.test:
  Portability fixes (64 BIT os)
sql/sql_acl.cc:
  Indentation fixes
sql/sql_class.cc:
  Fix key comparison to handle prefix and optionally key segments in different order.
sql/sql_class.h:
  Added flag for automaticly generated keys
sql/sql_parse.cc:
  Added flag for automaticly generated keys
sql/sql_table.cc:
  Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
  Prefer not automatic keys before automatic keys. If there is two conflicting automatic keys, prefer the longer one.
sql/sql_yacc.yy:
  Added flag for automaticly generated keys
strings/strings-x86.s:
  Portability fix.
2004-05-12 00:29:52 +03: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
f1a2e92562 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1


mysql-test/r/create.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-06 09:53:50 +03:00
unknown
b52317df71 merge
mysql-test/r/subselect.result:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-05 22:30:01 +03:00
unknown
000f76cfb8 after merge fixes
client/mysqldump.c:
  Fixed problem with multiple tables (--skip-quote didn't work properly for second table)
myisam/myisamchk.c:
  after merge fix
2004-05-05 21:24:21 +03:00
unknown
f6428e8bb9 caching of queries with isammerge tables forbiden using general way
SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause
correct table list passed to class constructor of select_update


mysql-test/r/subselect.result:
  do not show limit if it is not explicit
mysql-test/r/union.result:
  test of LIMIT + ORDER
mysql-test/t/union.test:
  test of LIMIT + ORDER
sql/ha_isammrg.h:
  caching of queries with isammerge tables forbiden
sql/sql_cache.cc:
  removed check on isammerge
sql/sql_lex.cc:
  tag of explicit limit in statement
sql/sql_lex.h:
  tag of explicit limit in statement
sql/sql_parse.cc:
  blanks in empty line removed
  no limit by default (SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause)
sql/sql_union.cc:
  reverted incorrect patch
sql/sql_update.cc:
  reverted incorrect patch
  correct table list passed to class constructor
sql/sql_yacc.yy:
  explicit LIMIT marked
2004-05-05 21:21:41 +03:00
unknown
cd21f7ce40 Merge with 4.0.19
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/client/mysqlclient.dsp:
  Auto merged
VC++Files/mysql.dsw:
  Auto merged
extra/perror.c:
  Auto merged
extra/replace.c:
  Auto merged
innobase/configure.in:
  Auto merged
innobase/include/lock0lock.h:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
ltmain.sh:
  Auto merged
BitKeeper/deleted/.del-libmysqld.def~8edf7b8780ce943c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/sync/sync0arr.c:
  Auto merged
innobase/sync/sync0sync.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
mysql-test/r/alias.result:
  Auto merged
mysql-test/t/system_mysql_db_fix-master.opt:
  Auto merged
mysql-test/r/func_time.result:
  Automatic merge
mysql-test/r/innodb.result:
  Automatic merge
mysql-test/t/alias.test:
  Automatic merge
mysql-test/t/create.test:
  Automatic merge
mysql-test/t/func_time.test:
  Automatic merge
sql/ha_innodb.cc:
  Automatic merge
sql/mysql_priv.h:
  Automatic merge
mysql-test/r/rpl_multi_update.result:
  Automatic merge
mysql-test/t/rpl_error_ignored_table.test:
  Automatic merge
mysql-test/t/rpl_multi_update.test:
  Automatic merge
sql/slave.h:
  Automatic merge
sql/sql_base.cc:
  Automatic merge
sql/sql_db.cc:
  Automatic merge
sql/sql_insert.cc:
  Automatic merge
sql/structs.h:
  Automatic merge
sql/table.cc:
  Automatic merge
strings/longlong2str-x86.s:
  Automatic merge
strings/strings-x86.s:
  Automatic merge
support-files/my-medium.cnf.sh:
  Automatic merge
2004-05-05 17:05:24 +03:00
unknown
47322bf9b8 WL#1622 "SQL Syntax for Prepared Statements" - cosmetic code review fixes
mysql-test/r/ps.result:
  Added check if multiple SQL statements inside a PS are disabled
mysql-test/t/ps.test:
  Added check if multiple SQL statements inside a PS are disabled
2004-04-30 20:08:38 +04:00
unknown
2902f9e8a5 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


sql/lex.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-04-28 19:27:56 +04:00
unknown
0d07fe42c3 Fix for Bug 3481
CREATE statement allowed extra unnecessary commas


mysql-test/r/alias.result:
  Extra comma removed in CREATE statement
mysql-test/r/create.result:
  New test for Bug 3481
mysql-test/r/func_str.result:
  Extra comma removed in CREATE statement
mysql-test/r/rpl_multi_update.result:
  Extra comma removed in CREATE statement
mysql-test/t/alias.test:
  Extra comma removed in CREATE statement
mysql-test/t/create.test:
  New test for bug 3481
mysql-test/t/func_str.test:
  Extra comma removed in CREATE statement
mysql-test/t/rpl_multi_update.test:
  Extra comma removed in CREATE statement
sql/sql_yacc.yy:
  Fix for bug 3481
    No path through the grammar which has no clauses
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-28 16:14:53 +01:00
unknown
c9e1538298 Introduce keys in child tables corresponding to FOREIGN KEYs
Remove redundant keys in CREATE TABLE and ALTER TABLE


mysql-test/r/constraints.result:
  Remove redundant keys
mysql-test/r/create.result:
  Remove redundant keys
mysql-test/r/innodb.result:
  Remove redundant keys
mysql-test/r/range.result:
  Remove redundant keys
mysql-test/t/range.test:
  Remove redundant keys
sql/sql_class.cc:
  Equality comparison of keys (ignoring name)
sql/sql_class.h:
  Equality comparison of keys (ignoring name)
sql/sql_table.cc:
  Remove redundant keys
sql/sql_yacc.yy:
  Introduce keys in child tables corresponding to FOREIGN KEYs
2004-04-21 13:15:43 +03:00
unknown
b43af929f8 Added NDB storage engine
include/my_base.h:
  Added three new errorcodes to be returned by the handler
sql/Makefile.am:
  Add new files discover.cc, ha_ndbcluster.cc and ha_ndbcluster.h
  Add include path of NDB files
sql/handler.cc:
  Added variable for keeping track of number of "discovers"
  Added NDB to list of storage engines
  Added calls to NDB for commit, rollback etc.
  Added function ha_discover for discovering a table from handler
sql/handler.h:
  Added NDB to list of storage engines
  Added vbariable in transaction for keeping a ndb transaction handle
sql/lex.h:
  Changed AND to AND_SYM and OR to OR_SYM to avoid nameclash
sql/mysql_priv.h:
  Added prototypes for new functions readfrm, writefrm and create_table_from_handler
sql/mysqld.cc:
  Added NDB support
  Disable NDB with --skip-ndbcluster
sql/set_var.cc:
  Add posibilty to show if NDB handler is supported
sql/ha_ndbcluster.cc:
  Add ifdef for whole file for not compiling anything if NDB sholdn't be included
  Updated timestamp handling to use new vars timestamp_default_now and timestamp_on_update_now
sql/sql_base.cc:
  If frm file is not found on disk, ask handler if it knows about the table. Then retry the open.
  This new functionality is called "discover" and can be used by any handler.
sql/sql_class.h:
  Added variable for keeping a NDB connection handle
sql/sql_table.cc:
  Before trying to create a table, ask handler if a table with that name already exists.
  If user said CREATE TABLE IF NOT EXISTS, disocver the table from handler
sql/sql_yacc.yy:
  Add NDBCLUSTER_SYM
  Change AND to AND_SYM
  Change OR to OR_SYM
sql/table.cc:
  Fixe for probelm when NullS is returned from bas_ext of a handler.
2004-04-15 09:14:14 +02: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
cc168fc6fd Hand-resolved auto merge
BitKeeper/etc/ignore:
  auto-union
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/unireg.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Hand-merged
sql/sql_yacc.yy:
  Hand-merged
2004-04-07 14:56:24 +02:00
unknown
e9447881eb Portability fixes
Fixed problems with group_concat() and HAVING
Updated crash-me values


sql-bench/limits/mysql-4.0.cfg:
  Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.0.cfg
include/my_global.h:
  Safety fix
libmysqld/Makefile.am:
  Portability fix (For AIX 64 bit)
mysql-test/r/func_gconcat.result:
  More tests
mysql-test/t/func_gconcat.test:
  More tests
sql/field.cc:
  Cleanups
sql/init.cc:
  moved thread_stack_min to right place
sql/item_sum.cc:
  Fixed problems with group_concat() and HAVING
  Removed some not needed variables
sql/item_sum.h:
  Fixed problems with group_concat() and HAVING
  Removed some not needed variables
sql/mysqld.cc:
  Moved thread_stack_min to right place to handle case where we didn't get as much stack space as we asked for
sql/sql_parse.cc:
  More debugging
sql/sql_select.cc:
  Cleanup
sql/sql_yacc.yy:
  Fixed handling of Item_group_concat() in having. (Arguments should not be handled as refs)
2004-04-07 04:33:58 +03:00
unknown
e7a85e367f Previous patch was wrong :(
Here is 2nd version.
'reduce/reduce conflicts' issue is fixed


sql/sql_yacc.yy:
  'reduce/reduce conflicts' issue is fixed
2004-04-06 15:00:51 +05: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
66de313563 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/mysql-4.1.curr


sql/sql_yacc.yy:
  Auto merged
2004-04-05 19:14:31 +05: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
8c06c8c010 WL1368: SHOW GRANTS FOR CURRENT USER
'SHOW GRANTS' syntax is added 
  'SHOW GRANTS FOR CURRENT_USER' syntax is added
  'SHOW GRANTS FOR CURRENT_USER()' syntax is added
 CURRENT_USER without parens in expressions(SELECT CURRENT_USER;) 


mysql-test/r/grant2.result:
  WL1368: SHOW GRANTS FOR CURRENT USER
mysql-test/r/grant_cache.result:
  WL1368: SHOW GRANTS FOR CURRENT USER
mysql-test/t/grant2.test:
  WL1368: SHOW GRANTS FOR CURRENT USER
mysql-test/t/grant_cache.test:
  WL1368: SHOW GRANTS FOR CURRENT USER
sql/lex.h:
  WL1368: SHOW GRANTS FOR CURRENT USER
sql/sql_yacc.yy:
  WL1368: SHOW GRANTS FOR CURRENT USER
2004-04-05 17:55:26 +05: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
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
93c70c0772 simple optimzation
Portability fixes


client/mysqltest.c:
  Fixed that if error number 0 is included in --error, we will not generate an error message
include/mysql.h:
  Portability fix
mysql-test/mysql-test-run.sh:
  Portability fix
mysql-test/r/heap_btree.result:
  Portability fix
mysql-test/r/rpl_error_ignored_table.result:
  Portability fix
mysql-test/t/heap_btree.test:
  Portability fix
mysql-test/t/rpl_error_ignored_table.test:
  Portability fix
sql/sql_base.cc:
  simple optimzation
sql/sql_yacc.yy:
  simple optimzation
2004-03-31 03:32:38 +03: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
6b8d6d2a43 ALTER TABLE t1 CONVERT TO should also change the default character set.
Forgot to do it in the previous commit.
2004-03-30 22:18:49 +05:00
unknown
acd4d158cc More different syntaxes for (1) modifying the default charaset/collation
and for (2) converting the columns:

1.  ALTER TABLE t1 [DEFAULT] CHARACTER SET xxx [COLLATE yyy]
2.  ALTER TABLE t1 CONVERT TO CHARACTER SET xxx [COLLATE yyy]
2004-03-30 21:33:45 +05:00
unknown
3eff43162b 1. New data types, from the user point of view:
BINARY(N) and VARBIBARY(N)
2. More 4.0 compatibility and more BINARY keyword consistency:
2a. CREATE TABLE a (a CHAR(N) BINARY) 
    is now synonym for
    CREATE TABLE a (a CHAR(N) COLLATE xxxx_bin)
2b. SELECT BINARY x
    is still synonin for
    SELECT x COLLATE xxxxx_bin.
2004-03-26 16:11:46 +04:00
unknown
d31bb74ade Merge fix.
sql/sql_yacc.yy:
  Auto merged
tests/client_test.c:
  Merge fix (two new test cases at the same time).
2004-03-25 17:48:00 +01:00
unknown
df06466976 Fixed BUG#3117: LAST_INSERT_ID() works incorrectly inside stored procedure.
This turned out to be a problem for prepared statements as well; the id was
evaluated once, at parse time.


mysql-test/r/auto_increment.result:
  Updated results after bugfix in last_insert_id().
mysql-test/r/query_cache.result:
  Updated results after bugfix in last_insert_id().
mysql-test/r/variables.result:
  Updated results after bugfix in last_insert_id().
sql/item_func.cc:
  Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
  Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
sql/item_func.h:
  Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
  Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
sql/sql_yacc.yy:
  Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
  Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
tests/client_test.c:
  Test case for last_insert_id() in prepared statements.
2004-03-25 17:42:13 +01:00
unknown
6573112f67 accorting to the manual, when neither GLOBAL or SESSION in SET
is specified, the default is SESSION.
2004-03-24 16:33:47 +01:00
unknown
c0a9df1aae correct support for a mix of UNION/UNION ALL in the same query.
Bug#1428
2004-03-23 14:43:24 +01:00