Commit graph

81 commits

Author SHA1 Message Date
Konstantin Osipov
4cff617c25 Backport of:
----------------------------------------------------------------------
ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0
  Bug#32082 : definition of VOID in my_global.h conflicts with Windows
  SDK headers
  
  VOID macro is now removed. Its usage is replaced with void cast.
  In some cases, where cast does not make much sense (pthread_*, printf, 
  hash_delete, my_seek), cast is ommited.
2009-11-24 16:54:59 +03:00
Alexander Nozdrin
069d78c067 Merge from mysql-next-mr. 2009-10-23 15:22:21 +04:00
Konstantin Osipov
64dbe379d7 Backport of:
----------------------------------------------------------
revno: 2617.22.5
committer: Konstantin Osipov <kostja@sun.com>
branch nick: mysql-6.0-runtime
timestamp: Tue 2009-01-27 05:08:48 +0300
message:
  Remove non-prefixed use of HASH.
  Always use my_hash_init(), my_hash_inited(), my_hash_search(),
  my_hash_element(), my_hash_delete(), my_hash_free() rather
  than non-prefixed counterparts (hash_init(), etc).
  Remove the backward-compatible defines.
2009-10-14 20:37:38 +04:00
Alexander Nozdrin
0f51423532 Merge from mysql-5.1. 2009-10-13 13:42:38 +04:00
Staale Smedseng
8b9843408d Bug #43414 Parenthesis (and other) warnings compiling MySQL
with gcc 4.3.2

Cleaning up warnings not present in 5.0.
2009-09-23 15:21:29 +02:00
Alexander Nozdrin
df0dcab437 Merge from mysql-5.1-bugteam. 2009-09-16 10:52:43 +04:00
Sergey Vojtovich
3e68a1c545 Local merge. 2009-09-10 11:58:13 +05:00
Sergey Vojtovich
f22baa9a1e BUG#29203 - archive tables have weird values in show table status
Archive engine returns wrong values for average record length
and max data length.

With this fix they're calculated as following:
- max data length is 2 ^ 63 where large files are supported
  and INT_MAX32 where this is not supported;
- average record length is data length / records in data file.
2009-09-09 14:42:12 +05:00
Sergey Vojtovich
8a9a633e4b BUG#46961 - archive engine loses rows during self joining select!
SELECT with join (not only self-join) from archive table may
return incomplete result set, when result set size exceeds
join buffer size.

The problem was that archive row counter was initialzed too
early, when ha_archive::info() method was called. Later,
when optimizer exceeds join buffer, it attempts to reuse
handler without calling ha_archive::info() again (which is
correct).

Fixed by moving row counter initialization from
ha_archive::info() to ha_archive::rnd_init().
2009-09-04 12:29:18 +05:00
Guilhem Bichot
c5ab943afe Creation of mysql-trunk = {summit + "Innodb plugin replacing the builtin"}:
bzr branch mysql-5.1-performance-version mysql-trunk # Summit
cd mysql-trunk
bzr merge mysql-5.1-innodb_plugin # which is 5.1 + Innodb plugin 
bzr rm innobase # remove the builtin
Next step: build, test fixes.
2009-08-04 13:25:19 +02:00
Mikael Ronstrom
506c7fd47d Merge MySQL 5.1.35 into MySQL 5.4 2009-06-11 12:07:59 +02:00
Anurag Shekhar
8c73cafc4c Bug #39802 On Windows, 32-bit time_t should be enforced
This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', 
possible loss of data". 
The fix is to typecast time_t to ulong before assigning it to ulong. 
Backported this from 6.0-bugteam tree.
2009-05-13 15:41:24 +05:30
Sergey Glukhov
99369b1027 fixed archive test. It might be OOM error on boxes with low amount of memory.
It leads to crash because there is no OOM check in ha_archive::unpack_row().
The fix:
added OOM error check
2009-03-26 18:27:34 +04:00
Satya B
bbd694a3b0 Fix for BUG#32880 - Repairing Archive table fails with internal error 144
Any statement reading corrupt archive data file
(CHECK/REPAIR/SELECT/UPDATE/DELETE) may cause assertion
failure in debug builds. This assertion has been removed
and an error is returned instead.

Also fixed that CHECK/REPAIR returns vague error message
when it mets corruption in archive data file. This is
fixed by returning proper error code.
2009-03-18 11:16:21 +05:30
Mikael Ronstrom
460cde4c6e Merge dtrace patch with latest performance version 2008-12-20 11:53:27 +01:00
Mikael Ronstrom
16a024c486 Backport of DTrace patches from 6.0 2008-12-20 11:01:41 +01:00
Mattias Jonsson
2ae79e4fca Bug#37719: Crash if rename Archive table to same name with different
case and then select

Problem was that the archive share was using a case insensitive
charset when comparing table names

