Commit 64e93dd5 authored by unknown's avatar unknown

Misc fixes


BUILD/compile-pentium-debug-openssl:
  Make it compile faster
mysys/raid.cc:
  Fix comment style to conform our coding standard
parent f939a6b6
...@@ -8,6 +8,6 @@ c_warnings="$c_warnings $debug_extra_warnings" ...@@ -8,6 +8,6 @@ c_warnings="$c_warnings $debug_extra_warnings"
cxx_warnings="$cxx_warnings $debug_extra_warnings" cxx_warnings="$cxx_warnings $debug_extra_warnings"
extra_configs="$pentium_configs $debug_configs" extra_configs="$pentium_configs $debug_configs"
extra_configs="$extra_configs --with-debug=full --with-vio --with-openssl" extra_configs="$extra_configs --with-debug=full --with-vio --with-openssl --without-innodb"
. "$path/FINISH.sh" . "$path/FINISH.sh"
...@@ -14,61 +14,61 @@ ...@@ -14,61 +14,61 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* --------------------------------------------------------* /*
*
* RAID support for MySQL. Raid 0 (stiping) only implemented yet. RAID support for MySQL. Raid 0 (stiping) only implemented yet.
*
* Why RAID? Why it must be in MySQL? Why RAID? Why it must be in MySQL?
*
* This is because then you can: This is because then you can:
* 1. Have bigger tables than your OS limit. In time of writing this 1. Have bigger tables than your OS limit. In time of writing this
* we are hitting to 2GB limit under linux/ext2 we are hitting to 2GB limit under linux/ext2
* 2. You can get more speed from IO bottleneck by putting 2. You can get more speed from IO bottleneck by putting
* Raid dirs on different physical disks. Raid dirs on different physical disks.
* 3. Getting more fault tolerance (not implemented yet) 3. Getting more fault tolerance (not implemented yet)
*
* Why not to use RAID: Why not to use RAID:
*
* 1. You are losing some processor power to calculate things, 1. You are losing some processor power to calculate things,
* do more syscalls and interrupts. do more syscalls and interrupts.
*
* Functionality is supplied by two classes: RaidFd and RaidName. Functionality is supplied by two classes: RaidFd and RaidName.
* RaidFd supports funtionality over file descriptors like RaidFd supports funtionality over file descriptors like
* open/create/write/seek/close. RaidName supports functionality open/create/write/seek/close. RaidName supports functionality
* like rename/delete where we have no relations to filedescriptors. like rename/delete where we have no relations to filedescriptors.
* RaidName can be prorably unchanged for different Raid levels. RaidFd RaidName can be prorably unchanged for different Raid levels. RaidFd
* have to be virtual I think ;). have to be virtual I think ;).
* You can speed up some calls in MySQL code by skipping RAID code. You can speed up some calls in MySQL code by skipping RAID code.
* For example LOAD DATA INFILE never needs to read RAID-ed files. For example LOAD DATA INFILE never needs to read RAID-ed files.
* This can be done adding proper "#undef my_read" or similar undef-s This can be done adding proper "#undef my_read" or similar undef-s
* in your code. Check out the raid.h! in your code. Check out the raid.h!
*
* Some explanation about _seek_vector[] Some explanation about _seek_vector[]
* This is seek cache. RAID seeks too much and we cacheing this. We This is seek cache. RAID seeks too much and we cacheing this. We
* fool it and just storing new position in file to _seek_vector. fool it and just storing new position in file to _seek_vector.
* When there is no seeks to do, we are putting RAID_SEEK_DONE into it. When there is no seeks to do, we are putting RAID_SEEK_DONE into it.
* Any other value requires seeking to that position. Any other value requires seeking to that position.
*
* TODO: TODO:
*
*
* - Implement other fancy things like RAID 1 (mirroring) and RAID 5. - Implement other fancy things like RAID 1 (mirroring) and RAID 5.
* Should not to be very complex. Should not to be very complex.
*
* - Optimize big blob writes by resorting write buffers and writing - Optimize big blob writes by resorting write buffers and writing
* big chunks at once instead of doing many syscalls. - after thinking I big chunks at once instead of doing many syscalls. - after thinking I
* found this is useless. This is because same thing one can do with just found this is useless. This is because same thing one can do with just
* increasing RAID_CHUNKSIZE. Monty, what do you think? tonu. increasing RAID_CHUNKSIZE. Monty, what do you think? tonu.
*
* - If needed, then implement missing syscalls. One known to miss is stat(); - If needed, then implement missing syscalls. One known to miss is stat();
*
* - Make and use a thread safe dynamic_array buffer. The used one - Make and use a thread safe dynamic_array buffer. The used one
* will not work if needs to be extended at the same time someone is will not work if needs to be extended at the same time someone is
* accessing it. accessing it.
*
*
* tonu@mysql.com & monty@mysql.com tonu@mysql.com & monty@mysql.com
* --------------------------------------------------------*/ */
#ifdef __GNUC__ #ifdef __GNUC__
#pragma implementation // gcc: Class implementation #pragma implementation // gcc: Class implementation
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment