Commit graph

269 commits

Author SHA1 Message Date
monty@mysql.com
4ee44751d9 Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882) 2004-03-10 13:46:11 +02:00
serg@serg.mylan
5cacc972a2 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-03-02 22:22:11 +01:00
serg@serg.mylan
a05c54b6c2 my_getsystime() 2004-03-02 22:21:12 +01:00
konstantin@oak.local
8cc8b0ea5c Desperate attempt to push part of prepared statements cleanup which was
reviewed in Saint-Petersbourg (including post-review fixes).
2004-03-02 22:39:50 +03:00
serg@serg.mylan
ed2e1aa14d my_gethwaddr() for linux/freebsd
UUID() function
2004-02-27 20:30:08 +01:00
monty@mashka.mysql.fi
e347f63192 Max open files handling moved to my_set_max_open_files()
This ensures that my_file_info takes this the max number of files into account and one can now use --open-files-limit on windows to increase number of used files up to 2048
2004-02-19 19:33:09 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
konstantin@mysql.com
74a1d68d3b Proposed (version #2) fix for bug #1948:
"system variable query_prealloc_size can be only global"
2004-02-02 23:01:58 +03: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
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
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +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
monty@mysql.com
7e92336b1d Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061)
mysql_server_init() now returns error code if something went wrong (Bug #2062)
Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
Fixed bug in UNION statement with alias '*'. (Bug #1249)
Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
HOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
2003-12-11 06:24:08 +02:00
igor@rurik.mysql.com
b99377f3d2 mi_keycache.c:
Removed FLUSH_REMOVE flag (replaced it by FLUSH_RELEASE).
my_sys.h:
  Removed FLUSH_REMOVE flag.
2003-11-25 22:20:31 -08:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
monty@mashka.mysql.fi
f382adcfca Portability fixes (AIX43)
Add missing file to VC++ project
2003-11-20 03:11:33 +02:00
monty@mashka.mysql.fi
ac76198330 Portability fixes for AIX43 2003-11-20 02:48:09 +02: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
monty@mysql.com
4668b54837 Call my_sync() after all data is written to .frm file
Added my_sync() to mysys which will do fsync/fdatasync/_commit() on a file.
2003-11-02 15:55:02 +02:00
igor@rurik.mysql.com
f29ed57531 Merge 2003-10-30 10:45:28 -08:00
monty@mishka.mysql.fi
a5c83b05bd Move init_compiled_charsets to own file
Remove dependency of charsets (in my_init) to get smaller binaries when charsets are not used
Simple code cleanup
2003-10-06 22:56:34 +03:00
igor@rurik.mysql.com
17aecac32c Manual merge after improving concurrency for key cache reassignment 2003-10-01 20:16:36 -07:00
igor@rurik.mysql.com
8e5c62190f Many files:
Improved concurrency for key cache reassignment
2003-10-01 18:20:07 -07:00
bar@bar.mysql.r18.ru
731b8392ee Charset number is now stored into error.sys by comp_err and loaded by mysqld. 2003-09-17 16:22:58 +05:00
monty@narttu.mysql.fi
4b3b4b9250 merge 2003-09-03 19:53:08 +03:00
serg@serg.mylan
755455e15c merged 2003-09-03 12:07:18 +02:00
monty@narttu.mysql.fi
77a70a0a24 merge with 4.0.15 2003-08-29 13:44:35 +03:00
jani@rhols221.adsl.netsonic.fi
5f8ef50b35 Added a warning to my_print_defaults if --verbose is given
and --defaults-file is a non-existing or non-regular file.
Bug#755
2003-08-27 19:22:14 +03:00
igor@rurik.mysql.com
40193a7fa5 Manual merge 2003-08-26 00:13:22 -07:00
serg@serg.mylan
58bdc6f5e1 use crc32() from bundled zlib if system zlib is unavailable 2003-08-21 18:30:43 +02:00
guilhem@mysql.com
6e32e19047 Use my_b_append instead of my_b_write on a SEQ_READ_APPEND cache, when we write
the first 4 bytes of the relay log. Indeed comments in mysys/mf_iocache.c 
say we must always use my_b_append for such a cache.
This *could* avoid a very rare assertion failure which is: 
030524 19:32:38  Slave SQL thread initialized, starting replication in log 'FIRST' at position 0, relay log '/
users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000001' position: 4
030524 19:32:38  next log '/users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000002' is currently active
mysqld: mf_iocache.c:701: _my_b_seq_read: Assertion `pos_in_file == info->end_of_file' failed.
and which seemed to happen always when the SQL thread and/or the I/O thread
were at position 4 in a relay log.
2003-08-19 17:00:36 +02:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
igor@rurik.mysql.com
2813cd1f0b set_var.cc, mysqld.cc, handler.cc, set_var.h, handler.h:
Added key cache parameters for midpoint insertion strategy
Many files:
  Added midpoint insertion strategy for key cache
mi_test2.c:
  Added a parameter to resize_key_cache
2003-08-09 11:12:22 -07:00
monty@mashka.mysql.fi
8f08c511ee Review of changesets since last pull.
(Mostly code cleanups)
2003-08-07 20:16:37 +03:00
serg@serg.mylan
79922d946a table checksum background:
my_checksum() mysys function
   NISAM checksum code moved from mysys to isam/ - it's obsolete
   MyISAM checksum code moved to mysys
   table's checksum accessible from sql layer
   SHOW TABLE STATUS shows checksum (WL#646)
code cleanup
2003-08-05 21:14:15 +02:00
igor@rurik.mysql.com
f7adcbff7b Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2003-08-02 03:27:13 -07:00
igor@rurik.mysql.com
9306f55d8e Many files:
Added key cache assignment
mi_locking.c:
  Added key cache assignment: correction
my_sys.h:
  Added key cache variable structure
2003-08-02 02:43:18 -07:00
miguel@hegel.local
33c47c7ead Fix for service issue with paths having spaces (bug #687) 2003-07-23 21:57:44 -04:00
serg@serg.mylan
2cac8f0768 now GRANT db.* ... compares patterns correctly to prevent privilege escalation 2003-07-22 22:21:23 +02:00
igor@rurik.mysql.com
26ecd86539 Conflict resolution 2003-07-16 13:35:34 -07:00
monty@mashka.mysql.fi
ebcc7b5a4f Support for variables with components
Added framework to create/drop and manager buffers for multiple key caches
2003-07-06 19:09:57 +03:00
igor@rurik.mysql.com
10a8adc1b5 Many files:
Added multiple key cache
2003-06-30 09:41:41 -07:00
monty@narttu.mysql.fi
ecdb1c768c Changed safemalloc structure to not have to be 8 byte aligned. (Portability problem) 2003-06-12 22:39:45 +03:00
igor@rurik.mysql.com
a0f3dcc3c8 Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2003-06-12 06:22:35 -07:00
igor@rurik.mysql.com
f547f2769f Many files:
New feature: preload indexes into key cache.
mi_preload.c:
  new file
Many files:
  Added preload statement.
2003-06-12 04:29:02 -07:00
monty@mashka.mysql.fi
cb7061ebe4 merge 2003-05-22 02:57:27 +03:00
bar@bar.mysql.r18.ru
7f771ce2e1 "character_sets" has been removed from SHOW VARIABLES. Use SHOW CHARACTER SET instead.
"character_set_system" has been added to display the system character set
2003-05-21 13:58:30 +05:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
serg@serg.mylan
356b7f62fb count_bits() moved to mysys/ 2003-05-04 18:43:07 +02:00