Commit graph

724 commits

Author SHA1 Message Date
Magnus Svensson
466c9f5e3e Fix merge error, mysqltest.cc should be mysqltest.c 2008-12-18 19:36:01 +01:00
Alfranio Correia
3175a06a13 merge 5.1 --> 5.1-rpl 2008-12-13 19:42:12 +00:00
Vladislav Vaintroub
4dfbf2ec93 Bug#38522: 5 seconds delay when closing application using embedded server
The problem here is that embedded server starts handle_thread manager 
thread  on mysql_library_init() does not stop it on mysql_library_end().
At shutdown, my_thread_global_end() waits for thread count to become 0,
but since we did not stop the thread it will give up after 5 seconds.
             
Solution is to move shutdown for handle_manager thread from kill_server()
(mysqld specific) to clean_up() that is used by both embedded and mysqld.
            
This patch also contains some refactorings - to avoid duplicate code,
start_handle_manager() and stop_handle_manager() functions are introduced.
Unused variables are eliminated. handle_manager does not rely on global
variable abort_loop anymore to stop (abort_loop is not set for embedded).
            
Note: Specifically on Windows and when using DBUG version of libmysqld, 
the complete solution requires removing obsolete code my_thread_init() 
from my_thread_var(). This has a side effect that a DBUG statement 
after my_thread_end() can cause thread counter to be incremented, and 
embedded will hang for some seconds. Or worse, my_thread_init() will 
crash if critical sections have been deleted by the global cleanup 
routine that runs in a different thread. 

This patch also fixes and revert prior changes for Bug#38293 
"Libmysqld crash in mysql_library_init if language file missing".

Root cause of the crash observed in Bug#38293  was bug in my_thread_init() 
described above
2008-12-04 19:41:53 +01:00
Vladislav Vaintroub
d0eae54036 Fix broken link in embedded server (Windows) 2008-11-21 11:15:26 +01:00
Alexey Botchkov
b8cd1725b1 Bug#38293 Libmysqld crash in mysql_library_init if language file missing
additional fix - the 'debug' keyword removed
2008-11-19 15:51:31 +04:00
Alexey Botchkov
a24dce13c6 merging 2008-11-19 14:01:21 +04:00
Alexey Botchkov
70e8a4fd54 Bug#38293 Libmysqld crash in mysql_library_init if language file missing
That's a Win-specific error.
    When we create libmysqld.dll we have many libraries like mysys, dbug,
    strings, etc linked into that dll, so the application built upon
    this library shouldn't link these libraries to itself, rather use
    those inside the dll.

    Fixed by redirecting calls into the libmysqld.dll

per-file comments:
  dbug/dbug.c
Bug#38293 Libmysqld crash in mysql_library_init if language file missing
    fake _db_something definitions added

  include/my_dbug.h
Bug#38293 Libmysqld crash in mysql_library_init if language file missing
  fake _db_something declarations added

  libmysqld/examples/CMakeLists.txt
Bug#38293 Libmysqld crash in mysql_library_init if language file missing
    superfluous libraries removed from linking

  libmysqld/libmysqld.def
Bug#38293 Libmysqld crash in mysql_library_init if language file missing
    set of mysys functions added to the export section
2008-11-19 13:57:23 +04:00
Alexey Botchkov
58701cae11 Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server.
GLOBAL STATUS is calculated by studying the list of threads. In the
        embedded server threads were not linked to the internal list, so the
        calculation always returns 0. Fixed by 'linking' the embedded-server
        threads to the same list

per-file comments:
  libmysqld/lib_sql.cc
Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server.
    Add newly created 'threads' to the internal thread list.
    Remove them from the list as they're freed.

  mysql-test/r/information_schema.result
Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server.
    test result

  mysql-test/t/information_schema.test
Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server.
    test case added
2008-11-17 20:06:03 +04:00
He Zhenxing
6e86e05823 Merge 5.1 main -> 5.1-rpl 2008-09-06 08:51:17 +08:00
Mattias Jonsson
8ca9c150b5 Bug#20129: ALTER TABLE ... REPAIR PARTITION ... complains that
partition is corrupt

Post push fix

