Commit graph

16900 commits

Author SHA1 Message Date
unknown
3b3285b322 Merge
client/mysqldump.c:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/handler.h:
  SCCS merged
2004-11-10 18:02:00 +01:00
unknown
313ce62f70 WL#1596 "make mysqldump --master-data --single-transaction able to do online dump of InnoDB AND report reliable
binlog coordinates corresponding to the dump".
The good news is that now mysqldump can be used to get an online backup of InnoDB *which works for
point-in-time recovery and replication slave creation*. Formerly, mysqldump --master-data --single-transaction
used to call in fact mysqldump --master-data, so the dump was not an online dump (took big lock all time of dump).
The only lock which is now taken in this patch is at the beginning of the dump: mysqldump does:
FLUSH TABLES WITH READ LOCK; START TRANSACTION WITH CONSISTENT SNAPSHOT; SHOW MASTER STATUS; UNLOCK TABLES;
so the lock time is in fact the time FLUSH TABLES WITH READ LOCK takes to return (can be 0 or very long, if
a table is undergoing a huge update).
I have done some more minor changes listed in the paragraph of mysqldump.c.
WL#2237 "WITH CONSISTENT SNAPSHOT clause for START TRANSACTION":
it's a START TRANSACTION which additionally starts a consistent read on all
capable storage engine (i.e. InnoDB). So, can serve as a replacement for
BEGIN; SELECT * FROM some_innodb_table LIMIT 1; which starts a consistent read too. 


client/mysqldump.c:
  Main change: mysqldump --single-transaction --master-data is now able to, at the same time,
  take an online dump of InnoDB (using consistent read) AND get the binlog position corresponding to this dump
  (before, using the two options used to silently cancel --single-transaction).
  This uses the new START TRANSACTION WITH CONSISTENT SNAPSHOT syntax.
  Additional changes: 
  a) cleanup:
   - DBerror calls exit() so some code was unneeded
   - no need to call COMMIT at end, leave disconnection do the job
   - mysql_query_with_error_report()
  b) requirements I had heard from colleagues:
   - --master-data now requires an argument, to comment out ("--") the CHANGE MASTER or not
     (commenting had been asked for point-in-time recovery when replication is not necessary).
   - --first-slave is renamed to --lock-all-tables
  c) more sensible behaviours (has been discussed internally):
   - if used with --master-data, --flush-logs is probably intended to get a flush synchronous
     with the dump, not one random flush per dumped db.
   - disabled automatic reconnection as, at least, SQL_MODE would be lost (and also, depending
     on options, LOCK TABLES, BEGIN, FLUSH TABLES WITH READ LOCK).
