Commit graph

52 commits

Author SHA1 Message Date
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
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
monty@mysql.com/narttu.mysql.fi
a04157fbb3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2007-01-22 14:04:40 +02:00
kent@kent-amd64.(none)
58763e383e Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1
2006-12-31 01:32:21 +01:00
kent@mysql.com/kent-amd64.(none)
6523aca729 my_strtoll10-x86.s:
Corrected spelling in copyright text
Makefile.am:
  Don't update the files from BitKeeper
Many files:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header 
Many files:
  Added GPL copyright text
Removed files:
  Docs/Support/colspec-fix.pl
  Docs/Support/docbook-fixup.pl
  Docs/Support/docbook-prefix.pl
  Docs/Support/docbook-split
  Docs/Support/make-docbook
  Docs/Support/make-makefile
  Docs/Support/test-make-manual
  Docs/Support/test-make-manual-de
  Docs/Support/xwf
2006-12-31 01:02:27 +01: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
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
monty@mysql.com/narttu.mysql.fi
88dd873de0 Fixed compiler warnings detected by option -Wshadow and -Wunused:
- Removed not used variables and functions
- Added #ifdef around code that is not used
- Renamed variables and functions to avoid conflicts
- Removed some not used arguments

Fixed some class/struct warnings in ndb
Added define IS_LONGDATA() to simplify code in libmysql.c

I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes
2006-12-15 00:51:37 +02:00
kostja@bodhi.local
2fecf79536 Merge bodhi.local:/opt/local/work/mysql-5.0-runtime
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2006-10-23 12:35:56 +04:00
petr/cps@mysql.com/owlet.local
2073e4a1cb Fix Bug #22472 IM: --socket option should be removed from Windows version
the option is useless on windows. It was removed from listing of
mysqlmanager --help on Windows
2006-10-05 01:24:53 +04:00
anozdrin@mysql.com
3b6397b1d2 WL#3298: IM: make command-line option names consistent
1. Removed '-P' command line option;
2. Renamed '--passwd' command line option to '--print-password-line'.
2006-06-19 14:41:29 +04:00
anozdrin@mysql.com
e3d0c1a7f1 Merged. 2006-05-22 15:20:40 +04: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
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
a061c90d8a Merge mysql.com:/usr/local/mysql/tmp_merge
into  mysql.com:/usr/local/mysql/merge-5.1
2006-05-18 11:56:50 +02:00
anozdrin@mysql.com
247be7d4a9 Make it compilable on Windows. 2006-05-10 18:53:28 +04:00
anozdrin@mysql.com
3b74668bfa Partial fix for BUG#14106: IM: im_life_cycle and im_utils
tests fail on FreeBSD.

The patch contains of the following:
  - make Instance Manager, running in the daemon mode, dump
    the pid of angel-process in the special file;
  - default value of angel-pid-file-name is 'mysqlmanager.angel.pid';
  - if ordinary (IM) pid-file-name is specified in the configuration,
    angel-pid-file-name is updated according to the following
    rule: extension of the basename of pid-file-name is replaced by
    '.angel.pid.
    For example:
    - pid-file-name: /tmp/im.pid
      => angel-pid-file-name: /tmp/im.angel.pid
    - pid-file-name: /tmp/im.txt
      => angel-pid-file-name: /tmp/im.angel.pid
    - pid-file-name: /tmp/5.0/im
      => angel-pid-file-name: /tmp/5.0/im.angel.pid
  - add support for configuration option to customize angel
    pid file name;
  - fix test suite to use angel pid to kill Instance Manager
    by all means if something went wrong.

Background
----------

The problem is that on some OSes (FreeBSD for one) Instance
Manager does not get SIGTERM, so can not shutdown gracefully.
Test suite wasn't able to cope with it, so this leads to the
mess in test results.

The problem should be split into two:
  - fix signal handling;
  - fix test suite.