an DBUG_ASSERT broke the embedded server, fixed by initializing
it in the embedded version of Protocol_text::prepare_for_resend
2008-08-13 20:50:08 +02:00
Magnus Svensson
06a2f92bac Ad missing ) to CmakeLists.txt 2008-08-09 11:31:17 +02:00
Magnus Svensson
69f9ec281d Merge 2008-08-08 20:10:43 +02:00
Magnus Svensson
39ad2dc05a Bug #38181 Please print more debug info when tests fail 2008-08-04 21:54:44 +02:00
Marc Alff
0fe5b015de Fixed build warning on Windows (emb_qcache.cc) 2008-07-10 14:41:56 -06:00
Davi Arnaut
30bd1d7cb3 Bug#37003 Tests sporadically crashes with embedded server
The problem was that when a embedded linked version of mysqltest
crashed there was no way to obtain a stack trace if no core file
is available. Another problem is that the embedded version of
libmysql was not behaving (crash) the same as the non-embedded with
respect to sending commands to a explicitly closed connection.

The solution is to generate a mysqltest's stack trace on crash
and to enable "reconnect" if the connection handle was explicitly
closed so the behavior matches the non-embedded one.
2008-06-18 13:17:15 -03:00
kostja@bodhi.(none)
2c0ce2a832 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-27430
2008-05-20 11:38:17 +04:00
gkodinov/kgeorge@magare.gmz
9eac77bc8b fixed the win64 build failure 2008-05-13 15:29:08 +03:00
gkodinov/kgeorge@magare.gmz
cc2a217314 Merge bk-internal:/home/bk/mysql-5.1-bugteam
into  magare.gmz:/home/kgeorge/mysql/work/fixes-5.1-bugteam
2008-05-12 19:35:08 +03:00
gkodinov/kgeorge@magare.gmz
f1ad66e6c0 fixed the win32 make files to compile the fix for bug 35997 2008-05-12 19:34:25 +03:00
thek@adventure.(none)
d8e2b87150 Bug#35997 Event scheduler seems to let the server crash, if it is embedded.
SHOW commands fail in embedded mode because schema_table array doesn't
correspond to enum_schema_tables.