Solution was to use a case sensitive char set when the table
names are case sensitive
2008-10-03 20:08:40 +02:00
holyfoot/hf@mysql.com/hfmain.(none)
dc01dba255 Bug #32247 Test reports wrong value of "AUTO_INCREMENT" (on a partitioned InnoDB table).
ha_partition::update_create_info() just calls update_create_info
of a first partition, so only get the autoincrement maximum
of the first partition, so SHOW CREATE TABLE can show
small AUTO_INCREMENT parameters.
Fixed by implementing ha_partition::update_create_info() in a way
other handlers work.
HA_ARCHIVE:stats.auto_increment handling made consistent with other engines
2007-12-06 16:39:42 +04:00
gshchepa/uchum@gleb.loc
3cc449465c ha_archive.cc:
Post-merge fix.
2007-10-28 02:33:18 +05:00
gshchepa/uchum@gleb.loc
5eb3b270d3 Fixed bug #31036: Using order by with archive table crashes server.
1. Memory overrun have been fixed.
2. Server failure on assertion has been fixed.
2007-10-26 21:26:06 +05:00
brian@zim.(none)
17451d503d Fixed locking issues around flushes. 2007-07-12 17:39:07 -07:00
svoj@june.mysql.com
0cb2099c2d Merge mysql.com:/home/svoj/devel/mysql/BUG29250/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG29250/mysql-5.1-engines
2007-06-28 12:13:57 +05:00
monty@mysql.com/narttu.mysql.fi
088e2395f1 WL#3817: Simplify string / memory area types and make things more consistent (first part)
The following type conversions was done:

- Changed byte to uchar
- Changed gptr to uchar*
- Change my_string to char *
- Change my_size_t to size_t
- Change size_s to size_t

Removed declaration of byte, gptr, my_string, my_size_t and size_s. 

Following function parameter changes was done:
- All string functions in mysys/strings was changed to use size_t
  instead of uint for string lengths.
- All read()/write() functions changed to use size_t (including vio).
- All protocoll functions changed to use size_t instead of uint
- Functions that used a pointer to a string length was changed to use size_t*
- Changed malloc(), free() and related functions from using gptr to use void *
  as this requires fewer casts in the code and is more in line with how the
  standard functions work.
- Added extra length argument to dirname_part() to return the length of the
  created string.
- Changed (at least) following functions to take uchar* as argument:
  - db_dump()
  - my_net_write()
  - net_write_command()
  - net_store_data()
  - DBUG_DUMP()
  - decimal2bin() & bin2decimal()
- Changed my_compress() and my_uncompress() to use size_t. Changed one
  argument to my_uncompress() from a pointer to a value as we only return
  one value (makes function easier to use).
- Changed type of 'pack_data' argument to packfrm() to avoid casts.
- Changed in readfrm() and writefrom(), ha_discover and handler::discover()
  the type for argument 'frmdata' to uchar** to avoid casts.
- Changed most Field functions to use uchar* instead of char* (reduced a lot of
  casts).
- Changed field->val_xxx(xxx, new_ptr) to take const pointers.

Other changes:
- Removed a lot of not needed casts
- Added a few new cast required by other changes
- Added some cast to my_multi_malloc() arguments for safety (as string lengths
  needs to be uint, not size_t).
- Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done
  explicitely as this conflict was often hided by casting the function to
  hash_get_key).
- Changed some buffers to memory regions to uchar* to avoid casts.
- Changed some string lengths from uint to size_t.
- Changed field->ptr to be uchar* instead of char*. This allowed us to
  get rid of a lot of casts.
- Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar
- Include zlib.h in some files as we needed declaration of crc32()
- Changed MY_FILE_ERROR to be (size_t) -1.
- Changed many variables to hold the result of my_read() / my_write() to be
  size_t. This was needed to properly detect errors (which are
  returned as (size_t) -1).
- Removed some very old VMS code
- Changed packfrm()/unpackfrm() to not be depending on uint size
  (portability fix)
- Removed windows specific code to restore cursor position as this
  causes slowdown on windows and we should not mix read() and pread()
  calls anyway as this is not thread safe. Updated function comment to
  reflect this. Changed function that depended on original behavior of
  my_pwrite() to itself restore the cursor position (one such case).
- Added some missing checking of return value of malloc().
- Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow.
- Changed type of table_def::m_size from my_size_t to ulong to reflect that
  m_size is the number of elements in the array, not a string/memory
  length.
