CMGDK r49-rc2
|
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