Commit graph

367 commits

Author SHA1 Message Date
lars@black.(none)
0b4e65e12b Merge mysql.com:/home/bkroot/mysql-5.1-new-rpl
into  mysql.com:/home/bk/MERGE/mysql-5.1-merge
2006-10-10 21:59:23 +02:00
istruewing@chilla.local
b15a23a79e Merge chilla.local:/home/mydev/mysql-5.0-bug8283
into  chilla.local:/home/mydev/mysql-5.1-bug8283
2006-10-09 22:24:55 +02:00
istruewing@chilla.local
c299de14ee Merge chilla.local:/home/mydev/mysql-4.1-bug8283-one
into  chilla.local:/home/mydev/mysql-5.0-bug8283
2006-10-09 20:03:12 +02:00
istruewing@chilla.local
5f08a83186 Bug#8283 - OPTIMIZE TABLE causes data loss
OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
parallel repair. This means that it does not only rebuild all 
indexes, but also the data file.

Non-quick parallel repair works so that there is one thread per 
index. The first of the threads rebuilds also the new data file.

The problem was that all threads shared the read io cache on the
old data file. If there were holes (deleted records) in the table,
the first thread skipped them, writing only contiguous, non-deleted
records to the new data file. Then it built the new index so that
its entries pointed to the correct record positions. But the other
threads didn't know the new record positions, but put the positions
from the old data file into the index.

The new design is so that there is a shared io cache which is filled
by the first thread (the data file writer) with the new contiguous
records and read by the other threads. Now they know the new record
positions.

Another problem was that for the parallel repair of compressed
tables a common bit_buff and rec_buff was used. I changed it so
that thread specific buffers are used for parallel repair.

A similar problem existed for checksum calculation. I made this
multi-thread safe too.
2006-10-09 19:26:55 +02:00
mats@romeo.(none)
d4d26ba7d5 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b19459-mysql-5.1-new
2006-10-06 15:31:05 +02:00
mats@romeo.(none)
d1b9686245 BUG#19459 (BINLOG RBR command does not lock tables correctly causing
crash for, e.g., NDB):
Adding new function my_b_copy_to_file() to copy an IO_CACHE to a file.
2006-10-02 15:08:40 +02:00
jimw@rama.(none)
7a23b1baf7 Merge rama.(none):/home/jimw/my/mysql-5.0-clean
into  rama.(none):/home/jimw/my/mysql-5.1-clean
2006-09-28 20:20:33 -07:00
jimw@rama.(none)
d5d89bcf63 Fix merge of __attribute__ cleanup. 2006-09-28 20:15:58 -07:00
jimw@rama.(none)
68eadc8a79 Merge rama.(none):/home/jimw/my/mysql-4.1-clean
into  rama.(none):/home/jimw/my/mysql-5.0-clean
2006-09-28 18:09:10 -07:00
jimw@rama.(none)
cb6a084076 Bug #2717: include/my_global.h mis-defines __attribute__
Fix when __attribute__() is stubbed out, add ATTRIBUTE_FORMAT() for specifying
  __attribute__((format(...))) safely, make more use of the format attribute,
  and fix some of the warnings that this turns up (plus a bonus unrelated one).
2006-08-17 12:25:40 -07:00
mats@romeo.(none)
fe4a22f36b Correcting signature for my_strndup to be able to build on Windows
in pushbuild on Replication/Backup team tree.
2006-07-07 15:59:17 +02:00
kent@mysql.com
06b4c9abbb my_sys.h:
Added missing parameter type change for _my_strdup_with_length()
2006-07-01 15:11:59 +02:00
lars@mysql.com
0707d4753f Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bkroot/mysql-5.0-release
2006-06-29 14:03:41 +02:00
lars@mysql.com
c75584d8d9 Merge mysql.com:/users/lthalmann/bk/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/mysql-5.1-new-rpl
2006-06-28 15:27:25 +02:00
aivanov@mysql.com
7dc30c68f4 Fixing BUG#17719 "Delete of binlog files fails on Windows"
and BUG#19208 "Test 'rpl000017' hangs on Windows".
 Both bugs are caused by attempting to delete an opened
 file and to create immediatedly a new one with the same
 name. On Windows it can be supported only on NT-platforms
 (by using FILE_SHARE_DELETE mode and with renaming the
 file before deletion). Because deleting not-closed files
 is not supported on all platforms (e.g. Win 98|ME) this
 is to be considered harmful and should be eliminated by
 a "code redesign".
