CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/mysql.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 0 - 2 0 0 3   M y S Q L   A B 
00002  
00003        T h i s   p r o g r a m   i s   f r e e   s o f t w a r e ;   y o u   c a n   r e d i s t r i b u t e   i t   a n d / o r   m o d i f y 
00004  
00005        i t   u n d e r   t h e   t e r m s   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e   a s   p u b l i s h e d   b y 
00006  
00007        t h e   F r e e   S o f t w a r e   F o u n d a t i o n ;   v e r s i o n   2   o f   t h e   L i c e n s e . 
00008  
00009        T h i s   p r o g r a m   i s   d i s t r i b u t e d   i n   t h e   h o p e   t h a t   i t   w i l l   b e   u s e f u l , 
00010  
00011        b u t   W I T H O U T   A N Y   W A R R A N T Y ;   w i t h o u t   e v e n   t h e   i m p l i e d   w a r r a n t y   o f 
00012  
00013        M E R C H A N T A B I L I T Y   o r   F I T N E S S   F O R   A   P A R T I C U L A R   P U R P O S E .     S e e   t h e 
00014  
00015        G N U   G e n e r a l   P u b l i c   L i c e n s e   f o r   m o r e   d e t a i l s . 
00016  
00017        Y o u   s h o u l d   h a v e   r e c e i v e d   a   c o p y   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e 
00018  
00019        a l o n g   w i t h   t h i s   p r o g r a m ;   i f   n o t ,   w r i t e   t o   t h e   F r e e   S o f t w a r e 
00020  
00021        F o u n d a t i o n ,   I n c . ,   5 9   T e m p l e   P l a c e ,   S u i t e   3 3 0 ,   B o s t o n ,   M A     0 2 1 1 1 - 1 3 0 7     U S A   * / 
00022  
00023  / * 
00024  
00025      T h i s   f i l e   d e f i n e s   t h e   c l i e n t   A P I   t o   M y S Q L   a n d   a l s o   t h e   A B I   o f   t h e 
00026  
00027      d y n a m i c a l l y   l i n k e d   l i b m y s q l c l i e n t . 
00028  
00029      T h e   A B I   s h o u l d   n e v e r   b e   c h a n g e d   i n   a   r e l e a s e d   p r o d u c t   o f   M y S Q L 
00030  
00031      t h u s   y o u   n e e d   t o   t a k e   g r e a t   c a r e   w h e n   c h a n g i n g   t h e   f i l e .   I n   c a s e 
00032  
00033      t h e   f i l e   i s   c h a n g e d   s o   t h e   A B I   i s   b r o k e n ,   y o u   m u s t   a l s o 
00034  
00035      u p d a t e   t h e   S H A R E D L I B _ M A J O R _ V E R S I O N   i n   c o n f i g u r e . i n   . 
00036  
00037  * / 
00038  
00039  # i f n d e f   _ m y s q l _ h 
00040  
00041  # d e f i n e   _ m y s q l _ h 
00042  
00043  # i f d e f   _ A I X                       / *   l a r g e - f i l e   s u p p o r t   w i l l   b r e a k   w i t h o u t   t h i s   * / 
00044  
00045  # i n c l u d e   < s t a n d a r d s . h > 
00046  
00047  # e n d i f 
00048  
00049  # i f d e f   _ _ C Y G W I N _ _           / *   C Y G W I N   i m p l e m e n t s   a   U N I X   A P I   * / 
00050  
00051  # u n d e f   W I N 
00052  
00053  # u n d e f   _ W I N 
00054  
00055  # u n d e f   _ W I N 3 2 
00056  
00057  # u n d e f   _ W I N 6 4 
00058  
00059  # u n d e f   _ _ W I N _ _ 
00060  
00061  # e n d i f 
00062  
00063  # i f d e f     _ _ c p l u s p l u s 
00064  
00065  e x t e r n   " C "   { 
00066  
00067  # e n d i f 
00068  
00069  # i f n d e f   _ g l o b a l _ h               / *   I f   n o t   s t a n d a r d   h e a d e r   * / 
00070  
00071  # i n c l u d e   < s y s / t y p e s . h > 
00072  
00073  # i f d e f   _ _ L C C _ _ 
00074  
00075  # i n c l u d e   < w i n s o c k 2 . h >               / *   F o r   w i n d o w s   * / 
00076  
00077  # e n d i f 
00078  
00079  t y p e d e f   c h a r   m y _ b o o l ; 
00080  
00081  # i f   ( d e f i n e d ( _ W I N 3 2 )   | |   d e f i n e d ( _ W I N 6 4 ) )   & &   ! d e f i n e d ( _ _ W I N _ _ ) 
00082  
00083  # d e f i n e   _ _ W I N _ _ 
00084  
00085  # e n d i f 
00086  
00087  # i f   ! d e f i n e d ( _ _ W I N _ _ ) 
00088  
00089  # d e f i n e   S T D C A L L 
00090  
00091  # e l s e 
00092  
00093  # d e f i n e   S T D C A L L   _ _ s t d c a l l 
00094  
00095  # e n d i f 
00096  
00097  # i f n d e f   m y _ s o c k e t _ d e f i n e d 
00098  
00099  # i f d e f   _ _ W I N _ _ 
00100  
00101  # d e f i n e   m y _ s o c k e t   S O C K E T 
00102  
00103  # e l s e 
00104  
00105  t y p e d e f   i n t   m y _ s o c k e t ; 
00106  
00107  # e n d i f   / *   _ _ W I N _ _   * / 
00108  
00109  # e n d i f   / *   m y _ s o c k e t _ d e f i n e d   * / 
00110  
00111  # e n d i f   / *   _ g l o b a l _ h   * / 
00112  
00113  # i n c l u d e   " m y s q l _ v e r s i o n . h " 
00114  
00115  # i n c l u d e   " m y s q l _ c o m . h " 
00116  
00117  # i n c l u d e   " m y s q l _ t i m e . h " 
00118  
00119  # i n c l u d e   " m y _ l i s t . h "   / *   f o r   L I S T s   u s e d   i n   ' M Y S Q L '   a n d   ' M Y S Q L _ S T M T '   * / 
00120  
00121  e x t e r n   u n s i g n e d   i n t   m y s q l _ p o r t ; 
00122  
00123  e x t e r n   c h a r   * m y s q l _ u n i x _ p o r t ; 
00124  
00125  # d e f i n e   C L I E N T _ N E T _ R E A D _ T I M E O U T       3 6 5 * 2 4 * 3 6 0 0   / *   T i m e o u t   o n   r e a d   * / 
00126  
00127  # d e f i n e   C L I E N T _ N E T _ W R I T E _ T I M E O U T     3 6 5 * 2 4 * 3 6 0 0   / *   T i m e o u t   o n   w r i t e   * / 
00128  
00129  # i f d e f   _ _ N E T W A R E _ _ 
00130  
00131  # p r a g m a   p a c k ( p u s h ,   8 )       / *   8   b y t e   a l i g n m e n t   * / 
00132  
00133  # e n d i f 
00134  
00135  # d e f i n e   I S _ P R I _ K E Y ( n )   ( ( n )   &   P R I _ K E Y _ F L A G ) 
00136  
00137  # d e f i n e   I S _ N O T _ N U L L ( n )     ( ( n )   &   N O T _ N U L L _ F L A G ) 
00138  
00139  # d e f i n e   I S _ B L O B ( n )     ( ( n )   &   B L O B _ F L A G ) 
00140  
00141  # d e f i n e   I S _ N U M ( t )   ( ( t )   < =   M Y S Q L _ T Y P E _ I N T 2 4   | |   ( t )   = =   M Y S Q L _ T Y P E _ Y E A R   | |   ( t )   = =   M Y S Q L _ T Y P E _ N E W D E C I M A L ) 
00142  
00143  # d e f i n e   I S _ N U M _ F I E L D ( f )     ( ( f ) - > f l a g s   &   N U M _ F L A G ) 
00144  
00145  # d e f i n e   I N T E R N A L _ N U M _ F I E L D ( f )   ( ( ( f ) - > t y p e   < =   M Y S Q L _ T Y P E _ I N T 2 4   & &   ( ( f ) - > t y p e   ! =   M Y S Q L _ T Y P E _ T I M E S T A M P   | |   ( f ) - > l e n g t h   = =   1 4   | |   ( f ) - > l e n g t h   = =   8 ) )   | |   ( f ) - > t y p e   = =   M Y S Q L _ T Y P E _ Y E A R ) 
00146  
00147  # d e f i n e   I S _ L O N G D A T A ( t )   ( ( t )   > =   M Y S Q L _ T Y P E _ T I N Y _ B L O B   & &   ( t )   < =   M Y S Q L _ T Y P E _ S T R I N G ) 
00148  
00149  
00150  
00151  t y p e d e f   s t r u c t   s t _ m y s q l _ f i e l d   { 
00152  
00153      c h a r   * n a m e ;                                   / *   N a m e   o f   c o l u m n   * / 
00154  
00155      c h a r   * o r g _ n a m e ;                           / *   O r i g i n a l   c o l u m n   n a m e ,   i f   a n   a l i a s   * / 
00156  
00157      c h a r   * t a b l e ;                                 / *   T a b l e   o f   c o l u m n   i f   c o l u m n   w a s   a   f i e l d   * / 
00158  
00159      c h a r   * o r g _ t a b l e ;                         / *   O r g   t a b l e   n a m e ,   i f   t a b l e   w a s   a n   a l i a s   * / 
00160  
00161      c h a r   * d b ;                                       / *   D a t a b a s e   f o r   t a b l e   * / 
00162  
00163      c h a r   * c a t a l o g ;                 / *   C a t a l o g   f o r   t a b l e   * / 
00164  
00165      c h a r   * d e f ;                                     / *   D e f a u l t   v a l u e   ( s e t   b y   m y s q l _ l i s t _ f i e l d s )   * / 
00166  
00167      u n s i g n e d   l o n g   l e n g t h ;               / *   W i d t h   o f   c o l u m n   ( c r e a t e   l e n g t h )   * / 
00168  
00169      u n s i g n e d   l o n g   m a x _ l e n g t h ;       / *   M a x   w i d t h   f o r   s e l e c t e d   s e t   * / 
00170  
00171      u n s i g n e d   i n t   n a m e _ l e n g t h ; 
00172  
00173      u n s i g n e d   i n t   o r g _ n a m e _ l e n g t h ; 
00174  
00175      u n s i g n e d   i n t   t a b l e _ l e n g t h ; 
00176  
00177      u n s i g n e d   i n t   o r g _ t a b l e _ l e n g t h ; 
00178  
00179      u n s i g n e d   i n t   d b _ l e n g t h ; 
00180  
00181      u n s i g n e d   i n t   c a t a l o g _ l e n g t h ; 
00182  
00183      u n s i g n e d   i n t   d e f _ l e n g t h ; 
00184  
00185      u n s i g n e d   i n t   f l a g s ;                   / *   D i v   f l a g s   * / 
00186  
00187      u n s i g n e d   i n t   d e c i m a l s ;             / *   N u m b e r   o f   d e c i m a l s   i n   f i e l d   * / 
00188  
00189      u n s i g n e d   i n t   c h a r s e t n r ;           / *   C h a r a c t e r   s e t   * / 
00190  
00191      e n u m   e n u m _ f i e l d _ t y p e s   t y p e ;   / *   T y p e   o f   f i e l d .   S e e   m y s q l _ c o m . h   f o r   t y p e s   * / 
00192  
00193      v o i d   * e x t e n s i o n ; 
00194  
00195  }   M Y S Q L _ F I E L D ; 
00196  
00197  t y p e d e f   c h a r   * * M Y S Q L _ R O W ;       / *   r e t u r n   d a t a   a s   a r r a y   o f   s t r i n g s   * / 
00198  
00199  t y p e d e f   u n s i g n e d   i n t   M Y S Q L _ F I E L D _ O F F S E T ;   / *   o f f s e t   t o   c u r r e n t   f i e l d   * / 
00200  
00201  # i f n d e f   _ g l o b a l _ h 
00202  
00203  # i f   d e f i n e d ( N O _ C L I E N T _ L O N G _ L O N G ) 
00204  
00205  t y p e d e f   u n s i g n e d   l o n g   m y _ u l o n g l o n g ; 
00206  
00207  # e l i f   d e f i n e d   ( _ _ W I N _ _ ) 
00208  
00209  t y p e d e f   u n s i g n e d   _ _ i n t 6 4   m y _ u l o n g l o n g ; 
00210  
00211  # e l s e 
00212  
00213  t y p e d e f   u n s i g n e d   l o n g   l o n g   m y _ u l o n g l o n g ; 
00214  
00215  # e n d i f 
00216  
00217  # e n d i f 
00218  
00219  # i n c l u d e   " t y p e l i b . h " 
00220  
00221  # d e f i n e   M Y S Q L _ C O U N T _ E R R O R   ( ~ ( m y _ u l o n g l o n g )   0 ) 
00222  
00223  / *   b a c k w a r d   c o m p a t i b i l i t y   d e f i n e   -   t o   b e   r e m o v e d   e v e n t u a l l y   * / 
00224  
00225  # d e f i n e   E R _ W A R N _ D A T A _ T R U N C A T E D   W A R N _ D A T A _ T R U N C A T E D 
00226  
00227  t y p e d e f   s t r u c t   s t _ m y s q l _ r o w s   { 
00228  
00229      s t r u c t   s t _ m y s q l _ r o w s   * n e x t ;       / *   l i s t   o f   r o w s   * / 
00230  
00231      M Y S Q L _ R O W   d a t a ; 
00232  
00233      u n s i g n e d   l o n g   l e n g t h ; 
00234  
00235  }   M Y S Q L _ R O W S ; 
00236  
00237  t y p e d e f   M Y S Q L _ R O W S   * M Y S Q L _ R O W _ O F F S E T ;   / *   o f f s e t   t o   c u r r e n t   r o w   * / 
00238  
00239  # i n c l u d e   " m y _ a l l o c . h " 
00240  
00241  t y p e d e f   s t r u c t   e m b e d d e d _ q u e r y _ r e s u l t   E M B E D D E D _ Q U E R Y _ R E S U L T ; 
00242  
00243  t y p e d e f   s t r u c t   s t _ m y s q l _ d a t a   { 
00244  
00245      M Y S Q L _ R O W S   * d a t a ; 
00246  
00247      s t r u c t   e m b e d d e d _ q u e r y _ r e s u l t   * e m b e d d e d _ i n f o ; 
00248  
00249      M E M _ R O O T   a l l o c ; 
00250  
00251      m y _ u l o n g l o n g   r o w s ; 
00252  
00253      u n s i g n e d   i n t   f i e l d s ; 
00254  
00255      / *   e x t r a   i n f o   f o r   e m b e d d e d   l i b r a r y   * / 
00256  
00257      v o i d   * e x t e n s i o n ; 
00258  
00259  }   M Y S Q L _ D A T A ; 
00260  
00261  e n u m   m y s q l _ o p t i o n   
00262  
00263  { 
00264  
00265      M Y S Q L _ O P T _ C O N N E C T _ T I M E O U T ,   M Y S Q L _ O P T _ C O M P R E S S ,   M Y S Q L _ O P T _ N A M E D _ P I P E , 
00266  
00267      M Y S Q L _ I N I T _ C O M M A N D ,   M Y S Q L _ R E A D _ D E F A U L T _ F I L E ,   M Y S Q L _ R E A D _ D E F A U L T _ G R O U P , 
00268  
00269      M Y S Q L _ S E T _ C H A R S E T _ D I R ,   M Y S Q L _ S E T _ C H A R S E T _ N A M E ,   M Y S Q L _ O P T _ L O C A L _ I N F I L E , 
00270  
00271      M Y S Q L _ O P T _ P R O T O C O L ,   M Y S Q L _ S H A R E D _ M E M O R Y _ B A S E _ N A M E ,   M Y S Q L _ O P T _ R E A D _ T I M E O U T , 
00272  
00273      M Y S Q L _ O P T _ W R I T E _ T I M E O U T ,   M Y S Q L _ O P T _ U S E _ R E S U L T , 
00274  
00275      M Y S Q L _ O P T _ U S E _ R E M O T E _ C O N N E C T I O N ,   M Y S Q L _ O P T _ U S E _ E M B E D D E D _ C O N N E C T I O N , 
00276  
00277      M Y S Q L _ O P T _ G U E S S _ C O N N E C T I O N ,   M Y S Q L _ S E T _ C L I E N T _ I P ,   M Y S Q L _ S E C U R E _ A U T H , 
00278  
00279      M Y S Q L _ R E P O R T _ D A T A _ T R U N C A T I O N ,   M Y S Q L _ O P T _ R E C O N N E C T , 
00280  
00281      M Y S Q L _ O P T _ S S L _ V E R I F Y _ S E R V E R _ C E R T 
00282  
00283  } ; 
00284  
00285  s t r u c t   s t _ m y s q l _ o p t i o n s   { 
00286  
00287      u n s i g n e d   i n t   c o n n e c t _ t i m e o u t ,   r e a d _ t i m e o u t ,   w r i t e _ t i m e o u t ; 
00288  
00289      u n s i g n e d   i n t   p o r t ,   p r o t o c o l ; 
00290  
00291      u n s i g n e d   l o n g   c l i e n t _ f l a g ; 
00292  
00293      c h a r   * h o s t , * u s e r , * p a s s w o r d , * u n i x _ s o c k e t , * d b ; 
00294  
00295      s t r u c t   s t _ d y n a m i c _ a r r a y   * i n i t _ c o m m a n d s ; 
00296  
00297      c h a r   * m y _ c n f _ f i l e , * m y _ c n f _ g r o u p ,   * c h a r s e t _ d i r ,   * c h a r s e t _ n a m e ; 
00298  
00299      c h a r   * s s l _ k e y ;                 / *   P E M   k e y   f i l e   * / 
00300  
00301      c h a r   * s s l _ c e r t ;               / *   P E M   c e r t   f i l e   * / 
00302  
00303      c h a r   * s s l _ c a ;                   / *   P E M   C A   f i l e   * / 
00304  
00305      c h a r   * s s l _ c a p a t h ;               / *   P E M   d i r e c t o r y   o f   C A - s ?   * / 
00306  
00307      c h a r   * s s l _ c i p h e r ;               / *   c i p h e r   t o   u s e   * / 
00308  
00309      c h a r   * s h a r e d _ m e m o r y _ b a s e _ n a m e ; 
00310  
00311      u n s i g n e d   l o n g   m a x _ a l l o w e d _ p a c k e t ; 
00312  
00313      m y _ b o o l   u s e _ s s l ;                 / *   i f   t o   u s e   S S L   o r   n o t   * / 
00314  
00315      m y _ b o o l   c o m p r e s s , n a m e d _ p i p e ; 
00316  
00317      m y _ b o o l   u n u s e d 1 ; 
00318  
00319      m y _ b o o l   u n u s e d 2 ; 
00320  
00321      m y _ b o o l   u n u s e d 3 ; 
00322  
00323      m y _ b o o l   u n u s e d 4 ; 
00324  
00325      e n u m   m y s q l _ o p t i o n   m e t h o d s _ t o _ u s e ; 
00326  
00327      c h a r   * c l i e n t _ i p ; 
00328  
00329      / *   R e f u s e   c l i e n t   c o n n e c t i n g   t o   s e r v e r   i f   i t   u s e s   o l d   ( p r e - 4 . 1 . 1 )   p r o t o c o l   * / 
00330  
00331      m y _ b o o l   s e c u r e _ a u t h ; 
00332  
00333      / *   0   -   n e v e r   r e p o r t ,   1   -   a l w a y s   r e p o r t   ( d e f a u l t )   * / 
00334  
00335      m y _ b o o l   r e p o r t _ d a t a _ t r u n c a t i o n ; 
00336  
00337      / *   f u n c t i o n   p o i n t e r s   f o r   l o c a l   i n f i l e   s u p p o r t   * / 
00338  
00339      i n t   ( * l o c a l _ i n f i l e _ i n i t ) ( v o i d   * * ,   c o n s t   c h a r   * ,   v o i d   * ) ; 
00340  
00341      i n t   ( * l o c a l _ i n f i l e _ r e a d ) ( v o i d   * ,   c h a r   * ,   u n s i g n e d   i n t ) ; 
00342  
00343      v o i d   ( * l o c a l _ i n f i l e _ e n d ) ( v o i d   * ) ; 
00344  
00345      i n t   ( * l o c a l _ i n f i l e _ e r r o r ) ( v o i d   * ,   c h a r   * ,   u n s i g n e d   i n t ) ; 
00346  
00347      v o i d   * l o c a l _ i n f i l e _ u s e r d a t a ; 
00348  
00349      v o i d   * e x t e n s i o n ; 
00350  
00351  } ; 
00352  
00353  e n u m   m y s q l _ s t a t u s   
00354  
00355  { 
00356  
00357      M Y S Q L _ S T A T U S _ R E A D Y , M Y S Q L _ S T A T U S _ G E T _ R E S U L T , M Y S Q L _ S T A T U S _ U S E _ R E S U L T 
00358  
00359  } ; 
00360  
00361  e n u m   m y s q l _ p r o t o c o l _ t y p e   
00362  
00363  { 
00364  
00365      M Y S Q L _ P R O T O C O L _ D E F A U L T ,   M Y S Q L _ P R O T O C O L _ T C P ,   M Y S Q L _ P R O T O C O L _ S O C K E T , 
00366  
00367      M Y S Q L _ P R O T O C O L _ P I P E ,   M Y S Q L _ P R O T O C O L _ M E M O R Y 
00368  
00369  } ; 
00370  
00371  t y p e d e f   s t r u c t   c h a r a c t e r _ s e t 
00372  
00373  { 
00374  
00375      u n s i g n e d   i n t             n u m b e r ;           / *   c h a r a c t e r   s e t   n u m b e r                             * / 
00376  
00377      u n s i g n e d   i n t             s t a t e ;             / *   c h a r a c t e r   s e t   s t a t e                               * / 
00378  
00379      c o n s t   c h a r                 * c s n a m e ;         / *   c o l l a t i o n   n a m e                                         * / 
00380  
00381      c o n s t   c h a r                 * n a m e ;             / *   c h a r a c t e r   s e t   n a m e                                 * / 
00382  
00383      c o n s t   c h a r                 * c o m m e n t ;       / *   c o m m e n t                                                       * / 
00384  
00385      c o n s t   c h a r                 * d i r ;               / *   c h a r a c t e r   s e t   d i r e c t o r y                       * / 
00386  
00387      u n s i g n e d   i n t             m b m i n l e n ;       / *   m i n .   l e n g t h   f o r   m u l t i b y t e   s t r i n g s   * / 
00388  
00389      u n s i g n e d   i n t             m b m a x l e n ;       / *   m a x .   l e n g t h   f o r   m u l t i b y t e   s t r i n g s   * / 
00390  
00391  }   M Y _ C H A R S E T _ I N F O ; 
00392  
00393  s t r u c t   s t _ m y s q l _ m e t h o d s ; 
00394  
00395  s t r u c t   s t _ m y s q l _ s t m t ; 
00396  
00397  t y p e d e f   s t r u c t   s t _ m y s q l 
00398  
00399  { 
00400  
00401      N E T       n e t ;             / *   C o m m u n i c a t i o n   p a r a m e t e r s   * / 
00402  
00403      u n s i g n e d   c h a r   * c o n n e c t o r _ f d ;         / *   C o n n e c t o r F d   f o r   S S L   * / 
00404  
00405      c h a r         * h o s t , * u s e r , * p a s s w d , * u n i x _ s o c k e t , * s e r v e r _ v e r s i o n , * h o s t _ i n f o ; 
00406  
00407      c h a r                     * i n f o ,   * d b ; 
00408  
00409      s t r u c t   c h a r s e t _ i n f o _ s t   * c h a r s e t ; 
00410  
00411      M Y S Q L _ F I E L D   * f i e l d s ; 
00412  
00413      M E M _ R O O T     f i e l d _ a l l o c ; 
00414  
00415      m y _ u l o n g l o n g   a f f e c t e d _ r o w s ; 
00416  
00417      m y _ u l o n g l o n g   i n s e r t _ i d ;       / *   i d   i f   i n s e r t   o n   t a b l e   w i t h   N E X T N R   * / 
00418  
00419      m y _ u l o n g l o n g   e x t r a _ i n f o ;         / *   N o t   u s e d   * / 
00420  
00421      u n s i g n e d   l o n g   t h r e a d _ i d ;         / *   I d   f o r   c o n n e c t i o n   i n   s e r v e r   * / 
00422  
00423      u n s i g n e d   l o n g   p a c k e t _ l e n g t h ; 
00424  
00425      u n s i g n e d   i n t     p o r t ; 
00426  
00427      u n s i g n e d   l o n g   c l i e n t _ f l a g , s e r v e r _ c a p a b i l i t i e s ; 
00428  
00429      u n s i g n e d   i n t     p r o t o c o l _ v e r s i o n ; 
00430  
00431      u n s i g n e d   i n t     f i e l d _ c o u n t ; 
00432  
00433      u n s i g n e d   i n t     s e r v e r _ s t a t u s ; 
00434  
00435      u n s i g n e d   i n t     s e r v e r _ l a n g u a g e ; 
00436  
00437      u n s i g n e d   i n t     w a r n i n g _ c o u n t ; 
00438  
00439      s t r u c t   s t _ m y s q l _ o p t i o n s   o p t i o n s ; 
00440  
00441      e n u m   m y s q l _ s t a t u s   s t a t u s ; 
00442  
00443      m y _ b o o l   f r e e _ m e ;         / *   I f   f r e e   i n   m y s q l _ c l o s e   * / 
00444  
00445      m y _ b o o l   r e c o n n e c t ;         / *   s e t   t o   1   i f   a u t o m a t i c   r e c o n n e c t   * / 
00446  
00447      / *   s e s s i o n - w i d e   r a n d o m   s t r i n g   * / 
00448  
00449      c h a r                     s c r a m b l e [ S C R A M B L E _ L E N G T H + 1 ] ; 
00450  
00451      m y _ b o o l   u n u s e d 1 ; 
00452  
00453      v o i d   * u n u s e d 2 ,   * u n u s e d 3 ,   * u n u s e d 4 ,   * u n u s e d 5 ; 
00454  
00455      L I S T     * s t m t s ;                                           / *   l i s t   o f   a l l   s t a t e m e n t s   * / 
00456  
00457      c o n s t   s t r u c t   s t _ m y s q l _ m e t h o d s   * m e t h o d s ; 
00458  
00459      v o i d   * t h d ; 
00460  
00461      / * 
00462  
00463          P o i n t s   t o   b o o l e a n   f l a g   i n   M Y S Q L _ R E S     o r   M Y S Q L _ S T M T .   W e   s e t   t h i s   f l a g   
00464  
00465          f r o m   m y s q l _ s t m t _ c l o s e   i f   c l o s e   h a d   t o   c a n c e l   r e s u l t   s e t   o f   t h i s   o b j e c t . 
00466  
00467      * / 
00468  
00469      m y _ b o o l   * u n b u f f e r e d _ f e t c h _ o w n e r ; 
00470  
00471      / *   n e e d e d   f o r   e m b e d d e d   s e r v e r   -   n o   n e t   b u f f e r   t o   s t o r e   t h e   ' i n f o '   * / 
00472  
00473      c h a r   * i n f o _ b u f f e r ; 
00474  
00475      v o i d   * e x t e n s i o n ; 
00476  
00477  }   M Y S Q L ; 
00478  
00479  
00480  
00481  t y p e d e f   s t r u c t   s t _ m y s q l _ r e s   { 
00482  
00483      m y _ u l o n g l o n g     r o w _ c o u n t ; 
00484  
00485      M Y S Q L _ F I E L D   * f i e l d s ; 
00486  
00487      M Y S Q L _ D A T A     * d a t a ; 
00488  
00489      M Y S Q L _ R O W S     * d a t a _ c u r s o r ; 
00490  
00491      u n s i g n e d   l o n g   * l e n g t h s ;       / *   c o l u m n   l e n g t h s   o f   c u r r e n t   r o w   * / 
00492  
00493      M Y S Q L       * h a n d l e ;         / *   f o r   u n b u f f e r e d   r e a d s   * / 
00494  
00495      c o n s t   s t r u c t   s t _ m y s q l _ m e t h o d s   * m e t h o d s ; 
00496  
00497      M Y S Q L _ R O W   r o w ;             / *   I f   u n b u f f e r e d   r e a d   * / 
00498  
00499      M Y S Q L _ R O W   c u r r e n t _ r o w ;         / *   b u f f e r   t o   c u r r e n t   r o w   * / 
00500  
00501      M E M _ R O O T     f i e l d _ a l l o c ; 
00502  
00503      u n s i g n e d   i n t     f i e l d _ c o u n t ,   c u r r e n t _ f i e l d ; 
00504  
00505      m y _ b o o l   e o f ;             / *   U s e d   b y   m y s q l _ f e t c h _ r o w   * / 
00506  
00507      / *   m y s q l _ s t m t _ c l o s e ( )   h a d   t o   c a n c e l   t h i s   r e s u l t   * / 
00508  
00509      m y _ b o o l               u n b u f f e r e d _ f e t c h _ c a n c e l l e d ;     
00510  
00511      v o i d   * e x t e n s i o n ; 
00512  
00513  }   M Y S Q L _ R E S ; 
00514  
00515  
00516  
00517  # i f   ! d e f i n e d ( M Y S Q L _ S E R V E R )   & &   ! d e f i n e d ( M Y S Q L _ C L I E N T ) 
00518  
00519  # d e f i n e   M Y S Q L _ C L I E N T 
00520  
00521  # e n d i f 
00522  
00523  
00524  
00525  t y p e d e f   s t r u c t   s t _ m y s q l _ p a r a m e t e r s 
00526  
00527  { 
00528  
00529      u n s i g n e d   l o n g   * p _ m a x _ a l l o w e d _ p a c k e t ; 
00530  
00531      u n s i g n e d   l o n g   * p _ n e t _ b u f f e r _ l e n g t h ; 
00532  
00533      v o i d   * e x t e n s i o n ; 
00534  
00535  }   M Y S Q L _ P A R A M E T E R S ; 
00536  
00537  # i f   ! d e f i n e d ( M Y S Q L _ S E R V E R )   & &   ! d e f i n e d ( E M B E D D E D _ L I B R A R Y ) 
00538  
00539  # d e f i n e   m a x _ a l l o w e d _ p a c k e t   ( * m y s q l _ g e t _ p a r a m e t e r s ( ) - > p _ m a x _ a l l o w e d _ p a c k e t ) 
00540  
00541  # d e f i n e   n e t _ b u f f e r _ l e n g t h   ( * m y s q l _ g e t _ p a r a m e t e r s ( ) - > p _ n e t _ b u f f e r _ l e n g t h ) 
00542  
00543  # e n d i f 
00544  
00545  / * 
00546  
00547      S e t   u p   a n d   b r i n g   d o w n   t h e   s e r v e r ;   t o   e n s u r e   t h a t   a p p l i c a t i o n s   w i l l 
00548  
00549      w o r k   w h e n   l i n k e d   a g a i n s t   e i t h e r   t h e   s t a n d a r d   c l i e n t   l i b r a r y   o r   t h e 
00550  
00551      e m b e d d e d   s e r v e r   l i b r a r y ,   t h e s e   f u n c t i o n s   s h o u l d   b e   c a l l e d . 
00552  
00553  * / 
00554  
00555  i n t   S T D C A L L   m y s q l _ s e r v e r _ i n i t ( i n t   a r g c ,   c h a r   * * a r g v ,   c h a r   * * g r o u p s ) ; 
00556  
00557  v o i d   S T D C A L L   m y s q l _ s e r v e r _ e n d ( v o i d ) ; 
00558  
00559  / * 
00560  
00561      m y s q l _ s e r v e r _ i n i t / e n d   n e e d   t o   b e   c a l l e d   w h e n   u s i n g   l i b m y s q l d   o r 
00562  
00563      l i b m y s q l c l i e n t   ( e x a c t l y ,   m y s q l _ s e r v e r _ i n i t ( )   i s   c a l l e d   b y   m y s q l _ i n i t ( )   s o 
00564  
00565      y o u   d o n ' t   n e e d   t o   c a l l   i t   e x p l i c i t e l y ;   b u t   y o u   n e e d   t o   c a l l 
00566  
00567      m y s q l _ s e r v e r _ e n d ( )   t o   f r e e   m e m o r y ) .   T h e   n a m e s   a r e   a   b i t   m i s l e a d i n g 
00568  
00569      ( m y s q l _ S E R V E R *   t o   b e   u s e d   w h e n   u s i n g   l i b m y s q l C L I E N T ) .   S o   w e   a d d   m o r e   g e n e r a l 
00570  
00571      n a m e s   w h i c h   s u i t   w e l l   w h e t h e r   y o u ' r e   u s i n g   l i b m y s q l d   o r   l i b m y s q l c l i e n t .   W e 
00572  
00573      i n t e n d   t o   p r o m o t e   t h e s e   a l i a s e s   o v e r   t h e   m y s q l _ s e r v e r *   o n e s . 
00574  
00575  * / 
00576  
00577  # d e f i n e   m y s q l _ l i b r a r y _ i n i t   m y s q l _ s e r v e r _ i n i t 
00578  
00579  # d e f i n e   m y s q l _ l i b r a r y _ e n d   m y s q l _ s e r v e r _ e n d 
00580  
00581  M Y S Q L _ P A R A M E T E R S   * S T D C A L L   m y s q l _ g e t _ p a r a m e t e r s ( v o i d ) ; 
00582  
00583  / * 
00584  
00585      S e t   u p   a n d   b r i n g   d o w n   a   t h r e a d ;   t h e s e   f u n c t i o n   s h o u l d   b e   c a l l e d 
00586  
00587      f o r   e a c h   t h r e a d   i n   a n   a p p l i c a t i o n   w h i c h   o p e n s   a t   l e a s t   o n e   M y S Q L 
00588  
00589      c o n n e c t i o n .     A l l   u s e s   o f   t h e   c o n n e c t i o n ( s )   s h o u l d   b e   b e t w e e n   t h e s e 
00590  
00591      f u n c t i o n   c a l l s . 
00592  
00593  * / 
00594  
00595  m y _ b o o l   S T D C A L L   m y s q l _ t h r e a d _ i n i t ( v o i d ) ; 
00596  
00597  v o i d   S T D C A L L   m y s q l _ t h r e a d _ e n d ( v o i d ) ; 
00598  
00599  / * 
00600  
00601      F u n c t i o n s   t o   g e t   i n f o r m a t i o n   f r o m   t h e   M Y S Q L   a n d   M Y S Q L _ R E S   s t r u c t u r e s 
00602  
00603      S h o u l d   d e f i n i t e l y   b e   u s e d   i f   o n e   u s e s   s h a r e d   l i b r a r i e s . 
00604  
00605  * / 
00606  
00607  m y _ u l o n g l o n g   S T D C A L L   m y s q l _ n u m _ r o w s ( M Y S Q L _ R E S   * r e s ) ; 
00608  
00609  u n s i g n e d   i n t   S T D C A L L   m y s q l _ n u m _ f i e l d s ( M Y S Q L _ R E S   * r e s ) ; 
00610  
00611  m y _ b o o l   S T D C A L L   m y s q l _ e o f ( M Y S Q L _ R E S   * r e s ) ; 
00612  
00613  M Y S Q L _ F I E L D   * S T D C A L L   m y s q l _ f e t c h _ f i e l d _ d i r e c t ( M Y S Q L _ R E S   * r e s , 
00614  
00615                                  u n s i g n e d   i n t   f i e l d n r ) ; 
00616  
00617  M Y S Q L _ F I E L D   *   S T D C A L L   m y s q l _ f e t c h _ f i e l d s ( M Y S Q L _ R E S   * r e s ) ; 
00618  
00619  M Y S Q L _ R O W _ O F F S E T   S T D C A L L   m y s q l _ r o w _ t e l l ( M Y S Q L _ R E S   * r e s ) ; 
00620  
00621  M Y S Q L _ F I E L D _ O F F S E T   S T D C A L L   m y s q l _ f i e l d _ t e l l ( M Y S Q L _ R E S   * r e s ) ; 
00622  
00623  u n s i g n e d   i n t   S T D C A L L   m y s q l _ f i e l d _ c o u n t ( M Y S Q L   * m y s q l ) ; 
00624  
00625  m y _ u l o n g l o n g   S T D C A L L   m y s q l _ a f f e c t e d _ r o w s ( M Y S Q L   * m y s q l ) ; 
00626  
00627  m y _ u l o n g l o n g   S T D C A L L   m y s q l _ i n s e r t _ i d ( M Y S Q L   * m y s q l ) ; 
00628  
00629  u n s i g n e d   i n t   S T D C A L L   m y s q l _ e r r n o ( M Y S Q L   * m y s q l ) ; 
00630  
00631  c o n s t   c h a r   *   S T D C A L L   m y s q l _ e r r o r ( M Y S Q L   * m y s q l ) ; 
00632  
00633  c o n s t   c h a r   * S T D C A L L   m y s q l _ s q l s t a t e ( M Y S Q L   * m y s q l ) ; 
00634  
00635  u n s i g n e d   i n t   S T D C A L L   m y s q l _ w a r n i n g _ c o u n t ( M Y S Q L   * m y s q l ) ; 
00636  
00637  c o n s t   c h a r   *   S T D C A L L   m y s q l _ i n f o ( M Y S Q L   * m y s q l ) ; 
00638  
00639  u n s i g n e d   l o n g   S T D C A L L   m y s q l _ t h r e a d _ i d ( M Y S Q L   * m y s q l ) ; 
00640  
00641  c o n s t   c h a r   *   S T D C A L L   m y s q l _ c h a r a c t e r _ s e t _ n a m e ( M Y S Q L   * m y s q l ) ; 
00642  
00643  i n t                     S T D C A L L   m y s q l _ s e t _ c h a r a c t e r _ s e t ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * c s n a m e ) ; 
00644  
00645  M Y S Q L   *       S T D C A L L   m y s q l _ i n i t ( M Y S Q L   * m y s q l ) ; 
00646  
00647  m y _ b o o l       S T D C A L L   m y s q l _ s s l _ s e t ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * k e y , 
00648  
00649                              c o n s t   c h a r   * c e r t ,   c o n s t   c h a r   * c a , 
00650  
00651                              c o n s t   c h a r   * c a p a t h ,   c o n s t   c h a r   * c i p h e r ) ; 
00652  
00653  c o n s t   c h a r   *         S T D C A L L   m y s q l _ g e t _ s s l _ c i p h e r ( M Y S Q L   * m y s q l ) ; 
00654  
00655  m y _ b o o l       S T D C A L L   m y s q l _ c h a n g e _ u s e r ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * u s e r ,   
00656  
00657                          c o n s t   c h a r   * p a s s w d ,   c o n s t   c h a r   * d b ) ; 
00658  
00659  M Y S Q L   *       S T D C A L L   m y s q l _ r e a l _ c o n n e c t ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * h o s t , 
00660  
00661                            c o n s t   c h a r   * u s e r , 
00662  
00663                            c o n s t   c h a r   * p a s s w d , 
00664  
00665                            c o n s t   c h a r   * d b , 
00666  
00667                            u n s i g n e d   i n t   p o r t , 
00668  
00669                            c o n s t   c h a r   * u n i x _ s o c k e t , 
00670  
00671                            u n s i g n e d   l o n g   c l i e n t f l a g ) ; 
00672  
00673  i n t       S T D C A L L   m y s q l _ s e l e c t _ d b ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * d b ) ; 
00674  
00675  i n t       S T D C A L L   m y s q l _ q u e r y ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * q ) ; 
00676  
00677  i n t       S T D C A L L   m y s q l _ s e n d _ q u e r y ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * q , 
00678  
00679                        u n s i g n e d   l o n g   l e n g t h ) ; 
00680  
00681  i n t       S T D C A L L   m y s q l _ r e a l _ q u e r y ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * q , 
00682  
00683                      u n s i g n e d   l o n g   l e n g t h ) ; 
00684  
00685  M Y S Q L _ R E S   *           S T D C A L L   m y s q l _ s t o r e _ r e s u l t ( M Y S Q L   * m y s q l ) ; 
00686  
00687  M Y S Q L _ R E S   *           S T D C A L L   m y s q l _ u s e _ r e s u l t ( M Y S Q L   * m y s q l ) ; 
00688  
00689  v o i d                 S T D C A L L   m y s q l _ g e t _ c h a r a c t e r _ s e t _ i n f o ( M Y S Q L   * m y s q l , 
00690  
00691                                                        M Y _ C H A R S E T _ I N F O   * c h a r s e t ) ; 
00692  
00693  / *   l o c a l   i n f i l e   s u p p o r t   * / 
00694  
00695  # d e f i n e   L O C A L _ I N F I L E _ E R R O R _ L E N   5 1 2 
00696  
00697  v o i d 
00698  
00699  m y s q l _ s e t _ l o c a l _ i n f i l e _ h a n d l e r ( M Y S Q L   * m y s q l , 
00700  
00701                                                                i n t   ( * l o c a l _ i n f i l e _ i n i t ) ( v o i d   * * ,   c o n s t   c h a r   * , 
00702  
00703                                                          v o i d   * ) , 
00704  
00705                                                                i n t   ( * l o c a l _ i n f i l e _ r e a d ) ( v o i d   * ,   c h a r   * , 
00706  
00707                              u n s i g n e d   i n t ) , 
00708  
00709                                                                v o i d   ( * l o c a l _ i n f i l e _ e n d ) ( v o i d   * ) , 
00710  
00711                                                                i n t   ( * l o c a l _ i n f i l e _ e r r o r ) ( v o i d   * ,   c h a r * , 
00712  
00713                                u n s i g n e d   i n t ) , 
00714  
00715                                                                v o i d   * ) ; 
00716  
00717  v o i d 
00718  
00719  m y s q l _ s e t _ l o c a l _ i n f i l e _ d e f a u l t ( M Y S Q L   * m y s q l ) ; 
00720  
00721  i n t       S T D C A L L   m y s q l _ s h u t d o w n ( M Y S Q L   * m y s q l , 
00722  
00723                                                                                e n u m   m y s q l _ e n u m _ s h u t d o w n _ l e v e l 
00724  
00725                                                                                s h u t d o w n _ l e v e l ) ; 
00726  
00727  i n t       S T D C A L L   m y s q l _ d u m p _ d e b u g _ i n f o ( M Y S Q L   * m y s q l ) ; 
00728  
00729  i n t       S T D C A L L   m y s q l _ r e f r e s h ( M Y S Q L   * m y s q l , 
00730  
00731                            u n s i g n e d   i n t   r e f r e s h _ o p t i o n s ) ; 
00732  
00733  i n t       S T D C A L L   m y s q l _ k i l l ( M Y S Q L   * m y s q l , u n s i g n e d   l o n g   p i d ) ; 
00734  
00735  i n t       S T D C A L L   m y s q l _ s e t _ s e r v e r _ o p t i o n ( M Y S Q L   * m y s q l , 
00736  
00737                          e n u m   e n u m _ m y s q l _ s e t _ o p t i o n 
00738  
00739                          o p t i o n ) ; 
00740  
00741  i n t       S T D C A L L   m y s q l _ p i n g ( M Y S Q L   * m y s q l ) ; 
00742  
00743  c o n s t   c h a r   *     S T D C A L L   m y s q l _ s t a t ( M Y S Q L   * m y s q l ) ; 
00744  
00745  c o n s t   c h a r   *     S T D C A L L   m y s q l _ g e t _ s e r v e r _ i n f o ( M Y S Q L   * m y s q l ) ; 
00746  
00747  c o n s t   c h a r   *     S T D C A L L   m y s q l _ g e t _ c l i e n t _ i n f o ( v o i d ) ; 
00748  
00749  u n s i g n e d   l o n g   S T D C A L L   m y s q l _ g e t _ c l i e n t _ v e r s i o n ( v o i d ) ; 
00750  
00751  c o n s t   c h a r   *     S T D C A L L   m y s q l _ g e t _ h o s t _ i n f o ( M Y S Q L   * m y s q l ) ; 
00752  
00753  u n s i g n e d   l o n g   S T D C A L L   m y s q l _ g e t _ s e r v e r _ v e r s i o n ( M Y S Q L   * m y s q l ) ; 
00754  
00755  u n s i g n e d   i n t     S T D C A L L   m y s q l _ g e t _ p r o t o _ i n f o ( M Y S Q L   * m y s q l ) ; 
00756  
00757  M Y S Q L _ R E S   *   S T D C A L L   m y s q l _ l i s t _ d b s ( M Y S Q L   * m y s q l , c o n s t   c h a r   * w i l d ) ; 
00758  
00759  M Y S Q L _ R E S   *   S T D C A L L   m y s q l _ l i s t _ t a b l e s ( M Y S Q L   * m y s q l , c o n s t   c h a r   * w i l d ) ; 
00760  
00761  M Y S Q L _ R E S   *   S T D C A L L   m y s q l _ l i s t _ p r o c e s s e s ( M Y S Q L   * m y s q l ) ; 
00762  
00763  i n t       S T D C A L L   m y s q l _ o p t i o n s ( M Y S Q L   * m y s q l , e n u m   m y s q l _ o p t i o n   o p t i o n , 
00764  
00765                              c o n s t   v o i d   * a r g ) ; 
00766  
00767  v o i d         S T D C A L L   m y s q l _ f r e e _ r e s u l t ( M Y S Q L _ R E S   * r e s u l t ) ; 
00768  
00769  v o i d         S T D C A L L   m y s q l _ d a t a _ s e e k ( M Y S Q L _ R E S   * r e s u l t , 
00770  
00771                      m y _ u l o n g l o n g   o f f s e t ) ; 
00772  
00773  M Y S Q L _ R O W _ O F F S E T   S T D C A L L   m y s q l _ r o w _ s e e k ( M Y S Q L _ R E S   * r e s u l t , 
00774  
00775                          M Y S Q L _ R O W _ O F F S E T   o f f s e t ) ; 
00776  
00777  M Y S Q L _ F I E L D _ O F F S E T   S T D C A L L   m y s q l _ f i e l d _ s e e k ( M Y S Q L _ R E S   * r e s u l t , 
00778  
00779                            M Y S Q L _ F I E L D _ O F F S E T   o f f s e t ) ; 
00780  
00781  M Y S Q L _ R O W   S T D C A L L   m y s q l _ f e t c h _ r o w ( M Y S Q L _ R E S   * r e s u l t ) ; 
00782  
00783  u n s i g n e d   l o n g   *   S T D C A L L   m y s q l _ f e t c h _ l e n g t h s ( M Y S Q L _ R E S   * r e s u l t ) ; 
00784  
00785  M Y S Q L _ F I E L D   *   S T D C A L L   m y s q l _ f e t c h _ f i e l d ( M Y S Q L _ R E S   * r e s u l t ) ; 
00786  
00787  M Y S Q L _ R E S   *           S T D C A L L   m y s q l _ l i s t _ f i e l d s ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * t a b l e , 
00788  
00789                          c o n s t   c h a r   * w i l d ) ; 
00790  
00791  u n s i g n e d   l o n g   S T D C A L L   m y s q l _ e s c a p e _ s t r i n g ( c h a r   * t o , c o n s t   c h a r   * f r o m , 
00792  
00793                              u n s i g n e d   l o n g   f r o m _ l e n g t h ) ; 
00794  
00795  u n s i g n e d   l o n g   S T D C A L L   m y s q l _ h e x _ s t r i n g ( c h a r   * t o , c o n s t   c h a r   * f r o m , 
00796  
00797                                                                                    u n s i g n e d   l o n g   f r o m _ l e n g t h ) ; 
00798  
00799  u n s i g n e d   l o n g   S T D C A L L   m y s q l _ r e a l _ e s c a p e _ s t r i n g ( M Y S Q L   * m y s q l , 
00800  
00801                                    c h a r   * t o , c o n s t   c h a r   * f r o m , 
00802  
00803                                    u n s i g n e d   l o n g   l e n g t h ) ; 
00804  
00805  v o i d         S T D C A L L   m y s q l _ d e b u g ( c o n s t   c h a r   * d e b u g ) ; 
00806  
00807  v o i d         S T D C A L L   m y o d b c _ r e m o v e _ e s c a p e ( M Y S Q L   * m y s q l , c h a r   * n a m e ) ; 
00808  
00809  u n s i g n e d   i n t     S T D C A L L   m y s q l _ t h r e a d _ s a f e ( v o i d ) ; 
00810  
00811  m y _ b o o l       S T D C A L L   m y s q l _ e m b e d d e d ( v o i d ) ; 
00812  
00813  m y _ b o o l                   S T D C A L L   m y s q l _ r e a d _ q u e r y _ r e s u l t ( M Y S Q L   * m y s q l ) ; 
00814  
00815  
00816  
00817  / * 
00818  
00819      T h e   f o l l o w i n g   d e f i n i t i o n s   a r e   a d d e d   f o r   t h e   e n h a n c e d   
00820  
00821      c l i e n t - s e r v e r   p r o t o c o l 
00822  
00823  * / 
00824  
00825  / *   s t a t e m e n t   s t a t e   * / 
00826  
00827  e n u m   e n u m _ m y s q l _ s t m t _ s t a t e 
00828  
00829  { 
00830  
00831      M Y S Q L _ S T M T _ I N I T _ D O N E =   1 ,   M Y S Q L _ S T M T _ P R E P A R E _ D O N E ,   M Y S Q L _ S T M T _ E X E C U T E _ D O N E , 
00832  
00833      M Y S Q L _ S T M T _ F E T C H _ D O N E 
00834  
00835  } ; 
00836  
00837  
00838  
00839  / * 
00840  
00841      T h i s   s t r u c t u r e   i s   u s e d   t o   d e f i n e   b i n d   i n f o r m a t i o n ,   a n d 
00842  
00843      i n t e r n a l l y   b y   t h e   c l i e n t   l i b r a r y . 
00844  
00845      P u b l i c   m e m b e r s   w i t h   t h e i r   d e s c r i p t i o n s   a r e   l i s t e d   b e l o w 
00846  
00847      ( c o n v e n t i o n a l l y   ` O n   i n p u t '   r e f e r s   t o   t h e   b i n d s   g i v e n   t o 
00848  
00849      m y s q l _ s t m t _ b i n d _ p a r a m ,   ` O n   o u t p u t '   r e f e r s   t o   t h e   b i n d s   g i v e n 
00850  
00851      t o   m y s q l _ s t m t _ b i n d _ r e s u l t ) : 
00852  
00853      b u f f e r _ t y p e         -   O n e   o f   t h e   M Y S Q L _ *   t y p e s ,   u s e d   t o   d e s c r i b e 
00854  
00855                                        t h e   h o s t   l a n g u a g e   t y p e   o f   b u f f e r . 
00856  
00857                                        O n   o u t p u t :   i f   c o l u m n   t y p e   i s   d i f f e r e n t   f r o m 
00858  
00859                                        b u f f e r _ t y p e ,   c o l u m n   v a l u e   i s   a u t o m a t i c a l l y   c o n v e r t e d 
00860  
00861                                        t o   b u f f e r _ t y p e   b e f o r e   i t   i s   s t o r e d   i n   t h e   b u f f e r . 
00862  
00863      b u f f e r                   -   O n   i n p u t :   p o i n t s   t o   t h e   b u f f e r   w i t h   i n p u t   d a t a . 
00864  
00865                                        O n   o u t p u t :   p o i n t s   t o   t h e   b u f f e r   c a p a b l e   t o   s t o r e 
00866  
00867                                        o u t p u t   d a t a . 
00868  
00869                                        T h e   t y p e   o f   m e m o r y   p o i n t e d   b y   b u f f e r   m u s t   c o r r e s p o n d 
00870  
00871                                        t o   b u f f e r _ t y p e .   S e e   t h e   c o r r e s p o n d e n c e   t a b l e   i n 
00872  
00873                                        t h e   c o m m e n t   t o   m y s q l _ s t m t _ b i n d _ p a r a m . 
00874  
00875      T h e   t w o   a b o v e   m e m b e r s   a r e   m a n d a t o r y   f o r   a n y   k i n d   o f   b i n d . 
00876  
00877      b u f f e r _ l e n g t h     -   t h e   l e n g t h   o f   t h e   b u f f e r .   Y o u   d o n ' t   h a v e   t o   s e t 
00878  
00879                                        i t   f o r   a n y   f i x e d   l e n g t h   b u f f e r :   f l o a t ,   d o u b l e , 
00880  
00881                                        i n t ,   e t c .   I t   m u s t   b e   s e t   h o w e v e r   f o r   v a r i a b l e - l e n g t h 
00882  
00883                                        t y p e s ,   s u c h   a s   B L O B s   o r   S T R I N G s . 
00884  
00885      l e n g t h                   -   O n   i n p u t :   i n   c a s e   w h e n   l e n g t h s   o f   i n p u t   v a l u e s 
00886  
00887                                        a r e   d i f f e r e n t   f o r   e a c h   e x e c u t e ,   y o u   c a n   s e t   t h i s   t o 
00888  
00889                                        p o i n t   a t   a   v a r i a b l e   c o n t a i n i n i n g   v a l u e   l e n g t h .   T h i s 
00890  
00891                                        w a y   t h e   v a l u e   l e n g t h   c a n   b e   d i f f e r e n t   i n   e a c h   e x e c u t e . 
00892  
00893                                        I f   l e n g t h   i s   n o t   N U L L ,   b u f f e r _ l e n g t h   i s   n o t   u s e d . 
00894  
00895                                        N o t e ,   l e n g t h   c a n   e v e n   p o i n t   a t   b u f f e r _ l e n g t h   i f 
00896  
00897                                        y o u   k e e p   b i n d   s t r u c t u r e s   a r o u n d   w h i l e   f e t c h i n g : 
00898  
00899                                        t h i s   w a y   y o u   c a n   c h a n g e   b u f f e r _ l e n g t h   b e f o r e 
00900  
00901                                        e a c h   e x e c u t i o n ,   e v e r y t h i n g   w i l l   w o r k   o k . 
00902  
00903                                        O n   o u t p u t :   i f   l e n g t h   i s   s e t ,   m y s q l _ s t m t _ f e t c h   w i l l 
00904  
00905                                        w r i t e   c o l u m n   l e n g t h   i n t o   i t . 
00906  
00907      i s _ n u l l                 -   O n   i n p u t :   p o i n t s   t o   a   b o o l e a n   v a r i a b l e   t h a t   s h o u l d 
00908  
00909                                        b e   s e t   t o   T R U E   f o r   N U L L   v a l u e s . 
00910  
00911                                        T h i s   m e m b e r   i s   u s e f u l   o n l y   i f   y o u r   d a t a   m a y   b e 
00912  
00913                                        N U L L   i n   s o m e   b u t   n o t   a l l   c a s e s . 
00914  
00915                                        I f   y o u r   d a t a   i s   n e v e r   N U L L ,   i s _ n u l l   s h o u l d   b e   s e t   t o   0 . 
00916  
00917                                        I f   y o u r   d a t a   i s   a l w a y s   N U L L ,   s e t   b u f f e r _ t y p e 
00918  
00919                                        t o   M Y S Q L _ T Y P E _ N U L L ,   a n d   i s _ n u l l   w i l l   n o t   b e   u s e d . 
00920  
00921      i s _ u n s i g n e d         -   O n   i n p u t :   u s e d   t o   s i g n i f y   t h a t   v a l u e s   p r o v i d e d   f o r   o n e 
00922  
00923                                        o f   n u m e r i c   t y p e s   a r e   u n s i g n e d . 
00924  
00925                                        O n   o u t p u t   d e s c r i b e s   s i g n e d n e s s   o f   t h e   o u t p u t   b u f f e r . 
00926  
00927                                        I f ,   t a k i n g   i n t o   a c c o u n t   i s _ u n s i g n e d   f l a g ,   c o l u m n   d a t a 
00928  
00929                                        i s   o u t   o f   r a n g e   o f   t h e   o u t p u t   b u f f e r ,   d a t a   f o r   t h i s   c o l u m n 
00930  
00931                                        i s   r e g a r d e d   t r u n c a t e d .   N o t e   t h a t   t h i s   h a s   n o   c o r r e s p o n d e n c e 
00932  
00933                                        t o   t h e   s i g n   o f   r e s u l t   s e t   c o l u m n ,   i f   y o u   n e e d   t o   f i n d   i t   o u t 
00934  
00935                                        u s e   m y s q l _ s t m t _ r e s u l t _ m e t a d a t a . 
00936  
00937      e r r o r                     -   w h e r e   t o   w r i t e   a   t r u n c a t i o n   e r r o r   i f   i t   i s   p r e s e n t . 
00938  
00939                                        p o s s i b l e   e r r o r   v a l u e   i s : 
00940  
00941                                        0     n o   t r u n c a t i o n 
00942  
00943                                        1     v a l u e   i s   o u t   o f   r a n g e   o r   b u f f e r   i s   t o o   s m a l l 
00944  
00945      P l e a s e   n o t e   t h a t   M Y S Q L _ B I N D   a l s o   h a s   i n t e r n a l s   m e m b e r s . 
00946  
00947  * / 
00948  
00949  t y p e d e f   s t r u c t   s t _ m y s q l _ b i n d 
00950  
00951  { 
00952  
00953      u n s i g n e d   l o n g   * l e n g t h ;                     / *   o u t p u t   l e n g t h   p o i n t e r   * / 
00954  
00955      m y _ b o o l               * i s _ n u l l ;       / *   P o i n t e r   t o   n u l l   i n d i c a t o r   * / 
00956  
00957      v o i d         * b u f f e r ;         / *   b u f f e r   t o   g e t / p u t   d a t a   * / 
00958  
00959      / *   s e t   t h i s   i f   y o u   w a n t   t o   t r a c k   d a t a   t r u n c a t i o n s   h a p p e n e d   d u r i n g   f e t c h   * / 
00960  
00961      m y _ b o o l               * e r r o r ; 
00962  
00963      u n s i g n e d   c h a r   * r o w _ p t r ;                   / *   f o r   t h e   c u r r e n t   d a t a   p o s i t i o n   * / 
00964  
00965      v o i d   ( * s t o r e _ p a r a m _ f u n c ) ( N E T   * n e t ,   s t r u c t   s t _ m y s q l _ b i n d   * p a r a m ) ; 
00966  
00967      v o i d   ( * f e t c h _ r e s u l t ) ( s t r u c t   s t _ m y s q l _ b i n d   * ,   M Y S Q L _ F I E L D   * , 
00968  
00969                                                u n s i g n e d   c h a r   * * r o w ) ; 
00970  
00971      v o i d   ( * s k i p _ r e s u l t ) ( s t r u c t   s t _ m y s q l _ b i n d   * ,   M Y S Q L _ F I E L D   * , 
00972  
00973                      u n s i g n e d   c h a r   * * r o w ) ; 
00974  
00975      / *   o u t p u t   b u f f e r   l e n g t h ,   m u s t   b e   s e t   w h e n   f e t c h i n g   s t r / b i n a r y   * / 
00976  
00977      u n s i g n e d   l o n g   b u f f e r _ l e n g t h ; 
00978  
00979      u n s i g n e d   l o n g   o f f s e t ;                       / *   o f f s e t   p o s i t i o n   f o r   c h a r / b i n a r y   f e t c h   * / 
00980  
00981      u n s i g n e d   l o n g   l e n g t h _ v a l u e ;           / *   U s e d   i f   l e n g t h   i s   0   * / 
00982  
00983      u n s i g n e d   i n t     p a r a m _ n u m b e r ;       / *   F o r   n u l l   c o u n t   a n d   e r r o r   m e s s a g e s   * / 
00984  
00985      u n s i g n e d   i n t     p a c k _ l e n g t h ;         / *   I n t e r n a l   l e n g t h   f o r   p a c k e d   d a t a   * / 
00986  
00987      e n u m   e n u m _ f i e l d _ t y p e s   b u f f e r _ t y p e ;     / *   b u f f e r   t y p e   * / 
00988  
00989      m y _ b o o l               e r r o r _ v a l u e ;             / *   u s e d   i f   e r r o r   i s   0   * / 
00990  
00991      m y _ b o o l               i s _ u n s i g n e d ;             / *   s e t   i f   i n t e g e r   t y p e   i s   u n s i g n e d   * / 
00992  
00993      m y _ b o o l   l o n g _ d a t a _ u s e d ;       / *   I f   u s e d   w i t h   m y s q l _ s e n d _ l o n g _ d a t a   * / 
00994  
00995      m y _ b o o l   i s _ n u l l _ v a l u e ;         / *   U s e d   i f   i s _ n u l l   i s   0   * / 
00996  
00997      v o i d   * e x t e n s i o n ; 
00998  
00999  }   M Y S Q L _ B I N D ; 
01000  
01001  
01002  
01003  / *   s t a t e m e n t   h a n d l e r   * / 
01004  
01005  t y p e d e f   s t r u c t   s t _ m y s q l _ s t m t 
01006  
01007  { 
01008  
01009      M E M _ R O O T               m e m _ r o o t ;                           / *   r o o t   a l l o c a t i o n s   * / 
01010  
01011      L I S T                       l i s t ;                                   / *   l i s t   t o   k e e p   t r a c k   o f   a l l   s t m t s   * / 
01012  
01013      M Y S Q L                     * m y s q l ;                               / *   c o n n e c t i o n   h a n d l e   * / 
01014  
01015      M Y S Q L _ B I N D           * p a r a m s ;                             / *   i n p u t   p a r a m e t e r s   * / 
01016  
01017      M Y S Q L _ B I N D           * b i n d ;                                 / *   o u t p u t   p a r a m e t e r s   * / 
01018  
01019      M Y S Q L _ F I E L D         * f i e l d s ;                             / *   r e s u l t   s e t   m e t a d a t a   * / 
01020  
01021      M Y S Q L _ D A T A           r e s u l t ;                               / *   c a c h e d   r e s u l t   s e t   * / 
01022  
01023      M Y S Q L _ R O W S           * d a t a _ c u r s o r ;                   / *   c u r r e n t   r o w   i n   c a c h e d   r e s u l t   * / 
01024  
01025      / * 
01026  
01027          m y s q l _ s t m t _ f e t c h ( )   c a l l s   t h i s   f u n c t i o n   t o   f e t c h   o n e   r o w   ( i t ' s   d i f f e r e n t 
01028  
01029          f o r   b u f f e r e d ,   u n b u f f e r e d   a n d   c u r s o r   f e t c h ) . 
01030  
01031      * / 
01032  
01033      i n t                         ( * r e a d _ r o w _ f u n c ) ( s t r u c t   s t _ m y s q l _ s t m t   * s t m t ,   
01034  
01035                                                                      u n s i g n e d   c h a r   * * r o w ) ; 
01036  
01037      / *   c o p y   o f   m y s q l - > a f f e c t e d _ r o w s   a f t e r   s t a t e m e n t   e x e c u t i o n   * / 
01038  
01039      m y _ u l o n g l o n g       a f f e c t e d _ r o w s ; 
01040  
01041      m y _ u l o n g l o n g       i n s e r t _ i d ;                         / *   c o p y   o f   m y s q l - > i n s e r t _ i d   * / 
01042  
01043      u n s i g n e d   l o n g     s t m t _ i d ;                 / *   I d   f o r   p r e p a r e d   s t a t e m e n t   * / 
01044  
01045      u n s i g n e d   l o n g     f l a g s ;                                 / *   i . e .   t y p e   o f   c u r s o r   t o   o p e n   * / 
01046  
01047      u n s i g n e d   l o n g     p r e f e t c h _ r o w s ;                 / *   n u m b e r   o f   r o w s   p e r   o n e   C O M _ F E T C H   * / 
01048  
01049      / * 
01050  
01051          C o p i e d   f r o m   m y s q l - > s e r v e r _ s t a t u s   a f t e r   e x e c u t e / f e t c h   t o   k n o w 
01052  
01053          s e r v e r - s i d e   c u r s o r   s t a t u s   f o r   t h i s   s t a t e m e n t . 
01054  
01055      * / 
01056  
01057      u n s i g n e d   i n t       s e r v e r _ s t a t u s ; 
01058  
01059      u n s i g n e d   i n t       l a s t _ e r r n o ;                   / *   e r r o r   c o d e   * / 
01060  
01061      u n s i g n e d   i n t       p a r a m _ c o u n t ;                     / *   i n p u t   p a r a m e t e r   c o u n t   * / 
01062  
01063      u n s i g n e d   i n t       f i e l d _ c o u n t ;                     / *   n u m b e r   o f   c o l u m n s   i n   r e s u l t   s e t   * / 
01064  
01065      e n u m   e n u m _ m y s q l _ s t m t _ s t a t e   s t a t e ;         / *   s t a t e m e n t   s t a t e   * / 
01066  
01067      c h a r           l a s t _ e r r o r [ M Y S Q L _ E R R M S G _ S I Z E ] ;   / *   e r r o r   m e s s a g e   * / 
01068  
01069      c h a r           s q l s t a t e [ S Q L S T A T E _ L E N G T H + 1 ] ; 
01070  
01071      / *   T y p e s   o f   i n p u t   p a r a m e t e r s   s h o u l d   b e   s e n t   t o   s e r v e r   * / 
01072  
01073      m y _ b o o l                 s e n d _ t y p e s _ t o _ s e r v e r ; 
01074  
01075      m y _ b o o l                 b i n d _ p a r a m _ d o n e ;             / *   i n p u t   b u f f e r s   w e r e   s u p p l i e d   * / 
01076  
01077      u n s i g n e d   c h a r     b i n d _ r e s u l t _ d o n e ;           / *   o u t p u t   b u f f e r s   w e r e   s u p p l i e d   * / 
01078  
01079      / *   m y s q l _ s t m t _ c l o s e ( )   h a d   t o   c a n c e l   t h i s   r e s u l t   * / 
01080  
01081      m y _ b o o l               u n b u f f e r e d _ f e t c h _ c a n c e l l e d ;     
01082  
01083      / * 
01084  
01085          I s   s e t   t o   t r u e   i f   w e   n e e d   t o   c a l c u l a t e   f i e l d - > m a x _ l e n g t h   f o r   
01086  
01087          m e t a d a t a   f i e l d s   w h e n   d o i n g   m y s q l _ s t m t _ s t o r e _ r e s u l t . 
01088  
01089      * / 
01090  
01091      m y _ b o o l               u p d a t e _ m a x _ l e n g t h ;           
01092  
01093      v o i d   * e x t e n s i o n ; 
01094  
01095  }   M Y S Q L _ S T M T ; 
01096  
01097  e n u m   e n u m _ s t m t _ a t t r _ t y p e 
01098  
01099  { 
01100  
01101      / * 
01102  
01103          W h e n   d o i n g   m y s q l _ s t m t _ s t o r e _ r e s u l t   c a l c u l a t e   m a x _ l e n g t h   a t t r i b u t e 
01104  
01105          o f   s t a t e m e n t   m e t a d a t a .   T h i s   i s   t o   b e   c o n s i s t e n t   w i t h   t h e   o l d   A P I ,   
01106  
01107          w h e r e   t h i s   w a s   d o n e   a u t o m a t i c a l l y . 
01108  
01109          I n   t h e   n e w   A P I   w e   d o   t h a t   o n l y   b y   r e q u e s t   b e c a u s e   i t   s l o w s   d o w n 
01110  
01111          m y s q l _ s t m t _ s t o r e _ r e s u l t   s u f f i c i e n t l y . 
01112  
01113      * / 
01114  
01115      S T M T _ A T T R _ U P D A T E _ M A X _ L E N G T H , 
01116  
01117      / * 
01118  
01119          u n s i g n e d   l o n g   w i t h   c o m b i n a t i o n   o f   c u r s o r   f l a g s   ( r e a d   o n l y ,   f o r   u p d a t e , 
01120  
01121          e t c ) 
01122  
01123      * / 
01124  
01125      S T M T _ A T T R _ C U R S O R _ T Y P E , 
01126  
01127      / * 
01128  
01129          A m o u n t   o f   r o w s   t o   r e t r i e v e   f r o m   s e r v e r   p e r   o n e   f e t c h   i f   u s i n g   c u r s o r s . 
01130  
01131          A c c e p t s   u n s i g n e d   l o n g   a t t r i b u t e   i n   t h e   r a n g e   1   -   u l o n g _ m a x 
01132  
01133      * / 
01134  
01135      S T M T _ A T T R _ P R E F E T C H _ R O W S 
01136  
01137  } ; 
01138  
01139  
01140  
01141  t y p e d e f   s t r u c t   s t _ m y s q l _ m e t h o d s 
01142  
01143  { 
01144  
01145      m y _ b o o l   ( * r e a d _ q u e r y _ r e s u l t ) ( M Y S Q L   * m y s q l ) ; 
01146  
01147      m y _ b o o l   ( * a d v a n c e d _ c o m m a n d ) ( M Y S Q L   * m y s q l , 
01148  
01149                          e n u m   e n u m _ s e r v e r _ c o m m a n d   c o m m a n d , 
01150  
01151                          c o n s t   u n s i g n e d   c h a r   * h e a d e r , 
01152  
01153                          u n s i g n e d   l o n g   h e a d e r _ l e n g t h , 
01154  
01155                          c o n s t   u n s i g n e d   c h a r   * a r g , 
01156  
01157                          u n s i g n e d   l o n g   a r g _ l e n g t h , 
01158  
01159                          m y _ b o o l   s k i p _ c h e c k , 
01160  
01161                                                              M Y S Q L _ S T M T   * s t m t ) ; 
01162  
01163      M Y S Q L _ D A T A   * ( * r e a d _ r o w s ) ( M Y S Q L   * m y s q l , M Y S Q L _ F I E L D   * m y s q l _ f i e l d s , 
01164  
01165                    u n s i g n e d   i n t   f i e l d s ) ; 
01166  
01167      M Y S Q L _ R E S   *   ( * u s e _ r e s u l t ) ( M Y S Q L   * m y s q l ) ; 
01168  
01169      v o i d   ( * f e t c h _ l e n g t h s ) ( u n s i g n e d   l o n g   * t o ,   
01170  
01171              M Y S Q L _ R O W   c o l u m n ,   u n s i g n e d   i n t   f i e l d _ c o u n t ) ; 
01172  
01173      v o i d   ( * f l u s h _ u s e _ r e s u l t ) ( M Y S Q L   * m y s q l ,   m y _ b o o l   f l u s h _ a l l _ r e s u l t s ) ; 
01174  
01175  # i f   ! d e f i n e d ( M Y S Q L _ S E R V E R )   | |   d e f i n e d ( E M B E D D E D _ L I B R A R Y ) 
01176  
01177      M Y S Q L _ F I E L D   *   ( * l i s t _ f i e l d s ) ( M Y S Q L   * m y s q l ) ; 
01178  
01179      m y _ b o o l   ( * r e a d _ p r e p a r e _ r e s u l t ) ( M Y S Q L   * m y s q l ,   M Y S Q L _ S T M T   * s t m t ) ; 
01180  
01181      i n t   ( * s t m t _ e x e c u t e ) ( M Y S Q L _ S T M T   * s t m t ) ; 
01182  
01183      i n t   ( * r e a d _ b i n a r y _ r o w s ) ( M Y S Q L _ S T M T   * s t m t ) ; 
01184  
01185      i n t   ( * u n b u f f e r e d _ f e t c h ) ( M Y S Q L   * m y s q l ,   c h a r   * * r o w ) ; 
01186  
01187      v o i d   ( * f r e e _ e m b e d d e d _ t h d ) ( M Y S Q L   * m y s q l ) ; 
01188  
01189      c o n s t   c h a r   * ( * r e a d _ s t a t i s t i c s ) ( M Y S Q L   * m y s q l ) ; 
01190  
01191      m y _ b o o l   ( * n e x t _ r e s u l t ) ( M Y S Q L   * m y s q l ) ; 
01192  
01193      i n t   ( * r e a d _ c h a n g e _ u s e r _ r e s u l t ) ( M Y S Q L   * m y s q l ,   c h a r   * b u f f ,   c o n s t   c h a r   * p a s s w d ) ; 
01194  
01195      i n t   ( * r e a d _ r o w s _ f r o m _ c u r s o r ) ( M Y S Q L _ S T M T   * s t m t ) ; 
01196  
01197  # e n d i f 
01198  
01199  }   M Y S Q L _ M E T H O D S ; 
01200  
01201  
01202  
01203  M Y S Q L _ S T M T   *   S T D C A L L   m y s q l _ s t m t _ i n i t ( M Y S Q L   * m y s q l ) ; 
01204  
01205  i n t   S T D C A L L   m y s q l _ s t m t _ p r e p a r e ( M Y S Q L _ S T M T   * s t m t ,   c o n s t   c h a r   * q u e r y , 
01206  
01207                                                                u n s i g n e d   l o n g   l e n g t h ) ; 
01208  
01209  i n t   S T D C A L L   m y s q l _ s t m t _ e x e c u t e ( M Y S Q L _ S T M T   * s t m t ) ; 
01210  
01211  i n t   S T D C A L L   m y s q l _ s t m t _ f e t c h ( M Y S Q L _ S T M T   * s t m t ) ; 
01212  
01213  i n t   S T D C A L L   m y s q l _ s t m t _ f e t c h _ c o l u m n ( M Y S Q L _ S T M T   * s t m t ,   M Y S Q L _ B I N D   * b i n d _ a r g ,   
01214  
01215                                                                          u n s i g n e d   i n t   c o l u m n , 
01216  
01217                                                                          u n s i g n e d   l o n g   o f f s e t ) ; 
01218  
01219  i n t   S T D C A L L   m y s q l _ s t m t _ s t o r e _ r e s u l t ( M Y S Q L _ S T M T   * s t m t ) ; 
01220  
01221  u n s i g n e d   l o n g   S T D C A L L   m y s q l _ s t m t _ p a r a m _ c o u n t ( M Y S Q L _ S T M T   *   s t m t ) ; 
01222  
01223  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ a t t r _ s e t ( M Y S Q L _ S T M T   * s t m t , 
01224  
01225                                                                          e n u m   e n u m _ s t m t _ a t t r _ t y p e   a t t r _ t y p e , 
01226  
01227                                                                          c o n s t   v o i d   * a t t r ) ; 
01228  
01229  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ a t t r _ g e t ( M Y S Q L _ S T M T   * s t m t , 
01230  
01231                                                                          e n u m   e n u m _ s t m t _ a t t r _ t y p e   a t t r _ t y p e , 
01232  
01233                                                                          v o i d   * a t t r ) ; 
01234  
01235  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ b i n d _ p a r a m ( M Y S Q L _ S T M T   *   s t m t ,   M Y S Q L _ B I N D   *   b n d ) ; 
01236  
01237  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ b i n d _ r e s u l t ( M Y S Q L _ S T M T   *   s t m t ,   M Y S Q L _ B I N D   *   b n d ) ; 
01238  
01239  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ c l o s e ( M Y S Q L _ S T M T   *   s t m t ) ; 
01240  
01241  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ r e s e t ( M Y S Q L _ S T M T   *   s t m t ) ; 
01242  
01243  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ f r e e _ r e s u l t ( M Y S Q L _ S T M T   * s t m t ) ; 
01244  
01245  m y _ b o o l   S T D C A L L   m y s q l _ s t m t _ s e n d _ l o n g _ d a t a ( M Y S Q L _ S T M T   * s t m t ,   
01246  
01247                                                                                      u n s i g n e d   i n t   p a r a m _ n u m b e r , 
01248  
01249                                                                                      c o n s t   c h a r   * d a t a ,   
01250  
01251                                                                                      u n s i g n e d   l o n g   l e n g t h ) ; 
01252  
01253  M Y S Q L _ R E S   * S T D C A L L   m y s q l _ s t m t _ r e s u l t _ m e t a d a t a ( M Y S Q L _ S T M T   * s t m t ) ; 
01254  
01255  M Y S Q L _ R E S   * S T D C A L L   m y s q l _ s t m t _ p a r a m _ m e t a d a t a ( M Y S Q L _ S T M T   * s t m t ) ; 
01256  
01257  u n s i g n e d   i n t   S T D C A L L   m y s q l _ s t m t _ e r r n o ( M Y S Q L _ S T M T   *   s t m t ) ; 
01258  
01259  c o n s t   c h a r   * S T D C A L L   m y s q l _ s t m t _ e r r o r ( M Y S Q L _ S T M T   *   s t m t ) ; 
01260  
01261  c o n s t   c h a r   * S T D C A L L   m y s q l _ s t m t _ s q l s t a t e ( M Y S Q L _ S T M T   *   s t m t ) ; 
01262  
01263  M Y S Q L _ R O W _ O F F S E T   S T D C A L L   m y s q l _ s t m t _ r o w _ s e e k ( M Y S Q L _ S T M T   * s t m t ,   
01264  
01265                                                                                            M Y S Q L _ R O W _ O F F S E T   o f f s e t ) ; 
01266  
01267  M Y S Q L _ R O W _ O F F S E T   S T D C A L L   m y s q l _ s t m t _ r o w _ t e l l ( M Y S Q L _ S T M T   * s t m t ) ; 
01268  
01269  v o i d   S T D C A L L   m y s q l _ s t m t _ d a t a _ s e e k ( M Y S Q L _ S T M T   * s t m t ,   m y _ u l o n g l o n g   o f f s e t ) ; 
01270  
01271  m y _ u l o n g l o n g   S T D C A L L   m y s q l _ s t m t _ n u m _ r o w s ( M Y S Q L _ S T M T   * s t m t ) ; 
01272  
01273  m y _ u l o n g l o n g   S T D C A L L   m y s q l _ s t m t _ a f f e c t e d _ r o w s ( M Y S Q L _ S T M T   * s t m t ) ; 
01274  
01275  m y _ u l o n g l o n g   S T D C A L L   m y s q l _ s t m t _ i n s e r t _ i d ( M Y S Q L _ S T M T   * s t m t ) ; 
01276  
01277  u n s i g n e d   i n t   S T D C A L L   m y s q l _ s t m t _ f i e l d _ c o u n t ( M Y S Q L _ S T M T   * s t m t ) ; 
01278  
01279  m y _ b o o l   S T D C A L L   m y s q l _ c o m m i t ( M Y S Q L   *   m y s q l ) ; 
01280  
01281  m y _ b o o l   S T D C A L L   m y s q l _ r o l l b a c k ( M Y S Q L   *   m y s q l ) ; 
01282  
01283  m y _ b o o l   S T D C A L L   m y s q l _ a u t o c o m m i t ( M Y S Q L   *   m y s q l ,   m y _ b o o l   a u t o _ m o d e ) ; 
01284  
01285  m y _ b o o l   S T D C A L L   m y s q l _ m o r e _ r e s u l t s ( M Y S Q L   * m y s q l ) ; 
01286  
01287  i n t   S T D C A L L   m y s q l _ n e x t _ r e s u l t ( M Y S Q L   * m y s q l ) ; 
01288  
01289  i n t   S T D C A L L   m y s q l _ s t m t _ n e x t _ r e s u l t ( M Y S Q L _ S T M T   * s t m t ) ; 
01290  
01291  v o i d   S T D C A L L   m y s q l _ c l o s e ( M Y S Q L   * s o c k ) ; 
01292  
01293  
01294  
01295  / *   s t a t u s   r e t u r n   c o d e s   * / 
01296  
01297  # d e f i n e   M Y S Q L _ N O _ D A T A                 1 0 0 
01298  
01299  # d e f i n e   M Y S Q L _ D A T A _ T R U N C A T E D   1 0 1 
01300  
01301  # d e f i n e   m y s q l _ r e l o a d ( m y s q l )   m y s q l _ r e f r e s h ( ( m y s q l ) , R E F R E S H _ G R A N T ) 
01302  
01303  # i f d e f   U S E _ O L D _ F U N C T I O N S 
01304  
01305  M Y S Q L   *       S T D C A L L   m y s q l _ c o n n e c t ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * h o s t , 
01306  
01307                              c o n s t   c h a r   * u s e r ,   c o n s t   c h a r   * p a s s w d ) ; 
01308  
01309  i n t       S T D C A L L   m y s q l _ c r e a t e _ d b ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * D B ) ; 
01310  
01311  i n t       S T D C A L L   m y s q l _ d r o p _ d b ( M Y S Q L   * m y s q l ,   c o n s t   c h a r   * D B ) ; 
01312  
01313  # e n d i f 
01314  
01315  # d e f i n e   H A V E _ M Y S Q L _ R E A L _ C O N N E C T 
01316  
01317  / * 
01318  
01319      T h e   f o l l o w i n g   f u n c t i o n s   a r e   m a i n l y   e x p o r t e d   b e c a u s e   o f   m y s q l b i n l o g ; 
01320  
01321      T h e y   a r e   n o t   f o r   g e n e r a l   u s a g e 
01322  
01323  * / 
01324  
01325  # d e f i n e   s i m p l e _ c o m m a n d ( m y s q l ,   c o m m a n d ,   a r g ,   l e n g t h ,   s k i p _ c h e c k )   \ 
01326  
01327      ( * ( m y s q l ) - > m e t h o d s - > a d v a n c e d _ c o m m a n d ) ( m y s q l ,   c o m m a n d ,   0 ,     \ 
01328  
01329                                                                                  0 ,   a r g ,   l e n g t h ,   s k i p _ c h e c k ,   N U L L ) 
01330  
01331  # d e f i n e   s t m t _ c o m m a n d ( m y s q l ,   c o m m a n d ,   a r g ,   l e n g t h ,   s t m t )   \ 
01332  
01333      ( * ( m y s q l ) - > m e t h o d s - > a d v a n c e d _ c o m m a n d ) ( m y s q l ,   c o m m a n d ,   0 ,     \ 
01334  
01335                                                                                  0 ,   a r g ,   l e n g t h ,   1 ,   s t m t ) 
01336  
01337  # i f d e f   _ _ N E T W A R E _ _ 
01338  
01339  # p r a g m a   p a c k ( p o p )       / *   r e s t o r e   a l i g n m e n t   * / 
01340  
01341  # e n d i f 
01342  
01343  # i f d e f     _ _ c p l u s p l u s 
01344  
01345  } 
01346  
01347  # e n d i f 
01348  
01349  # e n d i f   / *   _ m y s q l _ h   * / 
01350  
01351  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义