Commit graph

1050 commits

Author SHA1 Message Date
monty@mysql.com
0279dc4234 Portability fixes found during 5.0 test compilation
Fixed bug in ORDER BY on a small column (Bug #2147)
Fixed error from pthread_mutex_destroy() when one had wrong errmsg file
2003-12-21 19:39:32 +02:00
monty@mysql.com
c6ed2a625b Update for VC++
(Fixed project files, compiler warnings etc..)
2003-12-21 02:07:45 +02:00
guilhem@gbichot2
d67bbe72c2 Now merge is done.
For previous commit I had run only rpl* tests, here the other ones had a 
few surprises. Latest status:
- all tests pass
- all replication tests pass with Valgrind
This is the final-final commit & push.
Doc remains.
2003-12-20 00:38:30 +01:00
guilhem@mysql.com
1333f636ae Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.0-new-binlog-format
2003-12-19 23:05:07 +01:00
pem@mysql.com
99e0ae85c7 Merge 4.1 to 5.0. 2003-12-19 18:03:27 +01:00
monty@mysql.com
d4c32db181 merge with 4.0.18 2003-12-19 16:42:17 +02:00
monty@mysql.com
eeff10e4c1 merge 2003-12-19 16:34:48 +02:00
monty@mysql.com
031390a9a4 Fixes after merge with 4.0
Cleaned up embedded library access and query cache handling
Changed min stack size to 128K (to allow longer MyISAM keys)
Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
2003-12-19 16:25:50 +02:00
ram@gw.mysql.r18.ru
33ca68a205 MYSQL_UNIVERSAL_CLIENT_CHARSET definition has been added. 2003-12-19 14:12:29 +04:00
pem@mysql.com
7b13840a46 Merge 2003-12-18 17:51:43 +01:00
jani@rhols221.arenanet.fi
c1bde7d8bd Removed unneccessary sprintf call and a variable. 2003-12-18 13:56:13 +02:00
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
monty@mysql.com
6e58a7c49e Code cleanup 2003-12-18 01:13:52 +02:00
monty@mysql.com
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02: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
5678574922 Fixed parenthesis needed by valgrind-max. 2003-12-16 16:03:39 +02:00
monty@mysql.com
56f0abf7bb Portability fixes (mostly test suite)
Make ENGINE= an alias for TYPE= (Compabiltiy with 4.1)
Fix when using symlinked data files and realpath() is not working
2003-12-16 13:20:17 +02: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
d47deebb58 Extend max_allowed_packet to 2G in mysql and mysqldump (Bug #2105)
Don't dump data for MRG_ISAM or MRG_MYISAM tables. (Bug #1846)
Ensure that 'lower_case_table_names' is always set on case insensitive file systems. (Bug #1812)
One can now configure MySQL as windows service as a normal user. (Bug #1802)
Database names is now compared with lower case in ON clause when lower_case_table_names is set. (Bug #1736)
IGNORE ... LINES option didn't work when used with fixed length rows. (Bug #1704)
Change INSERT DELAYED ... SELECT... to INSERT .... SELECT (Bug #1983)
Safety fix for service 'mysql start' (Bug #1815)
2003-12-14 06:39:52 +02:00
vva@eagle.mysql.r18.ru
700de3ebec changed %ld on %lu for output of mysql_thread_id(&mysql)
as is thread_id has type ulong
(bug #1951 thread id is printed as "signed" instead of "unsigned" in 'mysql')
2003-12-12 17:18:48 -04:00
serg@serg.mylan
fddab846d4 chk_del() should not check key delete-chain
make a test for -inf more portable (-Inf)
2003-12-11 16:47:50 +01:00
ram@gw.mysql.r18.ru
0395a3dd46 Added --comments mysqldump option (default value is 1).
Fixed mysqldump test.
2003-12-11 17:37:45 +04:00
serg@serg.mylan
6a7a91ba4d mysqldump version updated 2003-12-11 12:02:26 +01:00
ram@gw.mysql.r18.ru
361fe81035 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into gw.mysql.r18.ru:/usr/home/ram/work/4.0.b2005
2003-12-10 18:41:12 +04:00
monty@mysql.com
6a95123971 Added checking of return value from my_once_alloc() in charset
Added checking of return value from malloc() in reg_init()
2003-12-10 00:00:20 +02:00
pem@mysql.com
24a2ae44a3 Merged 4.1 -> 5.0 2003-12-09 19:00:34 +01:00
ram@gw.mysql.r18.ru
ab1c17b943 Fix for the bugs:
#2005 Long decimal comparion bug.                                               
#2055 mysqldump should replace "-inf" numeric field values with "NULL"
2003-12-09 17:33:29 +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
pem@mysql.com
6e717133c5 Merge 4.1 to 5.0 2003-12-01 16:14:40 +01:00
monty@mysql.com
f266cdabab Portability fixes (for binary build)
Added --protocol to mysqlbinlog
2003-12-01 13:13:16 +02:00
konstantin@oak.local
2e8cf31abc Second part of WL #519:
Client option secure-auth deployed on all possible layers:
- mysql client command-line and config file option
- mysql_options option MYSQL_SECURE_AUTH
- mysql_real_connect will automatically take into account that option if
  mysql->options.my_cnf_file/my_cnf_group is set
2003-11-28 13:11:44 +03:00
monty@mysql.com
8aeb63dd3b Update VC++ files
Portability fixes
After merge fixes
2003-11-21 01:53:01 +02:00
jani@ua167d18.elisa.omakaista.fi
0b1bae4677 Added error reporting if one of the multi queries failed. 2003-11-20 20:06:51 +02:00
jani@rhols221.adsl.netsonic.fi
cc2916c459 Added multi command support for mysql client. 2003-11-20 14:33:07 +02:00
pem@mysql.com
28a2c6a96b Merging 4.1->5.0. 2003-11-19 15:19:46 +01:00
monty@mashka.mysql.fi
cab1dc628c CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
ALTER TABLE table_name ... CHARACTER SET  ... now changes all char/varchar/text columns to the given character set
(One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
Removed compiler warnings
Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
2003-11-18 13:47:27 +02:00
monty@narttu.mysql.fi
4e4725377d Merge with 4.0 2003-11-04 09:40:36 +02:00
ram@gw.mysql.r18.ru
3dba5c6cc1 WL #1279: Add table description to xml dump
changes after montys review
2003-11-03 16:49:39 +04:00
ram@gw.mysql.r18.ru
0a357809be WL #1279: Add table description to xml dump (SCRUM)
Bug #1707: mysqldump -X does't quote field and table names
code cleanup
2003-10-30 14:58:30 +04:00
vva@eagle.mysql.r18.ru
e93d5845d9 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_1348/mysql-4.0
2003-10-25 16:31:49 -04:00
vva@eagle.mysql.r18.ru
a6d788d115 added quotas for database names
(fixed bug #1348)
2003-10-24 17:26:26 -04:00
pem@mysql.com
337238b78a Merging 4.1->5.0 2003-10-22 16:10:22 +02:00
guilhem@mysql.com
c93f69e9dd Fix for Bug #1595 "mysqlbinlog can't read a password from the console".
** I already fixed it in 3.23; I fix it in 4.0 separately because the
code is a bit different (so the changeset 1.1422 of 3.23 should not be
merged here) **
Make mysqlbinlog prompt for the password if
mysqlbinlog -p
instead of printing the usage().
This makes mysqlbinlog behave like other clients.
This new code was almost copied from mysqldump.
Note that before, one could use
  mysqlbinlog -p pass
and now one must use
  mysqlbinlog -ppass
(putting a space will ask for the password).
2003-10-21 12:22:24 +02:00
monty@mashka.mysql.fi
e87c9f5ff8 merge with 4.0 2003-10-16 03:08:40 +03:00
serg@serg.mylan
f77336e69d do not add DROP TABLE and LOCK TABLES to the dump in --xml mode 2003-10-14 12:19:54 +02:00
serg@serg.mylan
f3e7012d6e Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2003-10-14 00:27:04 +02:00
monty@narttu.mysql.fi
246febee42 merge with 4.0 to get fix for mysqlbinlog 2003-10-08 12:05:27 +03:00