Commit graph

234 commits

Author SHA1 Message Date
monty@mysql.com
f2829d0386 After merge fixes of merge with 4.1 that included the new arena code.
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions
2004-09-09 06:59:26 +03:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
cps@silver_beast.(none)
d14e6c3400 Please rewiev. Here added a function to process config. files options.
A lot of the default.c module code was refactored. The patch is needed
for the IM.
2004-08-30 18:17:50 +04:00
serg@serg.mylan
b4bb38e896 merged 2004-08-26 15:19:46 +02:00
rburnett@build.mysql.com
a7c4e100ed Bug #4466 Nothing in .err when mysql service ends because of malformed my.ini options
my_getopt.c:
  Moved the inclusion of my_getopt.h down below the inclusion of my_sys.h so that enum loglevel definition would be available
my_sys.h, my_getopt.h:
  moved definition of enum loglevel from my_getopt.h to my_sys.h
2004-08-19 20:26:00 +02:00
sergefp@mysql.com
ee0a516ccd Manual merge 2004-06-14 11:18:56 +04:00
serg@serg.mylan
2e1ded2fe1 backport wild_compare fix from 4.1 - bug#3924 2004-05-29 17:52:20 +02:00
pem@mysql.com
71eddc362e Merging 4.1 to 5.0. 2004-05-26 17:04:45 +02:00
konstantin@mysql.com
f207b33a7b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.
2004-05-25 02:03:49 +04:00
sergefp@mysql.com
3b29cad05c Manual merge 2004-05-13 01:49:47 +04:00
sergefp@mysql.com
a46d7542c9 This is first cset for WL#1394 "Optimize index merge when all involved index ranges include only values with equal keys"
The main idea is to exploit the fact that key scans for "key=const" return ordered sequences of rowids.
2004-05-13 01:38:40 +04:00
bell@sanja.is.com.ua
3c5cec08c0 file parser for new .frm 2004-05-11 23:23:49 +03:00
pem@mysql.com
dfd59e296e Merge 4.1 -> 5.0. 2004-04-07 19:07:44 +02:00
dlenev@jabberwock.localdomain
a80f46bfdf WL#775 "Add status variable identifying binlog_cache_size shortage"
Added two status variables: 
  binlog_cache_use - counts number of transactions that used somehow
    transaction temporary binary log.
  binlog_cache_disk_use - counts number of transactions that required
    disk I/O for storing info in this this binary log.
