Commit graph

12761 commits

Author SHA1 Message Date
unknown
400648ebd0 Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into teton.kitebird.com:/home/paul/bk/mysql-4.1
2004-06-12 14:38:45 -05:00
unknown
e1917c88f6 sql_state.h:
Fix couple of typos.


include/sql_state.h:
  Fix couple of typos.
2004-06-12 14:37:41 -05:00
unknown
f573ee0887 Unicode collation algorithm: contraction support.
E.g. 'Ch' is treated as a separate letter in Czech,
not as a combination of C+h.
2004-06-12 20:36:58 +05:00
unknown
a86e6f1788 mysql-copyright:
Fixed various issues to deal with untarring of gpl tar file, clearing configure.in, changed calls to use system vs. backticks


Build-tools/mysql-copyright:
  Fixed various issues to deal with untarring of gpl tar file, clearing configure.in, changed calls to use system vs. backticks
2004-06-11 17:20:30 -07:00
unknown
fe94000324 after merge fix 2004-06-11 22:00:08 +02:00
unknown
d5880298be after merge fix
myisam/mi_unique.c:
  warning removed
2004-06-11 21:20:53 +02:00
unknown
e9242d685b merged
acinclude.m4:
  Auto merged
include/m_ctype.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-czech.c:
  Auto merged
strings/ctype-gbk.c:
  Auto merged
strings/ctype-latin1.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-tis620.c:
  Auto merged
strings/ctype-uca.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
strings/ctype-win1250ch.c:
  Auto merged
2004-06-11 20:55:08 +02:00
unknown
b67706b131 Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.4014
2004-06-11 23:00:49 +05:00
unknown
aed108a2b7 mysqltest.c: don't hardcode variables to be taken from environment.
use MYSQL_TCP_PORT instead of 3306 in tests


client/mysqltest.c:
  don't hardcode variables to be taken from environment.
mysql-test/mysql-test-run.sh:
  MYSQL_TCP_PORT instead of 3306
mysql-test/t/rpl000015.test:
  MYSQL_TCP_PORT instead of 3306
2004-06-11 18:26:13 +02:00
unknown
e914e6c7c3 Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1-ndb
2004-06-11 16:44:26 +02:00
unknown
9155e8de41 Move UCA language specific definitions into ctype-ucs.c. 2004-06-11 19:16:06 +05:00
unknown
89ba9400c2 BUG#4088 2004-06-11 15:54:46 +02:00
unknown
da7b7d550e charset.c:
Reuse some code between simple and UCA collations.


mysys/charset.c:
  Reuse some code between simple and UCA collations.
2004-06-11 18:25:50 +05:00
unknown
859b1a8c48 Initialize max_sort_char only if a character set is requested. 2004-06-11 17:50:20 +05:00
unknown
5275eb21c2 Allocate memory when a character set is requested:
- For simple character sets: from_uni convertion table.
- For UCA: alternative weight arrays.
Use mbminlen instead of MY_CS_NONTEXT
2004-06-11 16:29:16 +05:00
unknown
4047b5ade3 Fix for Bug#4079 "error checking in prepared statements":
reset mysql->status if there was an error in row reading.


libmysql/libmysql.c:
  Fix for bug#4079
tests/client_test.c:
  Test for bug #4079
2004-06-11 13:12:29 +04:00
unknown
267418de32 ha_innodb.cc:
Put back the ha_innodb.cc source code lines that were accidentally removed in Jan Lindstrom's push yesterday (he used the account heikki@mysql.com)


sql/ha_innodb.cc:
  Put back the ha_innodb.cc source code lines that were accidentally removed in Jan Lindstrom's push yesterday (he used the account heikki@mysql.com)
2004-06-11 10:21:22 +03:00
unknown
965d092941 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-root
2004-06-11 00:20:18 +04:00
unknown
f203bebafc assert.h needed for my_dbug.h now is included in my_dbug.h, where it for
some reason wasn't included before.
A lot of files cleaned up from #include <assert.h>


client/mysqlbinlog.cc:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
client/mysqldump.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
heap/hp_hash.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
include/m_string.h:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
include/my_dbug.h:
  include assert.h needed for DBUG_ASSERT