2006-06-28 10:21:01 +04:00
konstantin@mysql.com
3cf181bb64 Fix compilation failures on Windows caused by the patch for Bug#17199.
Fix a minor issue with Bug#16206 (bdb.test failed if the tree is compiled 
without blackhole).
2006-06-27 14:56:24 +04:00
monty@mysql.com
860661a2dc unsigned char -> uchar
Added missing copyright
Indentation and prototype fixes
Fixed compiler warning
2006-06-19 12:45:34 +03:00
serg@serg.mylan
5409997d49 unittest:
rename *.t* to *-t* to be automake-friendly
  simplify Makefiles
test_atomic.c:
  move to unittest, add GPL comment, fix warnings, convert to tap framework.
configure:
  remove custom tests for available types, use AC_CHECK_TYPE instead
x86-gcc.h:
  fix gcc -ansi errors while maintaining readability
ignore:
  added *-t
2006-06-01 12:25:47 +02:00
rburnett@bk-internal.mysql.com
37d1e803f1 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1-new
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
2006-05-23 20:28:52 +02:00
anozdrin@mysql.com
4a43bd1a3a Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/mnt/raid/MySQL/devel/5.1-rt-wl3158-merged
2006-05-22 14:22:58 +04:00
rburnett@bk-internal.mysql.com
da6e25d86d Merge bk-internal.mysql.com:/data0/bk/mysql-5.1-new
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
2006-05-18 17:24:29 +02:00
anozdrin@mysql.com
c1113af15c This is an implementation of two WL items:
- WL#3158: IM: Instance configuration extensions;
  - WL#3159: IM: --bootstrap and --start-default-instance modes

The following new statements have been added:
  - CREATE INSTANCE;
  - DROP INSTANCE;

The behaviour of the following statements have been changed:
  - SET;
  - UNSET;
  - FLUSH INSTANCES;
  - SHOW INSTANCES;
  - SHOW INSTANCE OPTIONS;