2004-04-02 00:47:20 +04:00
monty@mysql.com
350b433569 merge with 4.0 2004-03-16 22:41:30 +02:00
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
monty@mashka.mysql.fi
491589baf8 Add mysys specific error messages
Make RELAY_THREAD and alias for IO_THREAD
Added new interface for string -> (unsigned) long long.
2003-04-16 09:25:43 +03:00
monty@narttu.mysql.fi
5f5c367361 Fixed bug in allocation memory in key cache. (Memory was not properly aligned which cased core dumps on sparc CPU's)
Changed keycache variables to start with my_ instead of _my_
2003-03-25 02:37:41 +02:00
bar@bar.mysql.r18.ru
682435db72 A separate variable national_charset_info
Fixes according coercibility tables, p162, SQL Complete
2003-03-21 11:21:01 +04:00
monty@narttu.mysql.fi
a434bca704 Merge with 4.0 2003-03-16 19:17:54 +02:00
mysql@home.(none)
c6efa7a8b7 New function my_charset_same() 2003-03-16 17:19:24 +04:00
root@home.(none)
f71a7e4b05 set_default_charset() is not used anymore
Some system_charset_info were removed
2003-03-16 10:56:14 +04:00
monty@narttu.mysql.fi
f1635f64f9 Merge with 3.23 to get fixes for --user and BACKUP TABLE 2003-03-10 12:48:43 +02:00
monty@narttu.mysql.fi
c43b3af78c Don't allow BACKUP TABLE to overwrite files
Fixed memory leak when replication restarts in debug mode
2003-03-10 11:22:37 +02:00
bar@bar.mysql.r18.ru
78da2ad7bd SELECT BINARY expr
is now synonim for
SELECT expr COLLATE <expr_charset>_bin
2003-03-04 19:53:53 +04:00
monty@mashka.mysql.fi
78e7230e73 Better fix for count(distinct) bug 2003-02-10 17:03:27 +02:00
monty@mashka.mysql.fi
25de9c19b2 After merge fixes & remove compiler warnings
Added lengths for all MYSQL_FIELD string parameters
Changed field length to 2 byte in .frm files
2003-02-07 15:47:24 +02:00
monty@mashka.mysql.fi
023d6dd39b Merge with 4.0.11 2003-02-04 21:52:14 +02:00
gluh@gluh.mysql.r18.ru
8d3c43880d conflicts resolving 2003-01-31 09:43:53 +04:00
gluh@gluh.mysql.r18.ru
57a805de6c 'Replicate user variables' task 2003-01-30 21:39:54 +04:00
bar@bar.mysql.r18.ru
08129eea2b Reorganization to restore generating charset C files from conf files 2003-01-29 15:08:09 +04:00
monty@mashka.mysql.fi
6b71279382 merge 2003-01-28 09:02:51 +02:00
monty@mashka.mysql.fi
689578a099 Fixes for Netware
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
2003-01-28 08:38:28 +02:00
serg@serg.mysql.com
f29224c6fe fixed bug in parallel repair 2003-01-26 12:27:29 +01:00
monty@mashka.mysql.fi
7e9b27eaf5 Updates for multi-byte character sets
(Note: test 'union' fails, but Sanja promised to fix this)
2003-01-14 14:28:36 +02:00
bar@bar.mysql.r18.ru
9a99ac89e5 New function to search for charset using charset name rather than collation name 2003-01-08 15:39:15 +04:00
monty@mashka.mysql.fi
446a6b934f Enchanced my_once..() functions.
Cleaned up charset.c
Removed non fatal memory leak in charset.c
2003-01-07 23:32:25 +02:00
wax@mysql.com
e91d1b2cbe Add shared memory protocol and option --protocol 2002-11-15 00:16:30 +05:00
serg@serg.mysql.com
f7ca3212ea Merge work:/home/bk/mysql-4.1
into serg.mysql.com:/usr/home/serg/Abk/mysql-4.1
2002-10-12 17:40:57 +00:00
bar@bar.mysql.r18.ru
50c391538a my_sortcmp -> my_strnncoll 2002-10-09 16:33:35 +05:00
bar@bar.mysql.r18.ru
954a47b95a Simple charsets now have strncoll() field too 2002-10-09 15:40:57 +05:00
serg@serg.mysql.com
3217f2cc06 support for --tmpdir=dir1:dir2:... 2002-10-08 12:39:37 +00:00
monty@mashka.mysql.fi
0f39457613 Merge with 4.0.4 2002-10-02 17:55:12 +03:00
monty@mashka.mysql.fi
ce4b584a85 Increased max possible max_allowed_packet to 1G
Small optimization to not do external locking of temporary MyISAM tables.
2002-09-19 17:49:41 +03:00
monty@mashka.mysql.fi
dfd0f82b93 Update mysql-test results after merge 2002-09-18 02:21:29 +03:00
monty@mashka.mysql.fi
f3a186c905 Portability fixes.
Improve mysql-test to be more robust.
Fix that GRANT doesn't delete SSL options
Change innobase_flush_log_at_trx_commit to uint.
Don't rotate logs if we read a rotate log entry from the master.
2002-09-11 06:40:08 +03:00
monty@narttu.mysql.fi
7134ffec21 Merge with 4.0.3
Some simple optimzations, more comments and indentation changes.
Add ` around database in 'use database' in binary log.
Moved max_error_count and max_warning_count to variables struct.
Removed SHOW_WARNS_COUNT and SHOW_ERRORS_COUNT calls.
Changed string functions to use character set of first string argument as default return characterset
(Each string function can change the above assumption if needed)
2002-08-30 12:40:40 +03:00
monty@hundin.mysql.fi
3ef9d44edc merge with 3.23.52 2002-08-12 04:04:43 +03:00
lenz@mysql.com
7d33814c1b After discussing it with Monty by phone once more:
- Only define alloca as a compiler builtin, if we use GCC and there
   is no alloca.h installed
2002-08-10 01:47:51 +02:00
monty@hundin.mysql.fi
ea3fe233e3 Portability fix for AIX 2002-08-08 22:09:25 +03:00
lenz@mysql.com
666342d312 - portability fix for AIX in include/my_sys.h: define alloca as a
compiler builtin when using gcc
2002-08-08 20:09:57 +02:00