include/mysqld_error.h:
  an error if START TRANSACTION WITH CONSISTENT SNAPSHOT is called and there is no consistent-read capable storage engine
  (idea ((C) PeterG) is that it's a bit like CREATE TABLE ENGINE=InnoDB when there is no support for InnoDB).
sql/handler.cc:
  new ha_start_consistent_snapshot(), which, inside an existing transaction, starts a consistent read
  (offers an alternative to SELECTing any InnoDB table). Does something only for InnoDB.
  Warning if no suitable engine supported.
sql/handler.h:
  declarations
sql/lex.h:
  symbols for lex
sql/share/czech/errmsg.txt:
  new message
sql/share/danish/errmsg.txt:
  new message
sql/share/dutch/errmsg.txt:
  new message
sql/share/english/errmsg.txt:
  new message
sql/share/estonian/errmsg.txt:
  new message
sql/share/french/errmsg.txt:
  new message
sql/share/german/errmsg.txt:
  new message
sql/share/greek/errmsg.txt:
  new message
sql/share/hungarian/errmsg.txt:
  new message
sql/share/italian/errmsg.txt:
  new message
sql/share/japanese/errmsg.txt:
  new message
sql/share/korean/errmsg.txt:
  new message
sql/share/norwegian-ny/errmsg.txt:
  new message
sql/share/norwegian/errmsg.txt:
  new message
sql/share/polish/errmsg.txt:
  new message
sql/share/portuguese/errmsg.txt:
  new message
sql/share/romanian/errmsg.txt:
  new message
sql/share/russian/errmsg.txt:
  new message
sql/share/serbian/errmsg.txt:
  new message
sql/share/slovak/errmsg.txt:
  new message
sql/share/spanish/errmsg.txt:
  new message
sql/share/swedish/errmsg.txt:
  new message
sql/share/ukrainian/errmsg.txt:
  new message
sql/sql_lex.h:
  new option in lex (transaction options)
sql/sql_parse.cc:
  warning comment (never make UNLOCK TABLES commit a transaction, please);
  support for starting consistent snapshot.
sql/sql_yacc.yy:
  new clause WITH CONSISTENT SNAPSHOT (syntax ok'd by PeterG) for START TRANSACTION.
2004-11-10 17:56:45 +01:00
unknown
834d58a65f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-10 18:08:32 +02:00
unknown
69bce9c68d More debugging
Print position in normal log for Binlog dump


dbug/dbug.c:
  Added DBUG_OUTPUT() to temporary start/stop trace-file output
  Optimized alignment of CODE_STATE structure
include/my_dbug.h:
  Added DBUG_OUTPUT() to temporary start/stop trace-file output
sql/field.cc:
  Safety fix when used with future 5.0 .frm tables
sql/log.cc:
  More debugging
sql/mysqld.cc:
  Fixed type
sql/slave.cc:
  Fixed wrong cast (not a bug)
sql/sql_class.h:
  More DBUG output
sql/sql_parse.cc:
  Print position in normal log for Binlog dump
2004-11-10 18:07:39 +02:00
unknown
e862a42d7f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into pcgem.rdg.cyberkinetica.com:/usr/home/acurtis/work/bug6031
2004-11-10 16:05:58 +00:00
unknown
e429396835 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
2004-11-10 16:05:57 +00:00
unknown
b6ed85ba5a added configure switch for ndb port number
added new variable for ndb port 1186
    changed meaning of ndb_port_base to be default tcp port setting
    changed to use split between port and port_base for ndbcluster
    so that ndb_port and ndb_port_base are propagated to startscript for ndbcluster
    added larger space to pid print
    moved readAndExecute out of CommandInterpreter to avoid linking lib with readline
    added c-api to Ndb_mgmclient
    pass also ndb_port to make


acinclude.m4:
  added configure switch for ndb port number
configure.in:
  added new variable for ndb port 1186
  changed meaning of ndb_port_base to be default tcp port setting
mysql-test/mysql-test-run.sh:
  changed to use split between port and port_base for ndbcluster
mysql-test/ndb/Makefile.am:
  so that ndb_port and ndb_port_base are propagated to startscript for ndbcluster
mysql-test/ndb/ndbcluster.sh:
  so that ndb_port and ndb_port_base are propagated to startscript for ndbcluster
ndb/src/common/mgmcommon/LocalConfig.cpp:
  so that ndb_port and ndb_port_base are propagated to startscript for ndbcluster
ndb/src/common/mgmcommon/Makefile.am:
  so that ndb_port and ndb_port_base are propagated to startscript for ndbcluster
ndb/src/common/mgmcommon/NdbConfig.c:
  added larger space to pid print
ndb/src/mgmclient/CommandInterpreter.cpp:
  moved readAndExecute out of CommandInterpreter to avoid linking lib with readline
  added c-api to Ndb_mgmclient
ndb/src/mgmclient/main.cpp:
  moved readAndExecute out of CommandInterpreter to avoid linking lib with readline
ndb/src/mgmclient/ndb_mgmclient.hpp:
  moved readAndExecute out of CommandInterpreter to avoid linking lib with readline
ndb/src/mgmsrv/ConfigInfo.cpp:
  moved readAndExecute out of CommandInterpreter to avoid linking lib with readline
ndb/src/mgmsrv/Makefile.am:
  pass also ndb_port to make
2004-11-10 16:05:28 +00:00
unknown
4b5901eda8 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2004-11-10 15:49:15 +00:00
unknown
97af0a0e8f Bug#6031 - To drop database you have to execute DROP DATABASE command twice.
DROP DATABASE failed because of file ext not in TYPELIB of known extensions.
  General solution - construct a TYPELIB at runtime instead of a static list.


mysql-test/r/ndb_basic.result:
  Bug#6031
    New test for bug
mysql-test/t/ndb_basic.test:
  Bug#6031
    New test for bug
sql/ha_ndbcluster.cc:
  Cosmetic fix
sql/handler.cc:
  Bug#6031
    New function - ha_known_exts()
    We can construct TYPELIB of known db file extensions.
sql/handler.h:
  Bug#6031
    New function - ha_known_exts()
sql/sql_db.cc:
  Bug#6031
    We use a constructed list of known extensions instead of a static list
2004-11-10 15:07:11 +00:00
unknown
4bbec092e4 Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.0
into kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-4.0
2004-11-10 08:56:49 -06:00
unknown
21dfad2b9f Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2004-11-10 14:26:02 +00:00
unknown
59244de202 change option -c to refer to connectstring 2004-11-10 14:25:02 +00:00
unknown
93cbaf032a Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-11-10 15:13:45 +01:00
unknown
12fbc41f5f Fix for BUG#6522 "Replication fails due to a rolled back transaction in the binlog"
When we are writing a transaction to the binlog, we log BEGIN/COMMIT with zero error code.
Example: all statements of trans succeeded, connection lost and so implicit rollback:
we don't want ER_NET* errors to be logged in the BEGIN/ROLLBACK events, while statement
events have 0. If there was really a serious error code, it's already in the statement events.


sql/log.cc:
  When we write the cached binlog segment to disk binlog at COMMIT/ROLLBACK time:
  imagine this is rollback due to net timeout, after all statements of
  the transaction succeeded. Then we want a zero-error code in BEGIN.
  In other words, if there was a really serious error code it's already
  in the transaction's statement events.
sql/sql_table.cc:
  out of date comment
2004-11-10 15:07:55 +01:00
unknown
741a39ac57 Fix compile failure of client_test: Move DBUG_ENTER to work in standard C.
tests/client_test.c:
  Move DBUG_ENTER to work in standard C.
2004-11-10 16:49:44 +03:00
unknown
19e3c98b87 Portability fix (Problems compiling on MacOSX with gcc) 2004-11-10 14:55:55 +02:00
unknown
977fef311e Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-10 13:08:22 +02:00
unknown
e6c7117bc0 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into gw.mysql.r18.ru:/usr/home/ram/work/5.0


sql/sql_select.cc:
  Auto merged
2004-11-10 14:43:38 +04:00
unknown
69dcc5b43c WL#1972 "Evaluate HAVING before SELECT select-list"
- post-review changes


sql/item.cc:
  - more/improved comments
2004-11-10 12:43:08 +02:00
unknown
0c9bae6e8e A fix (bug #6475: Another server crash in 5.0.2
bug #6515: count(distinct...) crashes the server)


mysql-test/r/count_distinct.result:
  A test case (bug #6515: count(distinct...) crashes the server)
mysql-test/r/func_gconcat.result:
  A test case (bug #6475: Another server crash in 5.0.2)
mysql-test/t/count_distinct.test:
  A test case (bug #6515: count(distinct...) crashes the server)
mysql-test/t/func_gconcat.test:
  A test case (bug #6475: Another server crash in 5.0.2)
sql/sql_select.cc:
  A fix (bug #6475: Another server crash in 5.0.2
         bug #6515: count(distinct...) crashes the server)
  In order to prevent repeated setup() call in the JOIN::make_sum_func_list(),
  the code was splitted: new setup_sum_funcs() was introduced.
  Note: we don't call setup_sum_funcs() in the opt_range.cc:get_best_group_min_max().
2004-11-10 14:36:21 +04:00
unknown
81880bab13 Adding new function prototype 2004-11-10 14:13:38 +04:00
unknown
63ad234b85 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/bar/mysql-4.1
2004-11-10 14:09:38 +04:00
unknown
4b3a345b0c Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/bar/mysql-4.1
2004-11-10 14:07:11 +04:00
unknown
53d6ae93bd Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1mysqltest
2004-11-10 15:05:39 +05:00
unknown
c5e6941e75 1. When mixing NULL to a character string,
the result takes its charset/collation
attributes from the character string,
e.g.  SELECT func(NULL, _latin2'string')
now returns a latin2 result. This is
done by introducing a new derivation
(aka coercibility) level DERIVATION_IGNORABLE,
which is used with Item_null.
2. 'Pure' NULL is now BINARY(0), not CHAR(0).
I.e. NULL is now more typeless.


mysql-test/r/metadata.result:
  Fixing test results:
  CHAR(0) -> BINARY(0) for NULLs
mysql-test/r/null.result:
  Testing mixing NULL with a character string with a number of functions.
mysql-test/r/ps_2myisam.result:
  Fixing test results:
  CHAR(0) -> BINARY(0) for NULLs
mysql-test/r/ps_3innodb.result:
  Fixing test results:
  CHAR(0) -> BINARY(0) for NULLs
mysql-test/r/ps_4heap.result:
  Fixing test results:
  CHAR(0) -> BINARY(0) for NULLs
mysql-test/r/ps_5merge.result:
  Fixing test results:
  CHAR(0) -> BINARY(0) for NULLs
mysql-test/r/ps_6bdb.result:
  Fixing test results:
  CHAR(0) -> BINARY(0) for NULLs
mysql-test/r/ps_7ndb.result:
  Fixing test results:
  CHAR(0) -> BINARY(0) for NULLs
mysql-test/t/null.test:
  Testing mixing NULL with a character string with a number of functions.
sql/item.cc:
  New derivation level.
sql/item.h:
  New derivation level.
2004-11-10 14:05:28 +04:00
unknown
297abcb8cd replaced init_db.sql
mysql-test/init_db.sql:
  replaced old init_db.sql on new one
2004-11-10 15:03:59 +05:00
unknown
7d09ee39b0 bug#6538
ndb: Fix return value in index_last wo/ rows


sql/ha_ndbcluster.cc:
  Return correct when not finding any row from index_last
2004-11-10 11:02:51 +01:00
unknown
a12d6fd6a7 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
2004-11-10 07:45:28 +00:00
unknown
fdc79aa30a Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2004-11-10 00:00:25 +01:00
unknown
96bd70c775 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


BitKeeper/etc/ignore:
  auto-union
sql/item_subselect.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2004-11-09 21:47:46 +02:00
unknown
67ce88fc48 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


BitKeeper/etc/ignore:
  added ndb/tools/ndb_test_platform
2004-11-09 21:45:36 +02:00
unknown
4fe50eb76a Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
2004-11-09 19:40:04 +00:00
unknown
4c26186b47 added management function to purge stale sessions in the management server
ndb/include/util/Bitmask.hpp:
  added bitXORC
ndb/include/util/SocketServer.hpp:
  added method to apply function on each session
ndb/src/common/util/SocketServer.cpp:
  added method to apply function on each session
2004-11-09 19:39:29 +00:00
unknown
3aff984ff7 Merge mysql.com:/home/bk/mysql-4.1
into mysql.com:/users/kboortz/daily/work/mysql-4.1-wax
2004-11-09 20:22:38 +01:00
unknown
ce82364326 mysql_test_run_new.c, my_manage.h, my_manage.c:
Added Solaris compatibility


mysql-test/my_manage.c:
  Added Solaris compatibility
mysql-test/my_manage.h:
  Added Solaris compatibility
mysql-test/mysql_test_run_new.c:
  Added Solaris compatibility
2004-11-09 20:21:37 +01:00
unknown
d3605294f6 Alphabetize some out-of-order options in option structure.
Revise the --hex-blob help message string. (This will need
revising after merge to 4.1, too, but the CHAR BINARY and
VARCHAR BINARY data types will be BINARY and VARBINRY.)
2004-11-09 11:03:02 -06:00
unknown
1043faa9b3 Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/bkroot/mysql-4.1
2004-11-09 17:33:09 +01:00
unknown
57a8063f80 more dbug fixups to get a nicer manual (w/o my_pthread specifics)
use my_main.c for the actual build, and main.c for the manual


dbug/main.c:
  de-mysqlify main.c
dbug/my_main.c:
  comment added
2004-11-09 17:10:08 +01:00
unknown
591feb1fbc Merge abelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
2004-11-09 18:05:32 +02:00
unknown
afbb5d8fac WL#1972 "Evaluate HAVING before SELECT select-list"
- post-review fix regarding Item_fields
- added test for the changed name resolution


mysql-test/r/having.result:
  Test for changed name resolution of Item_fields
mysql-test/t/having.test:
  Test for changed name resolution of Item_fields
sql/item.cc:
  - Changed Item_field::fix_fields to perform the same name
    resolution as Item_ref::fix_fields because column references
    of subqueries inside HAVING may be represented as Item_fields,
    and they need to be resolved as Item_refs.
  - Adjusted Item_field::fix_fields so that it has the same variable
    names and structure as Item_ref::fix_fields.
2004-11-09 17:56:33 +02:00
unknown
91fd98383c Merge sergbook.mylan:/usr/home/serg/Abk/mysql-5.0
into sergbook.mylan:/usr/home/serg/Abk/mysql-5.0-xa


BitKeeper/etc/ignore:
  auto-union
2004-11-09 16:44:23 +01:00
unknown
77b011c6b9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into sergbook.mylan:/usr/home/serg/Abk/mysql-5.0
2004-11-09 16:41:52 +01:00
unknown
f226f79fe5 typos fixed 2004-11-09 16:34:06 +01:00
unknown
753dc116a3 Merge abelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
2004-11-09 17:30:46 +02:00
unknown
cbd92676dd dict0dict.ic:
Fix a bug in InnoDB code that fortunately was never used: row id is stored in a record always as a 6-byte unsigned integer, in a 'non-compressed' form


innobase/include/dict0dict.ic:
  Fix a bug in InnoDB code that fortunately was never used: row id is stored in a record always as a 6-byte unsigned integer, in a 'non-compressed' form
2004-11-09 15:59:45 +02:00
unknown
cd16e4c9c7 Simple optimization to avoid a malloc for each query 2004-11-09 15:50:33 +02:00
unknown
a9c7e3179c Fix for valgrind/purify for variables that the compiler touches but that doesn't affect the outcome of the tests 2004-11-09 14:46:26 +02:00
unknown
8bddd44830 After merge fixes 2004-11-09 13:56:54 +02:00
unknown
daa71e1996 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2004-11-09 12:00:50 +01:00
unknown
be0933aa7d ndb: compile fix for hpita2-64 bit - remove a bunch of includes 2004-11-09 11:59:28 +01:00