Commit graph

52 commits

Author SHA1 Message Date
thek@adventure.(none)
7d55b07fca Bug#28012 Patch : IM crashes instead of reporting an error when mysqldpath is bad
On the windows platform, if an instance object failed to initialize during
program start, the instance manager would crash.
This could happen if an incorrect mysqld path was supplied in the 
defaults configuration file.
The patch prevents the program from crashing and makes it show an
error message instead.
2007-07-23 15:05:50 +02: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
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
petr/cps@outpost.site
3c8ed475cb Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  outpost.site:/home/cps/mysql/trees/mysql-5.1-runtime
2006-11-23 18:26:56 +03:00
petr/cps@outpost.site
aad182fb26 Fix Bug #22242 Instance Manager: option-parsing errors
There was a memory overrun, which resulted in safemalloc
errors. Recommit with post-review fixes.
2006-11-22 19:07:05 +03:00
anozdrin/alik@booka.
3e042c6d7b Polishing:
- change some return types from int to bool;
  - add [ERROR] tag to log_error() output;
  - add [INFO] tag to log_info() output;
  - change log messages to be more consistent.
2006-11-21 17:47:14 +03:00
kostja@bodhi.local
2fc4562d63 Port cleanups, trivial refactoring and code rearrangements from
Alik's patch for BUG#22306: STOP INSTANCE can not be applied for 
instances in Crashed, Failed and Abandoned" to ease review process.
Evaluate global variable linuxthreads before starting threads to avoid
a race.
2006-11-18 01:34:44 +03:00
monty@mysql.com/nosik.monty.fi
ca99516cc7 Fixed a lot of compiler warnings (Mainly in mysqld and instance manager)
Fixed some possible fatal wrong arguments to printf() style functions
Initialized some not initialized variables
Fixed bug in stored procedure and continue handlers
(Fixes Bug#22150)
2006-11-01 19:41:09 +02:00
msvensson@neptunus.(none)
18f04d48a4 Merge neptunus.(none):/home/msvensson/mysql/bug22379_runtime/my50-bug22379_runtime
into  neptunus.(none):/home/msvensson/mysql/bug22379_runtime/my51-bug22379_runtime
2006-09-25 09:34:34 +02:00
msvensson@neptunus.(none)
d2ebe6be03 Bug #22379 im_daemon_life_cycle.test fails on merge of 5.1 -> 5.1-engines
Remove race situations that occur when removing pidfiles. Primarily each process should remove its own
pidfile, secondly it should be removed by the process that created it and _only_ if it's
certain the process is dead. Third, mysql-test-run.pl will remove the pidfile when process has been killed.
- Set state of an instance to STARTING _before_ calling instance->start()
- Check that pidfile of instance has been created before changing STARTING => STARTED
- Only remove the pidfile if IM kills an instance with SIGKILL, otherwise the instance will remove it itself
2006-09-25 09:28:52 +02:00
knielsen@rt.int.sifira.dk
4966090d3f Merge mysql.com:/usr/local/mysql/mysql-5.1-vg-apr2
into  mysql.com:/usr/local/mysql/tmp-5.1
2006-06-23 15:05:15 +02:00
knielsen@mysql.com
af9e69b512 Merge mysql.com:/usr/local/mysql/mysql-5.0-bug20622
into  mysql.com:/usr/local/mysql/mysql-5.1-vg-apr2
2006-06-23 14:59:40 +02:00
knielsen@mysql.com
98a5cdfe4c BUG#20622: Fix one-byte buffer overrun in IM directory string handling.
The problem was a call to convert_dirname() with a destination buffer
that did not have room for the trailing slash added by that function.
This could cause the instance manager to crash in some cases.
2006-06-23 14:50:02 +02:00
anozdrin@mysql.com
7ecfadbcf2 Polishing: C_STRING_WITH_SIZE() was renamed to C_STRING_WITH_LEN(). 2006-06-19 15:17:15 +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
40f934009e Fix compilation on FC4. 2006-05-18 23:34:35 +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
jimw@mysql.com
f21c110d13 Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-04-30 13:27:38 -07:00
msvensson@neptunus.(none)
a0a8a711d6 Bug#19362 im_daemon_lifecycle fails when built from source distribution
- Add function "mysqld_real_path" which is needed if the mysqld_path is a symlink or a script(like libtool) that executes the real mysqld.
- Add new variable mysqld_real_path
- Use mysqld_real_path from fill_instance_version
2006-04-26 12:45:22 +02:00
jimw@mysql.com
80b8563690 Bug #19059: Failure to get version information when running from source tree
Fix the way that instance manager finds the version number of instances,
  so that it works properly when the executable name isn't the same as what
  the instance-manager launched, such as when wrapping a libtool-wrapped
  executable from the source tree.

  This removes the 'Ver ' reported in the version column output by
  'SHOW INSTANCE STATUS ...', but the format of this column is not
  documented (and is pretty free-form to begin with).
2006-04-17 09:38:50 -07:00
petr@mysql.com
8488498545 IM changes by GUI team: add a version_no column to the
SHOW INSTANCE STATUS output
2006-02-10 03:35:07 +03:00
reggie@fedora.(none)
52eb44b042 make the IM compile on Windows 2005-11-02 09:30:01 -06:00
reggie@fedora.(none)
e3ff45d61e more refinement of IM patch to fix Windows pathnames with spaces 2005-11-02 06:51:44 -06:00
reggie@fedora.(none)
27e8da7985 improved previous changeset per JimW's review 2005-10-31 13:31:07 -05:00
reggie@fedora.(none)
53089ec4e4 fix some issues with IM and long pathnames (with spaces) 2005-10-31 13:31:06 -05: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
jani@a193-229-222-105.elisa-laajakaista.fi
acf218b708 Several fixes revelaled by Intel compiler. 2005-09-23 16:47:08 +03:00
reggie@ubuntu.(none)
31be8fb694 fixed the service bits of the IM 2005-09-13 14:53:19 -05:00
konstantin@mysql.com
344144ad14 Cleanup the instance manager code. 2005-08-29 23:29:35 +04:00
petr@mysql.com
5605117d4d Fix for BUG#10957 "stop instance, issued after flush instances causes IM to crash"
Recommited with post-review fixes
2005-08-19 17:19:12 +04:00
petr@mysql.com
a2331d37b6 several fixes to the previous patch 2005-06-07 17:57:20 +04:00
petr@mysql.com
65d79b9d83 post-review fixes 2005-06-07 15:47:02 +04: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
kent@mysql.com
72ce7299a9 commands.cc, parse.h, parse.cc, instance_options.cc:
Prefix enum symbols LOG_* with IM_, not to clash with system headers
2005-05-18 12:34:38 +02:00
petr@mysql.com
180d0ed620 post-review fixes 2005-05-16 01:54:02 +04:00
petr@mysql.com
83f9ee0786 WL#2246 "IM: Add ability to change instance options, add server logs handling" ported to the
current version of the IM
2005-04-09 14:28:39 +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
912dfdfa34 post-review fixes + cleanup + some minor fixes 2005-02-27 18:41:34 +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
bb8e5b6227 various fixes 2005-02-13 15:13: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
321c53d9d8 Fixed setup scripts to use mysqlmanager instead of mysqld_safe 2005-02-05 10:15:34 +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
ee08b749dd IM mostly fixed according to Brian's directions. Will need to do some additional option handling and cleanups 2005-01-25 13:54:56 +03:00
petr@mysql.com
fdb3b0b6c1 cleanup 2004-12-29 00:13:32 +03:00
petr@mysql.com
d3dc041dd1 post-review fixes 2004-11-02 10:11:03 +03:00