List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:September 29 2011 7:45am
Subject:bzr push into mysql-5.5-cluster branch (jonas.oreland:3540 to 3541)
View as plain text  
 3541 Jonas Oreland	2011-09-29
      ndb - step 1 for proper windows ndbapiclient.dll, annotate classes and methods with NDB_EXPORT

    modified:
      storage/ndb/include/mgmapi/mgmapi.h
      storage/ndb/include/mgmapi/mgmapi_debug.h
      storage/ndb/include/ndb_init.h
      storage/ndb/include/ndb_types.h.in
      storage/ndb/include/ndbapi/Ndb.hpp
      storage/ndb/include/ndbapi/NdbBlob.hpp
      storage/ndb/include/ndbapi/NdbDictionary.hpp
      storage/ndb/include/ndbapi/NdbError.hpp
      storage/ndb/include/ndbapi/NdbEventOperation.hpp
      storage/ndb/include/ndbapi/NdbIndexOperation.hpp
      storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp
      storage/ndb/include/ndbapi/NdbIndexStat.hpp
      storage/ndb/include/ndbapi/NdbInterpretedCode.hpp
      storage/ndb/include/ndbapi/NdbOperation.hpp
      storage/ndb/include/ndbapi/NdbRecAttr.hpp
      storage/ndb/include/ndbapi/NdbScanFilter.hpp
      storage/ndb/include/ndbapi/NdbScanOperation.hpp
      storage/ndb/include/ndbapi/NdbTransaction.hpp
      storage/ndb/include/ndbapi/ndb_cluster_connection.hpp
      storage/ndb/include/util/NdbOut.hpp
      storage/ndb/src/mgmapi/mgmapi_configuration.hpp
      storage/ndb/src/mgmapi/mgmapi_internal.h
      storage/ndb/src/ndbapi/NdbInfo.hpp
      storage/ndb/src/ndbapi/NdbInfoRecAttr.hpp
      storage/ndb/src/ndbapi/NdbInfoScanOperation.hpp
      storage/ndb/src/ndbapi/NdbQueryBuilder.hpp
      storage/ndb/src/ndbapi/NdbQueryOperation.hpp
      storage/ndb/src/ndbapi/ndb_internal.hpp
 3540 Jonas Oreland	2011-09-29
      ndb - more mainline compiler warnings...sob sob

    modified:
      support-files/compiler_warnings.supp