libmysql/libmysql.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/ftdefs.h:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_delete.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_dynrec.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_key.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_open.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_search.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
myisam/mi_write.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/mf_iocache.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/mf_iocache2.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/mf_keycache.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_bitmap.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_gethostbyname.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_getopt.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_pthread.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/my_seek.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/rijndael.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
mysys/thr_alarm.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
sql-common/client.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
sql/mysql_priv.h:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
sql/sql_string.cc:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
strings/ctype-simple.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
strings/ctype-ucs2.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
strings/my_vsnprintf.c:
  assert.h needed for my_dbug.h now is included in
  my_dbug.h, where it for some reason wasn't included before.
2004-06-10 23:58:39 +04:00
unknown
1e24da548b bug#3964 and related issues: FTB problems with charsets where one byte can match many
correct prefix compare with my_strnncoll


include/m_ctype.h:
  6th argument to my_strncoll to handle prefix comparison
myisam/ft_boolean_search.c:
  bug#3964 and related issues: problems with charsets where one byte can match many
  *correct* prefix compare with my_strnncoll
  *correct* backup of info->lastkey
mysql-test/r/fulltext.result:
  6th argument to my_strncoll to handle prefix comparison
mysql-test/t/fulltext.test:
  6th argument to my_strncoll to handle prefix comparison
mysys/my_handler.c:
  6th argument to my_strncoll to handle prefix comparison
sql/sql_parse.cc:
  cleanup
strings/ctype-big5.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-bin.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-czech.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-gbk.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-latin1.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-mb.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-simple.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-sjis.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-tis620.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-uca.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-ucs2.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-utf8.c:
  6th argument to my_strncoll to handle prefix comparison
strings/ctype-win1250ch.c:
  6th argument to my_strncoll to handle prefix comparison
2004-06-10 21:18:57 +02:00
unknown
d9b81f3a08 EXISTS(SELECT * ...)
close table before opening in optimize


mysql-test/r/subselect.result:
  test of EXISTS(SELECT * ...)
mysql-test/t/subselect.test:
  test of EXISTS(SELECT * ...)
sql/sql_base.cc:
  EXISTS(SELECT * ...)
sql/sql_table.cc:
  close table before opening one
2004-06-10 21:33:15 +03:00
unknown
f9ec1ff25a Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-count-4.1
2004-06-10 18:58:53 +03:00
unknown
6ca4b6cd19 BUG#4088 - Multiple mixed index/normal reads
ndb/include/kernel/signaldata/TcKeyConf.hpp:
  BUG#4088 - Multiple mixed index/normal reads
  Make setNoOps "set's" and not only "or's"
2004-06-10 17:26:26 +02:00
unknown
bfe7ebee3c Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-874


sql/ha_innodb.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
2004-06-10 16:42:07 +02:00
unknown
7849222652 WL#1689 "Map OPTIMIZE TABLE to ALTER TABLE for InnoDB"
exactly it's mapped to "ALTER TABLE t; ANALYZE TABLE t;"


sql/ha_innodb.cc:
  ::optimize() now returns "try ALTER and then analyze" instead of only analyze.
sql/handler.h:
  new code to say "try alter and analyze".
sql/mysql_priv.h:
  as we may now use mysql_alter_table() internally to ::optimize we must prevent it from talking to the client.
  New function mysql_recreate_table() which is the same as ALTER TABLE t;
sql/sql_parse.cc:
  the big block removed here is moved into mysql_recreate_table().
sql/sql_table.cc:
  In mysql_admin_table(): if the handler returns HA_ADMIN_TRY_ALTER,
  we close the table, recreate it, then open it and analyze it.
  This is currently used only for OPTIMIZE TABLE of an InnoDB table.
2004-06-10 16:41:24 +02:00
unknown
d8f0df52d3 Optimization to use less memory. 2004-06-10 19:10:21 +05:00
unknown
7ece3c7491 WL#1595 "Optionally fsync() the binlog after every statement":
New option --sync-binlog=x (and global settable variable) which will fsync the binlog
after every x-th disk write to it. That is, if in autocommit mode, after every x-th statement
written to the binlog; if using transactions, after every x-th transaction written to the binlog.
x==0 means no fsync. x==1 is the slowest.
There is no test added for this, I have just checked that it works as --sync-binlog=1 dramatically
slows down mysqld.
Made sync-frm a global settable variable.


sql/log.cc:
  every sync_binlog_period-th disk binlog write, we fsync the binlog
sql/mysql_priv.h:
  new option sync_binlog
sql/mysqld.cc:
  new option sync_binlog
sql/set_var.cc:
  Making sync-frm a settable global option.
  New settable global option sync-binlog.
sql/set_var.h:
  new global settable variable sync_binlog needs a specific ::update because it needs to take LOCK_log
