CMGDK r49-rc2
K:/CMGDKv18/SDK/Source/SQL/MySQL/include/mysql_com.h
浏览该文件的文档。
00001 / *   C o p y r i g h t   ( C )   2 0 0 0   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  * *   C o m m o n   d e f i n i t i o n   b e t w e e n   m y s q l   s e r v e r   &   c l i e n t 
00026  
00027  * / 
00028  
00029  # i f n d e f   _ m y s q l _ c o m _ h 
00030  
00031  # d e f i n e   _ m y s q l _ c o m _ h 
00032  
00033  # d e f i n e   H O S T N A M E _ L E N G T H   6 0 
00034  
00035  # d e f i n e   S Y S T E M _ C H A R S E T _ M B M A X L E N   4 
00036  
00037  # d e f i n e   N A M E _ C H A R _ L E N   6 4                             / *   F i e l d / t a b l e   n a m e   l e n g t h   * / 
00038  
00039  # d e f i n e   U S E R N A M E _ C H A R _ L E N G T H   1 6 
00040  
00041  # d e f i n e   N A M E _ L E N                                 ( N A M E _ C H A R _ L E N * S Y S T E M _ C H A R S E T _ M B M A X L E N ) 
00042  
00043  # d e f i n e   U S E R N A M E _ L E N G T H                   ( U S E R N A M E _ C H A R _ L E N G T H * S Y S T E M _ C H A R S E T _ M B M A X L E N ) 
00044  
00045  # d e f i n e   S E R V E R _ V E R S I O N _ L E N G T H   6 0 
00046  
00047  # d e f i n e   S Q L S T A T E _ L E N G T H   5 
00048  
00049  / * 
00050  
00051      M a x i m u m   l e n g t h   o f   c o m m e n t s 
00052  
00053  * / 
00054  
00055  # d e f i n e   T A B L E _ C O M M E N T _ I N L I N E _ M A X L E N   1 8 0   / *   p r e   6 . 0 :   6 0   ( 3 - b y t e )   c h a r a c t e r s   * / 
00056  
00057  # d e f i n e   T A B L E _ C O M M E N T _ M A X L E N   2 0 4 8 
00058  
00059  # d e f i n e   C O L U M N _ C O M M E N T _ M A X L E N   1 0 2 4 
00060  
00061  # d e f i n e   I N D E X _ C O M M E N T _ M A X L E N   1 0 2 4 
00062  
00063  
00064  
00065  / * 
00066  
00067      U S E R _ H O S T _ B U F F _ S I Z E   - -   l e n g t h   o f   s t r i n g   b u f f e r ,   t h a t   i s   e n o u g h   t o   c o n t a i n 
00068  
00069      u s e r n a m e   a n d   h o s t n a m e   p a r t s   o f   t h e   u s e r   i d e n t i f i e r   w i t h   t r a i l i n g   z e r o   i n 
00070  
00071      M y S Q L   s t a n d a r d   f o r m a t : 
00072  
00073      u s e r _ n a m e _ p a r t @ h o s t _ n a m e _ p a r t \ 0 
00074  
00075  * / 
00076  
00077  # d e f i n e   U S E R _ H O S T _ B U F F _ S I Z E   H O S T N A M E _ L E N G T H   +   U S E R N A M E _ L E N G T H   +   2 
00078  
00079  # d e f i n e   L O C A L _ H O S T     " l o c a l h o s t " 
00080  
00081  # d e f i n e   L O C A L _ H O S T _ N A M E D P I P E   " . " 
00082  
00083  
00084  
00085  # i f   d e f i n e d ( _ _ W I N _ _ )   & &   ! d e f i n e d (   _ C U S T O M C O N F I G _ ) 
00086  
00087  # d e f i n e   M Y S Q L _ N A M E D P I P E   " M y S Q L " 
00088  
00089  # d e f i n e   M Y S Q L _ S E R V I C E N A M E   " M y S Q L " 
00090  
00091  # e n d i f   / *   _ _ W I N _ _   * / 
00092  
00093  / * 
00094  
00095      Y o u   s h o u l d   a d d   n e w   c o m m a n d s   t o   t h e   e n d   o f   t h i s   l i s t ,   o t h e r w i s e   o l d 
00096  
00097      s e r v e r s   w o n ' t   b e   a b l e   t o   h a n d l e   t h e m   a s   ' u n s u p p o r t e d ' . 
00098  
00099  * / 
00100  
00101  e n u m   e n u m _ s e r v e r _ c o m m a n d 
00102  
00103  { 
00104  
00105      C O M _ S L E E P ,   C O M _ Q U I T ,   C O M _ I N I T _ D B ,   C O M _ Q U E R Y ,   C O M _ F I E L D _ L I S T , 
00106  
00107      C O M _ C R E A T E _ D B ,   C O M _ D R O P _ D B ,   C O M _ R E F R E S H ,   C O M _ S H U T D O W N ,   C O M _ S T A T I S T I C S , 
00108  
00109      C O M _ P R O C E S S _ I N F O ,   C O M _ C O N N E C T ,   C O M _ P R O C E S S _ K I L L ,   C O M _ D E B U G ,   C O M _ P I N G , 
00110  
00111      C O M _ T I M E ,   C O M _ D E L A Y E D _ I N S E R T ,   C O M _ C H A N G E _ U S E R ,   C O M _ B I N L O G _ D U M P , 
00112  
00113      C O M _ T A B L E _ D U M P ,   C O M _ C O N N E C T _ O U T ,   C O M _ R E G I S T E R _ S L A V E , 
00114  
00115      C O M _ S T M T _ P R E P A R E ,   C O M _ S T M T _ E X E C U T E ,   C O M _ S T M T _ S E N D _ L O N G _ D A T A ,   C O M _ S T M T _ C L O S E , 
00116  
00117      C O M _ S T M T _ R E S E T ,   C O M _ S E T _ O P T I O N ,   C O M _ S T M T _ F E T C H ,   C O M _ D A E M O N , 
00118  
00119      / *   d o n ' t   f o r g e t   t o   u p d a t e   c o n s t   c h a r   * c o m m a n d _ n a m e [ ]   i n   s q l _ p a r s e . c c   * / 
00120  
00121      / *   M u s t   b e   l a s t   * / 
00122  
00123      C O M _ E N D 
00124  
00125  } ; 
00126  
00127  
00128  
00129  / * 
00130  
00131      L e n g t h   o f   r a n d o m   s t r i n g   s e n t   b y   s e r v e r   o n   h a n d s h a k e ;   t h i s   i s   a l s o   l e n g t h   o f 
00132  
00133      o b f u s c a t e d   p a s s w o r d ,   r e c i e v e d   f r o m   c l i e n t 
00134  
00135  * / 
00136  
00137  # d e f i n e   S C R A M B L E _ L E N G T H   2 0 
00138  
00139  # d e f i n e   S C R A M B L E _ L E N G T H _ 3 2 3   8 
00140  
00141  / *   l e n g t h   o f   p a s s w o r d   s t o r e d   i n   t h e   d b :   n e w   p a s s w o r d s   a r e   p r e c e e d e d   w i t h   ' * '   * / 
00142  
00143  # d e f i n e   S C R A M B L E D _ P A S S W O R D _ C H A R _ L E N G T H   ( S C R A M B L E _ L E N G T H * 2 + 1 ) 
00144  
00145  # d e f i n e   S C R A M B L E D _ P A S S W O R D _ C H A R _ L E N G T H _ 3 2 3   ( S C R A M B L E _ L E N G T H _ 3 2 3 * 2 ) 
00146  
00147  
00148  
00149  # d e f i n e   N O T _ N U L L _ F L A G   1       / *   F i e l d   c a n ' t   b e   N U L L   * / 
00150  
00151  # d e f i n e   P R I _ K E Y _ F L A G     2       / *   F i e l d   i s   p a r t   o f   a   p r i m a r y   k e y   * / 
00152  
00153  # d e f i n e   U N I Q U E _ K E Y _ F L A G   4       / *   F i e l d   i s   p a r t   o f   a   u n i q u e   k e y   * / 
00154  
00155  # d e f i n e   M U L T I P L E _ K E Y _ F L A G   8       / *   F i e l d   i s   p a r t   o f   a   k e y   * / 
00156  
00157  # d e f i n e   B L O B _ F L A G   1 6         / *   F i e l d   i s   a   b l o b   * / 
00158  
00159  # d e f i n e   U N S I G N E D _ F L A G   3 2         / *   F i e l d   i s   u n s i g n e d   * / 
00160  
00161  # d e f i n e   Z E R O F I L L _ F L A G   6 4         / *   F i e l d   i s   z e r o f i l l   * / 
00162  
00163  # d e f i n e   B I N A R Y _ F L A G   1 2 8       / *   F i e l d   i s   b i n a r y       * / 
00164  
00165  / *   T h e   f o l l o w i n g   a r e   o n l y   s e n t   t o   n e w   c l i e n t s   * / 
00166  
00167  # d e f i n e   E N U M _ F L A G   2 5 6       / *   f i e l d   i s   a n   e n u m   * / 
00168  
00169  # d e f i n e   A U T O _ I N C R E M E N T _ F L A G   5 1 2       / *   f i e l d   i s   a   a u t o i n c r e m e n t   f i e l d   * / 
00170  
00171  # d e f i n e   T I M E S T A M P _ F L A G     1 0 2 4         / *   F i e l d   i s   a   t i m e s t a m p   * / 
00172  
00173  # d e f i n e   S E T _ F L A G     2 0 4 8         / *   f i e l d   i s   a   s e t   * / 
00174  
00175  # d e f i n e   N O _ D E F A U L T _ V A L U E _ F L A G   4 0 9 6     / *   F i e l d   d o e s n ' t   h a v e   d e f a u l t   v a l u e   * / 
00176  
00177  # d e f i n e   O N _ U P D A T E _ N O W _ F L A G   8 1 9 2                   / *   F i e l d   i s   s e t   t o   N O W   o n   U P D A T E   * / 
00178  
00179  # d e f i n e   N U M _ F L A G     3 2 7 6 8       / *   F i e l d   i s   n u m   ( f o r   c l i e n t s )   * / 
00180  
00181  # d e f i n e   P A R T _ K E Y _ F L A G   1 6 3 8 4       / *   I n t e r n ;   P a r t   o f   s o m e   k e y   * / 
00182  
00183  # d e f i n e   G R O U P _ F L A G     3 2 7 6 8       / *   I n t e r n :   G r o u p   f i e l d   * / 
00184  
00185  # d e f i n e   U N I Q U E _ F L A G   6 5 5 3 6       / *   I n t e r n :   U s e d   b y   s q l _ y a c c   * / 
00186  
00187  # d e f i n e   B I N C M P _ F L A G   1 3 1 0 7 2         / *   I n t e r n :   U s e d   b y   s q l _ y a c c   * / 
00188  
00189  # d e f i n e   G E T _ F I X E D _ F I E L D S _ F L A G   ( 1   < <   1 8 )   / *   U s e d   t o   g e t   f i e l d s   i n   i t e m   t r e e   * / 
00190  
00191  # d e f i n e   F I E L D _ I N _ P A R T _ F U N C _ F L A G   ( 1   < <   1 9 ) / *   F i e l d   p a r t   o f   p a r t i t i o n   f u n c   * / 
00192  
00193  # d e f i n e   F I E L D _ I N _ A D D _ I N D E X   ( 1 < <   2 0 )   / *   I n t e r n :   F i e l d   u s e d   i n   A D D   I N D E X   * / 
00194  
00195  # d e f i n e   F I E L D _ I S _ R E N A M E D   ( 1 < <   2 1 )               / *   I n t e r n :   F i e l d   i s   b e i n g   r e n a m e d   * / 
00196  
00197  # d e f i n e   F I E L D _ S T O R A G E _ F L A G S   2 2                     / *   S t o r a g e   t y p e :   b i t   2 2 ,   2 3   a n d   2 4   * / 
00198  
00199  # d e f i n e   C O L U M N _ F O R M A T _ F L A G S   2 5                     / *   C o l u m n   f o r m a t :   b i t   2 5 ,   2 6   a n d   2 7   * / 
00200  
00201  # d e f i n e   R E F R E S H _ G R A N T       1   / *   R e f r e s h   g r a n t   t a b l e s   * / 
00202  
00203  # d e f i n e   R E F R E S H _ L O G       2   / *   S t a r t   o n   n e w   l o g   f i l e   * / 
00204  
00205  # d e f i n e   R E F R E S H _ T A B L E S         4   / *   c l o s e   a l l   t a b l e s   * / 
00206  
00207  # d e f i n e   R E F R E S H _ H O S T S       8   / *   F l u s h   h o s t   c a c h e   * / 
00208  
00209  # d e f i n e   R E F R E S H _ S T A T U S         1 6     / *   F l u s h   s t a t u s   v a r i a b l e s   * / 
00210  
00211  # d e f i n e   R E F R E S H _ T H R E A D S       3 2     / *   F l u s h   t h r e a d   c a c h e   * / 
00212  
00213  # d e f i n e   R E F R E S H _ S L A V E                       6 4             / *   R e s e t   m a s t e r   i n f o   a n d   r e s t a r t   s l a v e 
00214  
00215                            t h r e a d   * / 
00216  
00217  # d e f i n e   R E F R E S H _ M A S T E R                     1 2 8           / *   R e m o v e   a l l   b i n   l o g s   i n   t h e   i n d e x 
00218  
00219                            a n d   t r u n c a t e   t h e   i n d e x   * / 
00220  
00221  / *   T h e   f o l l o w i n g   c a n ' t   b e   s e t   w i t h   m y s q l _ r e f r e s h ( )   * / 
00222  
00223  # d e f i n e   R E F R E S H _ R E A D _ L O C K   1 6 3 8 4   / *   L o c k   t a b l e s   f o r   r e a d   * / 
00224  
00225  # d e f i n e   R E F R E S H _ F A S T         3 2 7 6 8   / *   I n t e r n   f l a g   * / 
00226  
00227  / *   R E S E T   ( r e m o v e   a l l   q u e r i e s )   f r o m   q u e r y   c a c h e   * / 
00228  
00229  # d e f i n e   R E F R E S H _ Q U E R Y _ C A C H E   6 5 5 3 6 
00230  
00231  # d e f i n e   R E F R E S H _ Q U E R Y _ C A C H E _ F R E E   0 x 2 0 0 0 0 L   / *   p a c k   q u e r y   c a c h e   * / 
00232  
00233  # d e f i n e   R E F R E S H _ D E S _ K E Y _ F I L E     0 x 4 0 0 0 0 L 
00234  
00235  # d e f i n e   R E F R E S H _ U S E R _ R E S O U R C E S     0 x 8 0 0 0 0 L 
00236  
00237  # d e f i n e   R E F R E S H _ B A C K U P _ L O G     0 x 2 0 0 0 0 0 L 
00238  
00239  # d e f i n e   C L I E N T _ L O N G _ P A S S W O R D     1   / *   n e w   m o r e   s e c u r e   p a s s w o r d s   * / 
00240  
00241  # d e f i n e   C L I E N T _ F O U N D _ R O W S   2   / *   F o u n d   i n s t e a d   o f   a f f e c t e d   r o w s   * / 
00242  
00243  # d e f i n e   C L I E N T _ L O N G _ F L A G     4   / *   G e t   a l l   c o l u m n   f l a g s   * / 
00244  
00245  # d e f i n e   C L I E N T _ C O N N E C T _ W I T H _ D B     8   / *   O n e   c a n   s p e c i f y   d b   o n   c o n n e c t   * / 
00246  
00247  # d e f i n e   C L I E N T _ N O _ S C H E M A     1 6     / *   D o n ' t   a l l o w   d a t a b a s e . t a b l e . c o l u m n   * / 
00248  
00249  # d e f i n e   C L I E N T _ C O M P R E S S       3 2     / *   C a n   u s e   c o m p r e s s i o n   p r o t o c o l   * / 
00250  
00251  # d e f i n e   C L I E N T _ O D B C       6 4     / *   O d b c   c l i e n t   * / 
00252  
00253  # d e f i n e   C L I E N T _ L O C A L _ F I L E S     1 2 8   / *   C a n   u s e   L O A D   D A T A   L O C A L   * / 
00254  
00255  # d e f i n e   C L I E N T _ I G N O R E _ S P A C E   2 5 6   / *   I g n o r e   s p a c e s   b e f o r e   ' ( '   * / 
00256  
00257  # d e f i n e   C L I E N T _ P R O T O C O L _ 4 1     5 1 2   / *   N e w   4 . 1   p r o t o c o l   * / 
00258  
00259  # d e f i n e   C L I E N T _ I N T E R A C T I V E     1 0 2 4     / *   T h i s   i s   a n   i n t e r a c t i v e   c l i e n t   * / 
00260  
00261  # d e f i n e   C L I E N T _ S S L                             2 0 4 8     / *   S w i t c h   t o   S S L   a f t e r   h a n d s h a k e   * / 
00262  
00263  # d e f i n e   C L I E N T _ I G N O R E _ S I G P I P E       4 0 9 6         / *   I G N O R E   s i g p i p e s   * / 
00264  
00265  # d e f i n e   C L I E N T _ T R A N S A C T I O N S   8 1 9 2     / *   C l i e n t   k n o w s   a b o u t   t r a n s a c t i o n s   * / 
00266  
00267  # d e f i n e   C L I E N T _ R E S E R V E D                   1 6 3 8 4       / *   O l d   f l a g   f o r   4 . 1   p r o t o c o l     * / 
00268  
00269  # d e f i n e   C L I E N T _ S E C U R E _ C O N N E C T I O N   3 2 7 6 8     / *   N e w   4 . 1   a u t h e n t i c a t i o n   * / 
00270  
00271  # d e f i n e   C L I E N T _ M U L T I _ S T A T E M E N T S   ( 1 U L   < <   1 6 )   / *   E n a b l e / d i s a b l e   m u l t i - s t m t   s u p p o r t   * / 
00272  
00273  # d e f i n e   C L I E N T _ M U L T I _ R E S U L T S         ( 1 U L   < <   1 7 )   / *   E n a b l e / d i s a b l e   m u l t i - r e s u l t s   * / 
00274  
00275  # d e f i n e   C L I E N T _ P S _ M U L T I _ R E S U L T S   ( 1 U L   < <   1 8 )   / *   M u l t i - r e s u l t s   i n   P S - p r o t o c o l   * / 
00276  
00277  # d e f i n e   C L I E N T _ S S L _ V E R I F Y _ S E R V E R _ C E R T   ( 1 U L   < <   3 0 ) 
00278  
00279  # d e f i n e   C L I E N T _ R E M E M B E R _ O P T I O N S   ( 1 U L   < <   3 1 ) 
00280  
00281  / *   G a t h e r   a l l   p o s s i b l e   c a p a b i l i t e s   ( f l a g s )   s u p p o r t e d   b y   t h e   s e r v e r   * / 
00282  
00283  # d e f i n e   C L I E N T _ A L L _ F L A G S     ( C L I E N T _ L O N G _ P A S S W O R D   |   \ 
00284  
00285                                                        C L I E N T _ F O U N D _ R O W S   |   \ 
00286  
00287                                                        C L I E N T _ L O N G _ F L A G   |   \ 
00288  
00289                                                        C L I E N T _ C O N N E C T _ W I T H _ D B   |   \ 
00290  
00291                                                        C L I E N T _ N O _ S C H E M A   |   \ 
00292  
00293                                                        C L I E N T _ C O M P R E S S   |   \ 
00294  
00295                                                        C L I E N T _ O D B C   |   \ 
00296  
00297                                                        C L I E N T _ L O C A L _ F I L E S   |   \ 
00298  
00299                                                        C L I E N T _ I G N O R E _ S P A C E   |   \ 
00300  
00301                                                        C L I E N T _ P R O T O C O L _ 4 1   |   \ 
00302  
00303                                                        C L I E N T _ I N T E R A C T I V E   |   \ 
00304  
00305                                                        C L I E N T _ S S L   |   \ 
00306  
00307                                                        C L I E N T _ I G N O R E _ S I G P I P E   |   \ 
00308  
00309                                                        C L I E N T _ T R A N S A C T I O N S   |   \ 
00310  
00311                                                        C L I E N T _ R E S E R V E D   |   \ 
00312  
00313                                                        C L I E N T _ S E C U R E _ C O N N E C T I O N   |   \ 
00314  
00315                                                        C L I E N T _ M U L T I _ S T A T E M E N T S   |   \ 
00316  
00317                                                        C L I E N T _ M U L T I _ R E S U L T S   |   \ 
00318  
00319                                                        C L I E N T _ P S _ M U L T I _ R E S U L T S   |   \ 
00320  
00321                                                        C L I E N T _ S S L _ V E R I F Y _ S E R V E R _ C E R T   |   \ 
00322  
00323                                                        C L I E N T _ R E M E M B E R _ O P T I O N S ) 
00324  
00325  / * 
00326  
00327      S w i t c h   o f f   t h e   f l a g s   t h a t   a r e   o p t i o n a l   a n d   d e p e n d i n g   o n   b u i l d   f l a g s 
00328  
00329      I f   a n y   o f   t h e   o p t i o n a l   f l a g s   i s   s u p p o r t e d   b y   t h e   b u i l d   i t   w i l l   b e   s w i t c h e d 
00330  
00331      o n   b e f o r e   s e n d i n g   t o   t h e   c l i e n t   d u r i n g   t h e   c o n n e c t i o n   h a n d s h a k e . 
00332  
00333  * / 
00334  
00335  # d e f i n e   C L I E N T _ B A S I C _ F L A G S   ( ( ( C L I E N T _ A L L _ F L A G S   &   ~ C L I E N T _ S S L )   \ 
00336  
00337                                                                                                &   ~ C L I E N T _ C O M P R E S S )   \ 
00338  
00339                                                                                                &   ~ C L I E N T _ S S L _ V E R I F Y _ S E R V E R _ C E R T ) 
00340  
00341  # d e f i n e   S E R V E R _ S T A T U S _ I N _ T R A N S           1     / *   T r a n s a c t i o n   h a s   s t a r t e d   * / 
00342  
00343  # d e f i n e   S E R V E R _ S T A T U S _ A U T O C O M M I T       2     / *   S e r v e r   i n   a u t o _ c o m m i t   m o d e   * / 
00344  
00345  # d e f i n e   S E R V E R _ M O R E _ R E S U L T S _ E X I S T S   8         / *   M u l t i   q u e r y   -   n e x t   q u e r y   e x i s t s   * / 
00346  
00347  # d e f i n e   S E R V E R _ Q U E R Y _ N O _ G O O D _ I N D E X _ U S E D   1 6 
00348  
00349  # d e f i n e   S E R V E R _ Q U E R Y _ N O _ I N D E X _ U S E D             3 2 
00350  
00351  / * * 
00352  
00353      T h e   s e r v e r   w a s   a b l e   t o   f u l f i l l   t h e   c l i e n t s   r e q u e s t   a n d   o p e n e d   a 
00354  
00355      r e a d - o n l y   n o n - s c r o l l a b l e   c u r s o r   f o r   a   q u e r y .   T h i s   f l a g   c o m e s 
00356  
00357      i n   r e p l y   t o   C O M _ S T M T _ E X E C U T E   a n d   C O M _ S T M T _ F E T C H   c o m m a n d s . 
00358  
00359  * / 
00360  
00361  # d e f i n e   S E R V E R _ S T A T U S _ C U R S O R _ E X I S T S   6 4 
00362  
00363  / * * 
00364  
00365      T h i s   f l a g   i s   s e n t   w h e n   a   r e a d - o n l y   c u r s o r   i s   e x h a u s t e d ,   i n   r e p l y   t o 
00366  
00367      C O M _ S T M T _ F E T C H   c o m m a n d . 
00368  
00369  * / 
00370  
00371  # d e f i n e   S E R V E R _ S T A T U S _ L A S T _ R O W _ S E N T   1 2 8 
00372  
00373  # d e f i n e   S E R V E R _ S T A T U S _ D B _ D R O P P E D                 2 5 6   / *   A   d a t a b a s e   w a s   d r o p p e d   * / 
00374  
00375  # d e f i n e   S E R V E R _ S T A T U S _ N O _ B A C K S L A S H _ E S C A P E S   5 1 2 
00376  
00377  / * * 
00378  
00379      S e n t   t o   t h e   c l i e n t   i f   a f t e r   a   p r e p a r e d   s t a t e m e n t   r e p r e p a r e 
00380  
00381      w e   d i s c o v e r e d   t h a t   t h e   n e w   s t a t e m e n t   r e t u r n s   a   d i f f e r e n t   
00382  
00383      n u m b e r   o f   r e s u l t   s e t   c o l u m n s . 
00384  
00385  * / 
00386  
00387  # d e f i n e   S E R V E R _ S T A T U S _ M E T A D A T A _ C H A N G E D   1 0 2 4 
00388  
00389  / * 
00390  
00391      T e l l   c l i e n t s   t h a t   t h i s   q u e r y   w a s   l o g g e d   t o   t h e   s l o w   q u e r y   l o g . 
00392  
00393      N o t   y e t   s e t   i n   t h e   s e r v e r ,   b u t   i n t e r f a c e   i s   d e f i n e d   f o r   a p p l i c a t i o n s 
00394  
00395      t o   u s e .     S e e   W o r k L o g   4 0 9 8 . 
00396  
00397  * / 
00398  
00399  # d e f i n e   S E R V E R _ Q U E R Y _ W A S _ S L O W                       2 0 4 8 
00400  
00401  / * * 
00402  
00403      T o   m a r k   R e s u l t S e t   c o n t a i n i n g   o u t p u t   p a r a m e t e r   v a l u e s . 
00404  
00405  * / 
00406  
00407  # d e f i n e   S E R V E R _ P S _ O U T _ P A R A M S                         4 0 9 6 
00408  
00409  / * * 
00410  
00411      S e r v e r   s t a t u s   f l a g s   t h a t   m u s t   b e   c l e a r e d   w h e n   s t a r t i n g 
00412  
00413      e x e c u t i o n   o f   a   n e w   S Q L   s t a t e m e n t . 
00414  
00415      F l a g s   f r o m   t h i s   s e t   a r e   o n l y   a d d e d   t o   t h e 
00416  
00417      c u r r e n t   s e r v e r   s t a t u s   b y   t h e   e x e c u t i o n   e n g i n e ,   b u t   
00418  
00419      n e v e r   r e m o v e d   - -   t h e   e x e c u t i o n   e n g i n e   e x p e c t s   t h e m   
00420  
00421      t o   d i s a p p e a r   a u t o m a g i c a l l y   b y   t h e   n e x t   c o m m a n d . 
00422  
00423  * / 
00424  
00425  # d e f i n e   S E R V E R _ S T A T U S _ C L E A R _ S E T   ( S E R V E R _ Q U E R Y _ N O _ G O O D _ I N D E X _ U S E D |   \ 
00426  
00427                                                                    S E R V E R _ Q U E R Y _ N O _ I N D E X _ U S E D | \ 
00428  
00429                                                                    S E R V E R _ M O R E _ R E S U L T S _ E X I S T S | \ 
00430  
00431                                                                    S E R V E R _ S T A T U S _ M E T A D A T A _ C H A N G E D ) 
00432  
00433  # d e f i n e   M Y S Q L _ E R R M S G _ S I Z E   5 1 2 
00434  
00435  # d e f i n e   N E T _ R E A D _ T I M E O U T     3 0         / *   T i m e o u t   o n   r e a d   * / 
00436  
00437  # d e f i n e   N E T _ W R I T E _ T I M E O U T   6 0         / *   T i m e o u t   o n   w r i t e   * / 
00438  
00439  # d e f i n e   N E T _ W A I T _ T I M E O U T     8 * 6 0 * 6 0       / *   W a i t   f o r   n e w   q u e r y   * / 
00440  
00441  # d e f i n e   O N L Y _ K I L L _ Q U E R Y                   1 
00442  
00443  
00444  
00445  s t r u c t   s t _ v i o ;                     / *   O n l y   C   * / 
00446  
00447  t y p e d e f   s t r u c t   s t _ v i o   V i o ; 
00448  
00449  # d e f i n e   M A X _ T I N Y I N T _ W I D T H               3               / *   M a x   w i d t h   f o r   a   T I N Y   w . o .   s i g n   * / 
00450  
00451  # d e f i n e   M A X _ S M A L L I N T _ W I D T H             5               / *   M a x   w i d t h   f o r   a   S H O R T   w . o .   s i g n   * / 
00452  
00453  # d e f i n e   M A X _ M E D I U M I N T _ W I D T H           8               / *   M a x   w i d t h   f o r   a   I N T 2 4   w . o .   s i g n   * / 
00454  
00455  # d e f i n e   M A X _ I N T _ W I D T H                       1 0             / *   M a x   w i d t h   f o r   a   L O N G   w . o .   s i g n   * / 
00456  
00457  # d e f i n e   M A X _ B I G I N T _ W I D T H                 2 0             / *   M a x   w i d t h   f o r   a   L O N G L O N G   * / 
00458  
00459  # d e f i n e   M A X _ C H A R _ W I D T H         2 5 5   / *   M a x   l e n g t h   f o r   a   C H A R   c o l u m   * / 
00460  
00461  # d e f i n e   M A X _ B L O B _ W I D T H         1 6 7 7 7 2 1 6     / *   D e f a u l t   w i d t h   f o r   b l o b   * / 
00462  
00463  t y p e d e f   s t r u c t   s t _ n e t   { 
00464  
00465  # i f   ! d e f i n e d ( C H E C K _ E M B E D D E D _ D I F F E R E N C E S )   | |   ! d e f i n e d ( E M B E D D E D _ L I B R A R Y ) 
00466  
00467      V i o   * v i o ; 
00468  
00469      u n s i g n e d   c h a r   * b u f f , * b u f f _ e n d , * w r i t e _ p o s , * r e a d _ p o s ; 
00470  
00471      m y _ s o c k e t   f d ;                   / *   F o r   P e r l   D B I / d b d   * / 
00472  
00473      / * 
00474  
00475          T h e   f o l l o w i n g   v a r i a b l e   i s   s e t   i f   w e   a r e   d o i n g   s e v e r a l   q u e r i e s   i n   o n e 
00476  
00477          c o m m a n d   (   a s   i n   L O A D   T A B L E   . . .   F R O M   M A S T E R   ) , 
00478  
00479          a n d   d o   n o t   w a n t   t o   c o n f u s e   t h e   c l i e n t   w i t h   O K   a t   t h e   w r o n g   t i m e 
00480  
00481      * / 
00482  
00483      u n s i g n e d   l o n g   r e m a i n _ i n _ b u f , l e n g t h ,   b u f _ l e n g t h ,   w h e r e _ b ; 
00484  
00485      u n s i g n e d   l o n g   m a x _ p a c k e t , m a x _ p a c k e t _ s i z e ; 
00486  
00487      u n s i g n e d   i n t   p k t _ n r , c o m p r e s s _ p k t _ n r ; 
00488  
00489      u n s i g n e d   i n t   w r i t e _ t i m e o u t ,   r e a d _ t i m e o u t ,   r e t r y _ c o u n t ; 
00490  
00491      i n t   f c n t l ; 
00492  
00493      u n s i g n e d   i n t   * r e t u r n _ s t a t u s ; 
00494  
00495      u n s i g n e d   c h a r   r e a d i n g _ o r _ w r i t i n g ; 
00496  
00497      c h a r   s a v e _ c h a r ; 
00498  
00499      m y _ b o o l   u n u s e d 1 ;   / *   P l e a s e   r e m o v e   w i t h   t h e   n e x t   i n c o m p a t i b l e   A B I   c h a n g e .   * / 
00500  
00501      m y _ b o o l   u n u s e d 2 ;   / *   P l e a s e   r e m o v e   w i t h   t h e   n e x t   i n c o m p a t i b l e   A B I   c h a n g e   * / 
00502  
00503      m y _ b o o l   c o m p r e s s ; 
00504  
00505      m y _ b o o l   u n u s e d 3 ;   / *   P l e a s e   r e m o v e   w i t h   t h e   n e x t   i n c o m p a t i b l e   A B I   c h a n g e .   * / 
00506  
00507      / * 
00508  
00509          P o i n t e r   t o   q u e r y   o b j e c t   i n   q u e r y   c a c h e ,   d o   n o t   e q u a l   N U L L   ( 0 )   f o r 
00510  
00511          q u e r i e s   i n   c a c h e   t h a t   h a v e   n o t   s t o r e d   i t s   r e s u l t s   y e t 
00512  
00513      * / 
00514  
00515  # e n d i f 
00516  
00517      / * 
00518  
00519          U n u s e d ,   p l e a s e   r e m o v e   w i t h   t h e   n e x t   i n c o m p a t i b l e   A B I   c h a n g e . 
00520  
00521      * / 
00522  
00523      u n s i g n e d   c h a r   * u n u s e d ; 
00524  
00525      u n s i g n e d   i n t   l a s t _ e r r n o ; 
00526  
00527      u n s i g n e d   c h a r   e r r o r ;   
00528  
00529      m y _ b o o l   u n u s e d 4 ;   / *   P l e a s e   r e m o v e   w i t h   t h e   n e x t   i n c o m p a t i b l e   A B I   c h a n g e .   * / 
00530  
00531      m y _ b o o l   u n u s e d 5 ;   / *   P l e a s e   r e m o v e   w i t h   t h e   n e x t   i n c o m p a t i b l e   A B I   c h a n g e .   * / 
00532  
00533      / * *   C l i e n t   l i b r a r y   e r r o r   m e s s a g e   b u f f e r .   A c t u a l l y   b e l o n g s   t o   s t r u c t   M Y S Q L .   * / 
00534  
00535      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 ] ; 
00536  
00537      / * *   C l i e n t   l i b r a r y   s q l s t a t e   b u f f e r .   S e t   a l o n g   w i t h   t h e   e r r o r   m e s s a g e .   * / 
00538  
00539      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 ] ; 
00540  
00541      v o i d   * e x t e n s i o n ; 
00542  
00543  }   N E T ; 
00544  
00545  
00546  
00547  # d e f i n e   p a c k e t _ e r r o r   ( ~ ( u n s i g n e d   l o n g )   0 ) 
00548  
00549  e n u m   e n u m _ f i e l d _ t y p e s   {   M Y S Q L _ T Y P E _ D E C I M A L ,   M Y S Q L _ T Y P E _ T I N Y , 
00550  
00551                                                  M Y S Q L _ T Y P E _ S H O R T ,     M Y S Q L _ T Y P E _ L O N G , 
00552  
00553                                                  M Y S Q L _ T Y P E _ F L O A T ,     M Y S Q L _ T Y P E _ D O U B L E , 
00554  
00555                                                  M Y S Q L _ T Y P E _ N U L L ,       M Y S Q L _ T Y P E _ T I M E S T A M P , 
00556  
00557                                                  M Y S Q L _ T Y P E _ L O N G L O N G , M Y S Q L _ T Y P E _ I N T 2 4 , 
00558  
00559                                                  M Y S Q L _ T Y P E _ D A T E ,       M Y S Q L _ T Y P E _ T I M E , 
00560  
00561                                                  M Y S Q L _ T Y P E _ D A T E T I M E ,   M Y S Q L _ T Y P E _ Y E A R , 
00562  
00563                                                  M Y S Q L _ T Y P E _ N E W D A T E ,   M Y S Q L _ T Y P E _ V A R C H A R , 
00564  
00565                                                  M Y S Q L _ T Y P E _ B I T , 
00566  
00567                                                  M Y S Q L _ T Y P E _ N E W D E C I M A L = 2 4 6 , 
00568  
00569                                                  M Y S Q L _ T Y P E _ E N U M = 2 4 7 , 
00570  
00571                                                  M Y S Q L _ T Y P E _ S E T = 2 4 8 , 
00572  
00573                                                  M Y S Q L _ T Y P E _ T I N Y _ B L O B = 2 4 9 , 
00574  
00575                                                  M Y S Q L _ T Y P E _ M E D I U M _ B L O B = 2 5 0 , 
00576  
00577                                                  M Y S Q L _ T Y P E _ L O N G _ B L O B = 2 5 1 , 
00578  
00579                                                  M Y S Q L _ T Y P E _ B L O B = 2 5 2 , 
00580  
00581                                                  M Y S Q L _ T Y P E _ V A R _ S T R I N G = 2 5 3 , 
00582  
00583                                                  M Y S Q L _ T Y P E _ S T R I N G = 2 5 4 , 
00584  
00585                                                  M Y S Q L _ T Y P E _ G E O M E T R Y = 2 5 5 , 
00586  
00587                                                  M A X _ N O _ F I E L D _ T Y P E S   / *   S h o u l d   a l w a y s   b e   l a s t   * / 
00588  
00589  } ; 
00590  
00591  / *   F o r   b a c k w a r d   c o m p a t i b i l i t y   * / 
00592  
00593  # d e f i n e   C L I E N T _ M U L T I _ Q U E R I E S         C L I E N T _ M U L T I _ S T A T E M E N T S         
00594  
00595  # d e f i n e   F I E L D _ T Y P E _ D E C I M A L           M Y S Q L _ T Y P E _ D E C I M A L 
00596  
00597  # d e f i n e   F I E L D _ T Y P E _ N E W D E C I M A L     M Y S Q L _ T Y P E _ N E W D E C I M A L 
00598  
00599  # d e f i n e   F I E L D _ T Y P E _ T I N Y                 M Y S Q L _ T Y P E _ T I N Y 
00600  
00601  # d e f i n e   F I E L D _ T Y P E _ S H O R T               M Y S Q L _ T Y P E _ S H O R T 
00602  
00603  # d e f i n e   F I E L D _ T Y P E _ L O N G                 M Y S Q L _ T Y P E _ L O N G 
00604  
00605  # d e f i n e   F I E L D _ T Y P E _ F L O A T               M Y S Q L _ T Y P E _ F L O A T 
00606  
00607  # d e f i n e   F I E L D _ T Y P E _ D O U B L E             M Y S Q L _ T Y P E _ D O U B L E 
00608  
00609  # d e f i n e   F I E L D _ T Y P E _ N U L L                 M Y S Q L _ T Y P E _ N U L L 
00610  
00611  # d e f i n e   F I E L D _ T Y P E _ T I M E S T A M P       M Y S Q L _ T Y P E _ T I M E S T A M P 
00612  
00613  # d e f i n e   F I E L D _ T Y P E _ L O N G L O N G         M Y S Q L _ T Y P E _ L O N G L O N G 
00614  
00615  # d e f i n e   F I E L D _ T Y P E _ I N T 2 4               M Y S Q L _ T Y P E _ I N T 2 4 
00616  
00617  # d e f i n e   F I E L D _ T Y P E _ D A T E                 M Y S Q L _ T Y P E _ D A T E 
00618  
00619  # d e f i n e   F I E L D _ T Y P E _ T I M E                 M Y S Q L _ T Y P E _ T I M E 
00620  
00621  # d e f i n e   F I E L D _ T Y P E _ D A T E T I M E         M Y S Q L _ T Y P E _ D A T E T I M E 
00622  
00623  # d e f i n e   F I E L D _ T Y P E _ Y E A R                 M Y S Q L _ T Y P E _ Y E A R 
00624  
00625  # d e f i n e   F I E L D _ T Y P E _ N E W D A T E           M Y S Q L _ T Y P E _ N E W D A T E 
00626  
00627  # d e f i n e   F I E L D _ T Y P E _ E N U M                 M Y S Q L _ T Y P E _ E N U M 
00628  
00629  # d e f i n e   F I E L D _ T Y P E _ S E T                   M Y S Q L _ T Y P E _ S E T 
00630  
00631  # d e f i n e   F I E L D _ T Y P E _ T I N Y _ B L O B       M Y S Q L _ T Y P E _ T I N Y _ B L O B 
00632  
00633  # d e f i n e   F I E L D _ T Y P E _ M E D I U M _ B L O B   M Y S Q L _ T Y P E _ M E D I U M _ B L O B 
00634  
00635  # d e f i n e   F I E L D _ T Y P E _ L O N G _ B L O B       M Y S Q L _ T Y P E _ L O N G _ B L O B 
00636  
00637  # d e f i n e   F I E L D _ T Y P E _ B L O B                 M Y S Q L _ T Y P E _ B L O B 
00638  
00639  # d e f i n e   F I E L D _ T Y P E _ V A R _ S T R I N G     M Y S Q L _ T Y P E _ V A R _ S T R I N G 
00640  
00641  # d e f i n e   F I E L D _ T Y P E _ S T R I N G             M Y S Q L _ T Y P E _ S T R I N G 
00642  
00643  # d e f i n e   F I E L D _ T Y P E _ C H A R                 M Y S Q L _ T Y P E _ T I N Y 
00644  
00645  # d e f i n e   F I E L D _ T Y P E _ I N T E R V A L         M Y S Q L _ T Y P E _ E N U M 
00646  
00647  # d e f i n e   F I E L D _ T Y P E _ G E O M E T R Y         M Y S Q L _ T Y P E _ G E O M E T R Y 
00648  
00649  # d e f i n e   F I E L D _ T Y P E _ B I T                   M Y S Q L _ T Y P E _ B I T 
00650  
00651  
00652  
00653  / *   S h u t d o w n / k i l l   e n u m s   a n d   c o n s t a n t s   * /   
00654  
00655  / *   B i t s   f o r   T H D : : k i l l a b l e .   * / 
00656  
00657  # d e f i n e   M Y S Q L _ S H U T D O W N _ K I L L A B L E _ C O N N E C T         ( u n s i g n e d   c h a r ) ( 1   < <   0 ) 
00658  
00659  # d e f i n e   M Y S Q L _ S H U T D O W N _ K I L L A B L E _ T R A N S             ( u n s i g n e d   c h a r ) ( 1   < <   1 ) 
00660  
00661  # d e f i n e   M Y S Q L _ S H U T D O W N _ K I L L A B L E _ L O C K _ T A B L E   ( u n s i g n e d   c h a r ) ( 1   < <   2 ) 
00662  
00663  # d e f i n e   M Y S Q L _ S H U T D O W N _ K I L L A B L E _ U P D A T E           ( u n s i g n e d   c h a r ) ( 1   < <   3 ) 
00664  
00665  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   { 
00666  
00667      / * 
00668  
00669          W e   w a n t   l e v e l s   t o   b e   i n   g r o w i n g   o r d e r   o f   h a r d n e s s   ( b e c a u s e   w e   u s e   n u m b e r 
00670  
00671          c o m p a r i s o n s ) .   N o t e   t h a t   D E F A U L T   d o e s   n o t   r e s p e c t   t h e   g r o w i n g   p r o p e r t y ,   b u t 
00672  
00673          i t ' s   o k . 
00674  
00675      * / 
00676  
00677      S H U T D O W N _ D E F A U L T   =   0 , 
00678  
00679      / *   w a i t   f o r   e x i s t i n g   c o n n e c t i o n s   t o   f i n i s h   * / 
00680  
00681      S H U T D O W N _ W A I T _ C O N N E C T I O N S =   M Y S Q L _ S H U T D O W N _ K I L L A B L E _ C O N N E C T , 
00682  
00683      / *   w a i t   f o r   e x i s t i n g   t r a n s   t o   f i n i s h   * / 
00684  
00685      S H U T D O W N _ W A I T _ T R A N S A C T I O N S =   M Y S Q L _ S H U T D O W N _ K I L L A B L E _ T R A N S , 
00686  
00687      / *   w a i t   f o r   e x i s t i n g   u p d a t e s   t o   f i n i s h   ( = >   n o   p a r t i a l   M y I S A M   u p d a t e )   * / 
00688  
00689      S H U T D O W N _ W A I T _ U P D A T E S =   M Y S Q L _ S H U T D O W N _ K I L L A B L E _ U P D A T E , 
00690  
00691      / *   f l u s h   I n n o D B   b u f f e r s   a n d   o t h e r   s t o r a g e   e n g i n e s '   b u f f e r s * / 
00692  
00693      S H U T D O W N _ W A I T _ A L L _ B U F F E R S =   ( M Y S Q L _ S H U T D O W N _ K I L L A B L E _ U P D A T E   < <   1 ) , 
00694  
00695      / *   d o n ' t   f l u s h   I n n o D B   b u f f e r s ,   f l u s h   o t h e r   s t o r a g e   e n g i n e s '   b u f f e r s * / 
00696  
00697      S H U T D O W N _ W A I T _ C R I T I C A L _ B U F F E R S =   ( M Y S Q L _ S H U T D O W N _ K I L L A B L E _ U P D A T E   < <   1 )   +   1 , 
00698  
00699      / *   N o w   t h e   2   l e v e l s   o f   t h e   K I L L   c o m m a n d   * / 
00700  
00701  # i f   M Y S Q L _ V E R S I O N _ I D   > =   5 0 0 0 0 
00702  
00703      K I L L _ Q U E R Y =   2 5 4 , 
00704  
00705  # e n d i f 
00706  
00707      K I L L _ C O N N E C T I O N =   2 5 5 
00708  
00709  } ; 
00710  
00711  
00712  
00713  e n u m   e n u m _ c u r s o r _ t y p e 
00714  
00715  { 
00716  
00717      C U R S O R _ T Y P E _ N O _ C U R S O R =   0 , 
00718  
00719      C U R S O R _ T Y P E _ R E A D _ O N L Y =   1 , 
00720  
00721      C U R S O R _ T Y P E _ F O R _ U P D A T E =   2 , 
00722  
00723      C U R S O R _ T Y P E _ S C R O L L A B L E =   4 
00724  
00725  } ; 
00726  
00727  
00728  
00729  / *   o p t i o n s   f o r   m y s q l _ s e t _ o p t i o n   * / 
00730  
00731  e n u m   e n u m _ m y s q l _ s e t _ o p t i o n 
00732  
00733  { 
00734  
00735      M Y S Q L _ O P T I O N _ M U L T I _ S T A T E M E N T S _ O N , 
00736  
00737      M Y S Q L _ O P T I O N _ M U L T I _ S T A T E M E N T S _ O F F 
00738  
00739  } ; 
00740  
00741  # d e f i n e   n e t _ n e w _ t r a n s a c t i o n ( n e t )   ( ( n e t ) - > p k t _ n r = 0 ) 
00742  
00743  # i f d e f   _ _ c p l u s p l u s 
00744  
00745  e x t e r n   " C "   { 
00746  
00747  # e n d i f 
00748  
00749  m y _ b o o l   m y _ n e t _ i n i t ( N E T   * n e t ,   V i o *   v i o ) ; 
00750  
00751  v o i d     m y _ n e t _ l o c a l _ i n i t ( N E T   * n e t ) ; 
00752  
00753  v o i d     n e t _ e n d ( N E T   * n e t ) ; 
00754  
00755      v o i d     n e t _ c l e a r ( N E T   * n e t ,   m y _ b o o l   c l e a r _ b u f f e r ) ; 
00756  
00757  m y _ b o o l   n e t _ r e a l l o c ( N E T   * n e t ,   s i z e _ t   l e n g t h ) ; 
00758  
00759  m y _ b o o l   n e t _ f l u s h ( N E T   * n e t ) ; 
00760  
00761  m y _ b o o l   m y _ n e t _ w r i t e ( N E T   * n e t , c o n s t   u n s i g n e d   c h a r   * p a c k e t ,   s i z e _ t   l e n ) ; 
00762  
00763  m y _ b o o l   n e t _ w r i t e _ c o m m a n d ( N E T   * n e t , u n s i g n e d   c h a r   c o m m a n d , 
00764  
00765                  c o n s t   u n s i g n e d   c h a r   * h e a d e r ,   s i z e _ t   h e a d _ l e n , 
00766  
00767                  c o n s t   u n s i g n e d   c h a r   * p a c k e t ,   s i z e _ t   l e n ) ; 
00768  
00769  i n t   n e t _ r e a l _ w r i t e ( N E T   * n e t , c o n s t   u n s i g n e d   c h a r   * p a c k e t ,   s i z e _ t   l e n ) ; 
00770  
00771  u n s i g n e d   l o n g   m y _ n e t _ r e a d ( N E T   * n e t ) ; 
00772  
00773  # i f d e f   _ g l o b a l _ h 
00774  
00775  v o i d   m y _ n e t _ s e t _ w r i t e _ t i m e o u t ( N E T   * n e t ,   u i n t   t i m e o u t ) ; 
00776  
00777  v o i d   m y _ n e t _ s e t _ r e a d _ t i m e o u t ( N E T   * n e t ,   u i n t   t i m e o u t ) ; 
00778  
00779  # e n d i f 
00780  
00781  s t r u c t   s o c k a d d r ; 
00782  
00783  i n t   m y _ c o n n e c t ( m y _ s o c k e t   s ,   c o n s t   s t r u c t   s o c k a d d r   * n a m e ,   u n s i g n e d   i n t   n a m e l e n , 
00784  
00785                    u n s i g n e d   i n t   t i m e o u t ) ; 
00786  
00787  s t r u c t   m y _ r n d _ s t r u c t ; 
00788  
00789  # i f d e f   _ _ c p l u s p l u s 
00790  
00791  } 
00792  
00793  # e n d i f 
00794  
00795      / *   T h e   f o l l o w i n g   i s   f o r   u s e r   d e f i n e d   f u n c t i o n s   * / 
00796  
00797  e n u m   I t e m _ r e s u l t 
00798  
00799  { 
00800  
00801      S T R I N G _ R E S U L T = 0 ,   R E A L _ R E S U L T ,   I N T _ R E S U L T ,   R O W _ R E S U L T ,   D E C I M A L _ R E S U L T 
00802  
00803  # i f d e f   M Y S Q L _ S E R V E R 
00804  
00805      , I M P O S S I B L E _ R E S U L T     / *   Y e s ,   w e   k n o w   t h i s   i s   u g l y ,   d o n ' t   t e l l   u s   * / 
00806  
00807      , M A X _ N O _ I T E M _ R E S U L T S   =   I M P O S S I B L E _ R E S U L T   / *   S h o u l d   a l w a y s   b e   l a s t   * / 
00808  
00809  # e n d i f 
00810  
00811  } ; 
00812  
00813  t y p e d e f   s t r u c t   s t _ u d f _ a r g s 
00814  
00815  { 
00816  
00817      u n s i g n e d   i n t   a r g _ c o u n t ;       / *   N u m b e r   o f   a r g u m e n t s   * / 
00818  
00819      e n u m   I t e m _ r e s u l t   * a r g _ t y p e ;       / *   P o i n t e r   t o   i t e m _ r e s u l t s   * / 
00820  
00821      c h a r   * * a r g s ;                 / *   P o i n t e r   t o   a r g u m e n t   * / 
00822  
00823      u n s i g n e d   l o n g   * l e n g t h s ;       / *   L e n g t h   o f   s t r i n g   a r g u m e n t s   * / 
00824  
00825      c h a r   * m a y b e _ n u l l ;           / *   S e t   t o   1   f o r   a l l   m a y b e _ n u l l   a r g s   * / 
00826  
00827      c h a r   * * a t t r i b u t e s ;                                         / *   P o i n t e r   t o   a t t r i b u t e   n a m e   * / 
00828  
00829      u n s i g n e d   l o n g   * a t t r i b u t e _ l e n g t h s ;           / *   L e n g t h   o f   a t t r i b u t e   a r g u m e n t s   * / 
00830  
00831      v o i d   * e x t e n s i o n ; 
00832  
00833  }   U D F _ A R G S ; 
00834  
00835      / *   T h i s   h o l d s   i n f o r m a t i o n   a b o u t   t h e   r e s u l t   * / 
00836  
00837  t y p e d e f   s t r u c t   s t _ u d f _ i n i t 
00838  
00839  { 
00840  
00841      m y _ b o o l   m a y b e _ n u l l ;                     / *   1   i f   f u n c t i o n   c a n   r e t u r n   N U L L   * / 
00842  
00843      u n s i g n e d   i n t   d e c i m a l s ;               / *   f o r   r e a l   f u n c t i o n s   * / 
00844  
00845      u n s i g n e d   l o n g   m a x _ l e n g t h ;         / *   F o r   s t r i n g   f u n c t i o n s   * / 
00846  
00847      c h a r   * p t r ;                                       / *   f r e e   p o i n t e r   f o r   f u n c t i o n   d a t a   * / 
00848  
00849      m y _ b o o l   c o n s t _ i t e m ;                     / *   1   i f   f u n c t i o n   a l w a y s   r e t u r n s   t h e   s a m e   v a l u e   * / 
00850  
00851      v o i d   * e x t e n s i o n ; 
00852  
00853  }   U D F _ I N I T ; 
00854  
00855  / *   
00856  
00857      T O D O :   a d d   a   n o t i o n   f o r   d e t e r m i n i s m   o f   t h e   U D F .   
00858  
00859      S e e   I t e m _ u d f _ f u n c : : u p d a t e _ u s e d _ t a b l e s   ( ) 
00860  
00861  * / 
00862  
00863      / *   C o n s t a n t s   w h e n   u s i n g   c o m p r e s s i o n   * / 
00864  
00865  # d e f i n e   N E T _ H E A D E R _ S I Z E   4       / *   s t a n d a r d   h e a d e r   s i z e   * / 
00866  
00867  # d e f i n e   C O M P _ H E A D E R _ S I Z E   3         / *   c o m p r e s s i o n   h e a d e r   e x t r a   s i z e   * / 
00868  
00869      / *   P r o t o t y p e s   t o   p a s s w o r d   f u n c t i o n s   * / 
00870  
00871  # i f d e f   _ _ c p l u s p l u s 
00872  
00873  e x t e r n   " C "   { 
00874  
00875  # e n d i f 
00876  
00877  / * 
00878  
00879      T h e s e   f u n c t i o n s   a r e   u s e d   f o r   a u t h e n t i c a t i o n   b y   c l i e n t   a n d   s e r v e r   a n d 
00880  
00881      i m p l e m e n t e d   i n   s q l / p a s s w o r d . c 
00882  
00883  * / 
00884  
00885  v o i d   c r e a t e _ r a n d o m _ s t r i n g ( c h a r   * t o ,   u n s i g n e d   i n t   l e n g t h , 
00886  
00887                                                      s t r u c t   m y _ r n d _ s t r u c t   * r a n d _ s t ) ; 
00888  
00889  v o i d   h a s h _ p a s s w o r d ( u n s i g n e d   l o n g   * t o ,   c o n s t   c h a r   * p a s s w o r d ,   u n s i g n e d   i n t   p a s s w o r d _ l e n ) ; 
00890  
00891  v o i d   m a k e _ s c r a m b l e d _ p a s s w o r d _ 3 2 3 ( c h a r   * t o ,   c o n s t   c h a r   * p a s s w o r d ) ; 
00892  
00893  v o i d   s c r a m b l e _ 3 2 3 ( c h a r   * t o ,   c o n s t   c h a r   * m e s s a g e ,   c o n s t   c h a r   * p a s s w o r d ) ; 
00894  
00895  m y _ b o o l   c h e c k _ s c r a m b l e _ 3 2 3 ( c o n s t   c h a r   * ,   c o n s t   c h a r   * m e s s a g e , 
00896  
00897                                                        u n s i g n e d   l o n g   * s a l t ) ; 
00898  
00899  v o i d   g e t _ s a l t _ f r o m _ p a s s w o r d _ 3 2 3 ( u n s i g n e d   l o n g   * r e s ,   c o n s t   c h a r   * p a s s w o r d ) ; 
00900  
00901  v o i d   m a k e _ p a s s w o r d _ f r o m _ s a l t _ 3 2 3 ( c h a r   * t o ,   c o n s t   u n s i g n e d   l o n g   * s a l t ) ; 
00902  
00903  v o i d   m a k e _ s c r a m b l e d _ p a s s w o r d ( c h a r   * t o ,   c o n s t   c h a r   * p a s s w o r d ) ; 
00904  
00905  v o i d   s c r a m b l e ( c h a r   * t o ,   c o n s t   c h a r   * m e s s a g e ,   c o n s t   c h a r   * p a s s w o r d ) ; 
00906  
00907  m y _ b o o l   c h e c k _ s c r a m b l e ( c o n s t   c h a r   * r e p l y ,   c o n s t   c h a r   * m e s s a g e , 
00908  
00909                                                c o n s t   u n s i g n e d   c h a r   * h a s h _ s t a g e 2 ) ; 
00910  
00911  v o i d   g e t _ s a l t _ f r o m _ p a s s w o r d ( u n s i g n e d   c h a r   * r e s ,   c o n s t   c h a r   * p a s s w o r d ) ; 
00912  
00913  v o i d   m a k e _ p a s s w o r d _ f r o m _ s a l t ( c h a r   * t o ,   c o n s t   u n s i g n e d   c h a r   * h a s h _ s t a g e 2 ) ; 
00914  
00915  c h a r   * o c t e t 2 h e x ( c h a r   * t o ,   c o n s t   c h a r   * s t r ,   u n s i g n e d   i n t   l e n ) ; 
00916  
00917  / *   e n d   o f   p a s s w o r d . c   * / 
00918  
00919  c h a r   * g e t _ t t y _ p a s s w o r d ( c o n s t   c h a r   * o p t _ m e s s a g e ) ; 
00920  
00921  c o n s t   c h a r   * m y s q l _ e r r n o _ t o _ s q l s t a t e ( u n s i g n e d   i n t   m y s q l _ e r r n o ) ; 
00922  
00923  / *   S o m e   o t h e r   u s e f u l   f u n c t i o n s   * / 
00924  
00925  m y _ b o o l   m y _ t h r e a d _ i n i t ( v o i d ) ; 
00926  
00927  v o i d   m y _ t h r e a d _ e n d ( v o i d ) ; 
00928  
00929  # i f d e f   _ g l o b a l _ h 
00930  
00931  u l o n g   S T D C A L L   n e t _ f i e l d _ l e n g t h ( u c h a r   * * p a c k e t ) ; 
00932  
00933  m y _ u l o n g l o n g   n e t _ f i e l d _ l e n g t h _ l l ( u c h a r   * * p a c k e t ) ; 
00934  
00935  u c h a r   * n e t _ s t o r e _ l e n g t h ( u c h a r   * p k g ,   u l o n g l o n g   l e n g t h ) ; 
00936  
00937  # e n d i f 
00938  
00939  # i f d e f   _ _ c p l u s p l u s 
00940  
00941  } 
00942  
00943  # e n d i f 
00944  
00945  # d e f i n e   N U L L _ L E N G T H   ( ( u n s i g n e d   l o n g )   ~ 0 )   / *   F o r   n e t _ s t o r e _ l e n g t h   * / 
00946  
00947  # d e f i n e   M Y S Q L _ S T M T _ H E A D E R               4 
00948  
00949  # d e f i n e   M Y S Q L _ L O N G _ D A T A _ H E A D E R     6 
00950  
00951  # d e f i n e   N O T _ F I X E D _ D E C                       3 1 
00952  
00953  # e n d i f 
00954  
00955  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义