1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-30 11:22:14 +03:00
Commit Graph

12 Commits

Author SHA1 Message Date
Kent Boortz
68f00a5686 Updated/added copyright headers 2011-06-30 17:37:13 +02:00
Vladislav Vaintroub
9e655bfffc Bug #43715 Link errors when trying to link mysql_embedded.exe
The reason for the error is incorrectly specified link dependencies
for mysql_embedded, mysqltest_embedded and mysql_client_test_embedded
in CMakeLists.txt (ADD_DEPENDENCIES should be TARGET_LINK_LIBRARIES)


libmysqld/CMakeLists.txt:
  changed library type for libmysqld to SHARED instead of
  MODULE. MODULE in CMake notation is a shared library that 
  is used only in dlopen/dlsym/LoadLibrary scenarios.
  Hence it was impossible to use TARGET_LINK_LIBRARIES with
  a MODULE.
libmysqld/examples/CMakeLists.txt:
  Use TARGET_LINK_LIBRARIES (instead of previously incorrectly 
  used ADD_DEPENDENCIES) to specify link dependency from libmysqld
2009-03-17 23:28:24 +01:00
Magnus Svensson
970be2ba70 Fix merge error, mysqltest.cc should be mysqltest.c 2008-12-18 19:36:01 +01:00
Vladislav Vaintroub
8f500c522b 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




client/mysql.cc:
  sql_protocol_typelib is not exported from libmysqld
  (does not make sense either)
  thus excluded from embedded client
dbug/dbug.c:
  revert changes for Bug#38293
include/my_dbug.h:
  revert changes for Bug#38293
libmysql/libmysql.c:
  Removed DBUG_POP call, because when called after my_end(), will access
  THR_key_mysys that is already deleted. The result of pthread_get_specific
  is not predictable in this case and hence DBUG_POP can crash.
libmysqld/examples/CMakeLists.txt:
  Revert changes for Bug#38293.
libmysqld/lib_sql.cc:
  code to start handle manager is factored out into 
  start_handle_manager() function
libmysqld/libmysqld.def:
  Revert changes for Bug #38293
  Remove excessive exports from libmysqld, export what API documents.
mysys/my_thr_init.c:
  Remove windows-DLL-specific workaround for something (old code, no documentation for
  what specifically). The problem is that even after my_thread_end() is finished, 
  DBUG statement can initiate my_thread_init(). This does not happen anywhere else and 
  should not happen on  Windows either.
sql/mysql_priv.h:
  - new functions start_handle_manager() and stop_handle_manager()
  - move manager_thread_in_use  variable to sql_manager.cc and made
  it static
  - remove manager_status, as it is unused
sql/mysqld.cc:
  Code to start/stop handle_manager thread is factored out into start_handle_manager()
2008-12-04 19:41:53 +01:00
Alexey Botchkov
36c4b37b16 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
4d3f05b09b 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
unknown
385fbabf12 Bug#32044 some of the tests (backup, drop, query_cache, etc) will timeout on Windows
libmysqld/examples/CMakeLists.txt:
  Add definition -DEMBEDDED_LIBRARY to all executables in libmysqld/examples
2007-11-02 09:27:38 +01:00
unknown
1337c429fb CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
  - Changed to do embedded build part as normal build, when
    WITH_EMBEDDED_SERVER is set.
  - Allow both normal and debug build with embedded.
  - Build static embedded library by pointing out all source and compile
    it all, i.e. not building libraries from libraries, not portable.
  - Let embedded use generated files from the "sql" directory, added
    dependencies to make sure built before embedded.
  - Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
    linked in when debug target is used.
  - Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
    others can't depend on it, not defined at configure time. Instead
    set the output file name.
  - Created work around for bug in CMake 2.4.6 and output names, to
    set the "mysqld<suffix>.pdb" name to the same base name.
  - Set the correct manifest "name" (patch by iggy)


CMakeLists.txt:
  Changes for embedded and Windows
libmysql/CMakeLists.txt:
  Changes for embedded and Windows
libmysqld/CMakeLists.txt:
  Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
  Changes for embedded and Windows
mysys/CMakeLists.txt:
  Changes for embedded and Windows
regex/CMakeLists.txt:
  Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
  Changes for embedded and Windows
sql/CMakeLists.txt:
  Changes for embedded and Windows
