Commit graph

58 commits

Author SHA1 Message Date
monty@mysql.com/narttu.mysql.fi
f0ae3ce9b9 Fixed compiler warnings
Fixed compile-pentium64 scripts
Fixed wrong estimate of update_with_key_prefix in sql-bench
Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1
Fixed unsafe define of uint4korr()
Fixed that --extern works with mysql-test-run.pl
Small trivial cleanups
This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc
Split handle_one_connection() into reusable sub functions.
Split create_new_thread() into reusable sub functions.
Added thread_scheduler; Preliminary interface code for future thread_handling code.

Use 'my_thread_id' for internal thread id's
Make thr_alarm_kill() to depend on thread_id instead of thread
Make thr_abort_locks_for_thread() depend on thread_id instead of thread
In store_globals(), set my_thread_var->id to be thd->thread_id.
Use my_thread_var->id as basis for my_thread_name()
The above changes makes the connection we have between THD and threads more soft.

Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions
Fixed compiler warnings
Fixed core dumps when running with --debug
Removed setting of signal masks (was never used)
Made event code call pthread_exit() (portability fix)
Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called.
Made handling of thread_id and thd->variables.pseudo_thread_id uniform.
Removed one common 'not freed memory' warning from mysqltest
Fixed a couple of usage of not initialized warnings (unlikely cases)
Suppress compiler warnings from bdb and (for the moment) warnings from ndb
2007-02-23 13:13:55 +02:00
msvensson@pilot.mysql.com
f7e566c944 Fix windows build 2007-02-06 15:03:28 +01:00
msvensson@neptunus.(none)
adf20e3512 Bug#22579 use --warning-mode=pedantic and -std=c89 flags when compiling with gcc
- Reorganize include file order to avoid problem with gcc 2.95.3
 - Compiler is confused by forward class declarations
2007-01-29 19:36:48 +01:00
malff/marcsql@weblab.(none)
0055056c91 Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-merge
2007-01-02 14:18:13 -07: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
anozdrin/alik@booka.
b534ca4bc0 Fix for the following bugs:
- BUG#22306: STOP INSTANCE can not be applied for instances in Crashed,
    Failed and Abandoned;
  - BUG#23476: DROP INSTANCE does not work
  - BUG#23215: STOP INSTANCE takes too much time

BUG#22306:
The problem was that STOP INSTANCE checked that mysqld is up and running.
If it was not so, STOP INSTANCE reported an error. Now, STOP INSTANCE
reports an error if the instance has been started (mysqld can be down).

BUG#23476:
The problem was that DROP INSTANCE tried to stop inactive instance. The fix is
trivial.

BUG#23215:
The problem was that locks were not acquired properly, so the
instance-monitoring thread could not acquire the mutex, holded by the
query-processing thread.

The fix is to simplify locking scheme by moving instance-related information to
Instance-class out of Guardian-class. This allows to get rid of storing a
separate list of Instance-information in Guardian and keeping it synchronized
with the original list in Instance_map.
2006-11-30 12:23:55 +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
anozdrin/alik@booka.
ff0325f162 Polishing:
1) add support for joinable threads to Thread class;
2) move checking of thread model to Manager from mysqlmanager.cc,
because it is needed only for IM-main process.
2006-11-21 17:31:03 +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
kostja@bodhi.local
33bbdf5c25 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  bodhi.local:/opt/local/work/m51lamp
2006-11-17 18:19:49 +03:00
anozdrin/alik@alik.
c6cd61a5cc Polishing: generate more warnings and make code warnings-free. 2006-11-17 16:45:29 +03:00
kostja@bodhi.local
7278f45bfd Replace the approach using Foo_thread_args + Foo_thread and manually
spawned threads with a reusable class Thread.

This is the second idea implemented in the Alik's patch for
BUG#22306: STOP INSTANCE can not be applied for instances in Crashed,
Failed and Abandoned.
Commiting separately to ease review process.
2006-11-17 16:11:04 +03:00
anozdrin/alik@alik.
f40a9d2ece Fix for BUG#17486: IM: race condition on exit.
The problem was that IM stoped guarded instances on shutdown,
but didn't wait for them to stop.

