Commit graph

10619 commits

Author SHA1 Message Date
guilhem@gbichot2
66a32e8925 This will be pushed only after I fix the testsuite.
This is the main commit for Worklog tasks:
 * A more dynamic binlog format which allows small changes (1064)
 * Log session variables in Query_log_event (1063)
Below 5.0 means 5.0.0.
MySQL 5.0 is able to replicate FOREIGN_KEY_CHECKS, UNIQUE_KEY_CHECKS (for speed),
SQL_AUTO_IS_NULL, SQL_MODE. Not charsets (WL#1062), not some vars (I can only think
of SQL_SELECT_LIMIT, which deserves a special treatment). Note that this
works for queries, except LOAD DATA INFILE (for this it would have to wait
for Dmitri's push of WL#874, which in turns waits for the present push, so...
the deadlock must be broken!). Note that when Dmitri pushes WL#874 in 5.0.1,
5.0.0 won't be able to replicate a LOAD DATA INFILE from 5.0.1.
Apart from that, the new binlog format is designed so that it can tolerate
a little variation in the events (so that a 5.0.0 slave could replicate a
5.0.1 master, except for LOAD DATA INFILE unfortunately); that is, when I
later add replication of charsets it should break nothing. And when I later
add a UID to every event, it should break nothing.
The main change brought by this patch is a new type of event, Format_description_log_event,
which describes some lengthes in other event types. This event is needed for
the master/slave/mysqlbinlog to understand a 5.0 log. Thanks to this event,
we can later add more bytes to the header of every event without breaking compatibility.
Inside Query_log_event, we have some additional dynamic format, as every Query_log_event
can have a different number of status variables, stored as pairs (code, value); that's
how SQL_MODE and session variables and catalog are stored. Like this, we can later
add count of affected rows, charsets... and we can have options --don't-log-count-affected-rows
if we want.
MySQL 5.0 is able to run on 4.x relay logs, 4.x binlogs.
Upgrading a 4.x master to 5.0 is ok (no need to delete binlogs),
upgrading a 4.x slave to 5.0 is ok (no need to delete relay logs);
so both can be "hot" upgrades.
Upgrading a 3.23 master to 5.0 requires as much as upgrading it to 4.0.
3.23 and 4.x can't be slaves of 5.0.
So downgrading from 5.0 to 4.x may be complicated.
Log_event::log_pos is now the position of the end of the event, which is
more useful than the position of the beginning. We take care about compatibility
with <5.0 (in which log_pos is the beginning).
I added a short test for replication of SQL_MODE and some other variables.
TODO:
- after committing this, merge the latest 5.0 into it
- fix all tests
- update the manual with upgrade notes.
2003-12-18 01:09:05 +01:00
pem@mysql.comhem.se
7a1fddaa1f Renamed the "schema" column to "db" in mysql.proc to keep it in style with
all the other mysql.* tables.
2003-12-16 19:14:10 +01:00
pem@mysql.comhem.se
bb51272bd1 Post-merge fixes.
Multiple result sets from stored procedures now works with the
mysql and mysqltest clients.
2003-12-16 18:09:22 +01:00
pem@mysql.com
975061bb5a Merge 4.1 to 5.0. 2003-12-16 16:12:28 +01:00
jani@rhols221.adsl.netsonic.fi
abaaa0f37b Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into rhols221.adsl.netsonic.fi:/home/my/bk/mysql-4.1
2003-12-16 16:04:08 +02:00
jani@rhols221.adsl.netsonic.fi
5678574922 Fixed parenthesis needed by valgrind-max. 2003-12-16 16:03:39 +02:00
ram@gw.mysql.r18.ru
795c88517e proper fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly.
note: bar asked me to use res.charset in ::sql_type() functions to be more consistent.
2003-12-16 17:39:33 +04:00
pem@mysql.comhem.se
a7b7a40c5f Forgot to wrap things in #ifndef NO_EMBEDDED_ACCESS_CHECKS for the embedded server.
Added missing cleanup in sp-security.test.
2003-12-16 14:15:27 +01:00
hf@deer.(none)
0462f48b34 Missed header added 2003-12-16 16:36:12 +04:00
jani@rhols221.adsl.netsonic.fi
90a2456faf Some minor code clean up. 2003-12-16 11:44:22 +02:00
jani@rhols221.adsl.netsonic.fi
96555b5f90 Added support for multi statement tests. Use mysqltest internal
command delimiter to change the default delimiter (;) to something
else, a string upto 16 characters is allowed. Separate the sub
queries with ';' and end the whole statement with your own delimiter.
2003-12-16 06:09:44 +02:00
monty@mysql.com
cde713023a Cleanup 2003-12-16 02:23:40 +02:00
monty@mysql.com
3f4b1023d7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1
2003-12-15 23:18:40 +01:00
monty@mysql.com
b24671ee2d Updated results 2003-12-15 18:10:46 +01:00
ram@gw.mysql.r18.ru
05c0c4ff26 part one of the fix for the bug #2077: accented characters in enum/defaul values are reported incorrectly 2003-12-15 21:01:38 +04:00
monty@mysql.com
76eb219781 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1
2003-12-15 18:02:29 +02:00
monty@mysql.com
2742701574 Added missing timeout function for named pipes and shared memory (fixes core dump on windows)
Signed auto_increment keys for HASH tables (like for MyISAM tables in 4.0)
nitialize system_charset_info() early. Fixes core dump when starting windows service
2003-12-15 17:58:15 +02:00
pem@mysql.comhem.se
45e5896363 Fixed various memory leaks. 2003-12-15 13:24:16 +01:00
miguel@hegel.local
6e4329cbe6 Translation update 2003-12-13 18:00:15 -04:00
serg@serg.mylan
68416cc42a Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-12-13 18:49:45 +01:00
serg@serg.mylan
f8ed7ebbe1 insert table select * from table2 now converts charsets correctly 2003-12-13 18:49:10 +01:00
pem@mysql.comhem.se
07541b6abf WL#1365: Implement definer's rights execution of stored procedures.
(Also put the hostpart back in the definer column.)
2003-12-13 16:40:52 +01:00
Sinisa@sinisa.nasamreza.org
35b8a0cde9 Already approved bug fix for #1561.
Bug happens in INTERVAL function when number of compared arguments
is 8 or more.
2003-12-13 17:20:35 +02:00
serg@serg.mylan
28709e8f7e Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-12-12 19:43:52 +01:00
pem@mysql.comhem.se
2796e299e6 Don't want host in the definer's column. 2003-12-12 14:12:38 +01:00
pem@mysql.comhem.se
7a20e5282e In order to make ALTER PROCEDURE|FUNCTION work correctly, and in general to
make characteristics (and SHOW) work right, we had to separate the old
definition blob in the mysql.proc table into separate fields for parameters,
return type, and body, and handle the characteristics (like SQL SECURITY)
separately... and then reassemble the CREATE string for parsing, of course.
This is rather ugly, mostly the parser bit. (Hopefully that will be better
with the new parser.)
2003-12-12 14:05:29 +01:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
7cd80807ec Bug#2075 - fix reduce/reduce 2003-12-11 16:05:51 +00:00
pem@mysql.comhem.se
7bfbfc308f WL#1364: Store some environmental values with SPs and use at invokation
sql_mode is stored and used with SPs.
sql_select_limit is always unlimited in SPs.
2003-12-11 12:23:50 +01:00
serg@serg.mylan
6a7a91ba4d mysqldump version updated 2003-12-11 12:02:26 +01:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
7f83c17637 Fix for Bug #2075 - negative default values not accepted for integer columns
Allow numeric literals have a sign
2003-12-11 00:28:25 +00:00
pem@mysql.comhem.se
b27e9d6052 WL#1363: Update the mysql.proc table and add new fields.
Also made the parsing and handling of SP characteristics
more general and extendable, and added a few ch:istics.
2003-12-10 19:05:37 +01:00
ram@gw.mysql.r18.ru
7576f1a81f changed usc2 -> koi8r to don't depend on extra-charset option. 2003-12-10 15:27:33 +04:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
fcf96dbb18 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
2003-12-10 04:31:42 +00:00
igor@rurik.mysql.com
28113396ec key_cache.result, key_cache.test, mf_keycache.c:
Fixed a wrong return code by the function init_key_cache.
2003-12-09 13:29:38 -08:00
pem@mysql.comhem.se
2c3065c9cb Post-merge fixes. 2003-12-09 19:05:41 +01:00
pem@mysql.com
24a2ae44a3 Merged 4.1 -> 5.0 2003-12-09 19:00:34 +01:00
ram@gw.mysql.r18.ru
f913b942a9 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b1994
2003-12-09 22:00:33 +04:00
vva@eagle.mysql.r18.ru
4734f45213 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_1688/mysql-4.1
2003-12-09 14:00:32 -04:00
vva@eagle.mysql.r18.ru
17330df85f Merge 2003-12-09 13:34:57 -04:00
ram@gw.mysql.r18.ru
4d1f521f21 Fix for the bug #1994: mysqldump does not correctly dump UCS2 data. 2003-12-09 15:28:58 +04:00
monty@mysql.com
c92feebb23 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1
2003-12-09 11:58:21 +02:00
gluh@gluh.mysql.r18.ru
43588228e7 post-merge fixes 2003-12-08 17:44:56 +04:00
lenz@kallisto.local
9aa12e25f1 Fixed two packaging bugs:
- postinstall of the Mac OS X PKG failed as a parameter for 
   mysql_install_db was changed for MySQL 4.1
 - postinstall of the Server RPM failed as mysql_create_system_tables was
   missing from the file list