This patch implements a dummy implementation of the abstract fill_table
function to be used when the event scheduler (or other core feature)
isn't part of the build.
2008-05-12 12:09:10 +02:00
gkodinov/kgeorge@magare.gmz
0844a628aa Fixed:
- a 64 bit compile warning in embedded
 - disabled the new (and failing tests for Bug#36522
2008-05-12 12:02:06 +03:00
thek@adventure.(none)
19a22f87e9 Bug#35997 Event scheduler seems to let the server crash, if it is embedded.
The event scheduler was not designed to work in embedded mode. This
patch disables and excludes the event scheduler when the server is
compiled for embedded build.
2008-05-09 09:43:02 +02:00
tsmith@ramayana.hindu.god
5fa0982adb Use ulonglong to store row count in libmysld Protocol_text::remove_last_row()
(fix warnings).
2008-04-30 19:14:41 -06:00
kostja@bodhi.(none)
7334f7c20d Fix compilation warnings (embedded library, Windows build) 2008-04-19 20:51:23 +04:00
kostja@bodhi.(none)
63d116c1ae An attempt to fix a link failure on Windows (embedded library). 2008-04-19 17:48:29 +04:00
kent/mysqldev@mysql.com/production.mysql.com
c41a4e13f8 mysql.spec.sh:
If excluding Federated, make sure dynamic plugin is not built
Makefile.am:
  Only run cluster test when compiled with cluster
lib_sql.cc:
  Work around for Visual Studio 2003, that lacks vsnprintf() but has _vsnprintf()
2008-04-02 22:24:53 +02:00
kent/mysqldev@mysql.com/production.mysql.com
fd1bd7547a mysqld.cc:
Corrects build problems embedded on Windows
Makefile.am:
  Install .sym or mysqld-debug if exists
query_cache_debug.test, query_cache_debug.result:
  Set more resonable query cache size (bug#35749)
CMakeLists.txt:
  Added missing stacktrace.c
2008-04-02 00:43:17 +02:00
joerg@trift2.
e784898959 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2008-03-14 14:41:08 +01:00
kaa@kaamos.(none)
0a7052e4d3 Merge kaamos.(none):/data/src/mysql-5.1
into  kaamos.(none):/data/src/opt/mysql-5.1-opt
2008-03-12 11:19:46 +03:00
jperkin/jonathan@chorlton.adsl.perkin.org.uk
2ebdd5ea2f Merge bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  chorlton.adsl.perkin.org.uk:/Users/jonathan/mysql/bk/build/5.1
2008-03-06 15:13:14 +00:00
davi@mysql.com/endora.local
41545137ef Bug#34655 Compile error
Rename client_last_error to last_error and client_last_errno to last_errno
to not break connectors which use the internal net structure for error handling.
2008-02-28 14:55:46 -03:00
holyfoot/hf@hfmain.(none)
2356e0df6e Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/25097/my51-25097
2008-02-27 13:54:34 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
fbc4562331 merging 2008-02-27 13:30:49 +04:00
holyfoot/hf@hfmain.(none)
b727a22d97 Merge mysql.com:/home/hf/work/25097/my50-25097
into  mysql.com:/home/hf/work/25097/my51-25097
2008-02-27 13:00:59 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
140ca59538 Bug #25097 mysql_server_init fails silently if no errmsg.sys is present.
There was no way to return an error from the client library
if no MYSQL connections was established.
So here i added variables to store that king of errors and
made functions like mysql_error(NULL) to return these.
2008-02-27 12:42:43 +04:00
kent@kent-amd64.(none)
6761108f29 Merge mysql.com:/home/kent/bk/maria/mysql-maria-gca
into  mysql.com:/home/kent/bk/build/mysql-5.1-build
2008-02-18 16:23:00 +01:00
kent@mysql.com/kent-amd64.(none)
5d3d61f459 CMakeLists.txt:
Missing "sql_profile.cc" was added
2008-02-18 14:46:47 +01:00
msvensson@pilot.mysql.com
42bebb4e7b Merge pilot.mysql.com:/data/msvensson/mysql/bug32044/my51-bug32044
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-build
2008-02-06 14:56:32 +01:00
jperkin/jonathan@chorlton.adsl.perkin.org.uk
e286ac998c Use pkglibdir to simplify pkgplugindir, and fix the path in a
couple of Makefiles.  Continuation of the fix for bug#31736.
2008-01-02 13:00:46 +00:00
serg@janus.mylan
d9ca7b670e Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-12-20 22:11:37 +01:00
jperkin/jonathan@chorlton.adsl.perkin.org.uk
f988a7e600 Add new pkgplugindir handling to seperate plugins from libraries,
and allow override for binary distributions.  Extend mysql_config
to print compiled-in plugin location for third-party plugins to
use.  Resolves bug#31736.
2007-12-19 13:24:43 +00:00
cmiller@zippy.cornsilk.net
edbacd3a99 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-forcollapseandmerge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2007-12-14 13:42:09 -05:00
cmiller@zippy.cornsilk.net
79bb729e54 Add profiling support for embedded server. 2007-12-14 09:39:57 -05:00
anozdrin/alik@station.
151444c626 Merge station.:/mnt/raid/alik/MySQL/devel/5.1
into  station.:/mnt/raid/alik/MySQL/devel/5.1-rt
2007-12-14 16:30:22 +03:00
kostja@bodhi.(none)
5b80d6a11b Fix broken embedded build (broken by the patch for Bug#12713, first part). 2007-12-13 23:58:55 +03:00
gluh@eagle.(none)
4f5868114a Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-12-13 15:56:04 +04:00
gluh@eagle.(none)
e039595029 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-12-13 14:52:49 +04:00
kostja@bodhi.(none)
ebb9c5d983 Bug#12713 "Error in a stored function called from a SELECT doesn't
cause ROLLBACK of statement", part 1. Review fixes.

Do not send OK/EOF packets to the client until we reached the end of 
the current statement.
This is a consolidation, to keep the functionality that is shared by all 
SQL statements in one place in the server.
Currently this functionality includes:
- close_thread_tables()
- log_slow_statement().

After this patch and the subsequent patch for Bug#12713, it shall also include:
- ha_autocommit_or_rollback()
- net_end_statement()
- query_cache_end_of_result().

In future it may also include:
- mysql_reset_thd_for_next_command().
2007-12-12 18:21:01 +03:00
holyfoot/hf@hfmain.(none)
901dc028f9 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/26921/my51-26921
2007-12-07 10:10:02 +04:00
holyfoot/hf@hfmain.(none)
d26de7bee0 Merge mysql.com:/home/hf/work/26921/my50-26921
into  mysql.com:/home/hf/work/26921/my51-26921
2007-12-07 09:39:31 +04:00