The fix is to wait for guarded instances to stop before exitting
from the main thread.

The idea is that Instance-monitoring thread should add itself
to Thread_registry so that it will be taken into account on shutdown.
However, Thread_registry should not signal it on shutdown in order to
not interrupt wait()/waitpid().
2006-10-24 18:23:16 +04:00
kostja@bodhi.local
06d943f137 Post-merge fixes. 2006-10-23 20:08:00 +04: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
anozdrin/alik@alik.
643606cac9 Instance Manager polishing. 2006-10-20 22:26:40 +04:00
msvensson@neptunus.(none)
f3c7b029d7 Merge neptunus.(none):/home/msvensson/mysql/bug22379_runtime/my50-bug22379_runtime
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-runtime
2006-09-26 15:44:52 +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
rburnett@production.mysql.com
284fa931bb A couple of adjustments to the merge to fix the broken build
instance.cc:
  Removed wrongly placed closing brace
item_geofunc.cc:
  needed to pass in a TABLE_SHARE* instead of a TABLE*
2006-08-17 22:24:35 +02:00
rburnett@bk-internal.mysql.com
d65095b451 Merge bk-internal.mysql.com:/data0/bk/tmp_reg
into  bk-internal.mysql.com:/data0/bk/mysql-5.1
2006-08-17 17:19:41 +02:00
jimw@rama.(none)
a34f37acdd Bug #12673: Instance Manager: allows to stop the instance many times
The instance manager was not actually checking whether an instance
  was actually running before trying to stop it. Now it checks first.
2006-07-12 12:30:22 -07: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
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
petr@mysql.com
1c7bc08537 a bunch of IM fixes from the GUI team 2006-02-10 02:15:55 +03:00
serg@serg.mylan
c063819075 locking issues,
test for LONGLONG_MIN in decimal.c
2005-12-23 20:50:28 +01:00
reggie@big_geek.
2e637a0b36 fix issue with IM that causes commandlines that are executed to be incorrect. 2005-10-25 09:29:39 -05:00
petr@mysql.com
9e3d89b73e Fix Bug#14107 (IM test failures on QNX)
(v.2 with post-review fixes)
2005-10-21 03:25:07 +04:00
monty@mysql.com
5513ab69b7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2005-10-12 00:59:52 +03:00
monty@mysql.com
f5fdf3e87a Reviewing new pushed code
- CHAR() now returns binary string as default
- CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
- Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
  (Some old systems returns ETIME and it's safer to test for both values
   than to try to write a wrapper for each old system)
- Fixed new introduced bug in NOT BETWEEN X and X
- Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
- Use octet2hex() for all conversion of string to hex
- Simplify and optimize code
2005-10-12 00:58:22 +03:00
serg@serg.mylan
e91712d9bb pthread_handler_decl() changed to be ctags-friendly
(and contain extern "C" when necessary)
2005-10-08 16:39:55 +02: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
reggie@linux.site
eced05c3cd A few changes to fix compiling on Windows 2005-09-06 18:06:06 -06: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
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
reggie@fedora.(none)
8cb3bd41c8 alot of formatting changes that came out of JimW's review 2005-08-03 16:20:27 -05:00
reggie@fedora.(none)
f3de5d6b69 initial import of Windows port of IM. 2005-07-20 10:55:40 -05:00
petr@mysql.com
65d79b9d83 post-review fixes 2005-06-07 15:47:02 +04:00
petr@mysql.com
180d0ed620 post-review fixes 2005-05-16 01:54:02 +04:00
petr@mysql.com
da1d303001 make server logs less frightening, when using IM 2005-04-11 17:19:12 +04:00
joerg@mysql.com
4fd932b772 Revert the inclusion of 'signal.h' as the module contains 'kill()'. 2005-03-22 10:39:26 +01: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
6b50b5b087 Post-review fixes + some bugs fixed + several minor features 2005-02-11 14:21:59 +03:00
petr@mysql.com
63acf2a8be Various fixes (cleanups, valgrind, makefiles, ...) 2005-02-03 20:48:58 +03:00