2003-12-08 14:38:29 +01:00
gluh@gluh.mysql.r18.ru
d9a412dcc3 post-merge fixes 2003-12-08 15:18:29 +04:00
gluh@gluh.mysql.r18.ru
ec8749249a WL#530&531: TIMESTAMPADD, TIMESTAMPDIFF functions
Syntax for TIMESTAMPADD:

TIMESTAMPADD(interval, integer_expression, datetime_expression)

interval:= FRAC_SECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | 
QUARTER | YEAR

Supported SQL_TSI_  prefix  (like SQL_TSI_SECOND)

Syntax for TIMESTAMPDIFF:

TIMESTAMPDIFF(interval, datetime_expression1, datetime_expression2)

interval:= FRAC_SECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | 
QUARTER | YEAR

Supported SQL_TSI_  prefix  (like SQL_TSI_SECOND)
2003-12-08 14:41:41 +04:00
konstantin@mysql.com
0600b90c7c Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-root
2003-12-08 13:31:40 +03:00
konstantin@oak.local
54f76e2c93 commented why valgrind barks at the bug #1500 2003-12-08 13:30:14 +03:00
monty@mysql.com
ca953d5e7d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1
2003-12-08 12:26:10 +02:00
monty@mysql.com
e8aef44349 Portability fixes for Windows 2003-12-08 12:25:37 +02:00
gluh@gluh.mysql.r18.ru
38a4780fd1 Fixed test for 'init_slave' variable 2003-12-08 12:10:30 +04:00