storage/archive/CMakeLists.txt:
  Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
  Changes for embedded and Windows
storage/csv/CMakeLists.txt:
  Changes for embedded and Windows
storage/example/CMakeLists.txt:
  Changes for embedded and Windows
storage/federated/CMakeLists.txt:
  Changes for embedded and Windows
storage/heap/CMakeLists.txt:
  Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
  Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
  Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
  Changes for embedded and Windows
strings/CMakeLists.txt:
  Changes for embedded and Windows
vio/CMakeLists.txt:
  Changes for embedded and Windows
win/README:
  Changes for embedded and Windows
win/configure.js:
  Changes for embedded and Windows
win/mysql_manifest.cmake:
  Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
unknown
c6c57ed783 Bug#29903 The CMake build method does not produce the embedded library.
- Changes to correct and test Windows embedded build.


BitKeeper/etc/ignore:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Ignore auto-generated Windows embedded resources.
CMakeLists.txt:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Hardcode CSV for all configurations.
  - Add client directory for gen_lex_hash dependency.
client/CMakeLists.txt:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Build the mysqlclient library and echo for the embedded solution.
client/client_priv.h:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Defined new option.
client/mysql.cc:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Add server-arg command line parameter
libmysqld/CMakeLists.txt:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Added auto generated resources; sql_yacc.cc, sql_yacc.h, message.rc
  message.h and lex_hash.h.
  - Link csv library to libmsyqld.
libmysqld/Makefile.am:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Include CMakeLists.txt in dist.
libmysqld/examples/CMakeLists.txt:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Follow existing naming convention.
libmysqld/examples/Makefile.am:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Include CMakeLists.txt in dist.
mysql-test/mysql-test-run.pl:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Move embedded option block earlier in the script.
  - Added the path to the libmysqld.dll to Windows path.
win/README:
  Bug#29903 The CMake build method does not produce the embedded library.
  - Add instructions for building/testing the embedded library.
2007-08-03 14:43:12 -04:00
unknown
290414712e Embedded Server doesn't build on Windows.
- Add build configuration parameter EMBEDDED_ONLY which will configure 
the VS solution to produce only mysql embedded binary.
- Make necessary updates to successfully compile solution.


CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Remove leading space from various definitions.
  - Remove optimizations from RelWithDebInfo configuration for debugging.
  - Conditionally add the necessary build directories based on 
  EMBEDDED_ONLY flag.
BitKeeper/etc/ignore:
  Embedded Server doesn't build on Windows.
  - Ignore CMake's default configuration output directories.
  - Ignore autogenerated cmake_dummy.c file.
libmysql/client_settings.h:
  Embedded Server doesn't build on Windows.
  - Build fixup
libmysqld/CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Update for recent changes.
libmysqld/libmysqld.def:
  Embedded Server doesn't build on Windows.
  - Export necessary methods.
libmysqld/examples/CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Updated include directories.
  - test_libmysqld fixup.
  - Added mysqltest_embedded and mysql_client_test_embedded exes needed for
  testing.
sql/mysqld.cc:
  Embedded Server doesn't build on Windows.
  - Build fixup.
sql/sql_binlog.cc:
  Embedded Server doesn't build on Windows.
  - Build fixup.
sql-common/client.c:
  Embedded Server doesn't build on Windows.
  - Build fixup.
storage/federated/CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Define USE_TLS for embedded only builds.
storage/heap/CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Define USE_TLS for embedded only builds.
storage/innobase/CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Define USE_TLS for embedded only builds.
storage/myisam/CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Define USE_TLS for embedded only builds.
storage/myisam/ha_myisam.cc:
  Embedded Server doesn't build on Windows.
  - Define USE_TLS for embedded only builds.
storage/myisammrg/CMakeLists.txt:
  Embedded Server doesn't build on Windows.
  - Define USE_TLS for embedded only builds.
win/configure.js:
  Embedded Server doesn't build on Windows.
  - Add EMBEDDED_ONLY build configuration.
2007-06-15 14:32:16 -04:00
unknown
d73b5b8e83 Many files:
Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header 
  Added GPL copyright text
my_vle.h, rpl_utility.h, my_vle.c, base64-t.c, rpl_utility.cc:
  Changed copyright header formatting some
plugin_example.c, daemon_example.c:
  Added "Copyright (C) 2006 MySQL AB" to GPL header


CMakeLists.txt:
  Added GPL copyright text