- Moved THD::max_row_length() to table.cc (as it's not depending on THD).
  Inlined max_row_length_blob() into this function.
- More function comments
- Fixed some compiler warnings when compiled without partitions.
- Removed setting of LEX_STRING() arguments in declaration (portability fix).
- Some trivial indentation/variable name changes.
- Some trivial code simplifications:
  - Replaced some calls to alloc_root + memcpy to use
    strmake_root()/strdup_root().
  - Changed some calls from memdup() to strmake() (Safety fix)
  - Simpler loops in client-simple.c
2007-05-10 12:59:39 +03:00
brian@zim.(none)
e661d6eeb6 Making sure thar archive is inited for info AUTO call. 2007-03-26 22:50:08 -07:00
brian@zim.(none)
9e1565e37e Merge piggy:/home/brian/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/pread-archive-5.1
2007-03-26 17:31:52 -07:00
brian@zim.(none)
88719428f5 Centralized init logic for starting a scan. 2007-03-26 17:15:31 -07:00
brian@piggy.tangent.org
414da94c04 Adjusting locks for concurrency issue (not found, but suspect). 2007-03-26 16:45:17 -07:00
brian@zim.(none)
ff9da1f048 New comments, additional init for rebuild options. 2007-03-25 11:38:49 -07:00
brian@zim.(none)
bbe97fa4e3 Added delayed open of file descriptors to cut down on issues surrounding large collections of partitions being open by many threads. 2007-03-23 18:51:56 -07:00
jani@a88-113-38-195.elisa-laajakaista.fi
cd75806b61 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1
2007-02-03 00:58:09 +02:00
brian@zim.(none)
acd1201504 Reworked a section of code that caused valgrind errors (and that partitioning was not happy about). 2007-01-31 20:13:17 -08:00
monty@mysql.com/narttu.mysql.fi
410fc81a72 After merge fixes
Removed a lot of compiler warnings
Removed not used variables, functions and labels
Initialize some variables that could be used unitialized (fatal bugs)
%ll -> %l
2007-01-29 01:47:35 +02:00
monty@narttu.mysql.fi
8a80e36ac3 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
Merge of 'remove compiler warnings when using -Wshadow'
2007-01-27 03:46:45 +02:00
brian@zim.(none)
08e93132c4 Two things:
1) Two small windows cleanups for Archive.
2) Patch from Calvin for Falcon to be able to have its own I_S loaded. One example added for this, does hello world.
2007-01-26 15:36:39 -08:00
brian@zim.(none)
8820333ec3 For performance reasons we remove the ability in unique indexes on autoincrements to remove the ability to insert key lower then the current autoincrement value. 2007-01-26 14:17:45 -08:00
brian@zim.(none)
6829b2a5a6 This fixes a bug in show create table displaying auto_increment field when it should not.
It also refactors the test case for Archive (removed two bad tests).
2007-01-26 11:15:16 -08:00
brian@zim.(none)
3cca6ad8c1 Fixed a warning. Added the -A option so that the autoincrement could be set outside of the file. 2007-01-26 10:17:53 -08:00
brian@zim.(none)
099c634d62 This patch passes comment to be embedded in ARZ.
Fixes autodiscovery of tables. 
Allows the FRM to be extracted from the ARZ file via archive_reader.
2007-01-24 10:30:06 -08:00
brian@zim.(none)
dee24c66ba 1) New dirty state for files (need this for longterm fast recovery)
2) We now store shortest and longest row information.
3) archive_reader can now check and backup files (even if they are hot)
4) We now record longest and shortest row information for stats.
2007-01-20 17:19:54 -08:00
brian@zim.(none)
834485bc80 Updates to archive_reader. 2007-01-13 19:51:22 -08:00
brian@zim.(none)
e2f4aa82c4 More windows warnings cleanup 2007-01-13 17:19:20 -08:00
brian@zim.(none)
81b8d0868b REAL_PATH was rewritten for DATA DIRECTORY (doesn't get calculated for each table open, and won't be calculted more then once now).
Windows warnings cleanup.

I am still get a weird warning about file descriptors closed multiple times.
2007-01-13 16:16:56 -08:00
brian@zim.(none)
4e8d92e5dd Final cleanup for new archive internal format. All new headers work. 2007-01-12 20:05:55 -08:00
brian@zim.(none)
ab1a97f5ef Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/archive-format-5.1
2007-01-11 00:28:22 -08:00
brian@zim.(none)
9879f4363f New azio which keeps meta data in its own header. 2007-01-10 23:53:08 -08:00
kent@kent-amd64.(none)
be15e3bc15 Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1
2006-12-23 20:20:40 +01:00
brian@zim.(none)
f85acb894c This updates archive to use new header information in az files and makes way for combining the meta data file with the AZ file. 2006-12-04 22:01:48 -08:00
holyfoot/hf@deer.(none)
d64142e2e6 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/22634/my51-22634
2006-12-04 20:18:30 +04:00
brian@zim.(none)
4eba36ee3b Fixed problems with original gzio() functions not being able to correctly return lengths of long rows. 2006-12-03 22:09:32 -08:00
brian@zim.(none)
c4a1c72b5e Formailized the row buffer structure, implemented new streaming format. 2006-12-02 00:30:49 -08:00