MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
calvin fd6831625c branches/zip: implement the delayloading of externals for the plugin
on Windows, which includes:

 * Load mysqld.map and insert all symbol/address pairs into hash for
   quick access
 * Resolves all external data variables. The delayloading mechanism
   in MSVC does not support automatic imports of data variables.
   A workaround is to explicitly handle the data import using the delay
   loader during the initialization of the plugin.
 * Resolves all external functions during run-time, by implementing
   the delayed loading helper function delayLoadHelper2, which is
   called by run-time as well as HrLoadAllImportsForDll. 

The delay loader reuses the hash implementation in InnoDB. The normal
hash_create (in hash0hash.c) creates hash tables in buffer pool. But
the delay loader is invoked before the engine is initialized, and 
buffer pools are not ready yet. Instead, the delay loader has its own
implementation of hash_create() and hash_table_free(), called
wdl_hash_create() and wdl_hash_table_free().

This patch should be used with other two patches in order to build
a dynamically linked plugin on Windows:
 * patch for tmpfile functions (r2886)
 * patch for "build" files (to be committed)
 
The list of file changed:

handler/handler0vars.h: new file, defines a list of external data
variables (no external functions).

handler/win_delay_loader.cc: new file, the implementation of the delay
loader for Windows plugin.

handler/ha_innodb.cc: add a header file, and changes for copying the
system variables.

handler/handler0alter.cc: add a header file

handler/i_s.cc: add a header file

rb://27

Reviewed by:	Sunny, Marko
Approved by:	Sunny
2008-10-27 20:48:29 +00:00
btr branches/zip: Non-functional changes: 2008-10-23 08:37:42 +00:00
buf branches/zip: Merge revisions 2722:2744 from branches/5.1: 2008-10-09 08:48:58 +00:00
data branches/zip: Prevent infinite B-tree page splits by ensuring that 2008-09-17 06:23:52 +00:00
dict branches/zip: 2008-10-23 06:24:33 +00:00
dyn branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
eval branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
fil branches/zip: fil_io(): Simplify an "else if" condition by reordering 2008-09-22 06:43:28 +00:00
fsp branches/zip: fsp0fsp.c: Revert r2681 in a sense, by turning the 2008-09-26 09:09:43 +00:00
fut branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
ha branches/zip: Merge 2489:2524 from branches/5.1: 2008-07-01 06:53:40 +00:00
handler branches/zip: implement the delayloading of externals for the plugin 2008-10-27 20:48:29 +00:00
ibuf branches/zip: ibuf_delete_rec(): When the cursor to the insert buffer record 2008-10-23 19:25:43 +00:00
include branches/zip: Clean up the file format stamping. 2008-10-23 08:27:15 +00:00
lock branches/zip: Merge revisions 2702:2722 from branches/5.1: 2008-10-04 03:22:36 +00:00
log branches/zip: Relax the page_zip_validate() check during crash recovery: 2008-10-06 07:13:52 +00:00
mach branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
mem branches/zip: Always display a newline after ut_print_buf(stderr, ...). 2008-08-06 08:10:21 +00:00
mtr branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
mysql-test branches/zip: 2008-10-24 09:48:38 +00:00
os branches/zip: fix Mantis issue #74 Memory leak on Windows 2008-09-19 14:46:46 +00:00
page branches/zip: When invoking page_zip_copy_recs(), update the lock table 2008-10-15 06:32:40 +00:00
pars branches/zip: make_flex.sh, lexyy.c: Remove some GCC warnings about unused 2008-02-07 10:03:54 +00:00
que branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
read branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
rem branches/zip: rec_convert_dtuple_to_rec_comp(): Relax a too tight assertion. 2008-10-20 05:58:01 +00:00
row branches/zip: 2008-10-23 05:29:46 +00:00
scripts Rename install_dynamic.sql to install_innodb_plugins.sql 2008-04-30 07:02:16 +00:00
srv branches/zip: fix Mantis issue #96 Problem compiling ha_innodb.cc 2008-10-14 15:14:47 +00:00
sync branches/zip: Add a clarifying comment to the insert buffer mutex/lock 2008-06-17 19:32:18 +00:00
thr branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
trx branches/zip: Clean up the file format stamping. 2008-10-23 08:27:15 +00:00
usr branches/zip: Introduce UNIV_INTERN, a linkage specifier for InnoDB-global 2008-02-06 14:17:36 +00:00
ut branches/zip: Merge 2437:2485 from branches/5.1: 2008-06-06 15:24:58 +00:00
ChangeLog branches/zip: 2008-10-27 09:48:46 +00:00
CMakeLists.txt branches/zip: port the fix of Bug#19424 - InnoDB: Possibly a memory 2008-10-27 09:05:42 +00:00
compile-innodb branches/zip: Merge revisions 767:789 from trunk. 2006-09-04 19:47:47 +00:00
compile-innodb-debug branches/zip: Merge revisions 767:789 from trunk. 2006-09-04 19:47:47 +00:00
Makefile.am branches/zip: Merge 2423:2437 from branches/5.1: 2008-04-30 16:59:16 +00:00
plug.in branches/zip: Merge 2423:2437 from branches/5.1: 2008-04-30 16:59:16 +00:00
revert_gen.sh branches/zip: Merge revisions 265:459 from trunk. 2006-04-12 09:32:17 +00:00
setup.sh branches/zip: Merge 2015:2093 from trunk. 2007-11-16 13:57:27 +00:00