client/CMakeLists.txt:
  Added GPL copyright text
dbug/CMakeLists.txt:
  Added GPL copyright text
extra/CMakeLists.txt:
  Added GPL copyright text
extra/yassl/CMakeLists.txt:
  Added GPL copyright text
extra/yassl/taocrypt/CMakeLists.txt:
  Added GPL copyright text
libmysql/CMakeLists.txt:
  Added GPL copyright text
libmysqld/CMakeLists.txt:
  Added GPL copyright text
libmysqld/examples/CMakeLists.txt:
  Added GPL copyright text
mysys/CMakeLists.txt:
  Added GPL copyright text
regex/CMakeLists.txt:
  Added GPL copyright text
server-tools/instance-manager/CMakeLists.txt:
  Added GPL copyright text
sql/CMakeLists.txt:
  Added GPL copyright text
storage/archive/CMakeLists.txt:
  Added GPL copyright text
storage/blackhole/CMakeLists.txt:
  Added GPL copyright text
storage/csv/CMakeLists.txt:
  Added GPL copyright text
storage/example/CMakeLists.txt:
  Added GPL copyright text
storage/federated/CMakeLists.txt:
  Added GPL copyright text
storage/heap/CMakeLists.txt:
  Added GPL copyright text
storage/innobase/CMakeLists.txt:
  Added GPL copyright text
storage/myisam/CMakeLists.txt:
  Added GPL copyright text
storage/myisammrg/CMakeLists.txt:
  Added GPL copyright text
strings/CMakeLists.txt:
  Added GPL copyright text
tests/CMakeLists.txt:
  Added GPL copyright text
vio/CMakeLists.txt:
  Added GPL copyright text
zlib/CMakeLists.txt:
  Added GPL copyright text
include/my_vle.h:
  Changed copyright header formatting some
mysys/my_vle.c:
  Changed copyright header formatting some
plugin/daemon_example/daemon_example.c:
  Added "Copyright (C) 2006 MySQL AB" to GPL header
plugin/fulltext/plugin_example.c:
  Added "Copyright (C) 2006 MySQL AB" to GPL header
plugin/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/authors.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/contributors.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/item_xmlfunc.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/partition_element.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/partition_info.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/rpl_injector.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/rpl_injector.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_binlog.cc:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/sql_servers.h:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
storage/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
storage/archive/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
storage/blackhole/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
storage/csv/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
storage/example/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
storage/federated/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
win/Makefile.am:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header
sql/rpl_utility.cc:
  Changed copyright header formatting some
sql/rpl_utility.h:
  Changed copyright header formatting some
unittest/mysys/base64-t.c:
  Changed copyright header formatting some
include/my_uctype.h:
  Added GPL copyright text
plugin/daemon_example/Makefile.am:
  Added GPL copyright text
plugin/fulltext/Makefile.am:
  Added GPL copyright text
scripts/make_win_bin_dist:
  Added GPL copyright text
server-tools/instance-manager/user_management_commands.cc:
  Added GPL copyright text
sql/sql_builtin.cc.in:
  Added GPL copyright text
sql/sql_show.h:
  Added GPL copyright text
storage/archive/archive_test.c:
  Added GPL copyright text
storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp:
  Added GPL copyright text
storage/ndb/src/kernel/blocks/diskpage.cpp:
  Added GPL copyright text
storage/ndb/src/kernel/vm/Rope.cpp:
  Added GPL copyright text
storage/ndb/src/mgmsrv/ParamInfo.hpp:
  Added GPL copyright text
strings/uctypedump.c:
  Added GPL copyright text
unittest/Makefile.am:
  Added GPL copyright text
unittest/examples/Makefile.am:
  Added GPL copyright text
unittest/examples/core-t.c:
  Added GPL copyright text
unittest/examples/no_plan-t.c:
  Added GPL copyright text
unittest/examples/simple-t.c:
  Added GPL copyright text
unittest/examples/skip-t.c:
  Added GPL copyright text
unittest/examples/skip_all-t.c:
  Added GPL copyright text
unittest/examples/todo-t.c:
  Added GPL copyright text
unittest/mysys/Makefile.am:
  Added GPL copyright text
unittest/mytap/Makefile.am:
  Added GPL copyright text
unittest/mytap/t/Makefile.am:
  Added GPL copyright text