2004-06-10 15:56:13 +02:00
unknown
7f4402201f Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-1595
2004-06-10 15:10:44 +02:00
unknown
0e6b9457fe don't need to tag the slave SQL thread as "bootstrap". It causes duplicate
error messages when a query goes wrong.
Note that from now on, if you run with --slave-skip-error=xx, then nothing will
be printed to the error log when the slave is having this error xx and
skipping it (but you don't care as you want to skip it).


sql/repl_failsafe.cc:
  a comment about the use of thd->bootstrap in failsafe (unused code)
2004-06-10 14:03:25 +02:00
unknown
be68220fbc Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
2004-06-10 12:02:29 +00:00
unknown
dd6023e729 removed myVector from ndb restore
BitKeeper/deleted/.del-myVector.hpp~4ecd4d6d4c8fa2f6:
  Delete: ndb/src/kernel/blocks/backup/restore/myVector.hpp
ndb/include/util/Parser.hpp:
  bug-fix missing delete
ndb/src/kernel/blocks/backup/restore/Restore.cpp:
  removed myVector
ndb/src/kernel/blocks/backup/restore/Restore.hpp:
  removed myVector
ndb/src/kernel/blocks/backup/restore/consumer_restore.cpp:
  removed myVector
ndb/src/kernel/blocks/backup/restore/main.cpp:
  removed myVector
2004-06-10 12:01:47 +00:00
unknown
378761c193 Added function
/***********************************************************************
This function stores binlog offset and flushes logs */


void innobase_store_binlog_offset_and_flush_log(char *binlog_name,longlong offset) 
requested by Guilhem to ha_innodb.cc and ha_innodb.h. 

Change made by Jan.Lindstrom@innodb.com
2004-06-10 15:01:16 +03:00
unknown
1a520c7a47 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/pem/work/mysql-4.1
2004-06-10 12:18:33 +02:00
unknown
ec923b800f Removed extra error messages (that were replaced). 2004-06-10 12:17:13 +02:00
unknown
8e6b48f808 cleunup() of count() and max()/min() added (BUG#2687)
mysql-test/r/func_group.result:
  test of optimized aggregate function re-execution
mysql-test/t/func_group.test:
  test of optimized aggregate function re-execution
sql/item_sum.cc:
  cleunup() added
sql/item_sum.h:
  cleunup() added
2004-06-10 10:59:55 +03:00
unknown
d1cb8d6d2a Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mc05.(none):/space2/tomas/mysql-4.1-ndb-test
2004-06-10 08:30:43 +02:00
unknown
f1007e6018 more ndb restore cleanup 2004-06-10 01:38:38 +00:00
unknown
f468b91f37 Fix for Bug#3904 "COUNT DISTINCT performance anomaly in 4.1"
The bug was caused by error in hash calculation function: it
always returned hash value for last field in a composite key, so 
for keys like (a text, b char(1)) we were always
getting bad hash values.
 


myisam/mi_unique.c:
  Fix for bug #3904:
  We should take into account existing hash value when calculating hash for
  next key in a composite unique index.
2004-06-10 01:30:39 +04:00
unknown
a9c50d0573 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.bredbandsbolaget.se:/home/tomas/mysql-4.1-ndb
2004-06-09 19:29:49 +00:00
unknown
d089a424bd re-enginered ndb restore to remove new/deletes and data copy
BitKeeper/deleted/.del-Makefile_old~5e1138bd59f6b3aa:
  Delete: ndb/src/kernel/blocks/backup/restore/Makefile_old
2004-06-09 19:24:36 +00:00
unknown
c56613fb3c fix for bug #3974 ("SHOW FULL PROCESSLIST" crashes the embedded server)
server crashed checking thd->priv_user[0] and thd->priv_user is NULL
if NO_EMBEDDED_ACCESS_CHECKS is on.
Now i set it to be the same as thd->user


libmysqld/lib_sql.cc:
  now priv_user won't be NULL
2004-06-09 23:10:09 +05:00
unknown
8370e6e118 Fix for the bug #4014 (prepared SELECT in embedded server)
Problem is that store_string_aux calls 'wrong' net_store_data


sql/protocol.h:
  I tried not to do net_store_data virtual - it's going to work a bit slower -
  using the fact that Protocol_simple and Protocol_prep have different
  implementation for 'store' methods.
  But now the store_string_aux method works for both.
  Well we still can try to make separate versions for Protocol_prep and
  Protocol_simple, but i prefer to make net_store_data virtual for
  embedded server so we won't have similar problems in the future
2004-06-09 22:36:48 +05:00
unknown
350ad5003e Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-874
2004-06-09 16:24:35 +02:00
unknown
43489240ad Making DROP TABLE IF EXISTS, DROP DATABASE IF EXISTS, DELETE FROM, UPDATE be logged to
binlog even if they changed nothing, and a test for this.
This is useful when users use these commands to clean up their master and slave by issuing
one command on master (assume master and slave have slightly different data for some
reason and you want to clean up both).
Note that I have not changed multi-table DELETE and multi-table UPDATE because their
error-reporting mechanism is more complicated.


mysql-test/r/mysqlbinlog.result:
  result update
mysql-test/r/rpl_charset.result:
  result update
mysql-test/r/rpl_flush_log_loop.result:
  result update
mysql-test/r/rpl_replicate_do.result:
  result update
mysql-test/r/rpl_temporary.result:
  result update
mysql-test/t/mysqlbinlog.test:
  moving SET TIMESTAMP up as DROP shows up in binlog
sql/sql_db.cc:
  DROP DATABASE IF EXISTS is now always logged to binlog, even if db did not exist
sql/sql_delete.cc:
  DELETE FROM t is now always logged to binlog even if no rows deleted (but in this case, only if really no error).
sql/sql_table.cc:
  DROP TABLE IF EXISTS is now always logged to binlog even if table did not exist
sql/sql_update.cc:
  UPDATE is now always logged to binlog even if no rows updated (but in this case, only if really no error).
2004-06-09 16:07:01 +02:00
unknown
5304a03e99 charset.c:
Fix to be ANSI C complient
  ,


mysys/charset.c:
  Fix to be ANSI C complient
  ,
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-06-09 12:33:30 +05:00
unknown
35602052fa 3 retries for wait started 2004-06-09 06:09:13 +02:00
unknown
19a5cf935a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-4026


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-06-09 03:22:55 +04:00
unknown
27eda71204 Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types
is broken (prepared statements)": fixed date handling in many places 
of prepared statements code.


libmysql/libmysql.c:
  Fix for Bug#4026:
  - now buffer_length is defined for any buffer type. Network buffer 
    preallocation cleaned up.
  - added constants for maximum buffer sizes necessary for MYSQL_TYPE_DATE,
    MYSQL_TYPE_TIME, MYSQL_TYPE_DATETIME types.
  - TIME/DATETIME packing/unpacking functions fixed 
  - now result set metadata is always updated from fields sent to COM_EXECUTE.
    This is necessary to make 'SELECT ?' queries work without conversions.
sql/item.cc:
  - added implementatoin of Item_param::get_date
sql/item.h:
  - added enum_field_types Item_param::param_type. First step for proper
    handling of placeholders.
  - added get_date() implementation to prevent date -> string -> date 
    conversions when MYSQL_TYPE_DATE/DATETIME parameter is used in temporal 
    context.
sql/protocol.cc:
  Fix for Bug#4026:
  - PACKET_BUFFET_EXTRA_ALLOC -> PACKET_BUFFER_EXTRA_ALLOC.
    The define itself was moved to .cc as it's used only in protocol.cc
  - fixed Protocol_prep::store_time() call.
sql/protocol.h:
  - PACKET_BUFFER_EXTRA_ALLOC moved to protocol.cc
sql/sql_prepare.cc:
  Fix for Bug#4026:
  - MYSQL_TYPE_TIME/DATETIME handling fixed.
  - added initialization for Item_param::param_type in 
    setup_one_conversion_function
tests/client_test.c:
  Test case for Bug#4026
2004-06-09 03:21:50 +04:00
unknown
ee401045be Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-874
2004-06-08 19:55:35 +02:00
unknown
7bd8167fb7 Correction to replication of charsets in 4.1:
In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
To be perfect, we should have escaped with character_set_client. But this charset is unknown
to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
100% safe with any charset (checked with Bar), no more need to bother with character_set_client.


mysql-test/r/rpl_charset.result:
  hex strings
mysql-test/r/rpl_user_variables.result:
  hex strings
mysql-test/r/user_var.result:
  hex strings
sql/log_event.cc:
  In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
  To be perfect, we should have escaped with character_set_client. But this charset is unknown
  to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
  100% safe with any charset (checked with Bar), no more need to bother with character_set_client.
2004-06-08 19:55:04 +02:00