This patch fixes test suite so that it will be able to kill
uncooperative Instance Manager. In order to achieve this,
test suite needs to know PID of IM Angel process.
2006-05-06 13:57:56 +04:00
jimw@mysql.com
86d6b16113 Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-04-12 13:01:26 -07:00
petr@mysql.com
9ac5b32a5f cleanup: sort IM options alphabetically 2006-04-12 23:08:50 +04:00
jimw@mysql.com
688659df11 Support --debug/-# in instance manager. 2006-04-12 11:14:56 -07:00
petr@mysql.com
7146a9775e Fix for Bug #12674 "Instance Manager: IM doesn't handle client
connections correctly".
Recommit with the max timeout value in sync with the comment.
2006-02-21 15:32:52 +03:00
petr@mysql.com
1c7bc08537 a bunch of IM fixes from the GUI team 2006-02-10 02:15:55 +03:00
jani@a193-229-222-105.elisa-laajakaista.fi
8d3036c35e Some minor fixes revealed as warnings by
Intel compiler.
2005-09-23 21:28:56 +03:00
reggie@ubuntu.(none)
31be8fb694 fixed the service bits of the IM 2005-09-13 14:53:19 -05:00
paul@frost.snake.net
c26dd3057c options.cc:
Fix typo.
2005-09-10 16:01:26 -05:00
konstantin@mysql.com
344144ad14 Cleanup the instance manager code. 2005-08-29 23:29:35 +04:00
reggie@linux.site
153ad3f687 changes to IM code that came from Petr's review 2005-08-09 07:57:40 -06:00
reggie@linux.site
7fa1779d62 fixed assignments to meet server coding guidelines 2005-08-09 07:57:38 -06:00
reggie@linux.site
2a00611f9c changes to IM that came from Petr and JimW's review. 2005-08-09 07:57:37 -06:00
joerg@mysql.com
294aa66d92 New "Instance Manager" code:
Rename "port.h" to "portability.h" to avoid conflict with system header file name,
and include the file in "Makefile.am".
2005-08-05 20:44:52 +02:00
petr@mysql.com
22ccfb4d67 IM port cleanup 2005-08-05 17:02:06 +04:00
petr@mysql.com
a64f264e4b IM port fixes: fix crash on startup, add more error checking, get rid of unnecessary code. 2005-08-05 14:35:30 +04:00
reggie@fedora.(none)
72c0a021e9 Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.0
into  fedora.(none):/home/reggie/bk/im_patch
2005-08-04 09:33:44 -05:00
reggie@fedora.(none)
8cb3bd41c8 alot of formatting changes that came out of JimW's review 2005-08-03 16:20:27 -05:00
petr@mysql.com
9644bc3e2b Post-review fixes for WL#2713 "Change IM behaviour so, that it only reads and alters one config file only." 2005-07-21 22:40:53 +04:00
petr@mysql.com
b9fcdfbb0f WL #2713 Change IM behaviour so, that it only reads and alters one config file only.
Implemented on brian's request.
2005-07-21 14:21:23 +04:00
reggie@fedora.(none)
f3de5d6b69 initial import of Windows port of IM. 2005-07-20 10:55:40 -05:00
petr@mysql.com
c7581758ec fix IM to display version string in "show instance status" (Bug #10229) 2005-06-01 04:40:22 +04:00
petr@mysql.com
180d0ed620 post-review fixes 2005-05-16 01:54:02 +04:00
petr@mysql.com
ace47c77be Fix for Bug #9589 2005-04-11 17:08:34 +04:00
petr@mysql.com
b072eaa3da Fix for AIX compilation failure: sacred knowledge of my_global.h nature (it should be
included before any other include) was hidden from me.
2005-03-22 02:04:14 +03:00
petr@mysql.com
27e614dc7f new variant of passwd() by S. Vojtovich 2005-02-18 15:23:55 +03:00
petr@mysql.com
dbc0937dd0 made IM to work with --defaults-file smoothly 2005-02-18 14:58:30 +03:00
petr@mysql.com
59d8e51150 some more cleanups and fixes 2005-02-15 04:38:33 +03:00
petr@mysql.com
6b50b5b087 Post-review fixes + some bugs fixed + several minor features 2005-02-11 14:21:59 +03:00
petr@mysql.com
1815de7b55 --user option added to mysqlmanager 2005-02-05 14:04:49 +03:00
petr@mysql.com
63acf2a8be Various fixes (cleanups, valgrind, makefiles, ...) 2005-02-03 20:48:58 +03:00
petr@mysql.com
84d5b3a332 more fixes for IM to substitude mysqld_safe in startup scripts 2005-01-31 23:54:08 +03:00
petr@mysql.com
d2115d133d Some minor IM fixes 2004-11-15 14:53:30 +03:00
petr@mysql.com
a8e2db4ecd Intermediate commit - just to make new files visible to bk in the new
tree
2004-10-23 11:32:52 +04:00