unittest/mytap/t/basic-t.c:
  Added GPL copyright text
unittest/unit.pl:
  Added GPL copyright text
win/build-vs71.bat:
  Added GPL copyright text
win/build-vs8.bat:
  Added GPL copyright text
win/configure.js:
  Added GPL copyright text
2006-12-31 02:29:11 +01:00
unknown
2dce7ff6f1 performing a set of bk mv on each CMakeLists.txt file to try and restore the mixed case filenames since this seems to be required with Cmake 2.4 beta 1.
This is being pushed to a private tree and tested before being sent to the mainline.


client/CMakeLists.txt:
  Rename: client/cmakelists.txt.tmp -> client/CMakeLists.txt
libmysql/CMakeLists.txt:
  Rename: libmysql/cmakelists.txt.tmp -> libmysql/CMakeLists.txt
libmysqld/CMakeLists.txt:
  Rename: libmysqld/cmakelists.txt.tmp -> libmysqld/CMakeLists.txt
sql/CMakeLists.txt:
  Rename: sql/cmakelists.txt.tmp -> sql/CMakeLists.txt
zlib/CMakeLists.txt:
  Rename: zlib/cmakelists.txt.tmp -> zlib/CMakeLists.txt
extra/CMakeLists.txt:
  Rename: extra/cmakelists.txt.tmp -> extra/CMakeLists.txt
tests/CMakeLists.txt:
  Rename: tests/cmakelists.txt.tmp -> tests/CMakeLists.txt
extra/yassl/CMakeLists.txt:
  Rename: extra/yassl/cmakelists.txt.tmp -> extra/yassl/CMakeLists.txt
extra/yassl/taocrypt/CMakeLists.txt:
  Rename: extra/yassl/taocrypt/cmakelists.txt.tmp -> extra/yassl/taocrypt/CMakeLists.txt
storage/heap/CMakeLists.txt:
  Rename: storage/heap/cmakelists.txt.tmp -> storage/heap/CMakeLists.txt
storage/myisam/CMakeLists.txt:
  Rename: storage/myisam/cmakelists.txt.tmp -> storage/myisam/CMakeLists.txt
storage/myisammrg/CMakeLists.txt:
  Rename: storage/myisammrg/cmakelists.txt.tmp -> storage/myisammrg/CMakeLists.txt
storage/csv/CMakeLists.txt:
  Rename: storage/csv/cmakelists.txt.tmp -> storage/csv/CMakeLists.txt
storage/innobase/CMakeLists.txt:
  Rename: storage/innobase/cmakelists.txt.tmp -> storage/innobase/CMakeLists.txt
server-tools/instance-manager/CMakeLists.txt:
  Rename: server-tools/instance-manager/cmakelists.txt.tmp -> server-tools/instance-manager/CMakeLists.txt
libmysqld/examples/CMakeLists.txt:
  Rename: libmysqld/examples/cmakelists.txt.tmp -> libmysqld/examples/CMakeLists.txt
vio/CMakeLists.txt:
  Rename: vio/cmakelists.txt.tmp -> vio/CMakeLists.txt
dbug/CMakeLists.txt:
  Rename: dbug/cmakelists.txt.tmp -> dbug/CMakeLists.txt
strings/CMakeLists.txt:
  Rename: strings/cmakelists.txt.tmp -> strings/CMakeLists.txt
regex/CMakeLists.txt:
  Rename: regex/cmakelists.txt.tmp -> regex/CMakeLists.txt
mysys/CMakeLists.txt:
  Rename: mysys/cmakelists.txt.tmp -> mysys/CMakeLists.txt
storage/archive/CMakeLists.txt:
  Rename: storage/archive/cmakelists.txt.tmp -> storage/archive/CMakeLists.txt
storage/bdb/CMakeLists.txt:
  Rename: storage/bdb/cmakelists.txt.tmp -> storage/bdb/CMakeLists.txt
storage/blackhole/CMakeLists.txt:
  Rename: storage/blackhole/cmakelists.txt.tmp -> storage/blackhole/CMakeLists.txt
storage/example/CMakeLists.txt:
  Rename: storage/example/cmakelists.txt.tmp -> storage/example/CMakeLists.txt
CMakeLists.txt:
  Rename: cmakelists.txt.tmp -> CMakeLists.txt
2006-05-11 11:29:08 -05:00