Drizzled Public API Documentation

ha_prototypes.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003 Copyright (C) 2006, 2010, Innobase Oy. All Rights Reserved.
00004 
00005 This program is free software; you can redistribute it and/or modify it under
00006 the terms of the GNU General Public License as published by the Free Software
00007 Foundation; version 2 of the License.
00008 
00009 This program is distributed in the hope that it will be useful, but WITHOUT
00010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00011 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
00012 
00013 You should have received a copy of the GNU General Public License along with
00014 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
00015 St, Fifth Floor, Boston, MA 02110-1301 USA
00016 
00017 *****************************************************************************/
00018 
00019 /*******************************************************************/
00027 #pragma once
00028 #ifndef HA_INNODB_PROTOTYPES_H
00029 #define HA_INNODB_PROTOTYPES_H
00030 
00031 namespace drizzled { class Session; }
00032 
00033 #include "trx0types.h"
00034 #if !defined(BUILD_DRIZZLE)
00035 # include "m_ctype.h" /* CHARSET_INFO */
00036 
00037 /*********************************************************************/
00040 UNIV_INTERN
00041 ulint
00042 innobase_convert_string(
00043 /*====================*/
00044        void*           to,             
00045        ulint           to_length,      
00047        drizzled::CHARSET_INFO*   to_cs,          
00048        const void*     from,           
00049        ulint           from_length,    
00050        drizzled::CHARSET_INFO*   from_cs,        
00051        uint*           errors);        
00054 #endif /* DRIZZLE */
00055 /* Prototypes for global functions in ha_innodb.cc that are called by
00056 InnoDB's C-code. */
00057 
00058 
00059 /*******************************************************************/
00068 UNIV_INTERN
00069 ulint
00070 innobase_raw_format(
00071 /*================*/
00072   const char* data,   
00073   ulint   data_len, 
00075   ulint   charset_coll, 
00076   char*   buf,    
00077   ulint   buf_size);  
00080 /*****************************************************************/
00082 UNIV_INTERN
00083 void
00084 innobase_invalidate_query_cache(
00085 /*============================*/
00086   trx_t*    trx,    
00088   const char* full_name,  
00093   ulint   full_name_len); 
00096 /*****************************************************************/
00100 UNIV_INTERN
00101 char*
00102 innobase_convert_name(
00103 /*==================*/
00104   char*   buf,  
00105   ulint   buflen, 
00106   const char* id, 
00107   ulint   idlen,  
00108   drizzled::Session *thd, 
00109   ibool   table_id);
00112 /******************************************************************/
00119 UNIV_INTERN
00120 ibool
00121 thd_is_replication_slave_thread(
00122 /*============================*/
00123   drizzled::Session *thd);  
00125 /******************************************************************/
00131 UNIV_INTERN
00132 ibool
00133 thd_has_edited_nontrans_tables(
00134 /*===========================*/
00135   drizzled::Session *thd);  
00137 /*************************************************************/
00139 UNIV_INTERN
00140 void
00141 innobase_mysql_print_thd(
00142 /*=====================*/
00143   FILE* f,    
00144   drizzled::Session *thd,   
00145   uint  max_query_len); 
00148 /**************************************************************/
00153 UNIV_INTERN
00154 ulint
00155 get_innobase_type_from_mysql_type(
00156 /*==============================*/
00157   ulint*    unsigned_flag,  
00162   const void* field)    
00163   __attribute__((nonnull));
00164 
00165 /******************************************************************/
00167 UNIV_INTERN void
00168 innobase_get_cset_width(
00169 /*====================*/
00170   ulint cset,   
00171   ulint*  mbminlen, 
00172   ulint*  mbmaxlen);  
00174 /******************************************************************/
00177 UNIV_INTERN
00178 int
00179 innobase_strcasecmp(
00180 /*================*/
00181   const char* a,  
00182   const char* b); 
00184 /******************************************************************/
00188 UNIV_INTERN
00189 ibool
00190 thd_is_select(
00191 /*==========*/
00192   const drizzled::Session *thd);  
00194 /******************************************************************/
00196 UNIV_INTERN
00197 void
00198 innobase_convert_from_table_id(
00199 /*===========================*/
00200   const void*   cs, 
00201   char*     to, 
00202   const char*   from, 
00203   ulint     len); 
00205 /******************************************************************/
00207 UNIV_INTERN
00208 void
00209 innobase_convert_from_id(
00210 /*=====================*/
00211   const void*   cs, 
00212   char*     to, 
00213   const char*   from, 
00214   ulint     len); 
00216 /******************************************************************/
00218 UNIV_INTERN
00219 void
00220 innobase_casedn_str(
00221 /*================*/
00222   char* a); 
00224 /**********************************************************************/
00227 const void *
00228 innobase_get_charset(
00229 /*=================*/
00230   drizzled::Session *mysql_thd);  
00232 /**********************************************************************/
00235 UNIV_INTERN
00236 const char*
00237 innobase_get_stmt(
00238 /*==============*/
00239        drizzled::Session *mysql_thd,      
00240        size_t* length)         
00241        __attribute__((nonnull));
00242 
00243 
00244 /******************************************************************/
00250 UNIV_INTERN
00251 ulint
00252 innobase_get_at_most_n_mbchars(
00253 /*===========================*/
00254   ulint charset_id, 
00255   ulint prefix_len, 
00258   ulint data_len,   
00259   const char* str); 
00261 /******************************************************************/
00266 UNIV_INTERN
00267 ibool
00268 thd_supports_xa(
00269 /*============*/
00270   drizzled::Session *thd);  
00273 /******************************************************************/
00277 UNIV_INTERN
00278 ulong
00279 thd_lock_wait_timeout(
00280 /*==================*/
00281   drizzled::Session *thd);  
00283 /******************************************************************/
00285 UNIV_INTERN
00286 void
00287 thd_set_lock_wait_time(
00288 /*===================*/
00289         drizzled::Session *thd, 
00290         ulint   value); 
00292 UNIV_INTERN
00293 bool
00294 innobase_isspace(
00295   const void * cs,
00296   char char_to_test);
00297 
00298 UNIV_INTERN
00299 int
00300 innobase_fast_mutex_init(
00301   os_fast_mutex_t*        fast_mutex);
00302     
00303 
00304 #endif