=== modified file 'storage/ndb/include/mgmapi/mgmapi.h'
--- a/storage/ndb/include/mgmapi/mgmapi.h	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/include/mgmapi/mgmapi.h	2011-09-29 07:44:40 +0000
@@ -227,7 +227,7 @@ extern "C" {
    *         and <var>node_group</var> are relevant only for database nodes,
    *         i.e. <var>node_type</var> == @ref NDB_MGM_NODE_TYPE_NDB.
    */
-  struct ndb_mgm_node_state {
+  struct NDB_EXPORT ndb_mgm_node_state {
     /** NDB Cluster node ID*/
     int node_id;
     /** Type of NDB Cluster node*/
@@ -270,7 +270,7 @@ extern "C" {
    *   State of all nodes in the cluster; returned from 
    *   ndb_mgm_get_status()
    */
-  struct ndb_mgm_cluster_state {
+  struct NDB_EXPORT ndb_mgm_cluster_state {
     /** Number of entries in the node_states array */
     int no_of_nodes;
     /** An array with node_states*/
@@ -284,7 +284,7 @@ extern "C" {
   /**
    *   Default reply from the server (reserved for future use)
    */
-  struct ndb_mgm_reply {
+  struct NDB_EXPORT ndb_mgm_reply {
     /** 0 if successful, otherwise error code. */
     int return_code;
     /** Error or reply message.*/
@@ -318,12 +318,12 @@ extern "C" {
   };
 #endif
 
-  struct ndb_mgm_severity {
+  struct NDB_EXPORT ndb_mgm_severity {
     enum ndb_mgm_event_severity category;
     unsigned int value;
   };
 
-  struct ndb_mgm_loglevel {
+  struct NDB_EXPORT ndb_mgm_loglevel {
     enum ndb_mgm_event_category category;
     unsigned int value;
   };
@@ -342,7 +342,7 @@ extern "C" {
    * @param   handle        Management handle
    * @return                Latest error code
    */
-  int ndb_mgm_get_latest_error(const NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_get_latest_error(const NdbMgmHandle handle);
 
   /**
    * Get the most recent general error message associated with a handle
@@ -350,7 +350,7 @@ extern "C" {
    * @param   handle        Management handle.
    * @return                Latest error message
    */
-  const char * ndb_mgm_get_latest_error_msg(const NdbMgmHandle handle);
+  NDB_EXPORT const char * ndb_mgm_get_latest_error_msg(const NdbMgmHandle handle);
 
   /**
    * Get the most recent error description associated with a handle
@@ -361,7 +361,7 @@ extern "C" {
    * @param   handle        Management handle.
    * @return                Latest error description
    */
-  const char * ndb_mgm_get_latest_error_desc(const NdbMgmHandle handle);
+  NDB_EXPORT const char * ndb_mgm_get_latest_error_desc(const NdbMgmHandle handle);
 
 #ifndef DOXYGEN_SHOULD_SKIP_DEPRECATED
   /**
@@ -371,13 +371,13 @@ extern "C" {
    * @return                Latest internal source code line of latest error
    * @deprecated
    */
-  int ndb_mgm_get_latest_error_line(const NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_get_latest_error_line(const NdbMgmHandle handle);
 #endif
 
   /**
    * Set error stream
    */
-  void ndb_mgm_set_error_stream(NdbMgmHandle, FILE *);
+  NDB_EXPORT void ndb_mgm_set_error_stream(NdbMgmHandle, FILE *);
 
 
   /** @} *********************************************************************/
@@ -392,14 +392,14 @@ extern "C" {
    * @return                 A management handle<br>
    *                         or <var>NULL</var> if no management handle could be created.
    */
-  NdbMgmHandle ndb_mgm_create_handle();
+  NDB_EXPORT NdbMgmHandle ndb_mgm_create_handle();
 
   /**
    * Destroy a management server handle.
    *
    * @param   handle        Management handle
    */
-  void ndb_mgm_destroy_handle(NdbMgmHandle * handle);
+  NDB_EXPORT void ndb_mgm_destroy_handle(NdbMgmHandle * handle);
 
   /**
    * Set a name of the handle.  Name is reported in cluster log.
@@ -407,7 +407,7 @@ extern "C" {
    * @param   handle        Management handle
    * @param   name          Name
    */
-  void ndb_mgm_set_name(NdbMgmHandle handle, const char *name);
+  NDB_EXPORT void ndb_mgm_set_name(NdbMgmHandle handle, const char *name);
 
   /**
    * Set 'ignore_sigpipe' behaviour
@@ -424,7 +424,7 @@ extern "C" {
    *                        0 - Don't ignore SIGPIPE
    *                        1 - Ignore SIGPIPE(default)
    */
-  int ndb_mgm_set_ignore_sigpipe(NdbMgmHandle handle, int val);
+  NDB_EXPORT int ndb_mgm_set_ignore_sigpipe(NdbMgmHandle handle, int val);
 
   /** @} *********************************************************************/
   /**
@@ -449,7 +449,7 @@ extern "C" {
    * <host> is a string containing a valid network host address
    * @endcode
    */
-  int ndb_mgm_set_connectstring(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_connectstring(NdbMgmHandle handle,
 				const char *connect_string);
 
   /**
@@ -462,9 +462,9 @@ extern "C" {
    *
    * @return                < 0 on error
    */
-  int ndb_mgm_number_of_mgmd_in_connect_string(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_number_of_mgmd_in_connect_string(NdbMgmHandle handle);
 
-  int ndb_mgm_set_configuration_nodeid(NdbMgmHandle handle, int nodeid);
+  NDB_EXPORT int ndb_mgm_set_configuration_nodeid(NdbMgmHandle handle, int nodeid);
 
   /**
    * Set local bindaddress
@@ -473,7 +473,7 @@ extern "C" {
    * @note Error on binding local address will not be reported until connect
    * @return 0 on success
    */
-  int ndb_mgm_set_bindaddress(NdbMgmHandle, const char * arg);
+  NDB_EXPORT int ndb_mgm_set_bindaddress(NdbMgmHandle, const char * arg);
 
   /**
    * Gets the connectstring used for a connection
@@ -488,7 +488,7 @@ extern "C" {
    *
    * @return                 connectstring (same as <var>buf</var>)
    */
-  const char *ndb_mgm_get_connectstring(NdbMgmHandle handle, char *buf, int buf_sz);
+  NDB_EXPORT const char *ndb_mgm_get_connectstring(NdbMgmHandle handle, char *buf, int buf_sz);
 
   /**
    * DEPRECATED: use ndb_mgm_set_timeout instead.
@@ -497,7 +497,7 @@ extern "C" {
    * @param seconds number of seconds
    * @return non-zero on success
    */
-  int ndb_mgm_set_connect_timeout(NdbMgmHandle handle, unsigned int seconds);
+  NDB_EXPORT int ndb_mgm_set_connect_timeout(NdbMgmHandle handle, unsigned int seconds);
 
   /**
    * Sets the number of milliseconds for timeout of network operations
@@ -509,7 +509,7 @@ extern "C" {
    * @param timeout_ms number of milliseconds
    * @return zero on success
    */
-  int ndb_mgm_set_timeout(NdbMgmHandle handle, unsigned int timeout_ms);
+  NDB_EXPORT int ndb_mgm_set_timeout(NdbMgmHandle handle, unsigned int timeout_ms);
 
   /**
    * Connects to a management server. Connectstring is set by
@@ -529,7 +529,7 @@ extern "C" {
    *
    * @return                -1 on error.
    */
-  int ndb_mgm_connect(NdbMgmHandle handle, int no_retries,
+  NDB_EXPORT int ndb_mgm_connect(NdbMgmHandle handle, int no_retries,
 		      int retry_delay_in_seconds, int verbose);
   /**
    * Return true if connected.
@@ -537,7 +537,7 @@ extern "C" {
    * @param   handle        Management handle
    * @return  0 if not connected, non-zero if connected.
    */
-  int ndb_mgm_is_connected(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_is_connected(NdbMgmHandle handle);
 
   /**
    * Disconnects from a management server
@@ -545,7 +545,7 @@ extern "C" {
    * @param  handle         Management handle.
    * @return                -1 on error.
    */
-  int ndb_mgm_disconnect(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_disconnect(NdbMgmHandle handle);
 
   /**
    * Gets connection node ID
@@ -555,7 +555,7 @@ extern "C" {
    * @return                 Node ID; 0 indicates that no node ID has been
    *                         specified
    */
-  int ndb_mgm_get_configuration_nodeid(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_get_configuration_nodeid(NdbMgmHandle handle);
 
   /**
    * Gets connection port
@@ -564,7 +564,7 @@ extern "C" {
    *
    * @return                 port
    */
-  int ndb_mgm_get_connected_port(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_get_connected_port(NdbMgmHandle handle);
 
   /**
    * Gets connection host
@@ -573,7 +573,7 @@ extern "C" {
    *
    * @return                 hostname
    */
-  const char *ndb_mgm_get_connected_host(NdbMgmHandle handle);
+  NDB_EXPORT const char *ndb_mgm_get_connected_host(NdbMgmHandle handle);
 
   /**
    * Gets connection bind address
@@ -582,7 +582,7 @@ extern "C" {
    *
    * @return                 hostname
    */
-  const char *ndb_mgm_get_connected_bind_address(NdbMgmHandle handle);
+  NDB_EXPORT const char *ndb_mgm_get_connected_bind_address(NdbMgmHandle handle);
 
   /**
    * Get the version of the mgm server we're talking to.
@@ -599,7 +599,7 @@ extern "C" {
    *
    * @return  0 for error and 1 for success
    */
-  int ndb_mgm_get_version(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_get_version(NdbMgmHandle handle,
                           int *major, int *minor, int* build,
                           int len, char* str);
 
@@ -616,7 +616,7 @@ extern "C" {
    * @param   type          Node type as string.
    * @return                NDB_MGM_NODE_TYPE_UNKNOWN if invalid string.
    */
-  enum ndb_mgm_node_type ndb_mgm_match_node_type(const char * type);
+  NDB_EXPORT enum ndb_mgm_node_type ndb_mgm_match_node_type(const char * type);
 
   /**
    * Converts an ndb_mgm_node_type to a string
@@ -624,7 +624,7 @@ extern "C" {
    * @param   type          Node type.
    * @return                <var>NULL</var> if invalid ID.
    */
-  const char * ndb_mgm_get_node_type_string(enum ndb_mgm_node_type type);
+  NDB_EXPORT const char * ndb_mgm_get_node_type_string(enum ndb_mgm_node_type type);
 
   /**
    * Converts an ndb_mgm_node_type to a alias string
@@ -632,7 +632,7 @@ extern "C" {
    * @param   type          Node type.
    * @return                <var>NULL</var> if the ID is invalid.
    */
-  const char * ndb_mgm_get_node_type_alias_string(enum ndb_mgm_node_type type,
+  NDB_EXPORT const char * ndb_mgm_get_node_type_alias_string(enum ndb_mgm_node_type type,
 						  const char **str);
 
   /**
@@ -641,7 +641,7 @@ extern "C" {
    * @param   status        NDB node status string.
    * @return                NDB_MGM_NODE_STATUS_UNKNOWN if invalid string.
    */
-  enum ndb_mgm_node_status ndb_mgm_match_node_status(const char * status);
+  NDB_EXPORT enum ndb_mgm_node_status ndb_mgm_match_node_status(const char * status);
 
   /**
    * Converts an ID to a string
@@ -649,11 +649,11 @@ extern "C" {
    * @param   status        NDB node status.
    * @return                <var>NULL</var> if invalid ID.
    */
-  const char * ndb_mgm_get_node_status_string(enum ndb_mgm_node_status status);
+  NDB_EXPORT const char * ndb_mgm_get_node_status_string(enum ndb_mgm_node_status status);
 
-  const char * ndb_mgm_get_event_severity_string(enum ndb_mgm_event_severity);
-  enum ndb_mgm_event_category ndb_mgm_match_event_category(const char *);
-  const char * ndb_mgm_get_event_category_string(enum ndb_mgm_event_category);
+  NDB_EXPORT const char * ndb_mgm_get_event_severity_string(enum ndb_mgm_event_severity);
+  NDB_EXPORT enum ndb_mgm_event_category ndb_mgm_match_event_category(const char *);
+  NDB_EXPORT const char * ndb_mgm_get_event_category_string(enum ndb_mgm_event_category);
 #endif
 
   /** @} *********************************************************************/
@@ -671,7 +671,7 @@ extern "C" {
    *
    * @return                Cluster state (or <var>NULL</var> on error).
    */
-  struct ndb_mgm_cluster_state * ndb_mgm_get_status(NdbMgmHandle handle);
+  NDB_EXPORT struct ndb_mgm_cluster_state * ndb_mgm_get_status(NdbMgmHandle handle);
 
 
   /**
@@ -688,10 +688,10 @@ extern "C" {
    *
    * @return                Cluster state (or <var>NULL</var> on error).
    */
-  struct ndb_mgm_cluster_state * 
+  NDB_EXPORT struct ndb_mgm_cluster_state *
   ndb_mgm_get_status2(NdbMgmHandle handle,
                       const enum ndb_mgm_node_type types[]);
-                      
+
 
 
   /**
@@ -704,7 +704,7 @@ extern "C" {
    * @param reply the reply message.
    * @return 0 if successful or an error code.
    */
-  int ndb_mgm_dump_state(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_dump_state(NdbMgmHandle handle,
 			 int nodeId,
 			 const int * args,
 			 int num_args,
@@ -717,7 +717,7 @@ extern "C" {
    * @param nodeId of the node for which the configuration is requested.
    * @return the current configuration from the requested node.
    */
-  struct ndb_mgm_configuration *
+  NDB_EXPORT struct ndb_mgm_configuration *
   ndb_mgm_get_configuration_from_node(NdbMgmHandle handle,
                                       int nodeid);
 
@@ -743,7 +743,7 @@ extern "C" {
    * @note    This function is equivalent
    *          to calling ndb_mgm_stop2(handle, no_of_nodes, node_list, 0)
    */
-  int ndb_mgm_stop(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_stop(NdbMgmHandle handle, int no_of_nodes,
 		   const int * node_list);
 
   /**
@@ -760,7 +760,7 @@ extern "C" {
    *
    * @return                Number of nodes stopped (-1 on error).
    */
-  int ndb_mgm_stop2(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_stop2(NdbMgmHandle handle, int no_of_nodes,
 		    const int * node_list, int abort);
 
   /**
@@ -781,7 +781,7 @@ extern "C" {
    *
    * @return                Number of nodes stopped (-1 on error).
    */
-  int ndb_mgm_stop3(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_stop3(NdbMgmHandle handle, int no_of_nodes,
 		    const int * node_list, int abort, int *disconnect);
 
   /**
@@ -804,7 +804,7 @@ extern "C" {
    *
    * @return                Number of nodes stopped (-1 on error).
    */
-   int ndb_mgm_stop4(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_stop4(NdbMgmHandle handle, int no_of_nodes,
 		    const int * node_list, int abort, int force,
                     int *disconnect);
 
@@ -823,7 +823,7 @@ extern "C" {
    * @note    This function is equivalent to calling
    *          ndb_mgm_restart2(handle, no_of_nodes, node_list, 0, 0, 0);
    */
-  int ndb_mgm_restart(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_restart(NdbMgmHandle handle, int no_of_nodes,
 		      const int * node_list);
 
   /**
@@ -843,7 +843,7 @@ extern "C" {
    *
    * @return                Number of nodes stopped (-1 on error).
    */
-  int ndb_mgm_restart2(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_restart2(NdbMgmHandle handle, int no_of_nodes,
 		       const int * node_list, int initial,
 		       int nostart, int abort);
 
@@ -868,7 +868,7 @@ extern "C" {
    *
    * @return                Number of nodes stopped (-1 on error).
    */
-  int ndb_mgm_restart3(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_restart3(NdbMgmHandle handle, int no_of_nodes,
 		       const int * node_list, int initial,
 		       int nostart, int abort, int *disconnect);
 
@@ -895,7 +895,7 @@ extern "C" {
    *
    * @return                Number of nodes stopped (-1 on error).
    */
-  int ndb_mgm_restart4(NdbMgmHandle handle, int no_of_nodes,
+  NDB_EXPORT int ndb_mgm_restart4(NdbMgmHandle handle, int no_of_nodes,
 		       const int * node_list, int initial,
 		       int nostart, int abort, int force, int *disconnect);
 
@@ -917,7 +917,7 @@ extern "C" {
    *          waiting for a START management command which will
    *          actually enable the database node
    */
-  int ndb_mgm_start(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_start(NdbMgmHandle handle,
 		    int no_of_nodes,
 		    const int * node_list);
 
@@ -937,7 +937,7 @@ extern "C" {
    *
    * @return                -1 on error.
    */
-  int ndb_mgm_set_clusterlog_severity_filter(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_clusterlog_severity_filter(NdbMgmHandle handle,
 					     enum ndb_mgm_event_severity severity,
 					     int enable,
 					     struct ndb_mgm_reply* reply);
@@ -960,7 +960,7 @@ extern "C" {
    * @param severity_size   The size of the vector (NDB_MGM_EVENT_SEVERITY_ALL)
    * @return                Number of returned severities or -1 on error
    */
-  int ndb_mgm_get_clusterlog_severity_filter(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_get_clusterlog_severity_filter(NdbMgmHandle handle,
 					     struct ndb_mgm_severity* severity,
 					     unsigned int severity_size);
 
@@ -982,7 +982,7 @@ extern "C" {
    *                        whether the cluster log
    *                        is disabled or enabled.
    */
-  const unsigned int *ndb_mgm_get_clusterlog_severity_filter_old(NdbMgmHandle handle);
+  NDB_EXPORT const unsigned int *ndb_mgm_get_clusterlog_severity_filter_old(NdbMgmHandle handle);
 #endif
 
   /**
@@ -995,7 +995,7 @@ extern "C" {
    * @param   reply         Reply message.
    * @return                -1 on error.
    */
-  int ndb_mgm_set_clusterlog_loglevel(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_clusterlog_loglevel(NdbMgmHandle handle,
 				      int nodeId,
 				      enum ndb_mgm_event_category category,
 				      int level,
@@ -1012,7 +1012,7 @@ extern "C" {
    * @param loglevel_size   The size of the vector (MGM_LOGLEVELS)
    * @return                Number of returned loglevels or -1 on error
    */
-  int ndb_mgm_get_clusterlog_loglevel(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_get_clusterlog_loglevel(NdbMgmHandle handle,
 				      struct ndb_mgm_loglevel* loglevel,
 				      unsigned int loglevel_size);
 
@@ -1025,7 +1025,7 @@ extern "C" {
    *                        where each element contains
    *                        loglevel of corresponding category
    */
-  const unsigned int *ndb_mgm_get_clusterlog_loglevel_old(NdbMgmHandle handle);
+  NDB_EXPORT const unsigned int *ndb_mgm_get_clusterlog_loglevel_old(NdbMgmHandle handle);
 #endif
 
 
@@ -1046,9 +1046,9 @@ extern "C" {
    * @return fd    filedescriptor to read events from
    */
 #ifdef NDB_WIN
-  SOCKET ndb_mgm_listen_event(NdbMgmHandle handle, const int filter[]);
+  NDB_EXPORT SOCKET ndb_mgm_listen_event(NdbMgmHandle handle, const int filter[]);
 #else
-  int ndb_mgm_listen_event(NdbMgmHandle handle, const int filter[]);
+  NDB_EXPORT int ndb_mgm_listen_event(NdbMgmHandle handle, const int filter[]);
 #endif
 
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
@@ -1062,7 +1062,7 @@ extern "C" {
    * @param   reply         Reply message.
    * @return                -1 on error.
    */
-  int ndb_mgm_set_loglevel_node(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_loglevel_node(NdbMgmHandle handle,
 				int nodeId,
 				enum ndb_mgm_event_category category,
 				int level,
@@ -1083,9 +1083,9 @@ extern "C" {
    *
    * @return       NdbLogEventHandle
    */
-  NdbLogEventHandle ndb_mgm_create_logevent_handle(NdbMgmHandle,
+  NDB_EXPORT NdbLogEventHandle ndb_mgm_create_logevent_handle(NdbMgmHandle,
 						   const int filter[]);
-  void ndb_mgm_destroy_logevent_handle(NdbLogEventHandle*);
+  NDB_EXPORT void ndb_mgm_destroy_logevent_handle(NdbLogEventHandle*);
 
   /**
    * Retrieve filedescriptor from NdbLogEventHandle.  May be used in
@@ -1096,9 +1096,9 @@ extern "C" {
    * @return       filedescriptor, -1 on failure.
    */
 #ifdef NDB_WIN
-  SOCKET ndb_logevent_get_fd(const NdbLogEventHandle);
+  NDB_EXPORT SOCKET ndb_logevent_get_fd(const NdbLogEventHandle);
 #else
-  int ndb_logevent_get_fd(const NdbLogEventHandle);
+  NDB_EXPORT int ndb_logevent_get_fd(const NdbLogEventHandle);
 #endif
 
   /**
@@ -1112,7 +1112,7 @@ extern "C" {
    *
    * @note Return value <=0 will leave dst untouched
    */
-  int ndb_logevent_get_next(const NdbLogEventHandle,
+  NDB_EXPORT int ndb_logevent_get_next(const NdbLogEventHandle,
 			    struct ndb_logevent *dst,
 			    unsigned timeout_in_milliseconds);
 
@@ -1121,14 +1121,14 @@ extern "C" {
    *
    * @return     error code
    */
-  int ndb_logevent_get_latest_error(const NdbLogEventHandle);
+  NDB_EXPORT int ndb_logevent_get_latest_error(const NdbLogEventHandle);
 
   /**
    * Retrieve laterst error message
    *
    * @return     error message
    */
-  const char *ndb_logevent_get_latest_error_msg(const NdbLogEventHandle);
+  NDB_EXPORT const char *ndb_logevent_get_latest_error_msg(const NdbLogEventHandle);
 
 
   /** @} *********************************************************************/
@@ -1150,7 +1150,7 @@ extern "C" {
    * @note                    backup_id will not be returned if
    *                          wait_completed == 0
    */
-  int ndb_mgm_start_backup(NdbMgmHandle handle, int wait_completed,
+  NDB_EXPORT int ndb_mgm_start_backup(NdbMgmHandle handle, int wait_completed,
 			   unsigned int* backup_id,
 			   struct ndb_mgm_reply* reply);
 
@@ -1168,7 +1168,7 @@ extern "C" {
    * @note                    backup_id will not be returned if
    *                          wait_completed == 0
    */
-  int ndb_mgm_start_backup2(NdbMgmHandle handle, int wait_completed,
+  NDB_EXPORT int ndb_mgm_start_backup2(NdbMgmHandle handle, int wait_completed,
 			   unsigned int* backup_id,
 			   struct ndb_mgm_reply* reply,
 			   unsigned int input_backupId);
@@ -1188,7 +1188,7 @@ extern "C" {
    * @note                    backup_id will not be returned if
    *                          wait_completed == 0
    */
-  int ndb_mgm_start_backup3(NdbMgmHandle handle, int wait_completed,
+  NDB_EXPORT int ndb_mgm_start_backup3(NdbMgmHandle handle, int wait_completed,
 			   unsigned int* backup_id,
 			   struct ndb_mgm_reply* reply,
 			   unsigned int input_backupId,
@@ -1202,7 +1202,7 @@ extern "C" {
    * @param   reply         Reply message.
    * @return                -1 on error.
    */
-  int ndb_mgm_abort_backup(NdbMgmHandle handle, unsigned int backup_id,
+  NDB_EXPORT int ndb_mgm_abort_backup(NdbMgmHandle handle, unsigned int backup_id,
 			   struct ndb_mgm_reply* reply);
 
 
@@ -1220,7 +1220,7 @@ extern "C" {
    * @param   reply         Reply message.
    * @return                -1 on error.
    */
-  int ndb_mgm_enter_single_user(NdbMgmHandle handle, unsigned int nodeId,
+  NDB_EXPORT int ndb_mgm_enter_single_user(NdbMgmHandle handle, unsigned int nodeId,
 				struct ndb_mgm_reply* reply);
 
   /**
@@ -1231,7 +1231,7 @@ extern "C" {
    *
    * @return                -1 on error.
    */
-  int ndb_mgm_exit_single_user(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_exit_single_user(NdbMgmHandle handle,
 			       struct ndb_mgm_reply* reply);
 
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
@@ -1251,11 +1251,11 @@ extern "C" {
    *
    * @note The caller is responsible for calling ndb_mgm_destroy_configuration()
    */
-  struct ndb_mgm_configuration * ndb_mgm_get_configuration(NdbMgmHandle handle,
+  NDB_EXPORT struct ndb_mgm_configuration * ndb_mgm_get_configuration(NdbMgmHandle handle,
 							   unsigned version);
-  void ndb_mgm_destroy_configuration(struct ndb_mgm_configuration *);
+  NDB_EXPORT void ndb_mgm_destroy_configuration(struct ndb_mgm_configuration *);
 
-  int ndb_mgm_alloc_nodeid(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_alloc_nodeid(NdbMgmHandle handle,
 			   unsigned version, int nodetype, int log_event);
 
   /**
@@ -1273,7 +1273,7 @@ extern "C" {
    *
    * @note you still have to destroy the NdbMgmHandle.
    */
-  int ndb_mgm_end_session(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_end_session(NdbMgmHandle handle);
 
   /**
    * ndb_mgm_get_fd
@@ -1288,41 +1288,41 @@ extern "C" {
    *
    */
 #ifdef NDB_WIN
-  SOCKET ndb_mgm_get_fd(NdbMgmHandle handle);
+  NDB_EXPORT SOCKET ndb_mgm_get_fd(NdbMgmHandle handle);
 #else
-  int ndb_mgm_get_fd(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_get_fd(NdbMgmHandle handle);
 #endif
 
   /**
    * Get the node id of the mgm server we're connected to
    */
-  Uint32 ndb_mgm_get_mgmd_nodeid(NdbMgmHandle handle);
+  NDB_EXPORT Uint32 ndb_mgm_get_mgmd_nodeid(NdbMgmHandle handle);
 
   /**
    * Config iterator
    */
   typedef struct ndb_mgm_configuration_iterator ndb_mgm_configuration_iterator;
 
-  ndb_mgm_configuration_iterator* ndb_mgm_create_configuration_iterator
+  NDB_EXPORT ndb_mgm_configuration_iterator* ndb_mgm_create_configuration_iterator
   (struct ndb_mgm_configuration *, unsigned type_of_section);
-  void ndb_mgm_destroy_iterator(ndb_mgm_configuration_iterator*);
+  NDB_EXPORT void ndb_mgm_destroy_iterator(ndb_mgm_configuration_iterator*);
 
-  int ndb_mgm_first(ndb_mgm_configuration_iterator*);
-  int ndb_mgm_next(ndb_mgm_configuration_iterator*);
-  int ndb_mgm_valid(const ndb_mgm_configuration_iterator*);
-  int ndb_mgm_find(ndb_mgm_configuration_iterator*,
+  NDB_EXPORT int ndb_mgm_first(ndb_mgm_configuration_iterator*);
+  NDB_EXPORT int ndb_mgm_next(ndb_mgm_configuration_iterator*);
+  NDB_EXPORT int ndb_mgm_valid(const ndb_mgm_configuration_iterator*);
+  NDB_EXPORT int ndb_mgm_find(ndb_mgm_configuration_iterator*,
 		   int param, unsigned value);
 
-  int ndb_mgm_get_int_parameter(const ndb_mgm_configuration_iterator*,
+  NDB_EXPORT int ndb_mgm_get_int_parameter(const ndb_mgm_configuration_iterator*,
 				int param, unsigned * value);
-  int ndb_mgm_get_int64_parameter(const ndb_mgm_configuration_iterator*,
+  NDB_EXPORT int ndb_mgm_get_int64_parameter(const ndb_mgm_configuration_iterator*,
 				  int param, Uint64 * value);
-  int ndb_mgm_get_string_parameter(const ndb_mgm_configuration_iterator*,
+  NDB_EXPORT int ndb_mgm_get_string_parameter(const ndb_mgm_configuration_iterator*,
 				   int param, const char  ** value);
-  int ndb_mgm_purge_stale_sessions(NdbMgmHandle handle, char **);
-  int ndb_mgm_check_connection(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_purge_stale_sessions(NdbMgmHandle handle, char **);
+  NDB_EXPORT int ndb_mgm_check_connection(NdbMgmHandle handle);
 
-  int ndb_mgm_report_event(NdbMgmHandle handle, Uint32 *data, Uint32 length);
+  NDB_EXPORT int ndb_mgm_report_event(NdbMgmHandle handle, Uint32 *data, Uint32 length);
 
   struct ndb_mgm_param_info
   {
@@ -1333,12 +1333,12 @@ extern "C" {
              size_t * size);
 #endif
 
-  int ndb_mgm_create_nodegroup(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_create_nodegroup(NdbMgmHandle handle,
                                int * nodes,
                                int * ng,
                                struct ndb_mgm_reply* mgmreply);
 
-  int ndb_mgm_drop_nodegroup(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_drop_nodegroup(NdbMgmHandle handle,
                              int ng,
                              struct ndb_mgm_reply* mgmreply);
 
@@ -1382,7 +1382,7 @@ extern "C" {
    *   memoryusage or baclupstatus for the whole cluster,
    *   returned from ndb_mgm_dump_events()
    */
-  struct ndb_mgm_events {
+  struct NDB_EXPORT ndb_mgm_events {
     /** Number of entries in the logevents array */
     int no_of_events;
     /** Array of ndb_logevents  */
@@ -1411,7 +1411,7 @@ extern "C" {
    * @return                struct with array of ndb_logevent's
    *                        (or <var>NULL</var> on error).
    */
-  struct ndb_mgm_events*
+  NDB_EXPORT struct ndb_mgm_events*
   ndb_mgm_dump_events(NdbMgmHandle handle, enum Ndb_logevent_type type,
                       int no_of_nodes, const int * node_list);
 

=== modified file 'storage/ndb/include/mgmapi/mgmapi_debug.h'
--- a/storage/ndb/include/mgmapi/mgmapi_debug.h	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/include/mgmapi/mgmapi_debug.h	2011-09-29 07:44:40 +0000
@@ -31,7 +31,7 @@ extern "C" {
    * @param reply the reply message.
    * @return 0 if successful.
    */
-  int ndb_mgm_start_signallog(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_start_signallog(NdbMgmHandle handle,
 			      int nodeId,
 			      struct ndb_mgm_reply* reply);
 
@@ -43,7 +43,7 @@ extern "C" {
    * @param reply the reply message.
    * @return 0 if successful.
    */
-  int ndb_mgm_stop_signallog(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_stop_signallog(NdbMgmHandle handle,
 			     int nodeId,
 			     struct ndb_mgm_reply* reply);
 
@@ -57,7 +57,7 @@ extern "C" {
    * @param reply the reply message.
    * @return 0 if successful or an error code.
    */
-  int ndb_mgm_log_signals(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_log_signals(NdbMgmHandle handle,
 			  int nodeId, 
 			  enum ndb_mgm_signal_log_mode mode, 
 			  const char* blockNames,
@@ -72,7 +72,7 @@ extern "C" {
    * @param reply the reply message.
    * @return 0 if successful or an error code.
    */
-  int ndb_mgm_set_trace(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_trace(NdbMgmHandle handle,
 			int nodeId,
 			int traceNumber,
 			struct ndb_mgm_reply* reply);
@@ -86,7 +86,7 @@ extern "C" {
    * @param reply the reply message.
    * @return 0 if successful or an error code.
    */
-  int ndb_mgm_insert_error(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_insert_error(NdbMgmHandle handle,
 			   int nodeId, 
 			   int errorCode,
 			   struct ndb_mgm_reply* reply);
@@ -100,27 +100,27 @@ extern "C" {
    * @param reply the reply message.
    * @return 0 if successful or an error code.
    */
-  int ndb_mgm_set_int_parameter(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_int_parameter(NdbMgmHandle handle,
 				int node, 
 				int param,
 				unsigned value,
 				struct ndb_mgm_reply* reply);
   
-  int ndb_mgm_set_int64_parameter(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_int64_parameter(NdbMgmHandle handle,
 				  int node, 
 				  int param,
 				  unsigned long long value,
 				  struct ndb_mgm_reply* reply);
 
-  int ndb_mgm_set_string_parameter(NdbMgmHandle handle,
+  NDB_EXPORT int ndb_mgm_set_string_parameter(NdbMgmHandle handle,
 				   int node, 
 				   int param,
 				   const char * value,
 				   struct ndb_mgm_reply* reply);
 
-  Uint64 ndb_mgm_get_session_id(NdbMgmHandle handle);
+  NDB_EXPORT Uint64 ndb_mgm_get_session_id(NdbMgmHandle handle);
 
-  struct NdbMgmSession {
+  struct NDB_EXPORT NdbMgmSession {
     Uint64 id;
     Uint32 m_stopSelf;
     Uint32 m_stop;
@@ -129,7 +129,7 @@ extern "C" {
     Uint32 parser_status;
   };
 
-  int ndb_mgm_get_session(NdbMgmHandle handle, Uint64 id,
+  NDB_EXPORT int ndb_mgm_get_session(NdbMgmHandle handle, Uint64 id,
                           struct NdbMgmSession *s, int *len);
 
 #ifdef __cplusplus

=== modified file 'storage/ndb/include/ndb_init.h'
--- a/storage/ndb/include/ndb_init.h	2011-06-30 15:59:25 +0000
+++ b/storage/ndb/include/ndb_init.h	2011-09-29 07:44:40 +0000
@@ -20,12 +20,14 @@
 #ifndef NDB_INIT_H
 #define NDB_INIT_H
 
+#include <ndb_types.h>
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
 /* call in main() - does not return on error */
-extern int ndb_init(void);
-extern void ndb_end(int);
+extern NDB_EXPORT int ndb_init(void);
+extern NDB_EXPORT void ndb_end(int);
 #define NDB_INIT(prog_name) {my_progname=(prog_name); ndb_init();}
 #ifdef  __cplusplus
 }

=== modified file 'storage/ndb/include/ndb_types.h.in'
--- a/storage/ndb/include/ndb_types.h.in	2011-09-19 09:26:01 +0000
+++ b/storage/ndb/include/ndb_types.h.in	2011-09-29 07:44:40 +0000
@@ -37,7 +37,7 @@ typedef   signed __int64 Int64;
 #else
 typedef unsigned long long Uint64;
 typedef   signed long long Int64;
-#define NDB_EXPORT
+#define NDB_EXPORT __attribute__ ((visibility ("default")))
 #endif
 
 typedef   signed char  Int8;

=== modified file 'storage/ndb/include/ndbapi/Ndb.hpp'
--- a/storage/ndb/include/ndbapi/Ndb.hpp	2011-09-09 13:33:52 +0000
+++ b/storage/ndb/include/ndbapi/Ndb.hpp	2011-09-29 07:44:40 +0000
@@ -1049,7 +1049,7 @@ typedef void (* NdbEventCallback)(NdbEve
  */
 #endif
 
-class Ndb
+class NDB_EXPORT Ndb
 {
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
   friend class NdbReceiver;
@@ -1352,7 +1352,7 @@ public:
    * passed as an array, with the last part's ptr == NULL.
    * 
    */
-  struct Key_part_ptr
+  struct NDB_EXPORT Key_part_ptr
   {
     const void * ptr;
     unsigned len;
@@ -1378,7 +1378,7 @@ public:
    *
    */
 
-  struct PartitionSpec
+  struct NDB_EXPORT PartitionSpec
   {
     enum SpecType
     {

=== modified file 'storage/ndb/include/ndbapi/NdbBlob.hpp'
--- a/storage/ndb/include/ndbapi/NdbBlob.hpp	2011-06-30 15:59:25 +0000
+++ b/storage/ndb/include/ndbapi/NdbBlob.hpp	2011-09-29 07:44:40 +0000
@@ -126,7 +126,7 @@ class NdbEventOperationImpl;
  */
 #endif
 
-class NdbBlob {
+class NDB_EXPORT NdbBlob {
 public:
   /**
    * State.

=== modified file 'storage/ndb/include/ndbapi/NdbDictionary.hpp'
--- a/storage/ndb/include/ndbapi/NdbDictionary.hpp	2011-09-02 09:16:56 +0000
+++ b/storage/ndb/include/ndbapi/NdbDictionary.hpp	2011-09-29 07:44:40 +0000
@@ -63,14 +63,14 @@ class NdbRecord;
  *
  * See @ref ndbapi_simple_index.cpp for details of usage.
  */
-class NdbDictionary {
+class NDB_EXPORT NdbDictionary {
 public:
   NdbDictionary() {}                          /* Remove gcc warning */
   /**
    * @class Object
    * @brief Meta information about a database object (a table, index, etc)
    */
-  class Object {
+  class NDB_EXPORT Object {
   public:
     Object() {}                               /* Remove gcc warning */
     virtual ~Object() {}                      /* Remove gcc warning */
@@ -175,7 +175,7 @@ public:
 
   class Dictionary; // Forward declaration
   
-  class ObjectId : public Object 
+  class NDB_EXPORT ObjectId : public Object 
   {
   public:
     ObjectId();
@@ -223,7 +223,7 @@ public:
    * Data formats are same as in MySQL.  NDB API provides no support for
    * constructing such formats.  NDB kernel checks them however.
    */
-  class Column {
+  class NDB_EXPORT Column {
   public:
     /**
      * The builtin column types
@@ -661,7 +661,7 @@ public:
    * plus the overhead 2 MByte and rounded up to 100 000 kBytes.<br>
    *
    */
-  class Table : public Object {
+  class NDB_EXPORT Table : public Object {
   public:
     /*
      * Single user mode specifies access rights to table during single user mode
@@ -1136,7 +1136,7 @@ public:
    * @class Index
    * @brief Represents an index in an NDB Cluster
    */
-  class Index : public Object {
+  class NDB_EXPORT Index : public Object {
   public:
     
     /** 
@@ -1401,7 +1401,7 @@ public:
    * @brief Represents an Event in NDB Cluster
    *
    */
-  class Event : public Object  {
+  class NDB_EXPORT Event : public Object  {
   public:
     /**
      * Specifies the type of database operations an Event listens to
@@ -1655,7 +1655,7 @@ public:
     /* Use the mysqld record format for bitfields, only used inside mysqld. */
     RecMysqldBitfield= 0x2
   };
-  struct RecordSpecification {
+  struct NDB_EXPORT RecordSpecification {
     /*
       Column described by this entry (the column maximum size defines field
       size in row).
@@ -1825,7 +1825,7 @@ public:
   /**
    * @class LogfileGroup
    */
-  class LogfileGroup : public Object {
+  class NDB_EXPORT LogfileGroup : public Object {
   public:
     LogfileGroup();
     LogfileGroup(const LogfileGroup&);
@@ -1867,7 +1867,7 @@ public:
   /**
    * @class Tablespace
    */
-  class Tablespace : public Object {
+  class NDB_EXPORT Tablespace : public Object {
   public:
     Tablespace();
     Tablespace(const Tablespace&);
@@ -1909,7 +1909,7 @@ public:
     Tablespace(NdbTablespaceImpl&);
   };
 
-  class Datafile : public Object {
+  class NDB_EXPORT Datafile : public Object {
   public:
     Datafile();
     Datafile(const Datafile&);
@@ -1953,7 +1953,7 @@ public:
     Datafile(NdbDatafileImpl&);
   };
 
-  class Undofile : public Object {
+  class NDB_EXPORT Undofile : public Object {
   public:
     Undofile();
     Undofile(const Undofile&);
@@ -2001,7 +2001,7 @@ public:
    * @brief Represents a HashMap in an NDB Cluster
    *
    */
-  class HashMap : public Object {
+  class NDB_EXPORT HashMap : public Object {
   public:
     HashMap();
     HashMap(const HashMap&);
@@ -2045,7 +2045,7 @@ public:
    * @class Dictionary
    * @brief Dictionary for defining and retreiving meta data
    */
-  class Dictionary {
+  class NDB_EXPORT Dictionary {
   public:
     /**
      * @class List
@@ -2643,6 +2643,7 @@ public:
 
 }; // class NdbDictionary
 
+NDB_EXPORT
 class NdbOut& operator <<(class NdbOut& out, const NdbDictionary::Column& col);
 
 #endif

=== modified file 'storage/ndb/include/ndbapi/NdbError.hpp'
--- a/storage/ndb/include/ndbapi/NdbError.hpp	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/include/ndbapi/NdbError.hpp	2011-09-29 07:44:40 +0000
@@ -19,6 +19,7 @@
 #ifndef NDB_ERROR_HPP
 #define NDB_ERROR_HPP
 
+#include <ndb_types.h>
 #include "ndberror.h"
 
 /**
@@ -45,7 +46,7 @@
  * 
  * For example of use, see @ref ndbapi_retries.cpp.
  */
-struct NdbError {
+struct NDB_EXPORT NdbError {
   /**
    * Status categorizes error codes into status values reflecting
    * what the application should do when encountering errors
@@ -248,7 +249,8 @@ struct NdbError {
 #endif
 };
 
-class NdbOut& operator <<(class NdbOut&, const NdbError &);
-class NdbOut& operator <<(class NdbOut&, const NdbError::Status&);
-class NdbOut& operator <<(class NdbOut&, const NdbError::Classification&);
+NDB_EXPORT class NdbOut& operator <<(class NdbOut&, const NdbError &);
+NDB_EXPORT class NdbOut& operator <<(class NdbOut&, const NdbError::Status&);
+NDB_EXPORT class NdbOut& operator <<(class NdbOut&, const NdbError::Classification&);
+
 #endif

=== modified file 'storage/ndb/include/ndbapi/NdbEventOperation.hpp'
--- a/storage/ndb/include/ndbapi/NdbEventOperation.hpp	2011-08-31 10:39:08 +0000
+++ b/storage/ndb/include/ndbapi/NdbEventOperation.hpp	2011-09-29 07:44:40 +0000
@@ -80,7 +80,7 @@ class NdbEventOperationImpl;
  *
  * @note this is an inteface to viewing events that is subject to change
  */
-class NdbEventOperation {
+class NDB_EXPORT NdbEventOperation {
 public:
   /**
    * State of the NdbEventOperation object

=== modified file 'storage/ndb/include/ndbapi/NdbIndexOperation.hpp'
--- a/storage/ndb/include/ndbapi/NdbIndexOperation.hpp	2011-06-30 15:59:25 +0000
+++ b/storage/ndb/include/ndbapi/NdbIndexOperation.hpp	2011-09-29 07:44:40 +0000
@@ -27,7 +27,7 @@ class NdbResultSet;
  * @class NdbIndexOperation
  * @brief Class of index operations for use in transactions
  */
-class NdbIndexOperation : public NdbOperation
+class NDB_EXPORT NdbIndexOperation : public NdbOperation
 {
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
   friend class Ndb;

=== modified file 'storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp'
--- a/storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp	2011-09-02 09:16:56 +0000
+++ b/storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp	2011-09-29 07:44:40 +0000
@@ -25,7 +25,7 @@
  * @class NdbIndexScanOperation
  * @brief Class of scan operations for use to scan ordered index
  */
-class NdbIndexScanOperation : public NdbScanOperation {
+class NDB_EXPORT NdbIndexScanOperation : public NdbScanOperation {
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
   friend class Ndb;
   friend class NdbTransaction;

=== modified file 'storage/ndb/include/ndbapi/NdbIndexStat.hpp'
--- a/storage/ndb/include/ndbapi/NdbIndexStat.hpp	2011-08-17 10:36:01 +0000
+++ b/storage/ndb/include/ndbapi/NdbIndexStat.hpp	2011-09-29 07:44:40 +0000
@@ -36,7 +36,7 @@ class NdbIndexStatImpl;
  * details are available via getNdbError().
  */
 
-class NdbIndexStat {
+class NDB_EXPORT NdbIndexStat {
 public:
   NdbIndexStat();
   ~NdbIndexStat();

=== modified file 'storage/ndb/include/ndbapi/NdbInterpretedCode.hpp'
--- a/storage/ndb/include/ndbapi/NdbInterpretedCode.hpp	2011-09-02 09:16:56 +0000
+++ b/storage/ndb/include/ndbapi/NdbInterpretedCode.hpp	2011-09-29 07:44:40 +0000
@@ -69,7 +69,7 @@ class NdbColumnImpl;
        The NdbScanFilter API is a more stable Api for defining scan-filter
        style programs.
 */
-class NdbInterpretedCode
+class NDB_EXPORT NdbInterpretedCode
 {
 public:
   /**

=== modified file 'storage/ndb/include/ndbapi/NdbOperation.hpp'
--- a/storage/ndb/include/ndbapi/NdbOperation.hpp	2011-09-02 09:16:56 +0000
+++ b/storage/ndb/include/ndbapi/NdbOperation.hpp	2011-09-29 07:44:40 +0000
@@ -42,7 +42,7 @@ class NdbLockHandle;
  * @class NdbOperation
  * @brief Class of operations for use in transactions.  
  */
-class NdbOperation
+class NDB_EXPORT NdbOperation
 {
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
   friend class Ndb;

=== modified file 'storage/ndb/include/ndbapi/NdbRecAttr.hpp'
--- a/storage/ndb/include/ndbapi/NdbRecAttr.hpp	2011-09-02 09:16:56 +0000
+++ b/storage/ndb/include/ndbapi/NdbRecAttr.hpp	2011-09-29 07:44:40 +0000
@@ -71,7 +71,7 @@ class NdbOperation;
  *
  * @note Variable-sized attributes are not yet supported.
  */
-class NdbRecAttr
+class NDB_EXPORT NdbRecAttr
 {
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
   friend class NdbOperation;
@@ -461,9 +461,9 @@ NdbRecAttr::setUNDEFINED()
   m_size_in_bytes= -1;
 }
 
-class NdbOut& operator <<(class NdbOut&, const NdbRecAttr &);
+NDB_EXPORT class NdbOut& operator <<(class NdbOut&, const NdbRecAttr &);
 
-class NdbRecordPrintFormat : public NdbDictionary::NdbDataPrintFormat
+class NDB_EXPORT NdbRecordPrintFormat : public NdbDictionary::NdbDataPrintFormat
 {
 public:
   NdbRecordPrintFormat() : NdbDataPrintFormat() {};
@@ -472,6 +472,7 @@ public:
 
 /* See also NdbDictionary::printFormattedValue() */
 
+NDB_EXPORT
 NdbOut&
 ndbrecattr_print_formatted(NdbOut& out, const NdbRecAttr &r,
                            const NdbRecordPrintFormat &f);

=== modified file 'storage/ndb/include/ndbapi/NdbScanFilter.hpp'
--- a/storage/ndb/include/ndbapi/NdbScanFilter.hpp	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/include/ndbapi/NdbScanFilter.hpp	2011-09-29 07:44:40 +0000
@@ -32,7 +32,7 @@
  *        the future! 
  * 
  */
-class NdbScanFilter {
+class NDB_EXPORT NdbScanFilter {
 public:
   /**
    * Constructor

=== modified file 'storage/ndb/include/ndbapi/NdbScanOperation.hpp'
--- a/storage/ndb/include/ndbapi/NdbScanOperation.hpp	2011-09-02 09:16:56 +0000
+++ b/storage/ndb/include/ndbapi/NdbScanOperation.hpp	2011-09-29 07:44:40 +0000
@@ -28,7 +28,7 @@ class PollGuard;
  * @class NdbScanOperation
  * @brief Class of scan operations for use in transactions.  
  */
-class NdbScanOperation : public NdbOperation {
+class NDB_EXPORT NdbScanOperation : public NdbOperation {
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
   friend class Ndb;
   friend class NdbTransaction;

=== modified file 'storage/ndb/include/ndbapi/NdbTransaction.hpp'
--- a/storage/ndb/include/ndbapi/NdbTransaction.hpp	2011-09-02 09:16:56 +0000
+++ b/storage/ndb/include/ndbapi/NdbTransaction.hpp	2011-09-29 07:44:40 +0000
@@ -142,7 +142,7 @@ enum ExecType {
 
 class NdbRecord;
 
-class NdbTransaction
+class NDB_EXPORT NdbTransaction
 {
 #ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
   friend class Ndb;

=== modified file 'storage/ndb/include/ndbapi/ndb_cluster_connection.hpp'
--- a/storage/ndb/include/ndbapi/ndb_cluster_connection.hpp	2011-09-21 10:45:41 +0000
+++ b/storage/ndb/include/ndbapi/ndb_cluster_connection.hpp	2011-09-29 07:44:40 +0000
@@ -47,7 +47,7 @@ class NdbWaitGroup;
  * By using the wait_until_ready() method it is possible to wait
  * for the connection to reach one or more storage nodes.
  */
-class Ndb_cluster_connection {
+class NDB_EXPORT Ndb_cluster_connection {
 public:
   /**
    * Create a connection to a cluster of storage nodes

=== modified file 'storage/ndb/include/util/NdbOut.hpp'
--- a/storage/ndb/include/util/NdbOut.hpp	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/include/util/NdbOut.hpp	2011-09-29 07:44:40 +0000
@@ -47,14 +47,10 @@
        ndbout_c("Hello World %d\n", 1);
 */
 
-class NdbOut;
 class OutputStream;
 class NullOutputStream;
 
-/*  Declare a static variable of NdbOut as ndbout */
-extern NdbOut ndbout, ndberr;
-
-class NdbOut
+class NDB_EXPORT NdbOut
 {
 public:
   NdbOut& operator<<(NdbOut& (* _f)(NdbOut&));
@@ -93,9 +89,12 @@ private:
   bool m_autoflush;
 };
 
+/*  Declare a static variable of NdbOut as ndbout */
+NDB_EXPORT extern NdbOut ndbout, ndberr;
+
 #ifdef NDB_WIN
 typedef int(*NdbOutF)(char*);
-extern NdbOutF ndbout_svc;
+extern NDB_EXPORT NdbOutF ndbout_svc;
 #endif
 
 inline NdbOut& NdbOut::operator<<(NdbOut& (* _f)(NdbOut&)) {
@@ -119,11 +118,13 @@ inline NdbOut& dec(NdbOut& _NdbOut) {
   return _NdbOut.setHexFormat(0);
 }
 extern "C"
+NDB_EXPORT
 void ndbout_c(const char * fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2);
 extern "C"
+NDB_EXPORT
 void vndbout_c(const char * fmt, va_list ap);
 
-class FilteredNdbOut : public NdbOut {
+class NDB_EXPORT FilteredNdbOut : public NdbOut {
 public:
   FilteredNdbOut(OutputStream &, int threshold = 0, int level = 0);
   virtual ~FilteredNdbOut();
@@ -141,7 +142,7 @@ private:
 };
 
 #else
-void ndbout_c(const char * fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2);
+NDB_EXPORT void ndbout_c(const char * fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2);
 #endif
 
 #endif

=== modified file 'storage/ndb/src/mgmapi/mgmapi_configuration.hpp'
--- a/storage/ndb/src/mgmapi/mgmapi_configuration.hpp	2011-06-30 15:59:25 +0000
+++ b/storage/ndb/src/mgmapi/mgmapi_configuration.hpp	2011-09-29 07:44:40 +0000
@@ -21,11 +21,11 @@
 
 #include <ConfigValues.hpp>
 
-struct ndb_mgm_configuration {
+struct NDB_EXPORT ndb_mgm_configuration {
   ConfigValues m_config;
 };
 
-struct ndb_mgm_configuration_iterator {
+struct NDB_EXPORT ndb_mgm_configuration_iterator {
   Uint32 m_sectionNo;
   Uint32 m_typeOfSection;
   ConfigValues::ConstIterator m_config;

=== modified file 'storage/ndb/src/mgmapi/mgmapi_internal.h'
--- a/storage/ndb/src/mgmapi/mgmapi_internal.h	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/src/mgmapi/mgmapi_internal.h	2011-09-29 07:44:40 +0000
@@ -70,7 +70,7 @@ extern "C" {
    */
   NDB_SOCKET_TYPE ndb_mgm_convert_to_transporter(NdbMgmHandle *handle);
 
-  int ndb_mgm_disconnect_quiet(NdbMgmHandle handle);
+  NDB_EXPORT int ndb_mgm_disconnect_quiet(NdbMgmHandle handle);
 
   /**
    * Set configuration

=== modified file 'storage/ndb/src/ndbapi/NdbInfo.hpp'
--- a/storage/ndb/src/ndbapi/NdbInfo.hpp	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/src/ndbapi/NdbInfo.hpp	2011-09-29 07:44:40 +0000
@@ -27,7 +27,7 @@
 #include <util/BaseString.hpp>
 #include <util/HashMap.hpp>
 
-class NdbInfo
+class NDB_EXPORT NdbInfo
 {
 public:
 
@@ -40,7 +40,7 @@ public:
     ERR_WrongState = 43
   };
 
-  struct Column
+  struct NDB_EXPORT Column
   {
   public:
 
@@ -59,7 +59,7 @@ public:
     Column & operator=(const Column & col);
   };
 
-  class Table
+  class NDB_EXPORT Table
   {
   public:
 

=== modified file 'storage/ndb/src/ndbapi/NdbInfoRecAttr.hpp'
--- a/storage/ndb/src/ndbapi/NdbInfoRecAttr.hpp	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/src/ndbapi/NdbInfoRecAttr.hpp	2011-09-29 07:44:40 +0000
@@ -19,7 +19,7 @@
 #ifndef NdbInfoRecAttr_H
 #define NdbInfoRecAttr_H
 
-class NdbInfoRecAttr {
+class NDB_EXPORT NdbInfoRecAttr {
 public:
   const void* ptr() const {
     return m_data;

=== modified file 'storage/ndb/src/ndbapi/NdbInfoScanOperation.hpp'
--- a/storage/ndb/src/ndbapi/NdbInfoScanOperation.hpp	2011-07-05 12:46:07 +0000
+++ b/storage/ndb/src/ndbapi/NdbInfoScanOperation.hpp	2011-09-29 07:44:40 +0000
@@ -19,7 +19,7 @@
 #ifndef NDBINFOSCANOPERATION_H
 #define NDBINFOSCANOPERATION_H
 
-class NdbInfoScanOperation {
+class NDB_EXPORT NdbInfoScanOperation {
 public:
   int readTuples();
   const class NdbInfoRecAttr* getValue(const char * anAttrName);

=== modified file 'storage/ndb/src/ndbapi/NdbQueryBuilder.hpp'
--- a/storage/ndb/src/ndbapi/NdbQueryBuilder.hpp	2011-09-14 13:56:17 +0000
+++ b/storage/ndb/src/ndbapi/NdbQueryBuilder.hpp	2011-09-29 07:44:40 +0000
@@ -53,7 +53,7 @@ class NdbQueryOperationDefImpl;
  * NdbQueryOperand, a construct for specifying values which are used 
  * to specify lookup keys, bounds or filters in the query tree.
  */
-class NdbQueryOperand  // A base class specifying a single value
+class NDB_EXPORT NdbQueryOperand  // A base class specifying a single value
 {
 public:
   // Column which this operand relates to
@@ -74,7 +74,7 @@ private:
 };
 
 // A NdbQueryOperand is either of these:
-class NdbConstOperand : public NdbQueryOperand
+class NDB_EXPORT NdbConstOperand : public NdbQueryOperand
 {
 private:
   friend class NdbConstOperandImpl;
@@ -82,7 +82,7 @@ private:
   ~NdbConstOperand();
 };
 
-class NdbLinkedOperand : public NdbQueryOperand
+class NDB_EXPORT NdbLinkedOperand : public NdbQueryOperand
 {
 private:
   friend class NdbLinkedOperandImpl;
@@ -90,7 +90,7 @@ private:
   ~NdbLinkedOperand();
 };
 
-class NdbParamOperand  : public NdbQueryOperand {
+class NDB_EXPORT NdbParamOperand  : public NdbQueryOperand {
 public:
   const char* getName() const;
   Uint32 getEnum() const;
@@ -109,7 +109,7 @@ private:
  *  with the set'ers methods, and then supplied as an argument when creating the 
  *  NdbQueryOperationDef.
  */
-class NdbQueryOptions
+class NDB_EXPORT NdbQueryOptions
 {
 public:
 
@@ -206,7 +206,7 @@ private:
 /**
  * NdbQueryOperationDef defines an operation on a single NDB table
  */
-class NdbQueryOperationDef // Base class for all operation definitions
+class NDB_EXPORT NdbQueryOperationDef// Base class for all operation definitions
 {
 public:
 
@@ -262,7 +262,7 @@ private:
 }; // class NdbQueryOperationDef
 
 
-class NdbQueryLookupOperationDef : public NdbQueryOperationDef
+class NDB_EXPORT NdbQueryLookupOperationDef : public NdbQueryOperationDef
 {
 public:
 
@@ -273,7 +273,7 @@ private:
   ~NdbQueryLookupOperationDef();
 }; // class NdbQueryLookupOperationDef
 
-class NdbQueryScanOperationDef : public NdbQueryOperationDef  // Base class for scans
+class NDB_EXPORT NdbQueryScanOperationDef : public NdbQueryOperationDef  // Base class for scans
 {
 protected:
   // Enforce object creation through NdbQueryBuilder factory 
@@ -281,7 +281,7 @@ protected:
   ~NdbQueryScanOperationDef();
 }; // class NdbQueryScanOperationDef
 
-class NdbQueryTableScanOperationDef : public NdbQueryScanOperationDef
+class NDB_EXPORT NdbQueryTableScanOperationDef : public NdbQueryScanOperationDef
 {
 private:
   // Enforce object creation through NdbQueryBuilder factory 
@@ -290,7 +290,7 @@ private:
   ~NdbQueryTableScanOperationDef();
 }; // class NdbQueryTableScanOperationDef
 
-class NdbQueryIndexScanOperationDef : public NdbQueryScanOperationDef
+class NDB_EXPORT NdbQueryIndexScanOperationDef : public NdbQueryScanOperationDef
 {
 public:
 
@@ -309,7 +309,7 @@ private:
  * NdbQueryIndexScanOperationDef and does not have to be 
  * persistent after the NdbQueryBuilder::scanIndex() call
  */
-class NdbQueryIndexBound
+class NDB_EXPORT NdbQueryIndexBound
 {
 public:
   // C'tor for an equal bound:
@@ -361,7 +361,7 @@ private:
  *   until it is explicit released by NdbQueryDef::release()
  *
  */
-class NdbQueryBuilder 
+class NDB_EXPORT NdbQueryBuilder
 {
   friend class NdbQueryBuilderImpl;
 private:
@@ -488,7 +488,7 @@ private:
  * the actuall values required by ::execute() (ie. Lookup an bind keys).
  *
  */
-class NdbQueryDef
+class NDB_EXPORT NdbQueryDef
 {
   friend class NdbQueryDefImpl;
 

=== modified file 'storage/ndb/src/ndbapi/NdbQueryOperation.hpp'
--- a/storage/ndb/src/ndbapi/NdbQueryOperation.hpp	2011-08-22 08:35:35 +0000
+++ b/storage/ndb/src/ndbapi/NdbQueryOperation.hpp	2011-09-29 07:44:40 +0000
@@ -103,7 +103,7 @@ class NdbQueryOperationImpl;
  * possible to mix the usage of global and local cursors.
  *
  ************************************************************************/
-class NdbQuery
+class NDB_EXPORT NdbQuery
 {
 private:
   // Only constructable through ::buildQuery() 
@@ -228,7 +228,7 @@ private:
 
 
 
-class NdbQueryOperation
+class NDB_EXPORT NdbQueryOperation
 {
 private:
   // Only constructable through executing a NdbQueryDef
@@ -445,7 +445,7 @@ private:
 }; // class NdbQueryOperation
 
  
-class NdbQueryParamValue
+class NDB_EXPORT NdbQueryParamValue
 {
 public:
 

=== modified file 'storage/ndb/src/ndbapi/ndb_internal.hpp'
--- a/storage/ndb/src/ndbapi/ndb_internal.hpp	2011-06-30 15:59:25 +0000
+++ b/storage/ndb/src/ndbapi/ndb_internal.hpp	2011-09-29 07:44:40 +0000
@@ -18,10 +18,12 @@
 #ifndef NDB_INTERNAL_HPP
 #define NDB_INTERNAL_HPP
 
+#include <ndb_types.h>
+
 /**
  * This class exposes non-public funcionality to various test/utility programs
  */
-class Ndb_internal
+class NDB_EXPORT Ndb_internal
 {
 public:
   Ndb_internal() {}

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.5-cluster branch (jonas.oreland:3540 to 3541) Jonas Oreland2 Oct