2006-05-18 18:57:50 +04:00
knielsen@mysql.com
a729d7fcdd Merge mysql.com:/usr/local/mysql/mysql-5.0-vgfix
into  mysql.com:/usr/local/mysql/tmp-5.1
2006-05-16 14:34:35 +02:00
knielsen@mysql.com
b6ee2d2340 Merge mysql.com:/usr/local/mysql/mysql-5.0-vgfix
into  mysql.com:/usr/local/mysql/tmp-5.0
2006-05-15 19:57:12 +02:00
knielsen@mysql.com
fc16aff742 Fix two Valgrind memory leak warnings. 2006-05-15 18:07:18 +02:00
reggie@big_geek.
e815c4c974 Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  big_geek.:C:/Work/mysql/mysql-5.1
2006-05-08 15:15:05 -05:00
reggie@big_geek.
11d66e8068 removing MSDOS defines and code 2006-05-08 14:50:13 -05:00
monty@mysql.com
86b2be8d35 After merge fixes
Remove compiler warnings
Fix some broken tests
Workaround for syncronization bug in NDB (Bug #16445)
2006-05-04 06:28:24 +03:00
monty@mysql.com
9756d7f853 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-05-03 16:03:19 +03:00
monty@mysql.com
343644dd5d Added support for key_block_size for key and table level (WL#602)
Added support for key_block_size to MyISAM.
Simplify interface to 'new Key' to make it easier to add new key options.
mysqld option --new is used to define where key options are printed.
(In 5.3 we should move all key options to after key part definition to avoid problem with reserved names)
Fixed some compiler warnings and a memory leak in ssl
2006-05-03 15:59:17 +03:00
cmiller@zippy.(none)
4d15fc5ee0 Merge zippy.(none):/home/cmiller/work/mysql/mysql-5.0__bug17667
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new__bug17667
2006-05-02 13:55:03 -04:00
cmiller@zippy.(none)
85ffd9640e SECURITY FIX
Bug#17667: An attacker has the opportunity to bypass query logging.

This adds a new, local-only printf format specifier to our *printf functions
that allows us to print known-size buffers that must not be interpreted as 
NUL-terminated "strings."

It uses this format-specifier to print to the log, thus fixing this 
problem.
2006-05-01 22:10:50 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
09e95da616 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-04-19 21:22:35 -04:00
bar@mysql.com
cedafc30e8 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b17870v1
2006-04-19 09:50:17 +05:00
bar@mysql.com
e8e0d5c5fe bug#17870 Table names conflict with Windows device names
It was impossible to create some table names on Windows
(e.g. LPT1, AUX, COM1, etc).

Fixed to pad dangerous names with thee "at" signs
(e.g. LPT1@@@, AUX@@@, COM1@@@, and so on).
2006-04-11 18:16:14 +05:00
msvensson@shellback.(none)
67bcb953aa Bug#17368 General log and slow query log don't work
- Port ha_tina.cc to run on windows
2006-04-04 09:59:19 +02:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
3dc4635c70 Merge c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1-new
into  c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-03-21 10:44:59 -05:00
brian@zim.(none)
cb07d52a7e This patch cleans up two tests which were a bit fragile from other failing tests. It also removes some variables associated with removed RAID support. 2006-02-24 13:20:51 -08:00
mikron@c-fa09e253.1238-1-64736c10.cust.bredbandsbolaget.se
5091f3a8a5 WL 2826: Step 11
Lots of new code for table log
2006-02-07 10:45:07 +01:00
brian@zim.tangent.org
570bffe8c7 Rename of my_strdup_with_lenght to match the more common "strndup" method. Soo its now my_strndup().
my_stat() gettinng the correct parameter list may be next :)
2006-01-25 19:54:42 -08:00
mikron@c-1e0be253.1238-1-64736c10.cust.bredbandsbolaget.se
6bf5c9113d WL #2747: Fix such that backup and restore works for user defined
partitioned tables in NDB
2006-01-17 09:25:12 +01:00
andrey@lmy004.
7c049782fa WL #1034 (Internal CRON)
merge before push
2006-01-10 21:02:19 +01:00
serg@serg.mylan
8241a5a8e8 cleanup 2006-01-04 10:36:49 +01:00
bar@mysql.com
6ff211329f WL#1324 table name to file name encoding
- Encoding itself, implemented as a charset
  "filename". Originally planned to use '.'
  as an escape character, but now changed to '@'
  for two reasons: "ls" does not return
  file names starting with '.' considering them
  as a kind of hidden files; some platforms
  do not allow several dots in a file name.
- replacing many calls of my_snprintf() and
  strnxmov() to the new build_table_filename().
- Adding MY_APPEND_EXT mysys flag, to append
  an extention rather that replace it.
- Replacing all numeric constants in fn_format
  flag arguments to their mysys definitions, e.g.
  MY_UNPACK_FILENAME,
- Predictability in several function/methods:
  when a table name can appear with or withot .frm
  extension. Some functions/methods were changed
  so accept names strictly with .frm, other - strictly
  without .frm extensions. Several DBUG_ASSERTs were
  added to check whether an extension is passed.
Many files:
  table name to file name encoding
mysql_priv.h:
  Prototypes for new table name encoding tools.
ctype-utf8.c:
  Implementing "filename" charset for
  table name to file name encoding.
row0mysql.c:
  Fixing table name prefix.
mf_format.c:
  Adding MY_APPEND_EXT processing.
Many files:
  Fixing tests.
my_sys.h:
  Adding new flag to append rather than replace an extension.
m_ctype.h:
  Adding "filename" charset definition.
2005-12-31 09:01:26 +04:00
kent@mysql.com
6e276f03be my_sys.h:
Added MAP_NORESERVE set to 0 for Windows
config-win.h:
  If MAX_INDEXES is not set, set it to 64 on Windows
2005-12-19 23:23:53 +01:00
vtkachenko@quadxeon.mysql.com
e9282ff3d0 Bug fix for bug #15843 "Added mmap support in myisam creates compile problem
on AIX 5.2"

Added dummy definition of MAP_NORESERVE for systems which doesn't provide it,
removed duplicates

my_sys.h:
  added definition for MAP_NORESERVE
  (for Irix and AIX systems)
sql_map.cc:
  removed definition of MAP_NORESERVE
mi_packrec.c:
  removed definition of MAP_NORESERVE and MMAP_PRIVATE
2005-12-19 14:16:21 +01:00
andrey@lmy004.
a370c2d907 WL1034 update for latest 5.1 sources 2005-12-02 13:07:02 +01:00
vtkachenko@quadxeon.mysql.com
045747f23d Many files:
Added mmap support for MyISAM engine
2005-12-01 13:34:48 +01:00
SergeyV@selena.
00990f9774 Fixes bug #13377. my_open() & my_create() functions changed to use
my_sopen() on win32 which allows to use FILE_SHARE_DELETE flag to 
allow deleting opened files. my_sopen() implementation is added to
support this functionality.
2005-11-14 16:01:10 +03:00
guilhem@mysql.com
621e28cbe1 Building with compile-pentium-valgrind-max (without safemalloc) defines my_free() without flags,
so a typo on flags will go unnoticed; I put flags in this my_free() definition (as a no-op which
will still make the compiler check correctness of the flags). Applied: this caught a typo in my_realloc.c. Kindly approved by Konstantin and Mats.
2005-10-13 00:24:14 +02:00