0000: 31 2e 37 2e 33 35 2c 20 32 30 30 35 2e 30 35 2e 1.7.35, 2005.05.
0010: 30 35 20 54 68 65 20 22 43 69 6e 63 6f 20 64 65 05 The "Cinco de
0020: 20 4d 61 79 6f 22 20 72 65 6c 65 61 73 65 20 28 Mayo" release (
0030: 72 36 30 31 29 0a 0a 09 6f 20 41 64 64 65 64 20 r601)...o Added
0040: 61 20 22 68 6f 77 20 74 6f 20 75 73 65 20 55 6e a "how to use Un
0050: 69 63 6f 64 65 20 77 69 74 68 20 4d 79 53 51 4c icode with MySQL
0060: 2b 2b 22 20 63 68 61 70 74 65 72 20 74 6f 20 74 ++" chapter to t
0070: 68 65 20 75 73 65 72 0a 09 20 20 6d 61 6e 75 61 he user.. manua
0080: 6c 2e 20 20 28 54 6f 6f 20 62 61 64 20 22 43 69 l. (Too bad "Ci
0090: 6e 63 6f 20 64 65 20 4d 61 79 6f 22 20 64 6f 65 nco de Mayo" doe
00a0: 73 6e 27 74 20 68 61 76 65 20 61 6e 79 20 61 63 sn't have any ac
00b0: 63 65 6e 74 65 64 0a 09 20 20 63 68 61 72 61 63 cented.. charac
00c0: 74 65 72 73 2e 20 20 54 68 61 74 20 77 6f 75 6c ters. That woul
00d0: 64 20 62 65 20 6a 75 73 74 20 5f 74 6f 6f 5f 20 d be just _too_
00e0: 70 72 65 63 69 6f 75 73 2e 29 0a 0a 09 6f 20 56 precious.)...o V
00f0: 43 2b 2b 20 65 78 61 6d 70 6c 65 73 20 6e 6f 77 C++ examples now
0100: 20 75 73 65 20 74 68 65 20 55 6e 69 63 6f 64 65 use the Unicode
0110: 20 57 69 6e 33 32 20 41 50 49 73 2c 20 73 6f 20 Win32 APIs, so
0120: 74 68 65 79 20 63 61 6e 20 64 69 73 70 6c 61 79 they can display
0130: 0a 09 20 20 55 6e 69 63 6f 64 65 20 64 61 74 61 .. Unicode data
0140: 20 66 72 6f 6d 20 4d 79 53 51 4c 2b 2b 2e 0a 0a from MySQL++...
0150: 09 6f 20 41 64 64 65 64 20 61 6e 20 6f 70 74 69 .o Added an opti
0160: 6f 6e 61 6c 20 63 6f 6e 76 65 72 73 69 6f 6e 20 onal conversion
0170: 66 75 6e 63 74 69 6f 6e 20 74 6f 20 65 78 61 6d function to exam
0180: 70 6c 65 73 2f 75 74 69 6c 2e 63 70 70 20 74 6f ples/util.cpp to
0190: 0a 09 20 20 68 61 6e 64 6c 65 20 74 68 65 20 63 .. handle the c
01a0: 6f 6e 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 55 onversion from U
01b0: 54 46 2d 38 20 74 6f 20 55 43 53 2d 32 20 6f 6e TF-8 to UCS-2 on
01c0: 20 57 69 6e 33 32 2e 0a 0a 09 6f 20 4d 6f 76 65 Win32....o Move
01d0: 64 20 22 62 72 69 65 66 20 68 69 73 74 6f 72 79 d "brief history
01e0: 20 6f 66 20 4d 79 53 51 4c 2b 2b 22 20 66 72 6f of MySQL++" fro
01f0: 6d 20 69 6e 74 72 6f 20 73 65 63 74 69 6f 6e 20 m intro section
0200: 6f 66 20 72 65 66 6d 61 6e 20 74 6f 0a 09 20 20 of refman to..
0210: 69 6e 74 72 6f 20 73 65 63 74 69 6f 6e 20 6f 66 intro section of
0220: 20 75 73 65 72 6d 61 6e 2e 0a 0a 09 6f 20 4c 6f userman....o Lo
0230: 74 73 20 6f 66 20 73 6d 61 6c 6c 20 62 69 74 73 ts of small bits
0240: 20 6f 66 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f of documentatio
0250: 6e 20 70 6f 6c 69 73 68 69 6e 67 2e 0a 09 0a 09 n polishing.....
0260: 6f 20 4d 61 64 65 20 73 6f 6d 65 20 6d 69 6e 6f o Made some mino
0270: 72 20 63 6f 6e 73 74 6e 65 73 73 20 66 69 78 65 r constness fixe
0280: 73 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 22 45 s. Thanks to "E
0290: 72 77 69 6e 22 20 28 65 72 77 69 6e 20 61 74 20 rwin" (erwin at
02a0: 0a 09 20 20 6c 65 61 73 74 77 61 6e 74 65 64 20 .. leastwanted
02b0: 64 6f 74 20 6e 6c 29 20 66 6f 72 20 74 68 69 73 dot nl) for this
02c0: 20 70 61 74 63 68 2e 0a 09 0a 09 6f 20 4d 61 64 patch.....o Mad
02d0: 65 20 73 6f 6d 65 20 77 61 72 6e 69 6e 67 20 66 e some warning f
02e0: 69 78 65 73 20 66 6f 72 20 47 43 43 20 34 2e 30 ixes for GCC 4.0
02f0: 2e 20 20 4e 6f 74 20 61 6c 6c 20 77 61 72 6e 69 . Not all warni
0300: 6e 67 73 20 61 72 65 20 66 69 78 65 64 2c 0a 09 ngs are fixed,..
0310: 20 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 6f because some o
0320: 66 20 74 68 65 20 6e 65 65 64 65 64 20 63 68 61 f the needed cha
0330: 6e 67 65 73 20 77 6f 75 6c 64 20 62 72 65 61 6b nges would break
0340: 20 74 68 65 20 41 42 49 2e 20 20 54 68 61 6e 6b the ABI. Thank
0350: 73 0a 09 20 20 74 6f 20 43 68 72 69 73 20 46 72 s.. to Chris Fr
0360: 65 79 20 66 6f 72 20 74 68 69 73 20 70 61 74 63 ey for this patc
0370: 68 2e 0a 0a 09 6f 20 41 64 64 65 64 20 6c 69 62 h....o Added lib
0380: 2f 44 6f 78 79 66 69 6c 65 20 74 6f 20 64 69 73 /Doxyfile to dis
0390: 74 72 69 62 75 74 69 6f 6e 2e 0a 09 0a 0a 31 2e tribution.....1.
03a0: 37 2e 33 34 2c 20 32 30 30 35 2e 30 34 2e 33 30 7.34, 2005.04.30
03b0: 20 28 72 35 37 33 29 0a 0a 09 6f 20 41 64 64 65 (r573)...o Adde
03c0: 64 20 61 20 6d 75 6c 74 69 70 6c 65 2d 69 6e 73 d a multiple-ins
03d0: 65 72 74 20 6d 65 74 68 6f 64 20 66 6f 72 20 51 ert method for Q
03e0: 75 65 72 79 2c 20 77 68 69 63 68 20 6c 65 74 73 uery, which lets
03f0: 20 79 6f 75 20 69 6e 73 65 72 74 0a 09 20 20 61 you insert.. a
0400: 20 72 61 6e 67 65 20 6f 66 20 72 65 63 6f 72 64 range of record
0410: 73 20 66 72 6f 6d 20 61 6e 20 53 54 4c 20 63 6f s from an STL co
0420: 6e 74 61 69 6e 65 72 20 28 6f 72 20 74 68 65 20 ntainer (or the
0430: 77 68 6f 6c 65 20 74 68 69 6e 67 2c 0a 09 20 20 whole thing,..
0440: 69 66 20 79 6f 75 20 6c 69 6b 65 29 20 69 6e 20 if you like) in
0450: 61 20 73 69 6e 67 6c 65 20 53 51 4c 20 71 75 65 a single SQL que
0460: 72 79 2e 20 20 54 68 69 73 20 69 73 20 66 61 73 ry. This is fas
0470: 74 65 72 2c 20 61 6e 64 20 69 74 0a 09 20 20 72 ter, and it.. r
0480: 65 64 75 63 65 73 20 63 6f 64 69 6e 67 20 65 72 educes coding er
0490: 72 6f 72 73 20 64 75 65 20 74 6f 20 6c 65 73 73 rors due to less
04a0: 20 72 65 70 65 74 69 74 69 6f 6e 2e 20 20 54 68 repetition. Th
04b0: 61 6e 6b 73 20 74 6f 20 4d 61 72 6b 0a 09 20 20 anks to Mark..
04c0: 4d 65 72 65 64 69 6e 6f 20 66 6f 72 20 74 68 65 Meredino for the
04d0: 20 70 61 74 63 68 2e 0a 0a 09 6f 20 52 65 66 65 patch....o Refe
04e0: 72 65 6e 63 65 20 61 6e 64 20 75 73 65 72 20 6d rence and user m
04f0: 61 6e 75 61 6c 20 6e 6f 77 20 67 65 74 20 72 65 anual now get re
0500: 62 75 69 6c 74 20 61 75 74 6f 6d 61 74 69 63 61 built automatica
0510: 6c 6c 79 20 77 68 65 6e 0a 09 20 20 72 65 71 75 lly when.. requ
0520: 69 72 65 64 2e 20 20 28 45 2e 67 2e 20 6f 6e 20 ired. (E.g. on
0530: 27 6d 61 6b 65 20 64 69 73 74 27 2c 20 6f 72 20 'make dist', or
0540: 65 78 70 6c 69 63 69 74 6c 79 20 6e 6f 77 20 74 explicitly now t
0550: 68 72 6f 75 67 68 20 27 6d 61 6b 65 0a 09 20 20 hrough 'make..
0560: 64 6f 63 73 27 2e 29 0a 0a 09 6f 20 4d 61 64 65 docs'.)...o Made
0570: 20 69 74 20 65 61 73 69 65 72 20 74 6f 20 63 68 it easier to ch
0580: 61 6e 67 65 20 74 68 65 20 6d 61 78 69 6d 75 6d ange the maximum
0590: 20 6e 75 6d 62 65 72 20 6f 66 20 53 53 51 4c 53 number of SSQLS
05a0: 20 64 61 74 61 20 6d 65 6d 62 65 72 73 0a 09 20 data members..
05b0: 20 69 6e 20 67 65 6e 65 72 61 74 65 64 20 63 75 in generated cu
05c0: 73 74 6f 6d 2d 6d 61 63 72 6f 73 2e 68 20 66 69 stom-macros.h fi
05d0: 6c 65 2e 20 20 49 74 20 75 73 65 64 20 74 6f 20 le. It used to
05e0: 62 65 20 68 61 72 64 2d 63 6f 64 65 64 20 69 6e be hard-coded in
05f0: 0a 09 20 20 73 65 76 65 72 61 6c 20 70 6c 61 63 .. several plac
0600: 65 73 20 69 6e 20 6c 69 62 2f 63 75 73 74 6f 6d es in lib/custom
0610: 2e 70 6c 3b 20 6e 6f 77 20 69 74 27 73 20 61 20 .pl; now it's a
0620: 76 61 72 69 61 62 6c 65 20 61 74 20 74 68 65 20 variable at the
0630: 74 6f 70 20 6f 66 0a 09 20 20 74 68 65 20 66 69 top of.. the fi
0640: 6c 65 2e 0a 0a 09 6f 20 43 68 61 6e 67 65 64 20 le....o Changed
0650: 64 65 66 61 75 6c 74 20 53 53 51 4c 53 20 64 61 default SSQLS da
0660: 74 61 20 6d 65 6d 62 65 72 20 6c 69 6d 69 74 20 ta member limit
0670: 74 6f 20 32 35 2c 20 77 68 69 63 68 20 69 73 20 to 25, which is
0680: 77 68 61 74 20 69 74 0a 09 20 20 68 61 73 20 62 what it.. has b
0690: 65 65 6e 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 een documented a
06a0: 73 20 66 6f 72 20 61 20 6c 6f 6e 67 20 74 69 6d s for a long tim
06b0: 65 20 6e 6f 77 2e 20 20 49 74 20 77 61 73 20 61 e now. It was a
06c0: 63 74 75 61 6c 6c 79 20 32 36 0a 09 20 20 77 69 ctually 26.. wi
06d0: 74 68 69 6e 20 63 75 73 74 6f 6d 2e 70 6c 2e 0a thin custom.pl..
06e0: 0a 09 6f 20 46 69 78 65 64 20 61 20 72 65 67 72 ..o Fixed a regr
06f0: 65 73 73 69 6f 6e 20 69 6e 20 70 72 65 76 69 6f ession in previo
0700: 75 73 20 76 65 72 73 69 6f 6e 2e 0a 0a 09 6f 20 us version....o
0710: 54 72 69 6d 6d 65 64 20 73 6f 6d 65 20 66 61 74 Trimmed some fat
0720: 20 66 72 6f 6d 20 74 68 65 20 64 69 73 74 72 69 from the distri
0730: 62 75 74 69 6f 6e 20 70 61 63 6b 61 67 65 73 2e bution packages.
0740: 0a 0a 09 6f 20 53 6f 6d 65 20 6d 6f 72 65 20 73 ...o Some more s
0750: 6d 61 6c 6c 20 64 6f 75 63 6d 65 6e 74 61 74 69 mall doucmentati
0760: 6f 6e 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e on improvements.
0770: 0a 0a 0a 31 2e 37 2e 33 33 2c 20 32 30 30 35 2e ...1.7.33, 2005.
0780: 30 34 2e 32 39 20 28 72 35 35 35 29 0a 0a 09 6f 04.29 (r555)...o
0790: 20 57 6f 72 6b 65 64 20 61 72 6f 75 6e 64 20 61 Worked around a
07a0: 6e 20 6f 76 65 72 6c 6f 61 64 65 64 20 6f 70 65 n overloaded ope
07b0: 72 61 74 6f 72 20 6c 6f 6f 6b 75 70 20 62 75 67 rator lookup bug
07c0: 20 69 6e 20 56 43 2b 2b 20 37 2e 31 0a 09 20 20 in VC++ 7.1..
07d0: 74 68 61 74 20 63 61 75 73 65 64 20 53 53 51 4c that caused SSQL
07e0: 53 20 69 6e 73 65 72 74 2c 20 72 65 70 6c 61 63 S insert, replac
07f0: 65 20 61 6e 64 20 75 70 64 61 74 65 20 71 75 65 e and update que
0800: 72 69 65 73 20 74 6f 20 67 65 74 0a 09 20 20 6d ries to get.. m
0810: 61 6e 67 6c 65 64 2e 20 20 28 53 79 6d 70 74 6f angled. (Sympto
0820: 6d 20 77 61 73 20 74 68 61 74 20 63 75 73 74 6f m was that custo
0830: 6d 32 20 61 6e 64 20 63 75 73 74 6f 6d 33 20 65 m2 and custom3 e
0840: 78 61 6d 70 6c 65 73 20 64 69 64 6e 27 74 0a 09 xamples didn't..
0850: 20 20 77 6f 72 6b 20 72 69 67 68 74 2e 29 20 20 work right.)
0860: 54 68 61 6e 6b 73 20 74 6f 20 4d 61 72 6b 20 4d Thanks to Mark M
0870: 65 72 65 64 69 6e 6f 20 66 6f 72 20 64 69 67 67 eredino for digg
0880: 69 6e 67 20 75 70 20 74 68 65 0a 09 20 20 66 6f ing up the.. fo
0890: 6c 6c 6f 77 69 6e 67 2c 20 77 68 69 63 68 20 65 llowing, which e
08a0: 78 70 6c 61 69 6e 73 20 74 68 65 20 70 72 6f 62 xplains the prob
08b0: 6c 65 6d 20 61 6e 64 20 67 69 76 65 73 20 74 68 lem and gives th
08c0: 65 20 73 6f 6c 75 74 69 6f 6e 3a 0a 0a 09 20 20 e solution:...
08d0: 68 74 74 70 3a 2f 2f 67 72 6f 75 70 73 2d 62 65 http://groups-be
08e0: 74 61 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 67 72 ta.google.com/gr
08f0: 6f 75 70 2f 6d 69 63 72 6f 73 6f 66 74 2e 70 75 oup/microsoft.pu
0900: 62 6c 69 63 2e 76 63 2e 73 74 6c 2f 62 72 6f 77 blic.vc.stl/brow
0910: 73 65 5f 74 68 72 65 61 64 2f 74 68 72 65 61 64 se_thread/thread
0920: 2f 39 61 36 38 64 38 34 36 34 34 65 36 34 66 31 /9a68d84644e64f1
0930: 35 0a 0a 09 6f 20 53 6f 6d 65 20 56 43 2b 2b 20 5...o Some VC++
0940: 77 61 72 6e 69 6e 67 20 66 69 78 65 73 2e 0a 0a warning fixes...
0950: 09 6f 20 4d 61 6a 6f 72 20 64 6f 63 75 6d 65 6e .o Major documen
0960: 74 61 74 69 6f 6e 20 69 6d 70 72 6f 76 65 6d 65 tation improveme
0970: 6e 74 73 3a 0a 09 0a 09 09 6f 20 55 73 69 6e 67 nts:.....o Using
0980: 20 44 6f 63 42 6f 6f 6b 20 66 6f 72 20 75 73 65 DocBook for use
0990: 72 20 6d 61 6e 75 61 6c 20 61 6e 64 20 44 6f 78 r manual and Dox
09a0: 79 67 65 6e 20 66 6f 72 20 72 65 66 65 72 65 6e ygen for referen
09b0: 63 65 0a 09 09 20 20 6d 61 6e 75 61 6c 2e 20 20 ce... manual.
09c0: 54 68 65 20 66 6f 72 6d 65 72 20 6e 6f 77 20 72 The former now r
09d0: 65 66 65 72 65 6e 63 65 73 20 74 68 65 20 6c 61 eferences the la
09e0: 74 74 65 72 20 77 68 65 72 65 0a 09 09 20 20 75 tter where... u
09f0: 73 65 66 75 6c 2e 0a 0a 09 09 6f 20 53 70 6c 69 seful.....o Spli
0a00: 74 20 6f 75 74 20 48 41 43 4b 45 52 53 20 61 6e t out HACKERS an
0a10: 64 20 43 52 45 44 49 54 53 20 66 69 6c 65 73 20 d CREDITS files
0a20: 66 72 6f 6d 20 6d 61 69 6e 20 52 45 41 44 4d 45 from main README
0a30: 2c 0a 09 09 20 20 61 6e 64 20 69 6d 70 72 6f 76 ,... and improv
0a40: 65 64 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 74 ed remaining bit
0a50: 73 20 6f 66 20 52 45 41 44 4d 45 2e 0a 0a 09 09 s of README.....
0a60: 6f 20 4d 6f 76 65 64 20 74 68 65 20 74 65 78 74 o Moved the text
0a70: 20 66 72 6f 6d 20 74 68 65 20 6f 6c 64 20 76 31 from the old v1
0a80: 2e 37 2e 39 20 4c 61 54 65 58 2d 62 61 73 65 64 .7.9 LaTeX-based
0a90: 0a 09 09 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 ... documentati
0aa0: 6f 6e 20 6f 76 65 72 20 69 6e 74 6f 20 74 68 65 on over into the
0ab0: 20 6e 65 77 20 73 79 73 74 65 6d 73 2c 20 61 6e new systems, an
0ac0: 64 20 72 65 77 6f 72 6b 65 64 0a 09 09 20 20 69 d reworked... i
0ad0: 74 20 74 6f 20 6d 6f 72 65 20 63 6c 6f 73 65 6c t to more closel
0ae0: 79 20 72 65 73 65 6d 62 6c 65 20 45 6e 67 6c 69 y resemble Engli
0af0: 73 68 2e 0a 0a 09 09 6f 20 41 64 64 65 64 20 61 sh.....o Added a
0b00: 20 6c 6f 74 20 6f 66 20 6e 65 77 20 6d 61 74 65 lot of new mate
0b10: 72 69 61 6c 20 74 6f 20 64 6f 63 75 6d 65 6e 74 rial to document
0b20: 61 74 69 6f 6e 2c 20 61 6e 64 0a 09 09 20 20 73 ation, and... s
0b30: 69 6d 70 6c 69 66 69 65 64 20 61 20 6c 6f 74 20 implified a lot
0b40: 6f 66 20 77 68 61 74 20 61 6c 72 65 61 64 79 20 of what already
0b50: 65 78 69 73 74 65 64 2e 0a 0a 09 09 6f 20 44 6f existed.....o Do
0b60: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 6e cumentation is n
0b70: 6f 77 20 62 65 69 6e 67 20 62 75 69 6c 74 20 69 ow being built i
0b80: 6e 20 48 54 4d 4c 20 61 6e 64 20 50 44 46 20 66 n HTML and PDF f
0b90: 6f 72 6d 73 2e 0a 0a 09 6f 20 65 62 75 69 6c 64 orms....o ebuild
0ba0: 20 66 69 6c 65 20 75 70 64 61 74 65 64 20 74 6f file updated to
0bb0: 20 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 20 take advantage
0bc0: 6f 66 20 72 65 63 65 6e 74 20 63 6f 6e 66 69 67 of recent config
0bd0: 75 72 65 20 73 63 72 69 70 74 0a 09 20 20 66 65 ure script.. fe
0be0: 61 74 75 72 65 73 2e 0a 0a 0a 31 2e 37 2e 33 32 atures....1.7.32
0bf0: 2c 20 32 30 30 35 2e 30 33 2e 31 30 20 28 72 34 , 2005.03.10 (r4
0c00: 37 39 29 0a 0a 09 6f 20 45 78 61 6d 70 6c 65 20 79)...o Example
0c10: 62 75 69 6c 64 69 6e 67 20 6d 61 79 20 6e 6f 77 building may now
0c20: 20 62 65 20 73 6b 69 70 70 65 64 20 77 69 74 68 be skipped with
0c30: 20 2d 2d 64 69 73 61 62 6c 65 2d 65 78 61 6d 70 --disable-examp
0c40: 6c 65 73 0a 09 20 20 63 6f 6e 66 69 67 75 72 65 les.. configure
0c50: 20 73 63 72 69 70 74 20 66 6c 61 67 2e 0a 0a 09 script flag....
0c60: 6f 20 43 68 61 6e 67 65 64 20 73 74 6f 63 6b 20 o Changed stock
0c70: 69 74 65 6d 73 20 61 64 64 65 64 20 69 6e 20 72 items added in r
0c80: 65 73 65 74 64 62 2e 20 20 4f 6e 65 20 69 73 20 esetdb. One is
0c90: 6e 6f 77 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 now UTF-8 encode
0ca0: 64 2c 0a 09 20 20 74 6f 20 73 68 6f 77 20 74 68 d,.. to show th
0cb0: 61 74 20 62 61 73 69 63 20 75 73 65 20 6f 66 20 at basic use of
0cc0: 55 6e 69 63 6f 64 65 20 77 69 74 68 20 4d 79 53 Unicode with MyS
0cd0: 51 4c 2b 2b 20 69 73 20 65 61 73 79 2c 20 79 65 QL++ is easy, ye
0ce0: 74 20 6e 6f 74 0a 09 20 20 66 6f 6f 6c 70 72 6f t not.. foolpro
0cf0: 6f 66 2e 20 20 28 53 65 65 20 66 6f 72 6d 61 74 of. (See format
0d00: 74 69 6e 67 20 6f 66 20 74 61 62 6c 65 20 6f 6e ting of table on
0d10: 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 63 systems where c
0d20: 6f 75 74 20 69 73 6e 27 74 0a 09 20 20 55 54 46 out isn't.. UTF
0d30: 2d 38 20 61 77 61 72 65 21 29 20 20 4f 74 68 65 -8 aware!) Othe
0d40: 72 20 73 74 6f 63 6b 20 69 74 65 6d 73 20 6e 6f r stock items no
0d50: 77 20 66 6f 6c 6c 6f 77 20 61 20 74 68 65 6d 65 w follow a theme
0d60: 2c 20 66 6f 72 20 79 6f 75 72 0a 09 20 20 61 6d , for your.. am
0d70: 75 73 65 6d 65 6e 74 2e 20 20 3a 29 0a 0a 09 6f usement. :)...o
0d80: 20 63 75 73 74 6f 6d 33 20 65 78 61 6d 70 6c 65 custom3 example
0d90: 20 6e 6f 77 20 63 68 61 6e 67 65 73 20 55 54 46 now changes UTF
0da0: 2d 38 20 69 74 65 6d 27 73 20 6e 61 6d 65 20 74 -8 item's name t
0db0: 6f 20 74 68 65 20 37 2d 62 69 74 20 41 53 43 49 o the 7-bit ASCI
0dc0: 49 0a 09 20 20 65 71 75 69 76 61 6c 65 6e 74 2e I.. equivalent.
0dd0: 20 20 50 72 65 76 69 6f 75 73 6c 79 2c 20 74 68 Previously, th
0de0: 69 73 20 65 78 61 6d 70 6c 65 20 77 6f 75 6c 64 is example would
0df0: 20 66 69 78 20 61 20 73 70 65 6c 6c 69 6e 67 20 fix a spelling
0e00: 65 72 72 6f 72 0a 09 20 20 69 6e 20 74 68 65 20 error.. in the
0e10: 74 61 62 6c 65 2e 0a 0a 09 6f 20 72 65 73 65 74 table....o reset
0e20: 64 62 20 65 78 61 6d 70 6c 65 20 6e 6f 77 20 73 db example now s
0e30: 61 79 73 20 27 77 68 79 27 20 77 68 65 6e 20 69 ays 'why' when i
0e40: 74 20 69 73 20 75 6e 61 62 6c 65 20 74 6f 20 63 t is unable to c
0e50: 72 65 61 74 65 20 74 68 65 0a 09 20 20 73 61 6d reate the.. sam
0e60: 70 6c 65 20 64 61 74 61 62 61 73 65 2e 0a 0a 09 ple database....
0e70: 6f 20 53 6d 61 6c 6c 20 66 6f 72 6d 61 74 74 69 o Small formatti
0e80: 6e 67 20 63 68 61 6e 67 65 20 74 6f 20 70 72 69 ng change to pri
0e90: 6e 74 5f 73 74 6f 63 6b 5f 74 61 62 6c 65 28 29 nt_stock_table()
0ea0: 2c 20 75 73 65 64 20 62 79 20 73 65 76 65 72 61 , used by severa
0eb0: 6c 0a 09 20 20 65 78 61 6d 70 6c 65 73 2e 0a 0a l.. examples...
0ec0: 09 6f 20 57 61 73 20 69 73 73 75 69 6e 67 20 61 .o Was issuing a
0ed0: 20 56 43 2b 2b 2d 73 70 65 63 69 66 69 63 20 77 VC++-specific w
0ee0: 61 72 6e 69 6e 67 2d 64 69 73 61 62 6c 65 20 70 arning-disable p
0ef0: 72 61 67 6d 61 20 77 68 65 6e 20 62 75 69 6c 74 ragma when built
0f00: 20 62 79 0a 09 20 20 61 6e 79 20 57 69 6e 64 6f by.. any Windo
0f10: 77 73 20 63 6f 6d 70 69 6c 65 72 2e 20 20 46 69 ws compiler. Fi
0f20: 78 65 64 2e 0a 09 0a 0a 31 2e 37 2e 33 31 2c 20 xed.....1.7.31,
0f30: 32 30 30 35 2e 30 33 2e 30 35 20 54 68 65 20 22 2005.03.05 The "
0f40: 49 6e 65 76 69 74 61 62 6c 65 20 50 6f 69 6e 74 Inevitable Point
0f50: 2d 6f 6e 65 20 46 6f 6c 6c 6f 77 75 70 22 20 72 -one Followup" r
0f60: 65 6c 65 61 73 65 20 28 72 34 36 32 29 0a 0a 09 elease (r462)...
0f70: 6f 20 43 68 65 63 6b 20 66 6f 72 20 74 68 72 65 o Check for thre
0f80: 61 64 73 20 73 75 70 70 6f 72 74 20 6d 75 73 74 ads support must
0f90: 20 6e 6f 77 20 62 65 20 65 78 70 6c 69 63 69 74 now be explicit
0fa0: 6c 79 20 72 65 71 75 65 73 74 65 64 20 76 69 61 ly requested via
0fb0: 0a 09 20 20 63 6f 6e 66 69 67 75 72 65 20 73 63 .. configure sc
0fc0: 72 69 70 74 27 73 20 6e 65 77 20 2d 2d 65 6e 61 ript's new --ena
0fd0: 62 6c 65 2d 74 68 72 65 61 64 2d 63 68 65 63 6b ble-thread-check
0fe0: 20 66 6c 61 67 2e 0a 0a 09 6f 20 46 69 78 20 66 flag....o Fix f
0ff0: 6f 72 20 63 6f 6e 74 61 63 74 69 6e 67 20 4d 79 or contacting My
1000: 53 51 4c 20 73 65 72 76 65 72 20 6f 6e 20 61 20 SQL server on a
1010: 6e 6f 6e 73 74 61 6e 64 61 72 64 20 70 6f 72 74 nonstandard port
1020: 20 6e 75 6d 62 65 72 2e 0a 09 20 20 54 68 61 6e number... Than
1030: 6b 73 20 74 6f 20 43 68 72 69 73 20 46 72 65 79 ks to Chris Frey
1040: 20 66 6f 72 20 74 68 69 73 20 70 61 74 63 68 2e for this patch.
1050: 0a 0a 09 6f 20 45 78 61 6d 70 6c 65 20 70 72 6f ...o Example pro
1060: 67 72 61 6d 73 20 75 73 69 6e 67 20 73 74 61 6e grams using stan
1070: 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e dard command lin
1080: 65 20 66 6f 72 6d 61 74 20 6e 6f 77 20 61 63 63 e format now acc
1090: 65 70 74 20 61 0a 09 20 20 66 6f 75 72 74 68 20 ept a.. fourth
10a0: 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 optional paramet
10b0: 65 72 2c 20 61 20 70 6f 72 74 20 6e 75 6d 62 65 er, a port numbe
10c0: 72 20 66 6f 72 20 74 68 65 20 73 65 72 76 65 72 r for the server
10d0: 2e 20 20 54 68 61 6e 6b 73 0a 09 20 20 66 6f 72 . Thanks.. for
10e0: 20 43 68 72 69 73 20 46 72 65 79 20 66 6f 72 20 Chris Frey for
10f0: 74 68 69 73 20 70 61 74 63 68 2e 0a 0a 09 6f 20 this patch....o
1100: 4f 6e 65 20 6d 6f 72 65 20 67 2b 2b 20 33 2e 34 One more g++ 3.4
1110: 20 70 65 64 61 6e 74 69 63 20 77 61 72 6e 69 6e pedantic warnin
1120: 67 20 66 69 78 20 62 79 20 43 68 72 69 73 20 46 g fix by Chris F
1130: 72 65 79 2e 0a 0a 09 6f 20 45 78 63 65 70 74 69 rey....o Excepti
1140: 6f 6e 20 68 61 6e 64 6c 69 6e 67 20 69 6e 20 72 on handling in r
1150: 65 73 65 74 64 62 20 69 73 20 6e 6f 20 6c 6f 6e esetdb is no lon
1160: 67 65 72 20 6e 65 73 74 65 64 2c 20 62 65 63 61 ger nested, beca
1170: 75 73 65 20 79 6f 75 27 64 0a 09 20 20 67 65 74 use you'd.. get
1180: 20 61 20 73 65 67 66 61 75 6c 74 20 6f 6e 20 73 a segfault on s
1190: 6f 6d 65 20 73 79 73 74 65 6d 73 20 77 68 65 6e ome systems when
11a0: 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 61 an exception wa
11b0: 73 20 74 68 72 6f 77 6e 20 66 72 6f 6d 0a 09 20 s thrown from..
11c0: 20 6f 6e 65 20 6f 66 20 74 68 65 20 69 6e 6e 65 one of the inne
11d0: 72 20 74 72 79 20 62 6c 6f 63 6b 73 2e 0a 0a 09 r try blocks....
11e0: 6f 20 49 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 o Improvements t
11f0: 6f 20 43 6f 6e 6e 65 63 74 69 6f 6e 20 63 6c 61 o Connection cla
1200: 73 73 27 73 20 68 61 6e 64 6c 69 6e 67 20 6f 66 ss's handling of
1210: 20 6c 6f 63 6b 69 6e 67 20 6d 65 63 68 61 6e 69 locking mechani
1220: 73 6d 2e 0a 09 20 20 43 6f 6e 63 65 70 74 20 62 sm... Concept b
1230: 61 73 65 64 20 6f 6e 20 70 61 74 63 68 65 73 20 ased on patches
1240: 62 79 20 52 6f 6e 67 6a 75 6e 20 4d 75 2e 0a 0a by Rongjun Mu...
1250: 09 6f 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 74 .o Implemented t
1260: 68 65 20 64 65 63 6c 61 72 65 64 2d 62 75 74 2d he declared-but-
1270: 6e 65 76 65 72 2d 64 65 66 69 6e 65 64 20 51 75 never-defined Qu
1280: 65 72 79 3a 3a 6c 6f 63 6b 28 29 2e 20 20 54 68 ery::lock(). Th
1290: 61 6e 6b 73 0a 09 20 20 74 6f 20 52 6f 6e 67 6a anks.. to Rongj
12a0: 75 6e 20 4d 75 20 66 6f 72 20 74 68 69 73 20 70 un Mu for this p
12b0: 61 74 63 68 2e 0a 09 0a 09 6f 20 43 6c 65 61 6e atch.....o Clean
12c0: 65 64 20 75 70 20 73 6f 6d 65 20 75 6e 63 6c 65 ed up some uncle
12d0: 61 72 20 69 66 2f 65 6c 73 65 20 62 6c 6f 63 6b ar if/else block
12e0: 73 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e s in connection.
12f0: 63 70 70 20 62 79 0a 09 20 20 61 64 64 69 6e 67 cpp by.. adding
1300: 20 65 78 70 6c 69 63 69 74 20 62 72 61 63 65 73 explicit braces
1310: 2c 20 63 6f 72 72 65 63 74 20 69 6e 64 65 6e 74 , correct indent
1320: 69 6e 67 20 61 6e 64 20 70 75 74 74 69 6e 67 20 ing and putting
1330: 6e 6f 72 6d 61 6c 0a 09 20 20 63 6f 64 65 20 70 normal.. code p
1340: 61 74 68 20 69 6e 20 74 68 65 20 69 66 20 73 69 ath in the if si
1350: 64 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 de instead of th
1360: 65 20 65 6c 73 65 2e 0a 0a 0a 31 2e 37 2e 33 30 e else....1.7.30
1370: 2c 20 32 30 30 35 2e 30 32 2e 32 38 20 54 68 65 , 2005.02.28 The
1380: 20 22 50 6f 77 65 72 20 6f 66 20 52 6f 75 6e 64 "Power of Round
1390: 20 4e 75 6d 62 65 72 73 22 20 72 65 6c 65 61 73 Numbers" releas
13a0: 65 20 28 72 34 34 33 29 0a 0a 09 6f 20 62 6f 6f e (r443)...o boo
13b0: 74 73 74 72 61 70 20 73 63 72 69 70 74 20 6e 6f tstrap script no
13c0: 77 20 61 63 63 65 70 74 73 20 61 20 27 70 65 64 w accepts a 'ped
13d0: 61 6e 74 69 63 27 20 61 72 67 75 6d 65 6e 74 2c antic' argument,
13e0: 20 77 68 69 63 68 20 73 65 74 73 20 61 0a 09 20 which sets a..
13f0: 20 62 75 6e 63 68 20 6f 66 20 43 46 4c 41 47 53 bunch of CFLAGS
1400: 20 74 68 61 74 20 6d 61 6b 65 20 67 2b 2b 20 76 that make g++ v
1410: 65 72 79 20 70 69 63 6b 79 20 61 62 6f 75 74 20 ery picky about
1420: 74 68 65 20 63 6f 64 65 20 69 74 0a 09 20 20 61 the code it.. a
1430: 63 63 65 70 74 73 20 77 69 74 68 6f 75 74 20 77 ccepts without w
1440: 61 72 6e 69 6e 67 73 2e 0a 09 20 20 0a 09 6f 20 arnings... ..o
1450: 46 69 78 65 64 20 61 20 62 75 6e 63 68 20 6f 66 Fixed a bunch of
1460: 20 74 68 69 6e 67 73 20 74 68 61 74 20 67 65 6e things that gen
1470: 65 72 61 74 65 64 20 77 61 72 6e 69 6e 67 73 20 erated warnings
1480: 77 69 74 68 20 67 2b 2b 20 69 6e 0a 09 20 20 70 with g++ in.. p
1490: 65 64 61 6e 74 69 63 20 6d 6f 64 65 2e 20 4f 6e edantic mode. On
14a0: 6c 79 20 74 77 6f 20 77 61 72 6e 69 6e 67 73 20 ly two warnings
14b0: 72 65 6d 61 69 6e 2c 20 68 61 76 69 6e 67 20 74 remain, having t
14c0: 6f 20 64 6f 20 77 69 74 68 0a 09 20 20 66 6c 6f o do with.. flo
14d0: 61 74 69 6e 67 20 70 6f 69 6e 74 20 63 6f 6d 70 ating point comp
14e0: 61 72 69 73 6f 6e 73 2e 20 20 28 53 65 65 20 57 arisons. (See W
14f0: 69 73 68 6c 69 73 74 20 66 6f 72 20 70 6c 61 6e ishlist for plan
1500: 73 20 6f 6e 20 68 6f 77 20 74 6f 0a 09 20 20 64 s on how to.. d
1510: 65 61 6c 20 77 69 74 68 20 74 68 65 73 65 2e 29 eal with these.)
1520: 20 20 54 68 61 6e 6b 73 20 74 6f 20 43 68 72 69 Thanks to Chri
1530: 73 20 46 72 65 79 20 66 6f 72 20 74 68 69 73 20 s Frey for this
1540: 70 61 74 63 68 2e 0a 0a 09 6f 20 53 70 6c 69 74 patch....o Split
1550: 20 6c 6f 6e 67 20 74 65 73 74 73 20 6f 75 74 20 long tests out
1560: 6f 66 20 63 6f 6e 66 69 67 75 72 65 2e 69 6e 20 of configure.in
1570: 69 6e 74 6f 20 4d 34 20 66 69 6c 65 73 20 69 6e into M4 files in
1580: 20 6e 65 77 20 63 6f 6e 66 69 67 0a 09 20 20 73 new config.. s
1590: 75 62 64 69 72 2e 20 20 54 68 69 73 20 6d 61 6b ubdir. This mak
15a0: 65 73 20 63 6f 6e 66 69 67 75 72 65 2e 69 6e 20 es configure.in
15b0: 65 61 73 69 65 72 20 74 6f 20 72 65 61 64 2e 0a easier to read..
15c0: 0a 09 6f 20 41 64 64 65 64 20 70 72 65 6c 69 6d ..o Added prelim
15d0: 69 6e 61 72 79 20 74 68 72 65 61 64 20 73 75 70 inary thread sup
15e0: 70 6f 72 74 2e 20 20 43 75 72 72 65 6e 74 6c 79 port. Currently
15f0: 2c 20 74 68 69 73 20 6a 75 73 74 20 6d 65 61 6e , this just mean
1600: 73 20 74 68 61 74 0a 09 20 20 77 65 20 64 65 74 s that.. we det
1610: 65 63 74 20 74 68 65 20 72 65 71 75 69 72 65 64 ect the required
1620: 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 6c 69 compiler and li
1630: 6e 6b 65 72 20 74 68 72 65 61 64 20 66 6c 61 67 nker thread flag
1640: 73 2c 20 61 6e 64 20 6c 69 6e 6b 0a 09 20 20 61 s, and link.. a
1650: 67 61 69 6e 73 74 20 74 68 65 20 70 72 6f 70 65 gainst the prope
1660: 72 20 74 68 72 65 61 64 2d 73 61 66 65 20 6c 69 r thread-safe li
1670: 62 72 61 72 69 65 73 2e 20 20 54 48 45 52 45 20 braries. THERE
1680: 4d 41 59 20 42 45 0a 09 20 20 55 4e 2d 54 48 52 MAY BE.. UN-THR
1690: 45 41 44 2d 53 41 46 45 20 43 4f 44 45 20 49 4e EAD-SAFE CODE IN
16a0: 20 4d 59 53 51 4c 2b 2b 20 53 54 49 4c 4c 21 0a MYSQL++ STILL!.
16b0: 0a 09 6f 20 53 74 61 6e 64 61 72 64 20 43 2b 2b ..o Standard C++
16c0: 20 65 78 63 65 70 74 69 6f 6e 73 20 61 72 65 20 exceptions are
16d0: 74 68 65 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e the default now.
16e0: 20 20 4f 6c 64 20 70 72 65 2d 53 74 61 6e 64 61 Old pre-Standa
16f0: 72 64 0a 09 20 20 65 78 63 65 70 74 69 6f 6e 20 rd.. exception
1700: 73 74 75 66 66 20 72 65 6d 6f 76 65 64 2e 0a 0a stuff removed...
1710: 09 6f 20 52 6f 77 3a 3a 6c 6f 6f 6b 75 70 5f 62 .o Row::lookup_b
1720: 79 5f 6e 61 6d 65 28 29 20 77 69 6c 6c 20 74 68 y_name() will th
1730: 72 6f 77 20 74 68 65 20 6e 65 77 20 42 61 64 46 row the new BadF
1740: 69 65 6c 64 4e 61 6d 65 20 65 78 63 65 70 74 69 ieldName excepti
1750: 6f 6e 20 69 66 0a 09 20 20 79 6f 75 20 70 61 73 on if.. you pas
1760: 73 20 61 20 62 61 64 20 66 69 65 6c 64 20 6e 61 s a bad field na
1770: 6d 65 2e 20 20 54 68 61 6e 6b 73 20 66 6f 72 20 me. Thanks for
1780: 74 68 69 73 20 70 61 74 63 68 20 74 6f 20 43 68 this patch to Ch
1790: 72 69 73 20 46 72 65 79 2e 0a 0a 09 6f 20 52 6f ris Frey....o Ro
17a0: 77 3a 3a 6f 70 65 72 61 74 6f 72 5b 5d 20 77 69 w::operator[] wi
17b0: 6c 6c 20 74 68 72 6f 77 20 61 20 53 74 61 6e 64 ll throw a Stand
17c0: 61 72 64 20 43 2b 2b 20 6f 75 74 20 6f 66 20 62 ard C++ out of b
17d0: 6f 75 6e 64 73 20 65 78 63 65 70 74 69 6f 6e 0a ounds exception.
17e0: 09 20 20 62 79 20 77 61 79 20 6f 66 20 73 74 64 . by way of std
17f0: 3a 3a 76 65 63 74 6f 72 3a 3a 61 74 28 29 20 69 ::vector::at() i
1800: 66 20 79 6f 75 20 70 61 73 73 20 69 74 20 61 20 f you pass it a
1810: 62 61 64 20 69 6e 64 65 78 2e 20 20 54 68 61 6e bad index. Than
1820: 6b 73 0a 09 20 20 66 6f 72 20 74 68 69 73 20 70 ks.. for this p
1830: 61 74 63 68 20 74 6f 20 43 68 72 69 73 20 46 72 atch to Chris Fr
1840: 65 79 2e 0a 0a 09 6f 20 53 65 74 74 69 6e 67 20 ey....o Setting
1850: 43 6f 6e 6e 65 63 74 69 6f 6e 3a 3a 69 73 5f 63 Connection::is_c
1860: 6f 6e 6e 65 63 74 65 64 20 66 6c 61 67 20 74 6f onnected flag to
1870: 20 66 61 6c 73 65 20 6f 6e 20 63 6c 6f 73 65 28 false on close(
1880: 29 2e 0a 09 20 20 50 72 65 76 69 6f 75 73 6c 79 )... Previously
1890: 2c 20 69 73 5f 63 6f 6e 6e 65 63 74 65 64 28 29 , is_connected()
18a0: 20 77 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 20 would continue
18b0: 74 6f 20 72 65 74 75 72 6e 20 74 72 75 65 20 61 to return true a
18c0: 66 74 65 72 0a 09 20 20 63 6c 6f 73 65 28 29 20 fter.. close()
18d0: 77 61 73 20 63 61 6c 6c 65 64 2e 0a 0a 09 6f 20 was called....o
18e0: 41 6c 6c 20 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 All number-to-st
18f0: 72 69 6e 67 20 63 6f 6e 76 65 72 73 69 6f 6e 20 ring conversion
1900: 63 74 6f 72 73 20 69 6e 20 53 51 4c 53 74 72 69 ctors in SQLStri
1910: 6e 67 20 63 6c 61 73 73 20 6e 6f 77 20 75 73 65 ng class now use
1920: 0a 09 20 20 6f 73 74 72 69 6e 67 73 74 72 65 61 .. ostringstrea
1930: 6d 20 74 6f 20 64 6f 20 74 68 65 20 63 6f 6e 76 m to do the conv
1940: 65 72 73 69 6f 6e 2e 20 20 50 72 65 76 69 6f 75 ersion. Previou
1950: 73 6c 79 2c 20 77 65 20 75 73 65 64 0a 09 20 20 sly, we used..
1960: 73 6e 70 72 69 6e 74 66 28 29 2c 20 77 68 69 63 snprintf(), whic
1970: 68 20 69 73 6e 27 74 20 61 76 61 69 6c 61 62 6c h isn't availabl
1980: 65 20 6f 6e 20 61 6c 6c 20 73 79 73 74 65 6d 73 e on all systems
1990: 2e 20 20 41 6c 73 6f 2c 20 77 65 20 75 73 65 64 . Also, we used
19a0: 20 61 0a 09 20 20 43 39 39 20 66 6f 72 6d 61 74 a.. C99 format
19b0: 20 73 70 65 63 69 66 69 65 72 20 66 6f 72 20 74 specifier for t
19c0: 68 65 20 22 6c 6f 6e 67 20 6c 6f 6e 67 22 20 63 he "long long" c
19d0: 6f 6e 76 65 72 73 69 6f 6e 2c 20 77 68 69 63 68 onversion, which
19e0: 20 69 73 20 61 6c 73 6f 0a 09 20 20 6e 6f 74 20 is also.. not
19f0: 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 61 6c 6c available on all
1a00: 20 73 79 73 74 65 6d 73 2e 20 20 54 68 69 73 20 systems. This
1a10: 6e 65 77 20 6f 73 74 72 69 6e 67 73 74 72 65 61 new ostringstrea
1a20: 6d 20 63 6f 64 65 20 73 68 6f 75 6c 64 0a 09 20 m code should..
1a30: 20 62 65 20 70 6c 61 74 66 6f 72 6d 2d 69 6e 64 be platform-ind
1a40: 65 70 65 6e 64 65 6e 74 2c 20 66 69 6e 61 6c 6c ependent, finall
1a50: 79 2e 0a 0a 0a 31 2e 37 2e 32 38 2c 20 32 30 30 y....1.7.28, 200
1a60: 35 2e 30 32 2e 30 34 20 28 72 34 30 33 29 0a 0a 5.02.04 (r403)..
1a70: 09 6f 20 2d 2d 77 69 74 68 2d 6d 79 73 71 6c 2a .o --with-mysql*
1a80: 20 66 6c 61 67 73 20 74 6f 20 63 6f 6e 66 69 67 flags to config
1a90: 75 72 65 20 73 63 72 69 70 74 20 6e 6f 77 20 74 ure script now t
1aa0: 72 79 20 74 68 65 20 67 69 76 65 6e 0a 09 20 20 ry the given..
1ab0: 64 69 72 65 63 74 6f 72 79 20 65 78 70 6c 69 63 directory explic
1ac0: 69 74 6c 79 2c 20 61 6e 64 20 6f 6e 6c 79 20 69 itly, and only i
1ad0: 66 20 74 68 61 74 20 66 61 69 6c 73 20 64 6f 20 f that fails do
1ae0: 74 68 65 79 20 74 72 79 0a 09 20 20 76 61 72 69 they try.. vari
1af0: 61 74 69 6f 6e 73 2c 20 6c 69 6b 65 20 74 61 63 ations, like tac
1b00: 6b 69 6e 67 20 27 2f 6c 69 62 27 20 61 6e 64 20 king '/lib' and
1b10: 73 75 63 68 20 6f 6e 74 6f 20 69 74 20 74 6f 20 such onto it to
1b20: 74 72 79 20 61 6e 64 20 66 69 6e 64 0a 09 20 20 try and find..
1b30: 74 68 65 20 4d 79 53 51 4c 20 69 6e 63 6c 75 64 the MySQL includ
1b40: 65 73 20 61 6e 64 20 6c 69 62 72 61 72 69 65 73 es and libraries
1b50: 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 4d 61 74 . Thanks to Mat
1b60: 74 68 65 77 20 57 61 6c 74 6f 6e 20 66 6f 72 0a thew Walton for.
1b70: 09 20 20 74 68 65 20 70 61 74 63 68 2e 0a 0a 09 . the patch....
1b80: 6f 20 46 69 6e 61 6c 6c 79 20 72 65 6d 6f 76 65 o Finally remove
1b90: 64 20 73 71 6c 5f 71 75 6f 74 65 2e 68 27 73 20 d sql_quote.h's
1ba0: 64 65 70 65 6e 64 65 6e 63 65 20 6f 6e 20 63 75 dependence on cu
1bb0: 73 74 6f 6d 2e 68 2c 20 62 79 20 6d 6f 76 69 6e stom.h, by movin
1bc0: 67 0a 09 20 20 74 68 65 20 6f 6e 65 20 64 65 66 g.. the one def
1bd0: 69 6e 69 74 69 6f 6e 20 69 74 20 6e 65 65 64 65 inition it neede
1be0: 64 20 66 72 6f 6d 20 63 75 73 74 6f 6d 2e 68 20 d from custom.h
1bf0: 74 6f 20 64 65 70 73 2e 68 2e 20 20 54 68 69 73 to deps.h. This
1c00: 20 77 69 6c 6c 0a 09 20 20 68 65 6c 70 20 70 6f will.. help po
1c10: 72 74 61 62 69 6c 69 74 79 20 74 6f 20 63 6f 6d rtability to com
1c20: 70 69 6c 65 72 73 20 74 68 61 74 20 63 61 6e 27 pilers that can'
1c30: 74 20 68 61 6e 64 6c 65 20 74 68 65 20 53 53 51 t handle the SSQ
1c40: 4c 53 20 6d 61 63 72 6f 73 2c 0a 09 20 20 62 79 LS macros,.. by
1c50: 20 6d 61 6b 69 6e 67 20 74 68 61 74 20 70 61 72 making that par
1c60: 74 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 t of the library
1c70: 20 74 72 75 6c 79 20 6f 70 74 69 6f 6e 61 6c 2e truly optional.
1c80: 0a 0a 0a 31 2e 37 2e 32 37 2c 20 32 30 30 35 2e ...1.7.27, 2005.
1c90: 30 31 2e 31 32 20 28 72 33 39 35 29 0a 0a 09 6f 01.12 (r395)...o
1ca0: 20 63 6f 6e 66 69 67 75 72 65 20 63 68 65 63 6b configure check
1cb0: 20 66 6f 72 20 6c 69 62 6d 79 73 71 6c 63 6c 69 for libmysqlcli
1cc0: 65 6e 74 20 6e 6f 77 20 68 61 6c 74 73 20 63 6f ent now halts co
1cd0: 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 66 20 74 nfiguration if t
1ce0: 68 65 0a 09 20 20 6c 69 62 72 61 72 79 20 69 73 he.. library is
1cf0: 6e 27 74 20 66 6f 75 6e 64 2e 20 20 50 72 65 76 n't found. Prev
1d00: 69 6f 75 73 6c 79 2c 20 69 74 20 77 6f 75 6c 64 iously, it would
1d10: 20 6a 75 73 74 20 62 65 20 66 6c 61 67 67 65 64 just be flagged
1d20: 20 61 73 0a 09 20 20 6d 69 73 73 69 6e 67 2c 20 as.. missing,
1d30: 61 6e 64 20 4d 79 53 51 4c 2b 2b 20 77 6f 75 6c and MySQL++ woul
1d40: 64 20 66 61 69 6c 20 74 6f 20 62 75 69 6c 64 2e d fail to build.
1d50: 0a 0a 09 6f 20 41 64 64 65 64 20 73 71 6c 5f 73 ...o Added sql_s
1d60: 74 72 69 6e 67 2e 63 70 70 20 74 6f 20 56 43 2b tring.cpp to VC+
1d70: 2b 20 61 6e 64 20 42 43 42 75 69 6c 64 65 72 20 + and BCBuilder
1d80: 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 2e 0a 0a project files...
1d90: 09 6f 20 52 65 6d 6f 76 65 64 20 54 6f 74 74 65 .o Removed Totte
1da0: 20 4b 61 72 6c 73 73 6f 6e 27 73 20 27 70 6f 70 Karlsson's 'pop
1db0: 75 6c 61 74 65 27 20 65 78 61 6d 70 6c 65 2c 20 ulate' example,
1dc0: 77 68 69 63 68 20 6e 65 76 65 72 20 6d 61 64 65 which never made
1dd0: 20 69 74 0a 09 20 20 69 6e 74 6f 20 74 68 65 20 it.. into the
1de0: 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 79 distribution any
1df0: 77 61 79 2e 0a 0a 09 6f 20 52 65 6d 6f 76 65 64 way....o Removed
1e00: 20 6c 61 73 74 20 76 65 73 74 69 67 65 73 20 6f last vestiges o
1e10: 66 20 27 64 75 6d 6d 79 2e 63 70 70 27 2e 0a 0a f 'dummy.cpp'...
1e20: 09 6f 20 52 65 6e 61 6d 65 64 20 2a 2e 63 63 20 .o Renamed *.cc
1e30: 74 6f 20 2a 2e 63 70 70 20 69 6e 20 42 43 42 75 to *.cpp in BCBu
1e40: 69 6c 64 65 72 20 70 72 6f 6a 65 63 74 20 66 69 ilder project fi
1e50: 6c 65 73 2e 0a 0a 09 6f 20 57 6f 72 6b 65 64 20 les....o Worked
1e60: 61 72 6f 75 6e 64 20 61 20 42 43 42 75 69 6c 64 around a BCBuild
1e70: 65 72 20 43 2b 2b 20 73 79 6e 74 61 78 20 70 72 er C++ syntax pr
1e80: 6f 63 65 73 73 69 6e 67 20 62 75 67 20 69 6e 20 ocessing bug in
1e90: 72 6f 77 2e 68 2e 0a 0a 0a 31 2e 37 2e 32 36 2c row.h....1.7.26,
1ea0: 20 32 30 30 34 2e 31 32 2e 31 37 20 28 72 33 38 2004.12.17 (r38
1eb0: 32 29 0a 0a 09 6f 20 4d 6f 76 65 64 20 61 6c 6c 2)...o Moved all
1ec0: 20 6f 66 20 74 68 65 20 53 51 4c 53 74 72 69 6e of the SQLStrin
1ed0: 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 75 g definitions ou
1ee0: 74 20 6f 66 20 74 68 65 20 68 65 61 64 65 72 20 t of the header
1ef0: 61 6e 64 20 69 6e 74 6f 0a 09 20 20 61 20 6e 65 and into.. a ne
1f00: 77 20 2e 63 70 70 20 66 69 6c 65 2c 20 72 65 66 w .cpp file, ref
1f10: 6f 72 6d 61 74 74 65 64 20 69 74 20 61 6c 6c 2c ormatted it all,
1f20: 20 61 6e 64 20 6d 61 64 65 20 74 68 65 20 69 6e and made the in
1f30: 74 65 67 65 72 0a 09 20 20 63 6f 6e 76 65 72 73 teger.. convers
1f40: 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 ion functions us
1f50: 65 20 73 6e 70 72 69 6e 74 66 28 29 20 6f 72 20 e snprintf() or
1f60: 5f 73 6e 70 72 69 6e 74 66 28 29 20 69 6e 73 74 _snprintf() inst
1f70: 65 61 64 20 6f 66 0a 09 20 20 73 70 72 69 6e 74 ead of.. sprint
1f80: 66 28 29 2e 20 20 41 6c 73 6f 2c 20 77 69 64 65 f(). Also, wide
1f90: 6e 65 64 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 ned some of the
1fa0: 62 75 66 66 65 72 73 20 66 6f 72 20 36 34 2d 62 buffers for 64-b
1fb0: 69 74 20 73 79 73 74 65 6d 73 2e 0a 0a 09 6f 20 it systems....o
1fc0: 55 73 69 6e 67 20 71 75 6f 74 65 64 20 23 69 6e Using quoted #in
1fd0: 63 6c 75 64 65 20 66 6f 72 6d 20 66 6f 72 20 69 clude form for i
1fe0: 6e 74 65 72 6e 61 6c 20 6c 69 62 72 61 72 79 20 nternal library
1ff0: 68 65 61 64 65 72 73 2c 20 74 6f 20 61 76 6f 69 headers, to avoi
2000: 64 0a 09 20 20 73 6f 6d 65 20 70 72 6f 62 6c 65 d.. some proble
2010: 6d 73 20 77 69 74 68 20 66 69 6c 65 20 6e 61 6d ms with file nam
2020: 65 20 63 6c 61 73 68 65 73 2e 20 20 28 54 68 65 e clashes. (The
2030: 20 68 65 61 64 65 72 73 20 73 68 6f 75 6c 64 20 headers should
2040: 73 74 69 6c 6c 0a 09 20 20 62 65 20 69 6e 73 74 still.. be inst
2050: 61 6c 6c 65 64 20 69 6e 20 74 68 65 69 72 20 6f alled in their o
2060: 77 6e 20 73 65 70 61 72 61 74 65 20 64 69 72 65 wn separate dire
2070: 63 74 6f 72 79 20 66 6f 72 20 62 65 73 74 20 72 ctory for best r
2080: 65 73 75 6c 74 73 2c 0a 09 20 20 68 6f 77 65 76 esults,.. howev
2090: 65 72 2e 29 20 20 54 68 61 6e 6b 73 20 74 6f 20 er.) Thanks to
20a0: 43 68 72 69 73 20 46 72 65 79 20 61 6e 64 20 45 Chris Frey and E
20b0: 76 61 6e 20 57 69 65 73 20 66 6f 72 20 74 68 65 van Wies for the
20c0: 20 70 61 74 63 68 20 61 6e 64 0a 09 20 20 74 68 patch and.. th
20d0: 65 20 64 69 73 63 75 73 73 69 6f 6e 20 74 68 61 e discussion tha
20e0: 74 20 6c 65 61 64 20 74 6f 20 69 74 2e 0a 0a 09 t lead to it....
20f0: 6f 20 52 65 6d 6f 76 65 64 20 75 6e 6e 65 63 65 o Removed unnece
2100: 73 73 61 72 79 20 73 65 6d 69 63 6f 6c 6f 6e 73 ssary semicolons
2110: 20 6f 6e 20 6e 61 6d 65 73 70 61 63 65 20 62 6c on namespace bl
2120: 6f 63 6b 20 63 6c 6f 73 75 72 65 73 2e 0a 09 20 ock closures...
2130: 20 54 68 61 6e 6b 73 20 74 6f 20 45 76 61 6e 20 Thanks to Evan
2140: 57 69 65 73 20 66 6f 72 20 74 68 69 73 20 70 61 Wies for this pa
2150: 74 63 68 2e 0a 0a 09 6f 20 46 69 78 65 64 20 6e tch....o Fixed n
2160: 61 6d 65 73 70 61 63 65 20 68 61 6e 64 6c 69 6e amespace handlin
2170: 67 20 69 6e 20 74 68 65 20 6c 65 67 61 63 79 20 g in the legacy
2180: 68 65 61 64 65 72 73 20 6d 79 73 71 6c 2b 2b 2e headers mysql++.
2190: 68 68 20 61 6e 64 0a 09 20 20 73 71 6c 70 6c 75 hh and.. sqlplu
21a0: 73 2e 68 68 2e 20 20 54 68 61 6e 6b 73 20 74 6f s.hh. Thanks to
21b0: 20 43 68 72 69 73 20 46 72 65 79 20 66 6f 72 20 Chris Frey for
21c0: 74 68 69 73 20 70 61 74 63 68 2e 0a 0a 09 6f 20 this patch....o
21d0: 23 69 6e 63 6c 75 64 69 6e 67 20 69 6f 73 74 72 #including iostr
21e0: 65 61 6d 20 69 6e 73 74 65 61 64 20 6f 66 20 6f eam instead of o
21f0: 73 74 72 65 61 6d 20 69 6e 20 6c 69 62 2f 6e 75 stream in lib/nu
2200: 6c 6c 2e 68 20 66 6f 72 0a 09 20 20 62 72 6f 61 ll.h for.. broa
2210: 64 65 72 20 43 2b 2b 20 63 6f 6d 70 61 74 69 62 der C++ compatib
2220: 69 6c 69 74 79 2e 20 20 28 54 68 69 73 20 6d 61 ility. (This ma
2230: 79 20 61 6c 6c 6f 77 20 4d 79 53 51 4c 2b 2b 20 y allow MySQL++
2240: 74 6f 20 77 6f 72 6b 20 6f 6e 20 47 43 43 0a 09 to work on GCC..
2250: 20 20 32 2e 39 35 2e 32 20 61 67 61 69 6e 2c 20 2.95.2 again,
2260: 62 75 74 20 74 68 69 73 20 69 73 20 75 6e 63 6f but this is unco
2270: 6e 66 69 72 6d 65 64 2e 29 0a 0a 09 6f 20 44 65 nfirmed.)...o De
2280: 74 65 63 74 69 6e 67 20 70 72 6f 70 65 72 20 6d tecting proper m
2290: 79 73 71 6c 5f 73 68 75 74 64 6f 77 6e 28 29 20 ysql_shutdown()
22a0: 61 72 67 75 6d 65 6e 74 20 68 61 6e 64 6c 69 6e argument handlin
22b0: 67 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a g automatically.
22c0: 09 20 20 69 6e 20 70 6c 61 74 66 6f 72 6d 2e 68 . in platform.h
22d0: 20 66 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 for the Windows
22e0: 20 63 6f 6d 70 69 6c 65 72 20 63 61 73 65 20 69 compiler case i
22f0: 6e 73 74 65 61 64 20 6f 66 20 6d 61 6b 69 6e 67 nstead of making
2300: 20 74 68 65 0a 09 20 20 75 73 65 72 20 65 64 69 the.. user edi
2310: 74 20 74 68 65 20 66 69 6c 65 2e 20 20 54 68 61 t the file. Tha
2320: 6e 6b 73 20 74 6f 20 45 76 61 6e 20 57 69 65 73 nks to Evan Wies
2330: 20 66 6f 72 20 74 68 69 73 20 70 61 74 63 68 2e for this patch.
2340: 0a 09 0a 09 6f 20 46 69 78 65 64 20 65 78 61 6d ....o Fixed exam
2350: 70 6c 65 73 2f 4d 61 6b 65 66 69 6c 65 2e 73 69 ples/Makefile.si
2360: 6d 70 6c 65 20 74 6f 20 75 73 65 20 6e 65 77 20 mple to use new
2370: 2a 2e 63 70 70 20 66 69 6c 65 20 6e 61 6d 69 6e *.cpp file namin
2380: 67 2e 0a 0a 09 6f 20 46 69 78 20 74 6f 20 47 65 g....o Fix to Ge
2390: 6e 74 6f 6f 20 65 62 75 69 6c 64 20 66 69 6c 65 ntoo ebuild file
23a0: 27 73 20 65 78 63 65 70 74 69 6f 6e 20 63 6f 6e 's exception con
23b0: 66 69 67 75 72 65 20 73 77 69 74 63 68 20 68 61 figure switch ha
23c0: 6e 64 6c 69 6e 67 2e 0a 09 20 20 54 68 61 6e 6b ndling... Thank
23d0: 73 20 74 6f 20 43 68 72 69 73 20 46 72 65 79 20 s to Chris Frey
23e0: 66 6f 72 20 74 68 69 73 20 70 61 74 63 68 2e 0a for this patch..
23f0: 0a 09 6f 20 52 65 62 75 69 6c 64 69 6e 67 20 6c ..o Rebuilding l
2400: 69 62 2f 63 75 73 74 6f 6d 2a 2e 68 20 69 6e 74 ib/custom*.h int
2410: 65 6c 6c 69 67 65 6e 74 6c 79 20 6e 6f 77 2c 20 elligently now,
2420: 74 6f 20 61 76 6f 69 64 20 75 6e 6e 65 63 65 73 to avoid unneces
2430: 73 61 72 79 0a 09 20 20 72 65 63 6f 6d 70 69 6c sary.. recompil
2440: 65 73 20 61 66 74 65 72 20 72 75 6e 6e 69 6e 67 es after running
2450: 20 62 6f 6f 74 73 74 72 61 70 20 73 63 72 69 70 bootstrap scrip
2460: 74 2e 0a 0a 0a 31 2e 37 2e 32 35 2c 20 32 30 30 t....1.7.25, 200
2470: 34 2e 31 32 2e 30 39 20 28 72 33 36 30 29 0a 0a 4.12.09 (r360)..
2480: 09 6f 20 59 65 74 20 6d 6f 72 65 20 66 69 78 65 .o Yet more fixe
2490: 73 20 74 6f 20 74 68 65 20 2d 2d 77 69 74 68 2d s to the --with-
24a0: 6d 79 73 71 6c 2d 6c 69 62 20 61 6e 64 20 2d 2d mysql-lib and --
24b0: 77 69 74 68 2d 6d 79 73 71 6c 2d 69 6e 63 6c 75 with-mysql-inclu
24c0: 64 65 0a 09 20 20 66 6c 61 67 73 2e 0a 0a 09 6f de.. flags....o
24d0: 20 41 64 64 65 64 20 44 4c 4c 45 58 50 4f 52 54 Added DLLEXPORT
24e0: 20 73 74 75 66 66 20 74 6f 20 70 6c 61 74 66 6f stuff to platfo
24f0: 72 6d 2e 68 2c 20 68 6f 70 65 66 75 6c 6c 79 20 rm.h, hopefully
2500: 73 6f 20 74 68 61 74 20 73 6f 6d 65 6f 6e 65 0a so that someone.
2510: 09 20 20 63 61 6e 20 66 69 67 75 72 65 20 6f 75 . can figure ou
2520: 74 20 68 6f 77 20 74 6f 20 6d 61 6b 65 20 56 43 t how to make VC
2530: 2b 2b 20 6d 61 6b 65 20 61 20 44 4c 4c 20 76 65 ++ make a DLL ve
2540: 72 73 69 6f 6e 20 6f 66 20 4d 79 53 51 4c 2b 2b rsion of MySQL++
2550: 2e 0a 0a 09 6f 20 52 65 6e 61 6d 65 64 20 2a 2e ....o Renamed *.
2560: 63 63 20 74 6f 20 2a 2e 63 70 70 2e 0a 0a 09 6f cc to *.cpp....o
2570: 20 4d 61 64 65 20 27 73 65 74 20 2d 3e 20 6d 79 Made 'set -> my
2580: 73 65 74 27 20 63 68 61 6e 67 65 20 69 6e 20 56 set' change in V
2590: 43 2b 2b 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 C++ project file
25a0: 73 2e 0a 0a 09 6f 20 53 6f 6d 65 20 73 74 79 6c s....o Some styl
25b0: 65 20 63 68 61 6e 67 65 73 20 28 6d 6f 73 74 6c e changes (mostl
25c0: 79 20 77 68 69 74 65 73 70 61 63 65 29 20 69 6e y whitespace) in
25d0: 20 68 65 61 64 65 72 20 66 69 6c 65 73 2e 0a 0a header files...
25e0: 0a 31 2e 37 2e 32 34 2c 20 32 30 30 34 2e 31 32 .1.7.24, 2004.12
25f0: 2e 30 38 20 28 72 33 34 33 29 0a 0a 09 6f 20 46 .08 (r343)...o F
2600: 69 78 65 64 20 74 68 65 20 2d 2d 77 69 74 68 2d ixed the --with-
2610: 6d 79 73 71 6c 2d 6c 69 62 20 61 6e 64 20 2d 2d mysql-lib and --
2620: 77 69 74 68 2d 6d 79 73 71 6c 2d 69 6e 63 6c 75 with-mysql-inclu
2630: 64 65 20 66 6c 61 67 73 27 0a 09 20 20 62 65 68 de flags'.. beh
2640: 61 76 69 6f 72 2c 20 61 6e 64 20 65 78 74 65 6e avior, and exten
2650: 64 65 64 20 74 68 65 69 72 20 73 65 61 72 63 68 ded their search
2660: 20 61 62 69 6c 69 74 79 20 74 6f 20 68 61 6e 64 ability to hand
2670: 6c 65 20 6f 6e 65 20 6f 74 68 65 72 0a 09 20 20 le one other..
2680: 63 6f 6d 6d 6f 6e 20 63 61 73 65 2e 20 20 28 46 common case. (F
2690: 69 78 65 64 20 62 79 20 53 74 65 76 65 20 52 6f ixed by Steve Ro
26a0: 62 65 72 74 73 29 0a 0a 09 6f 20 46 69 78 65 73 berts)...o Fixes
26b0: 20 74 6f 20 70 75 74 20 66 72 65 65 73 74 61 6e to put freestan
26c0: 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 69 ding functions i
26d0: 6e 20 6e 61 6d 65 73 70 61 63 65 20 6d 79 73 71 n namespace mysq
26e0: 6c 70 70 2e 20 20 28 54 68 65 79 0a 09 20 20 77 lpp. (They.. w
26f0: 65 72 65 6e 27 74 20 69 6e 20 74 68 65 20 6e 61 eren't in the na
2700: 6d 65 73 70 61 63 65 2c 20 77 68 69 6c 65 20 61 mespace, while a
2710: 6c 6c 20 74 68 65 20 63 6c 61 73 73 20 6d 65 6d ll the class mem
2720: 62 65 72 20 66 75 6e 63 74 69 6f 6e 73 0a 09 20 ber functions..
2730: 20 77 65 72 65 2e 29 20 20 54 68 69 73 20 72 65 were.) This re
2740: 71 75 69 72 65 64 20 62 75 6d 70 69 6e 67 20 74 quired bumping t
2750: 68 65 20 41 42 49 20 76 65 72 73 69 6f 6e 20 6e he ABI version n
2760: 75 6d 62 65 72 20 74 6f 20 34 2e 0a 09 20 20 0a umber to 4... .
2770: 09 6f 20 52 65 6e 61 6d 65 64 20 73 65 74 20 6d .o Renamed set m
2780: 6f 64 75 6c 65 20 74 6f 20 6d 79 73 65 74 2c 20 odule to myset,
2790: 74 6f 20 61 76 6f 69 64 20 63 6f 6e 66 6c 69 63 to avoid conflic
27a0: 74 73 20 77 69 74 68 20 53 74 61 6e 64 61 72 64 ts with Standard
27b0: 20 43 2b 2b 0a 09 20 20 4c 69 62 72 61 72 79 27 C++.. Library'
27c0: 73 20 73 65 74 2e 68 20 77 68 65 6e 20 4d 79 53 s set.h when MyS
27d0: 51 4c 2b 2b 20 68 65 61 64 65 72 73 20 77 65 72 QL++ headers wer
27e0: 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f e installed into
27f0: 20 6f 6e 65 20 6f 66 0a 09 20 20 74 68 65 20 73 one of.. the s
2800: 74 61 6e 64 61 72 64 20 73 79 73 74 65 6d 20 69 tandard system i
2810: 6e 63 6c 75 64 65 20 64 69 72 65 63 74 6f 72 69 nclude directori
2820: 65 73 2e 0a 0a 09 6f 20 52 65 6e 61 6d 65 64 20 es....o Renamed
2830: 61 6c 6c 20 74 68 65 20 69 64 65 6d 70 6f 74 65 all the idempote
2840: 6e 63 79 20 67 75 61 72 64 73 20 74 6f 20 6d 61 ncy guards to ma
2850: 6b 65 20 74 68 65 6d 20 63 6f 6e 73 69 73 74 65 ke them consiste
2860: 6e 74 20 69 6e 0a 09 20 20 73 74 79 6c 65 20 61 nt in.. style a
2870: 6e 64 20 75 6e 69 71 75 65 20 74 6f 20 4d 79 53 nd unique to MyS
2880: 51 4c 2b 2b 2e 0a 0a 09 6f 20 52 65 66 6f 72 6d QL++....o Reform
2890: 61 74 74 65 64 20 61 6c 6c 20 6f 66 20 6c 69 62 atted all of lib
28a0: 2f 2a 2e 63 63 2e 0a 0a 0a 31 2e 37 2e 32 33 2c /*.cc....1.7.23,
28b0: 20 32 30 30 34 2e 31 31 2e 32 30 20 28 72 33 33 2004.11.20 (r33
28c0: 33 29 0a 0a 09 6f 20 51 75 65 72 79 3a 3a 72 65 3)...o Query::re
28d0: 73 65 74 28 29 20 6e 6f 77 20 65 6d 70 74 69 65 set() now emptie
28e0: 73 20 74 68 65 20 73 74 6f 72 65 64 20 71 75 65 s the stored que
28f0: 72 79 20 73 74 72 69 6e 67 2e 20 20 49 66 20 79 ry string. If y
2900: 6f 75 0a 09 20 20 73 75 62 73 65 71 75 65 6e 74 ou.. subsequent
2910: 6c 79 20 73 74 6f 72 65 64 20 61 20 6c 6f 6e 67 ly stored a long
2920: 65 72 20 71 75 65 72 79 20 69 6e 20 74 68 65 20 er query in the
2930: 6f 62 6a 65 63 74 2c 20 79 6f 75 27 64 20 6f 76 object, you'd ov
2940: 65 72 77 72 69 74 65 0a 09 20 20 74 68 65 20 70 erwrite.. the p
2950: 72 65 76 69 6f 75 73 20 71 75 65 72 79 2c 20 62 revious query, b
2960: 75 74 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 ut otherwise the
2970: 20 6c 6f 6e 67 65 72 20 70 61 72 74 20 6f 66 20 longer part of
2980: 74 68 65 20 70 72 65 76 69 6f 75 73 0a 09 20 20 the previous..
2990: 6f 6e 65 20 77 6f 75 6c 64 20 73 74 69 63 6b 20 one would stick
29a0: 6f 75 74 20 70 61 73 74 20 74 68 65 20 6e 65 77 out past the new
29b0: 20 71 75 65 72 79 2e 0a 0a 09 6f 20 57 65 20 6e query....o We n
29c0: 6f 77 20 6c 6f 6f 6b 20 74 6f 20 74 68 65 20 4e ow look to the N
29d0: 4f 5f 4c 4f 4e 47 5f 4c 4f 4e 47 53 20 6d 61 63 O_LONG_LONGS mac
29e0: 72 6f 20 6f 6e 6c 79 20 74 6f 20 64 65 63 69 64 ro only to decid
29f0: 65 20 77 68 65 74 68 65 72 20 74 6f 0a 09 20 20 e whether to..
2a00: 66 61 6b 65 20 36 34 2d 62 69 74 20 69 6e 74 65 fake 64-bit inte
2a10: 67 65 72 20 73 75 70 70 6f 72 74 20 75 73 69 6e ger support usin
2a20: 67 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 g 32-bit integer
2a30: 73 2e 0a 0a 09 6f 20 36 34 2d 62 69 74 20 69 6e s....o 64-bit in
2a40: 74 65 67 65 72 20 73 75 70 70 6f 72 74 20 75 6e teger support un
2a50: 64 65 72 20 56 69 73 75 61 6c 20 43 2b 2b 20 6d der Visual C++ m
2a60: 61 79 20 62 65 20 77 6f 72 6b 69 6e 67 20 6e 6f ay be working no
2a70: 77 2c 20 75 73 69 6e 67 0a 09 20 20 74 68 61 74 w, using.. that
2a80: 20 70 6c 61 74 66 6f 72 6d 27 73 20 5f 5f 69 6e platform's __in
2a90: 74 36 34 5f 74 20 74 79 70 65 2e 20 20 54 68 69 t64_t type. Thi
2aa0: 73 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 74 s has not been t
2ab0: 65 73 74 65 64 2e 0a 0a 09 6f 20 52 65 6d 6f 76 ested....o Remov
2ac0: 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 ed 64-bit intege
2ad0: 72 20 73 75 70 70 6f 72 74 20 66 6f 72 20 43 6f r support for Co
2ae0: 64 65 77 61 72 72 69 6f 72 20 6f 6e 20 4d 61 63 dewarrior on Mac
2af0: 20 4f 53 20 39 20 61 6e 64 0a 09 20 20 65 61 72 OS 9 and.. ear
2b00: 6c 69 65 72 2e 20 20 4f 53 20 58 20 75 73 65 73 lier. OS X uses
2b10: 20 47 43 43 2c 20 73 6f 20 69 74 20 72 65 71 75 GCC, so it requ
2b20: 69 72 65 73 20 6e 6f 20 73 70 65 63 69 61 6c 20 ires no special
2b30: 73 75 70 70 6f 72 74 2e 0a 0a 09 6f 20 41 64 64 support....o Add
2b40: 65 64 20 4d 69 6e 47 57 20 64 65 74 65 63 74 69 ed MinGW detecti
2b50: 6f 6e 20 69 6e 20 70 6c 61 74 66 6f 72 6d 2e 68 on in platform.h
2b60: 2e 0a 09 0a 09 6f 20 49 66 20 79 6f 75 20 70 61 .....o If you pa
2b70: 73 73 20 61 20 66 6c 61 67 20 28 2d 58 29 20 74 ss a flag (-X) t
2b80: 6f 20 74 68 65 20 65 78 61 6d 70 6c 65 73 20 74 o the examples t
2b90: 68 61 74 20 74 61 6b 65 20 74 68 65 20 73 74 61 hat take the sta
2ba0: 6e 64 61 72 64 0a 09 20 20 70 61 72 61 6d 65 74 ndard.. paramet
2bb0: 65 72 73 20 28 72 65 73 65 74 64 62 2c 20 73 69 ers (resetdb, si
2bc0: 6d 70 6c 65 31 2c 20 65 74 63 2e 29 2c 20 69 74 mple1, etc.), it
2bd0: 20 70 72 69 6e 74 73 20 61 20 75 73 61 67 65 20 prints a usage
2be0: 6d 65 73 73 61 67 65 2e 0a 09 0a 09 6f 20 42 65 message.....o Be
2bf0: 74 74 65 72 20 65 72 72 6f 72 20 68 61 6e 64 6c tter error handl
2c00: 69 6e 67 20 69 6e 20 72 65 73 65 74 64 62 20 65 ing in resetdb e
2c10: 78 61 6d 70 6c 65 2c 20 77 68 65 72 65 20 65 72 xample, where er
2c20: 72 6f 72 73 20 61 72 65 20 74 68 65 0a 09 20 20 rors are the..
2c30: 6d 6f 73 74 20 63 72 69 74 69 63 61 6c 2e 20 20 most critical.
2c40: 28 49 66 20 74 68 61 74 20 6f 6e 65 20 72 75 6e (If that one run
2c50: 73 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 73 s without errors
2c60: 2c 20 74 68 65 20 6f 74 68 65 72 73 0a 09 20 20 , the others..
2c70: 70 72 6f 62 61 62 6c 79 20 77 69 6c 6c 2c 20 74 probably will, t
2c80: 6f 6f 2c 20 61 6e 64 20 79 6f 75 20 68 61 76 65 oo, and you have
2c90: 20 74 6f 20 72 75 6e 20 74 68 61 74 20 6f 6e 65 to run that one
2ca0: 20 66 69 72 73 74 2e 29 0a 0a 09 6f 20 72 65 73 first.)...o res
2cb0: 65 74 64 62 20 6e 6f 77 20 72 65 70 6f 72 74 73 etdb now reports
2cc0: 20 73 75 63 63 65 73 73 2c 20 72 61 74 68 65 72 success, rather
2cd0: 20 74 68 61 6e 20 73 75 63 63 65 65 64 69 6e 67 than succeeding
2ce0: 20 73 69 6c 65 6e 74 6c 79 2e 0a 0a 09 6f 20 52 silently....o R
2cf0: 65 6d 6f 76 65 64 20 74 68 65 20 63 6f 64 65 20 emoved the code
2d00: 69 6e 20 73 61 6d 70 6c 65 31 20 65 78 61 6d 70 in sample1 examp
2d10: 6c 65 20 74 68 61 74 20 64 75 70 6c 69 63 61 74 le that duplicat
2d20: 65 64 20 75 74 69 6c 20 6d 6f 64 75 6c 65 27 73 ed util module's
2d30: 0a 09 20 20 70 72 69 6e 74 5f 73 74 6f 63 6b 5f .. print_stock_
2d40: 74 61 62 6c 65 28 29 2c 20 61 6e 64 20 63 61 6c table(), and cal
2d50: 6c 65 64 20 74 68 61 74 20 66 75 6e 63 74 69 6f led that functio
2d60: 6e 20 69 6e 73 74 65 61 64 2e 0a 0a 09 6f 20 4d n instead....o M
2d70: 6f 76 65 64 20 74 68 65 20 70 72 65 76 69 65 77 oved the preview
2d80: 28 29 20 63 61 6c 6c 73 20 69 6e 20 74 68 65 20 () calls in the
2d90: 65 78 61 6d 70 6c 65 20 70 72 6f 67 72 61 6d 73 example programs
2da0: 20 74 6f 20 62 65 66 6f 72 65 20 74 68 65 0a 09 to before the..
2db0: 20 20 71 75 65 72 79 20 65 78 65 63 75 74 69 6f query executio
2dc0: 6e 20 63 61 6c 6c 73 2c 20 62 65 63 61 75 73 65 n calls, because
2dd0: 20 65 78 65 63 75 74 69 6f 6e 20 6d 6f 64 69 66 execution modif
2de0: 69 65 73 20 74 68 65 20 71 75 65 72 79 2e 0a 0a ies the query...
2df0: 09 6f 20 41 6c 6c 20 65 78 61 6d 70 6c 65 73 20 .o All examples
2e00: 74 68 61 74 20 74 61 6b 65 20 74 68 65 20 73 74 that take the st
2e10: 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 6c andard command l
2e20: 69 6e 65 20 70 61 72 61 6d 65 74 65 72 73 20 6e ine parameters n
2e30: 6f 77 20 0a 09 20 20 65 78 69 74 20 77 68 65 6e ow .. exit when
2e40: 20 63 6f 6e 6e 65 63 74 5f 74 6f 5f 64 62 28 29 connect_to_db()
2e50: 20 66 61 69 6c 73 20 69 6e 20 6f 6e 65 20 6f 66 fails in one of
2e60: 20 74 68 65 20 77 61 79 73 20 74 68 61 74 20 64 the ways that d
2e70: 6f 6e 27 74 0a 09 20 20 74 68 72 6f 77 20 61 6e on't.. throw an
2e80: 20 65 78 63 65 70 74 69 6f 6e 2c 20 72 61 74 68 exception, rath
2e90: 65 72 20 74 68 61 6e 20 62 75 6c 6c 69 6e 67 20 er than bulling
2ea0: 6f 6e 77 61 72 64 20 75 6e 74 69 6c 20 74 68 65 onward until the
2eb0: 20 6e 65 78 74 0a 09 20 20 4d 79 53 51 4c 20 64 next.. MySQL d
2ec0: 61 74 61 62 61 73 65 20 63 61 6c 6c 20 66 61 69 atabase call fai
2ed0: 6c 73 20 62 65 63 61 75 73 65 20 74 68 65 20 63 ls because the c
2ee0: 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 6e 27 74 20 onnection isn't
2ef0: 75 70 2e 0a 0a 09 6f 20 64 62 69 6e 66 6f 20 65 up....o dbinfo e
2f00: 78 61 6d 70 6c 65 20 6e 6f 77 20 74 61 6b 65 73 xample now takes
2f10: 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 6f the standard co
2f20: 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 61 72 61 6d mmand line param
2f30: 65 74 65 72 73 2e 0a 0a 09 6f 20 4d 75 63 68 20 eters....o Much
2f40: 62 65 74 74 65 72 20 6f 75 74 70 75 74 20 66 6f better output fo
2f50: 72 6d 61 74 74 69 6e 67 20 69 6e 20 64 62 69 6e rmatting in dbin
2f60: 66 6f 20 65 78 61 6d 70 6c 65 2e 0a 0a 09 6f 20 fo example....o
2f70: 43 61 6c 6c 69 6e 67 20 72 65 73 65 74 28 29 20 Calling reset()
2f80: 77 68 65 72 65 20 61 70 70 72 6f 70 72 69 61 74 where appropriat
2f90: 65 20 69 6e 20 74 68 65 20 76 61 72 69 6f 75 73 e in the various
2fa0: 20 65 78 61 6d 70 6c 65 20 70 72 6f 67 72 61 6d example program
2fb0: 73 2e 0a 09 20 20 42 65 66 6f 72 65 2c 20 74 68 s... Before, th
2fc0: 65 20 70 72 6f 67 72 61 6d 73 20 6d 61 79 20 68 e programs may h
2fd0: 61 76 65 20 77 6f 72 6b 65 64 2c 20 62 75 74 20 ave worked, but
2fe0: 6e 6f 74 20 66 6f 72 20 74 68 65 20 72 69 67 68 not for the righ
2ff0: 74 0a 09 20 20 72 65 61 73 6f 6e 2e 20 20 54 68 t.. reason. Th
3000: 69 73 20 6c 65 61 64 20 73 6f 6d 65 20 70 65 6f is lead some peo
3010: 70 6c 65 20 74 6f 20 62 65 6c 69 65 76 65 20 74 ple to believe t
3020: 68 61 74 20 63 61 6c 6c 69 6e 67 20 72 65 73 65 hat calling rese
3030: 74 28 29 0a 09 20 20 77 61 73 20 6e 6f 74 20 6e t().. was not n
3040: 65 63 65 73 73 61 72 79 2e 0a 0a 09 6f 20 46 69 ecessary....o Fi
3050: 78 65 64 20 61 6e 20 69 6e 63 6f 72 72 65 63 74 xed an incorrect
3060: 20 75 73 65 20 6f 66 20 72 6f 77 5b 22 73 74 72 use of row["str
3070: 69 6e 67 22 5d 20 69 6e 20 63 6f 6d 70 6c 69 63 ing"] in complic
3080: 31 20 65 78 61 6d 70 6c 65 2e 0a 0a 09 6f 20 4c 1 example....o L
3090: 6f 74 73 20 6f 66 20 63 6f 64 65 20 73 74 79 6c ots of code styl
30a0: 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 e improvements t
30b0: 6f 20 74 68 65 20 65 78 61 6d 70 6c 65 73 2e 0a o the examples..
30c0: 0a 09 6f 20 53 6f 6d 65 20 56 43 2b 2b 20 74 79 ..o Some VC++ ty
30d0: 70 65 20 77 61 72 6e 69 6e 67 73 20 73 71 75 69 pe warnings squi
30e0: 73 68 65 64 2e 20 20 53 6f 6d 65 20 72 65 6d 61 shed. Some rema
30f0: 69 6e 2e 0a 09 0a 0a 31 2e 37 2e 32 32 2c 20 32 in.....1.7.22, 2
3100: 30 30 34 2e 31 31 2e 31 37 20 28 72 33 30 32 29 004.11.17 (r302)
3110: 0a 0a 09 6f 20 41 70 70 6c 69 65 64 20 70 61 74 ...o Applied pat
3120: 63 68 65 73 20 62 79 20 5a 61 68 72 6f 6f 66 20 ches by Zahroof
3130: 4d 6f 68 61 6d 6d 65 64 20 74 6f 20 61 6c 6c 6f Mohammed to allo
3140: 77 20 69 74 20 74 6f 20 62 75 69 6c 64 20 75 6e w it to build un
3150: 64 65 72 20 47 43 43 0a 09 20 20 33 2e 34 2e 32 der GCC.. 3.4.2
3160: 2e 20 20 54 65 73 74 65 64 20 6f 6e 20 4d 69 6e . Tested on Min
3170: 47 57 20 61 6e 64 20 46 65 64 6f 72 61 20 43 6f GW and Fedora Co
3180: 72 65 20 33 20 73 79 73 74 65 6d 73 2e 0a 0a 09 re 3 systems....
3190: 6f 20 52 65 6d 6f 76 65 64 20 61 6c 6c 20 74 68 o Removed all th
31a0: 65 20 66 6f 72 77 61 72 64 20 64 65 63 6c 61 72 e forward declar
31b0: 61 74 69 6f 6e 73 20 69 6e 20 64 65 66 73 2e 68 ations in defs.h
31c0: 2c 20 61 6e 64 20 61 64 64 65 64 0a 09 20 20 66 , and added.. f
31d0: 6f 72 77 61 72 64 20 64 65 63 6c 61 72 61 74 69 orward declarati
31e0: 6f 6e 73 20 77 68 65 72 65 20 6e 65 63 65 73 73 ons where necess
31f0: 61 72 79 20 69 6e 20 69 6e 64 69 76 69 64 75 61 ary in individua
3200: 6c 20 68 65 61 64 65 72 20 66 69 6c 65 73 2e 0a l header files..
3210: 09 20 20 23 69 6e 63 6c 75 64 69 6e 67 20 64 65 . #including de
3220: 66 73 2e 68 20 69 6e 20 66 65 77 65 72 20 6c 6f fs.h in fewer lo
3230: 63 61 74 69 6f 6e 73 20 61 73 20 61 20 72 65 73 cations as a res
3240: 75 6c 74 2e 0a 0a 09 6f 20 4c 65 67 61 63 79 20 ult....o Legacy
3250: 68 65 61 64 65 72 73 20 73 71 6c 70 6c 75 73 2e headers sqlplus.
3260: 68 68 20 61 6e 64 20 6d 79 73 71 6c 2b 2b 2e 68 hh and mysql++.h
3270: 68 20 6e 6f 77 20 64 65 63 6c 61 72 65 20 74 68 h now declare th
3280: 65 79 20 61 72 65 0a 09 20 20 75 73 69 6e 67 20 ey are.. using
3290: 6e 61 6d 65 73 70 61 63 65 20 6d 79 73 71 6c 70 namespace mysqlp
32a0: 70 2c 20 74 6f 20 61 6c 6c 6f 77 20 6f 6c 64 20 p, to allow old
32b0: 63 6f 64 65 20 74 6f 20 63 6f 6d 70 69 6c 65 20 code to compile
32c0: 61 67 61 69 6e 73 74 20 74 68 65 0a 09 20 20 6e against the.. n
32d0: 65 77 20 6c 69 62 72 61 72 79 20 77 69 74 68 6f ew library witho
32e0: 75 74 20 63 68 61 6e 67 65 73 2e 0a 0a 09 6f 20 ut changes....o
32f0: 52 65 6d 6f 76 65 64 20 71 75 65 72 79 5f 72 65 Removed query_re
3300: 73 65 74 20 70 61 72 61 6d 65 74 65 72 20 66 72 set parameter fr
3310: 6f 6d 20 73 65 76 65 72 61 6c 20 63 6c 61 73 73 om several class
3320: 20 51 75 65 72 79 20 6d 65 6d 62 65 72 0a 09 20 Query member..
3330: 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 49 6e 20 functions. In
3340: 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 the implementati
3350: 6f 6e 2c 20 74 68 65 73 65 20 70 61 72 61 6d 65 on, these parame
3360: 74 65 72 73 20 77 65 72 65 20 61 6c 77 61 79 73 ters were always
3370: 0a 09 20 20 6f 76 65 72 72 69 64 64 65 6e 21 20 .. overridden!
3380: 20 4e 6f 20 73 65 6e 73 65 20 70 72 65 74 65 6e No sense preten
3390: 64 69 6e 67 20 74 68 61 74 20 77 65 20 70 61 79 ding that we pay
33a0: 20 61 74 74 65 6e 74 69 6f 6e 20 74 6f 20 74 68 attention to th
33b0: 65 73 65 0a 09 20 20 70 61 72 61 6d 65 74 65 72 ese.. parameter
33c0: 73 2e 20 20 54 68 69 73 20 63 68 61 6e 67 65 73 s. This changes
33d0: 20 74 68 65 20 41 42 49 20 76 65 72 73 69 6f 6e the ABI version
33e0: 20 74 6f 20 33 2e 0a 0a 09 6f 20 23 69 6e 63 6c to 3....o #incl
33f0: 75 64 69 6e 67 20 63 75 73 74 6f 6d 2e 68 20 69 uding custom.h i
3400: 6e 20 73 71 6c 5f 71 75 65 72 79 2e 68 20 61 67 n sql_query.h ag
3410: 61 69 6e 2e 2e 2e 69 74 27 73 20 6e 65 63 65 73 ain...it's neces
3420: 73 61 72 79 20 6f 6e 20 47 43 43 0a 09 20 20 33 sary on GCC.. 3
3430: 2e 34 2e 0a 09 0a 09 6f 20 62 6f 6f 74 73 74 72 .4.....o bootstr
3440: 61 70 20 73 63 72 69 70 74 20 72 75 6e 73 20 6c ap script runs l
3450: 69 62 2f 63 6f 6e 66 69 67 2e 70 6c 20 61 66 74 ib/config.pl aft
3460: 65 72 20 63 6f 6e 66 69 67 75 72 65 2e 20 20 54 er configure. T
3470: 68 69 73 20 69 73 0a 09 20 20 6a 75 73 74 20 61 his is.. just a
3480: 20 6e 69 63 65 74 79 20 66 6f 72 20 74 68 6f 73 nicety for thos
3490: 65 20 72 75 6e 6e 69 6e 67 20 69 6e 20 27 6d 61 e running in 'ma
34a0: 69 6e 74 61 69 6e 65 72 20 6d 6f 64 65 27 2e 0a intainer mode'..
34b0: 0a 0a 31 2e 37 2e 32 31 2c 20 32 30 30 34 2e 31 ..1.7.21, 2004.1
34c0: 31 2e 30 35 20 28 72 32 37 33 29 0a 0a 09 6f 20 1.05 (r273)...o
34d0: 47 65 6e 65 72 61 74 69 6e 67 20 61 20 6d 61 69 Generating a mai
34e0: 6e 20 6d 79 73 71 6c 2b 2b 20 52 50 4d 20 63 6f n mysql++ RPM co
34f0: 6e 74 61 69 6e 69 6e 67 20 6a 75 73 74 20 74 68 ntaining just th
3500: 65 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 0a e library files.
3510: 09 20 20 61 6e 64 20 62 61 73 69 63 20 64 6f 63 . and basic doc
3520: 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 61 6e 64 20 umentation, and
3530: 74 68 65 20 2d 64 65 76 65 6c 20 70 61 63 6b 61 the -devel packa
3540: 67 65 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 09 20 ge containing..
3550: 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 everything else
3560: 2e 0a 0a 09 6f 20 44 65 76 65 6c 20 70 61 63 6b ....o Devel pack
3570: 61 67 65 20 63 6f 6e 74 61 69 6e 73 20 65 78 61 age contains exa
3580: 6d 70 6c 65 73 20 6e 6f 77 2c 20 61 6c 6f 6e 67 mples now, along
3590: 20 77 69 74 68 20 61 20 6e 65 77 20 4d 61 6b 65 with a new Make
35a0: 66 69 6c 65 0a 09 20 20 74 68 61 74 20 75 73 65 file.. that use
35b0: 73 20 74 68 65 20 73 79 73 74 65 6d 20 69 6e 63 s the system inc
35c0: 6c 75 64 65 20 61 6e 64 20 6c 69 62 72 61 72 79 lude and library
35d0: 20 66 69 6c 65 73 2c 20 72 61 74 68 65 72 20 74 files, rather t
35e0: 68 61 6e 20 74 68 65 0a 09 20 20 61 75 74 6f 6d han the.. autom
35f0: 61 6b 65 2d 62 61 73 65 64 20 4d 61 6b 65 66 69 ake-based Makefi
3600: 6c 65 2e 61 6d 20 77 65 20 63 75 72 72 65 6e 74 le.am we current
3610: 6c 79 20 68 61 76 65 20 77 68 69 63 68 20 75 73 ly have which us
3620: 65 73 20 74 68 65 20 66 69 6c 65 73 0a 09 20 20 es the files..
3630: 69 6e 20 74 68 65 20 6d 79 73 71 6c 2b 2b 20 73 in the mysql++ s
3640: 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 2e ource directory.
3650: 0a 0a 09 6f 20 52 65 6e 61 6d 65 64 20 73 71 6c ...o Renamed sql
3660: 70 6c 75 73 69 6e 74 20 73 75 62 64 69 72 65 63 plusint subdirec
3670: 74 6f 72 79 20 69 6e 20 74 68 65 20 70 61 63 6b tory in the pack
3680: 61 67 65 20 74 6f 20 6c 69 62 2e 0a 0a 09 6f 20 age to lib....o
3690: 52 65 6d 6f 76 65 64 20 74 68 65 20 6f 62 73 6f Removed the obso
36a0: 6c 65 74 65 20 6c 69 62 2f 52 45 41 44 4d 45 20 lete lib/README
36b0: 66 69 6c 65 2e 0a 0a 09 6f 20 6c 69 62 2f 73 71 file....o lib/sq
36c0: 6c 5f 71 75 65 72 79 2e 68 20 6e 6f 20 6c 6f 6e l_query.h no lon
36d0: 67 65 72 20 23 69 6e 63 6c 75 64 65 73 20 63 75 ger #includes cu
36e0: 73 74 6f 6d 2e 68 2c 20 73 69 6d 70 6c 69 66 79 stom.h, simplify
36f0: 69 6e 67 0a 09 20 20 62 75 69 6c 64 2d 74 69 6d ing.. build-tim
3700: 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 e dependencies a
3710: 6e 64 20 73 68 6f 72 74 65 6e 69 6e 67 20 63 6f nd shortening co
3720: 6d 70 69 6c 65 20 74 69 6d 65 73 2e 0a 0a 0a 31 mpile times....1
3730: 2e 37 2e 32 30 2c 20 32 30 30 34 2e 31 31 2e 30 .7.20, 2004.11.0
3740: 33 20 28 72 32 35 38 29 0a 0a 09 6f 20 43 6f 6c 3 (r258)...o Col
3750: 6c 61 70 73 65 64 20 61 6c 6c 20 6e 75 6d 62 65 lapsed all numbe
3760: 72 65 64 20 2a 2e 68 68 20 68 65 61 64 65 72 73 red *.hh headers
3770: 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 2a into a single *
3780: 2e 68 20 66 69 6c 65 2e 20 20 46 6f 72 0a 09 20 .h file. For..
3790: 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 63 6f example, the co
37a0: 6e 74 65 6e 74 73 20 6f 66 20 72 6f 77 31 2e 68 ntents of row1.h
37b0: 68 2c 20 72 6f 77 32 2e 68 68 20 61 6e 64 20 72 h, row2.hh and r
37c0: 6f 77 33 2e 68 68 20 61 72 65 20 6e 6f 77 20 69 ow3.hh are now i
37d0: 6e 0a 09 20 20 72 6f 77 2e 68 2e 0a 0a 09 6f 20 n.. row.h....o
37e0: 57 68 69 6c 65 20 64 6f 69 6e 67 20 74 68 65 20 While doing the
37f0: 70 72 65 76 69 6f 75 73 20 63 68 61 6e 67 65 2c previous change,
3800: 20 62 72 6f 6b 65 20 73 65 76 65 72 61 6c 20 63 broke several c
3810: 69 72 63 75 6c 61 72 0a 09 20 20 64 65 70 65 6e ircular.. depen
3820: 64 65 6e 63 69 65 73 2e 20 20 28 54 68 65 20 6e dencies. (The n
3830: 75 6d 62 65 72 65 64 20 66 69 6c 65 20 73 63 68 umbered file sch
3840: 65 6d 65 20 77 61 73 20 70 72 6f 62 61 62 6c 79 eme was probably
3850: 20 70 61 72 74 6c 79 20 64 6f 6e 65 0a 09 20 20 partly done..
3860: 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 70 72 to avoid this pr
3870: 6f 62 6c 65 6d 2e 29 20 20 54 68 65 20 70 72 61 oblem.) The pra
3880: 63 74 69 63 61 6c 20 75 70 73 68 6f 74 20 6f 66 ctical upshot of
3890: 20 6d 6f 73 74 20 6f 66 20 74 68 65 73 65 0a 09 most of these..
38a0: 20 20 63 68 61 6e 67 65 73 20 69 73 20 74 68 61 changes is tha
38b0: 74 20 73 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73 t some functions
38c0: 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 65 72 20 69 are no longer i
38d0: 6e 6c 69 6e 65 2e 0a 0a 09 6f 20 52 65 6d 6f 76 nline....o Remov
38e0: 65 64 20 64 65 66 69 6e 65 5f 73 68 6f 72 74 2e ed define_short.
38f0: 68 68 20 61 6e 64 20 65 76 65 72 79 74 68 69 6e hh and everythin
3900: 67 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 g associated wit
3910: 68 20 69 74 2e 20 20 54 68 65 0a 09 20 20 6c 69 h it. The.. li
3920: 62 72 61 72 79 20 6e 6f 77 20 75 73 65 73 20 74 brary now uses t
3930: 68 65 20 73 68 6f 72 74 20 6e 61 6d 65 73 20 65 he short names e
3940: 78 63 6c 75 73 69 76 65 6c 79 20 28 65 2e 67 2e xclusively (e.g.
3950: 20 52 6f 77 20 69 6e 73 74 65 61 64 20 6f 66 0a Row instead of.
3960: 09 20 20 4d 79 73 71 6c 52 6f 77 29 2e 0a 0a 09 . MysqlRow)....
3970: 6f 20 50 75 74 20 61 6c 6c 20 64 65 66 69 6e 69 o Put all defini
3980: 74 69 6f 6e 73 20 69 6e 74 6f 20 6e 61 6d 65 73 tions into names
3990: 70 61 63 65 20 6d 79 73 71 6c 70 70 2e 20 20 46 pace mysqlpp. F
39a0: 6f 72 20 6d 6f 73 74 20 70 72 6f 67 72 61 6d 73 or most programs
39b0: 2c 0a 09 20 20 73 69 6d 70 6c 79 20 61 64 64 69 ,.. simply addi
39c0: 6e 67 20 61 20 27 75 73 69 6e 67 20 6e 61 6d 65 ng a 'using name
39d0: 73 70 61 63 65 20 6d 79 73 71 6c 70 70 27 20 6e space mysqlpp' n
39e0: 65 61 72 20 74 68 65 20 74 6f 70 20 6f 66 20 74 ear the top of t
39f0: 68 65 0a 09 20 20 70 72 6f 67 72 61 6d 20 77 69 he.. program wi
3a00: 6c 6c 20 73 75 66 66 69 63 65 20 74 6f 20 63 6f ll suffice to co
3a10: 6e 76 65 72 74 20 74 6f 20 74 68 69 73 20 76 65 nvert to this ve
3a20: 72 73 69 6f 6e 2e 0a 0a 09 6f 20 4f 6e 63 65 20 rsion....o Once
3a30: 61 67 61 69 6e 2c 20 74 68 65 20 6d 61 69 6e 20 again, the main
3a40: 69 6e 63 6c 75 64 65 20 66 69 6c 65 20 77 61 73 include file was
3a50: 20 72 65 6e 61 6d 65 64 2c 20 74 68 69 73 20 74 renamed, this t
3a60: 69 6d 65 20 74 6f 0a 09 20 20 6d 79 73 71 6c 2b ime to.. mysql+
3a70: 2b 2e 68 2e 20 20 48 6f 70 65 66 75 6c 6c 79 20 +.h. Hopefully
3a80: 74 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 this is the last
3a90: 20 72 65 6e 61 6d 69 6e 67 21 0a 0a 09 6f 20 6d renaming!...o m
3aa0: 79 73 71 6c 2b 2b 2e 68 68 20 73 74 69 6c 6c 20 ysql++.hh still
3ab0: 65 78 69 73 74 73 2e 20 20 49 74 20 65 6d 69 74 exists. It emit
3ac0: 73 20 61 20 63 6f 6d 70 69 6c 65 72 20 77 61 72 s a compiler war
3ad0: 6e 69 6e 67 20 74 68 61 74 20 74 68 65 0a 09 20 ning that the..
3ae0: 20 66 69 6c 65 20 69 73 20 6f 62 73 6f 6c 65 74 file is obsolet
3af0: 65 2c 20 74 68 65 6e 20 69 74 20 23 69 6e 63 6c e, then it #incl
3b00: 75 64 65 73 20 6d 79 73 71 6c 2b 2b 2e 68 20 66 udes mysql++.h f
3b10: 6f 72 20 79 6f 75 2e 0a 0a 09 6f 20 73 71 6c 70 or you....o sqlp
3b20: 6c 75 73 2e 68 68 20 69 73 20 62 61 63 6b 2c 20 lus.hh is back,
3b30: 62 65 69 6e 67 20 61 20 63 6f 70 79 20 6f 66 20 being a copy of
3b40: 74 68 65 20 6e 65 77 20 6d 79 73 71 6c 2b 2b 2e the new mysql++.
3b50: 68 68 2e 20 20 42 6f 74 68 20 6f 66 0a 09 20 20 hh. Both of..
3b60: 74 68 65 73 65 20 66 69 6c 65 73 20 6d 61 79 20 these files may
3b70: 67 6f 20 61 77 61 79 20 61 74 20 61 6e 79 20 74 go away at any t
3b80: 69 6d 65 2e 20 20 54 68 65 79 20 65 78 69 73 74 ime. They exist
3b90: 20 73 69 6d 70 6c 79 20 74 6f 20 68 65 6c 70 0a simply to help.
3ba0: 09 20 20 70 65 6f 70 6c 65 20 74 72 61 6e 73 69 . people transi
3bb0: 74 69 6f 6e 20 74 6f 20 74 68 65 20 6e 65 77 20 tion to the new
3bc0: 66 69 6c 65 20 6e 61 6d 69 6e 67 20 73 63 68 65 file naming sche
3bd0: 6d 65 2e 0a 0a 09 6f 20 52 65 6e 61 6d 65 64 20 me....o Renamed
3be0: 6d 79 73 71 6c 2b 2b 2d 77 69 6e 64 6f 77 73 2e mysql++-windows.
3bf0: 68 68 20 74 6f 20 70 6c 61 74 66 6f 72 6d 2e 68 hh to platform.h
3c00: 2c 20 61 6e 64 20 61 64 64 65 64 20 63 6f 64 65 , and added code
3c10: 20 74 6f 20 69 74 20 74 6f 0a 09 20 20 68 61 6e to it to.. han
3c20: 64 6c 65 20 23 69 6e 63 6c 75 73 69 6f 6e 20 6f dle #inclusion o
3c30: 66 20 63 6f 6e 66 69 67 2e 68 20 6f 6e 20 61 75 f config.h on au
3c40: 74 6f 74 6f 6f 6c 73 2d 62 61 73 65 64 20 73 79 totools-based sy
3c50: 73 74 65 6d 73 0a 09 20 20 69 6e 74 65 6c 6c 69 stems.. intelli
3c60: 67 65 6e 74 6c 79 2e 20 20 54 68 69 73 20 66 69 gently. This fi
3c70: 78 65 73 20 74 68 65 20 63 6f 6e 66 69 67 2e 68 xes the config.h
3c80: 20 65 72 72 6f 72 20 77 68 65 6e 20 62 75 69 6c error when buil
3c90: 64 69 6e 67 20 75 6e 64 65 72 0a 09 20 20 56 69 ding under.. Vi
3ca0: 73 75 61 6c 20 43 2b 2b 2e 0a 0a 09 6f 20 54 68 sual C++....o Th
3cb0: 65 72 65 20 69 73 20 6e 6f 77 20 6f 6e 6c 79 20 ere is now only
3cc0: 6f 6e 65 20 70 6c 61 63 65 20 77 68 65 72 65 20 one place where
3cd0: 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 69 6e 63 6c conditional incl
3ce0: 75 73 69 6f 6e 20 6f 66 0a 09 20 20 77 69 6e 73 usion of.. wins
3cf0: 6f 63 6b 2e 68 20 68 61 70 70 65 6e 73 3a 20 70 ock.h happens: p
3d00: 6c 61 74 66 6f 72 6d 2e 68 2e 0a 0a 09 6f 20 42 latform.h....o B
3d10: 65 61 75 74 69 66 69 65 64 20 74 68 65 20 65 78 eautified the ex
3d20: 61 6d 70 6c 65 20 70 72 6f 67 72 61 6d 73 2e 0a ample programs..
3d30: 0a 0a 31 2e 37 2e 31 39 2c 20 32 30 30 34 2e 31 ..1.7.19, 2004.1
3d40: 30 2e 32 35 20 28 72 31 38 36 29 0a 0a 09 6f 20 0.25 (r186)...o
3d50: 46 69 78 65 64 20 61 6e 20 69 6e 66 69 6e 69 74 Fixed an infinit
3d60: 65 20 6c 6f 6f 70 20 69 6e 20 74 68 65 20 71 75 e loop in the qu
3d70: 65 72 79 20 6d 65 63 68 61 6e 69 73 6d 20 72 65 ery mechanism re
3d80: 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 sulting from the
3d90: 0a 09 20 20 73 74 72 73 74 72 65 61 6d 20 63 68 .. strstream ch
3da0: 61 6e 67 65 20 69 6e 20 74 68 65 20 70 72 65 76 ange in the prev
3db0: 69 6f 75 73 20 76 65 72 73 69 6f 6e 2e 20 20 54 ious version. T
3dc0: 68 65 72 65 20 69 73 20 61 6e 20 6f 76 65 72 6c here is an overl
3dd0: 6f 61 64 65 64 0a 09 20 20 73 65 74 20 6f 66 20 oaded.. set of
3de0: 73 74 72 28 29 20 6d 65 6d 62 65 72 20 66 75 6e str() member fun
3df0: 63 74 69 6f 6e 73 20 74 68 61 74 20 77 65 72 65 ctions that were
3e00: 6e 27 74 20 61 20 70 72 6f 62 6c 65 6d 20 77 68 n't a problem wh
3e10: 65 6e 20 71 75 65 72 79 0a 09 20 20 6f 62 6a 65 en query.. obje
3e20: 63 74 73 20 77 65 72 65 20 62 61 73 65 64 20 6f cts were based o
3e30: 6e 20 73 74 72 73 74 72 65 61 6d 2e 0a 09 20 0a n strstream... .
3e40: 09 6f 20 51 75 65 72 79 20 6d 65 63 68 61 6e 69 .o Query mechani
3e50: 73 6d 20 68 61 64 20 61 20 62 75 6e 63 68 20 6f sm had a bunch o
3e60: 66 20 63 6f 6e 73 74 2d 69 6e 63 6f 72 72 65 63 f const-incorrec
3e70: 74 6e 65 73 73 3a 20 74 68 65 72 65 20 77 65 72 tness: there wer
3e80: 65 0a 09 20 20 73 65 76 65 72 61 6c 20 66 75 6e e.. several fun
3e90: 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 ction parameters
3ea0: 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 20 74 and functions t
3eb0: 68 61 74 20 77 65 72 65 20 63 6f 6e 73 74 20 66 hat were const f
3ec0: 6f 72 0a 09 20 20 74 68 65 20 63 6f 6e 76 65 6e or.. the conven
3ed0: 69 65 6e 63 65 20 6f 66 20 6f 74 68 65 72 20 70 ience of other p
3ee0: 61 72 74 73 20 6f 66 20 74 68 65 20 63 6f 64 65 arts of the code
3ef0: 2c 20 62 75 74 20 77 69 74 68 69 6e 20 74 68 65 , but within the
3f00: 73 65 0a 09 20 20 66 75 6e 63 74 69 6f 6e 73 20 se.. functions
3f10: 74 68 65 20 63 6f 6e 73 74 6e 65 73 73 20 77 61 the constness wa
3f20: 73 20 63 6f 6e 73 74 5f 63 61 73 74 20 61 77 61 s const_cast awa
3f30: 79 21 20 20 54 68 69 73 20 77 61 73 20 65 76 69 y! This was evi
3f40: 6c 0a 09 20 20 61 6e 64 20 77 72 6f 6e 67 3b 20 l.. and wrong;
3f50: 6e 6f 77 20 74 68 65 72 65 20 61 72 65 20 66 65 now there are fe
3f60: 77 65 72 20 63 6f 6e 73 74 20 70 72 6f 6d 69 73 wer const promis
3f70: 65 73 2c 20 61 6e 64 20 6f 6e 6c 79 20 6f 6e 65 es, and only one
3f80: 20 69 73 0a 09 20 20 73 74 69 6c 6c 20 71 75 69 is.. still qui
3f90: 65 74 6c 79 20 62 72 6f 6b 65 6e 20 77 69 74 68 etly broken with
3fa0: 69 6e 20 74 68 65 20 63 6f 64 65 2e 20 20 28 49 in the code. (I
3fb0: 74 27 73 20 69 6e 20 74 68 65 20 53 51 4c 51 75 t's in the SQLQu
3fc0: 65 72 79 0a 09 20 20 63 6f 70 79 20 63 74 6f 72 ery.. copy ctor
3fd0: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 3b implementation;
3fe0: 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 68 61 it should be ha
3ff0: 72 6d 6c 65 73 73 2e 29 0a 0a 09 6f 20 52 65 6d rmless.)...o Rem
4000: 6f 76 65 64 20 6f 70 65 72 61 74 6f 72 3d 28 29 oved operator=()
4010: 20 69 6e 20 51 75 65 72 79 20 61 6e 64 20 53 51 in Query and SQ
4020: 4c 51 75 65 72 79 20 63 6c 61 73 73 65 73 2e 20 LQuery classes.
4030: 20 49 74 20 63 61 6e 6e 6f 74 20 74 61 6b 65 0a It cannot take.
4040: 09 20 20 61 20 63 6f 6e 73 74 20 61 72 67 75 6d . a const argum
4050: 65 6e 74 20 66 6f 72 20 74 68 65 20 73 61 6d 65 ent for the same
4060: 20 72 65 61 73 6f 6e 20 77 65 20 68 61 76 65 20 reason we have
4070: 74 6f 20 63 61 73 74 20 61 77 61 79 20 63 6f 6e to cast away con
4080: 73 74 0a 09 20 20 69 6e 20 74 68 65 20 53 51 4c st.. in the SQL
4090: 51 75 65 72 79 20 63 6f 70 79 20 63 74 6f 72 2e Query copy ctor.
40a0: 20 20 49 74 27 73 20 74 6f 6c 65 72 61 62 6c 65 It's tolerable
40b0: 20 74 6f 20 64 6f 20 74 68 69 73 20 69 6e 20 74 to do this in t
40c0: 68 65 20 63 6f 70 79 0a 09 20 20 63 74 6f 72 2c he copy.. ctor,
40d0: 20 62 75 74 20 69 6e 74 6f 6c 65 72 61 62 6c 65 but intolerable
40e0: 20 69 6e 20 61 6e 20 6f 70 65 72 61 74 6f 72 2e in an operator.
40f0: 20 20 53 69 6e 63 65 20 74 68 65 20 63 6f 70 79 Since the copy
4100: 20 63 74 6f 72 20 69 73 20 67 6f 6f 64 0a 09 20 ctor is good..
4110: 20 65 6e 6f 75 67 68 20 66 6f 72 20 61 6c 6c 20 enough for all
4120: 63 6f 64 65 20 77 69 74 68 69 6e 20 74 68 65 20 code within the
4130: 6c 69 62 72 61 72 79 20 61 6e 64 20 77 69 74 68 library and with
4140: 69 6e 20 6d 79 20 6f 77 6e 20 63 6f 64 65 2c 20 in my own code,
4150: 49 27 6d 0a 09 20 20 72 65 6d 6f 76 69 6e 67 20 I'm.. removing
4160: 74 68 65 20 6f 70 65 72 61 74 6f 72 2e 0a 0a 09 the operator....
4170: 6f 20 41 62 6f 76 65 20 63 68 61 6e 67 65 73 20 o Above changes
4180: 72 65 71 75 69 72 65 64 20 62 75 6d 70 69 6e 67 required bumping
4190: 20 74 68 65 20 41 42 49 20 74 6f 20 76 65 72 73 the ABI to vers
41a0: 69 6f 6e 20 32 2e 0a 0a 09 6f 20 56 69 73 75 61 ion 2....o Visua
41b0: 6c 20 43 2b 2b 20 70 72 6f 6a 65 63 74 73 20 6e l C++ projects n
41c0: 6f 77 20 6c 6f 6f 6b 20 66 6f 72 20 4d 79 53 51 ow look for MySQ
41d0: 4c 20 62 75 69 6c 64 20 66 69 6c 65 73 20 69 6e L build files in
41e0: 20 63 3a 5c 6d 79 73 71 6c 2c 0a 09 20 20 73 69 c:\mysql,.. si
41f0: 6e 63 65 20 74 68 61 74 27 73 20 74 68 65 20 64 nce that's the d
4200: 65 66 61 75 6c 74 20 69 6e 73 74 61 6c 6c 20 6c efault install l
4210: 6f 63 61 74 69 6f 6e 2e 20 20 28 50 72 65 76 69 ocation. (Previ
4220: 6f 75 73 6c 79 2c 20 69 74 20 77 61 73 0a 09 20 ously, it was..
4230: 20 63 3a 5c 70 72 6f 67 72 61 6d 20 66 69 6c 65 c:\program file
4240: 73 5c 6d 79 73 71 6c 2e 29 0a 0a 0a 31 2e 37 2e s\mysql.)...1.7.
4250: 31 38 2c 20 32 30 30 34 2e 31 30 2e 30 31 20 28 18, 2004.10.01 (
4260: 72 31 37 37 29 0a 0a 09 6f 20 43 68 61 6e 67 65 r177)...o Change
4270: 64 20 61 6c 6c 20 74 68 65 20 73 74 72 73 74 72 d all the strstr
4280: 65 61 6d 20 28 61 6e 64 20 66 72 69 65 6e 64 73 eam (and friends
4290: 29 20 73 74 75 66 66 20 74 6f 20 73 74 72 69 6e ) stuff to strin
42a0: 67 73 74 72 65 61 6d 20 74 79 70 65 0a 09 20 20 gstream type..
42b0: 63 6c 61 73 73 65 73 2e 20 20 4c 65 74 20 74 68 classes. Let th
42c0: 65 72 65 20 62 65 20 6d 75 63 68 20 72 65 6a 6f ere be much rejo
42d0: 69 63 69 6e 67 2e 0a 0a 09 6f 20 51 75 65 72 79 icing....o Query
42e0: 20 6f 62 6a 65 63 74 20 6e 6f 77 20 6c 65 74 73 object now lets
42f0: 20 79 6f 75 20 75 73 65 20 73 74 6f 72 65 28 29 you use store()
4300: 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 53 even when the S
4310: 51 4c 20 71 75 65 72 79 0a 09 20 20 63 61 6e 6e QL query.. cann
4320: 6f 74 20 72 65 74 75 72 6e 20 61 20 72 65 73 75 ot return a resu
4330: 6c 74 2c 20 73 75 63 68 20 61 73 20 61 20 44 52 lt, such as a DR
4340: 4f 50 20 54 41 42 4c 45 20 63 6f 6d 6d 61 6e 64 OP TABLE command
4350: 2e 20 20 54 68 69 73 20 69 73 0a 09 20 20 75 73 . This is.. us
4360: 65 66 75 6c 20 66 6f 72 20 73 65 6e 64 69 6e 67 eful for sending
4370: 20 61 72 62 69 74 72 61 72 79 20 53 51 4c 20 74 arbitrary SQL t
4380: 6f 20 74 68 65 20 73 65 72 76 65 72 2e 20 20 54 o the server. T
4390: 68 61 6e 6b 73 20 74 6f 0a 09 20 20 4a 6f 73 65 hanks to.. Jose
43a0: 20 4d 6f 72 74 65 6e 73 65 6e 20 66 6f 72 20 74 Mortensen for t
43b0: 68 65 20 70 61 74 63 68 2e 0a 0a 09 6f 20 51 75 he patch....o Qu
43c0: 6f 74 65 20 66 69 78 20 69 6e 20 63 6f 6e 66 69 ote fix in confi
43d0: 67 75 72 65 2e 69 6e 2c 20 74 68 61 6e 6b 73 20 gure.in, thanks
43e0: 74 6f 20 44 61 76 69 64 20 53 77 61 72 64 2e 0a to David Sward..
43f0: 0a 09 6f 20 52 65 6e 61 6d 65 64 20 75 6e 64 65 ..o Renamed unde
4400: 66 5f 73 68 6f 72 74 20 66 69 6c 65 20 74 6f 20 f_short file to
4410: 75 6e 64 65 66 5f 73 68 6f 72 74 2e 68 68 2e 0a undef_short.hh..
4420: 0a 09 6f 20 47 65 6e 74 6f 6f 20 65 62 75 69 6c ..o Gentoo ebuil
4430: 64 20 66 69 6c 65 20 69 73 20 61 63 74 75 61 6c d file is actual
4440: 6c 79 20 62 65 69 6e 67 20 73 68 69 70 70 65 64 ly being shipped
4450: 20 77 69 74 68 20 74 68 65 20 74 61 72 62 61 6c with the tarbal
4460: 6c 2c 0a 09 20 20 69 6e 73 74 65 61 64 20 6f 66 l,.. instead of
4470: 20 6a 75 73 74 20 73 69 74 74 69 6e 67 20 69 6e just sitting in
4480: 20 6d 79 20 70 72 69 76 61 74 65 20 43 56 53 20 my private CVS
4490: 74 72 65 65 20 73 69 6e 63 65 20 31 2e 37 2e 31 tree since 1.7.1
44a0: 34 20 77 61 73 0a 09 20 20 63 75 72 72 65 6e 74 4 was.. current
44b0: 2e 20 20 4f 6f 6f 70 73 2e 2e 2e 2e 0a 0a 0a 31 . Ooops.......1
44c0: 2e 37 2e 31 37 2c 20 32 30 30 34 2e 30 39 2e 31 .7.17, 2004.09.1
44d0: 36 20 28 72 31 37 30 29 0a 0a 09 6f 20 52 65 76 6 (r170)...o Rev
44e0: 65 72 74 65 64 20 6f 6e 65 20 6f 66 20 74 68 65 erted one of the
44f0: 20 56 43 2b 2b 20 77 61 72 6e 69 6e 67 20 66 69 VC++ warning fi
4500: 78 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 20 31 x changes from 1
4510: 2e 37 2e 31 36 20 74 68 61 74 0a 09 20 20 63 61 .7.16 that.. ca
4520: 75 73 65 64 20 63 72 61 73 68 65 73 20 6f 6e 20 used crashes on
4530: 4c 69 6e 75 78 2e 0a 0a 09 6f 20 41 64 64 65 64 Linux....o Added
4540: 20 61 20 63 6f 6e 66 69 67 75 72 65 20 74 65 73 a configure tes
4550: 74 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e t that condition
4560: 61 6c 6c 79 20 61 64 64 73 20 74 68 65 20 65 78 ally adds the ex
4570: 74 72 61 20 27 6c 65 76 65 6c 27 0a 09 20 20 70 tra 'level'.. p
4580: 61 72 61 6d 65 74 65 72 20 74 6f 20 6d 79 73 71 arameter to mysq
4590: 6c 5f 73 68 75 74 64 6f 77 6e 28 29 20 74 68 61 l_shutdown() tha
45a0: 74 20 77 61 73 20 61 64 64 65 64 20 69 6e 20 4d t was added in M
45b0: 79 53 51 4c 20 34 2e 31 2e 33 20 61 6e 64 0a 09 ySQL 4.1.3 and..
45c0: 20 20 35 2e 30 2e 31 2e 0a 0a 0a 31 2e 37 2e 31 5.0.1....1.7.1
45d0: 36 2c 20 32 30 30 34 2e 30 39 2e 31 33 20 28 72 6, 2004.09.13 (r
45e0: 31 36 30 29 0a 0a 09 6f 20 42 75 69 6c 64 69 6e 160)...o Buildin
45f0: 67 20 56 43 2b 2b 20 76 65 72 73 69 6f 6e 20 77 g VC++ version w
4600: 69 74 68 20 44 4c 4c 20 76 65 72 73 69 6f 6e 20 ith DLL version
4610: 6f 66 20 43 20 72 75 6e 74 69 6d 65 20 6c 69 62 of C runtime lib
4620: 72 61 72 69 65 73 2c 20 61 6e 64 0a 09 20 20 61 raries, and.. a
4630: 74 20 77 61 72 6e 69 6e 67 20 6c 65 76 65 6c 20 t warning level
4640: 33 20 77 69 74 68 20 6e 6f 20 77 61 72 6e 69 6e 3 with no warnin
4650: 67 73 20 65 6d 69 74 74 65 64 2e 0a 0a 09 6f 20 gs emitted....o
4660: 56 43 2b 2b 20 62 75 69 6c 64 20 6e 6f 20 6c 6f VC++ build no lo
4670: 6e 67 65 72 20 61 74 74 65 6d 70 74 73 20 74 6f nger attempts to
4680: 20 66 61 6b 65 20 22 6c 6f 6e 67 20 6c 6f 6e 67 fake "long long
4690: 22 20 73 75 70 70 6f 72 74 2e 20 20 53 65 65 0a " support. See.
46a0: 09 20 20 74 68 65 20 57 69 73 68 6c 69 73 74 20 . the Wishlist
46b0: 66 6f 72 20 66 75 72 74 68 65 72 20 74 68 6f 75 for further thou
46c0: 67 68 74 73 20 6f 6e 20 74 68 69 73 2e 0a 0a 0a ghts on this....
46d0: 31 2e 37 2e 31 35 2c 20 32 30 30 34 2e 30 39 2e 1.7.15, 2004.09.
46e0: 30 32 20 28 72 31 34 34 29 0a 0a 09 6f 20 52 65 02 (r144)...o Re
46f0: 6e 61 6d 65 64 20 43 6f 6e 66 69 67 75 72 65 20 named Configure
4700: 66 69 6c 65 20 74 6f 20 63 6f 6d 6d 6f 6e 2e 61 file to common.a
4710: 6d 2c 20 74 6f 20 61 76 6f 69 64 20 66 69 6c 65 m, to avoid file
4720: 20 6e 61 6d 65 20 63 6f 6e 66 6c 69 63 74 0a 09 name conflict..
4730: 20 20 77 69 74 68 20 63 6f 6e 66 69 67 75 72 65 with configure
4740: 20 73 63 72 69 70 74 20 6f 6e 20 63 61 73 65 2d script on case-
4750: 73 65 6e 73 69 74 69 76 65 20 66 69 6c 65 20 73 sensitive file s
4760: 79 73 74 65 6d 73 2e 0a 0a 09 6f 20 41 64 64 65 ystems....o Adde
4770: 64 20 65 62 75 69 6c 64 20 66 69 6c 65 20 61 6e d ebuild file an
4780: 64 20 65 62 75 69 6c 64 20 74 61 72 67 65 74 20 d ebuild target
4790: 74 6f 20 74 6f 70 2d 6c 65 76 65 6c 20 4d 61 6b to top-level Mak
47a0: 65 66 69 6c 65 20 66 6f 72 0a 09 20 20 47 65 6e efile for.. Gen
47b0: 74 6f 6f 20 73 79 73 74 65 6d 73 2e 20 20 54 68 too systems. Th
47c0: 61 6e 6b 73 20 74 6f 20 43 68 72 69 73 20 46 72 anks to Chris Fr
47d0: 65 79 20 66 6f 72 20 74 68 69 73 2e 0a 0a 09 6f ey for this....o
47e0: 20 53 6d 61 6c 6c 20 65 66 66 69 63 69 65 6e 63 Small efficienc
47f0: 79 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 y improvements t
4800: 6f 20 42 61 64 51 75 65 72 79 20 65 78 63 65 70 o BadQuery excep
4810: 74 69 6f 6e 20 68 61 6e 64 6c 69 6e 67 2e 0a 09 tion handling...
4820: 20 20 49 6e 69 74 69 61 6c 20 69 64 65 61 20 62 Initial idea b
4830: 79 20 43 68 72 69 73 20 46 72 65 79 2c 20 69 6d y Chris Frey, im
4840: 70 72 6f 76 65 6d 65 6e 74 73 20 62 79 20 57 61 provements by Wa
4850: 72 72 65 6e 20 59 6f 75 6e 67 2e 0a 0a 0a 31 2e rren Young....1.
4860: 37 2e 31 34 2c 20 32 30 30 34 2e 30 38 2e 32 36 7.14, 2004.08.26
4870: 20 28 72 31 33 30 29 0a 0a 09 6f 20 42 75 69 6c (r130)...o Buil
4880: 64 73 20 77 69 74 68 20 56 69 73 75 61 6c 20 43 ds with Visual C
4890: 2b 2b 20 37 2e 31 2e 0a 0a 09 6f 20 46 69 78 65 ++ 7.1....o Fixe
48a0: 64 20 61 20 62 75 67 20 69 6e 20 63 75 73 74 6f d a bug in custo
48b0: 6d 20 6d 61 63 72 6f 20 67 65 6e 65 72 61 74 69 m macro generati
48c0: 6f 6e 20 74 68 61 74 20 63 61 75 73 65 64 20 70 on that caused p
48d0: 72 6f 62 6c 65 6d 73 20 77 69 74 68 0a 09 20 20 roblems with..
48e0: 47 43 43 20 33 2e 34 2e 20 20 28 58 5f 63 75 73 GCC 3.4. (X_cus
48f0: 5f 76 61 6c 75 65 5f 6c 69 73 74 20 63 74 6f 72 _value_list ctor
4900: 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 61 73 20 definition was
4910: 62 72 6f 6b 65 6e 2e 29 0a 0a 0a 31 2e 37 2e 31 broken.)...1.7.1
4920: 33 2c 20 32 30 30 34 2e 30 38 2e 32 33 20 28 72 3, 2004.08.23 (r
4930: 39 32 29 0a 0a 09 6f 20 52 65 6d 6f 76 65 64 20 92)...o Removed
4940: 55 53 4c 20 43 43 20 73 75 70 70 6f 72 74 2e 20 USL CC support.
4950: 20 28 53 79 73 74 65 6d 20 56 20 73 74 6f 63 6b (System V stock
4960: 20 73 79 73 74 65 6d 20 63 6f 6d 70 69 6c 65 72 system compiler
4970: 2e 29 20 20 55 73 65 0a 09 20 20 47 43 43 20 6f .) Use.. GCC o
4980: 6e 20 74 68 65 73 65 20 70 6c 61 74 66 6f 72 6d n these platform
4990: 73 20 69 6e 73 74 65 61 64 2e 0a 0a 09 6f 20 41 s instead....o A
49a0: 64 64 65 64 20 65 78 61 6d 70 6c 65 73 2f 52 45 dded examples/RE
49b0: 41 44 4d 45 2c 20 65 78 70 6c 61 69 6e 69 6e 67 ADME, explaining
49c0: 20 68 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20 how to use the
49d0: 65 78 61 6d 70 6c 65 73 2c 20 61 6e 64 0a 09 20 examples, and..
49e0: 20 77 68 61 74 20 74 68 65 79 20 61 6c 6c 20 64 what they all d
49f0: 6f 2e 0a 0a 09 6f 20 4d 6f 73 74 20 6f 66 20 74 o....o Most of t
4a00: 68 65 20 65 78 61 6d 70 6c 65 20 70 72 6f 67 72 he example progr
4a10: 61 6d 73 20 6e 6f 77 20 61 63 63 65 70 74 20 63 ams now accept c
4a20: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 ommand line argu
4a30: 6d 65 6e 74 73 20 66 6f 72 0a 09 20 20 68 6f 73 ments for.. hos
4a40: 74 20 6e 61 6d 65 2c 20 75 73 65 72 20 6e 61 6d t name, user nam
4a50: 65 20 61 6e 64 20 70 61 73 73 77 6f 72 64 2c 20 e and password,
4a60: 6c 69 6b 65 20 72 65 73 65 74 64 62 20 64 6f 65 like resetdb doe
4a70: 73 2e 0a 0a 09 6f 20 52 65 6e 61 6d 65 64 20 73 s....o Renamed s
4a80: 69 6e 69 73 61 5f 65 78 20 65 78 61 6d 70 6c 65 inisa_ex example
4a90: 20 74 6f 20 64 62 69 6e 66 6f 2e 0a 0a 09 6f 20 to dbinfo....o
4aa0: 53 65 76 65 72 61 6c 20 53 74 61 6e 64 61 72 64 Several Standard
4ab0: 20 43 2b 2b 20 73 79 6e 74 61 78 20 66 69 78 65 C++ syntax fixe
4ac0: 73 20 74 6f 20 71 75 61 73 68 20 65 72 72 6f 72 s to quash error
4ad0: 73 20 65 6d 69 74 74 65 64 20 62 79 0a 09 20 20 s emitted by..
4ae0: 47 43 43 20 33 2e 34 20 61 6e 64 20 42 6f 72 6c GCC 3.4 and Borl
4af0: 61 6e 64 20 43 2b 2b 20 42 75 69 6c 64 65 72 20 and C++ Builder
4b00: 36 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 53 74 6. Thanks to St
4b10: 65 66 66 65 6e 20 53 63 68 75 6d 61 63 68 65 72 effen Schumacher
4b20: 0a 09 20 20 61 6e 64 20 54 6f 74 74 65 20 4b 61 .. and Totte Ka
4b30: 72 6c 73 73 6f 6e 20 66 6f 72 20 74 68 65 69 72 rlsson for their
4b40: 20 74 65 73 74 69 6e 67 20 61 6e 64 20 68 65 6c testing and hel
4b50: 70 20 77 69 74 68 20 74 68 65 73 65 2e 0a 0a 09 p with these....
4b60: 6f 20 41 64 64 65 64 20 70 72 6f 70 65 72 20 23 o Added proper #
4b70: 69 6e 63 6c 75 64 65 73 20 66 6f 72 20 42 43 42 includes for BCB
4b80: 75 69 6c 64 65 72 2c 20 70 6c 75 73 20 70 72 6f uilder, plus pro
4b90: 6a 65 63 74 20 66 69 6c 65 73 20 66 6f 72 20 73 ject files for s
4ba0: 61 6d 65 2e 0a 09 20 20 54 68 61 6e 6b 73 20 74 ame... Thanks t
4bb0: 6f 20 54 6f 74 74 65 20 4b 61 72 6c 73 73 6f 6e o Totte Karlsson
4bc0: 20 66 6f 72 20 74 68 65 73 65 2e 0a 0a 0a 31 2e for these....1.
4bd0: 37 2e 31 32 2c 20 32 30 30 34 2e 30 38 2e 31 39 7.12, 2004.08.19
4be0: 20 28 72 36 33 29 0a 0a 09 6f 20 4d 61 6e 79 20 (r63)...o Many
4bf0: 53 74 61 6e 64 61 72 64 20 43 2b 2b 20 66 69 78 Standard C++ fix
4c00: 65 73 2c 20 6d 6f 73 74 20 66 72 6f 6d 20 74 68 es, most from th
4c10: 65 20 47 43 43 20 33 2e 34 20 70 61 74 63 68 20 e GCC 3.4 patch
4c20: 62 79 0a 09 20 20 52 75 6e 65 20 4b 6c 65 76 65 by.. Rune Kleve
4c30: 6c 61 6e 64 2e 0a 0a 09 6f 20 41 64 64 65 64 20 land....o Added
4c40: 57 69 73 68 6c 69 73 74 20 66 69 6c 65 20 74 6f Wishlist file to
4c50: 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a distribution...
4c60: 09 6f 20 46 69 78 65 64 20 61 20 70 72 6f 62 6c .o Fixed a probl
4c70: 65 6d 20 69 6e 20 74 68 65 20 62 6f 6f 74 73 74 em in the bootst
4c80: 72 61 70 20 73 63 72 69 70 74 20 74 68 61 74 20 rap script that
4c90: 63 61 75 73 65 64 20 63 6f 6d 70 6c 61 69 6e 74 caused complaint
4ca0: 73 0a 09 20 20 66 72 6f 6d 20 74 68 65 20 61 75 s.. from the au
4cb0: 74 6f 74 6f 6f 6c 73 20 6f 6e 20 73 6f 6d 65 20 totools on some
4cc0: 73 79 73 74 65 6d 73 2e 0a 0a 09 6f 20 52 50 4d systems....o RPM
4cd0: 20 62 75 69 6c 64 69 6e 67 20 69 73 20 77 6f 72 building is wor
4ce0: 6b 69 6e 67 20 70 72 6f 70 65 72 6c 79 20 6e 6f king properly no
4cf0: 77 2e 0a 0a 09 6f 20 46 69 78 65 64 20 74 68 65 w....o Fixed the
4d00: 20 69 64 65 6d 70 6f 74 65 6e 63 79 20 67 75 61 idempotency gua
4d10: 72 64 20 69 6e 20 64 61 74 65 74 69 6d 65 31 2e rd in datetime1.
4d20: 68 68 2e 0a 0a 0a 31 2e 37 2e 31 31 2c 20 32 30 hh....1.7.11, 20
4d30: 30 34 2e 30 38 2e 31 37 20 28 72 35 30 29 0a 0a 04.08.17 (r50)..
4d40: 09 6f 20 52 65 6e 61 6d 65 64 20 6d 79 73 71 6c .o Renamed mysql
4d50: 2b 2b 2c 20 64 65 66 73 20 61 6e 64 20 64 65 66 ++, defs and def
4d60: 69 6e 65 5f 73 68 6f 72 74 20 66 69 6c 65 73 2c ine_short files,
4d70: 20 61 64 64 69 6e 67 20 2e 68 68 20 74 6f 20 74 adding .hh to t
4d80: 68 65 0a 09 20 20 65 6e 64 20 6f 66 20 65 61 63 he.. end of eac
4d90: 68 2e 20 20 28 54 68 65 79 27 72 65 20 68 65 61 h. (They're hea
4da0: 64 65 72 20 66 69 6c 65 73 21 29 20 20 54 68 69 der files!) Thi
4db0: 73 20 73 68 6f 75 6c 64 6e 27 74 20 69 6d 70 61 s shouldn't impa
4dc0: 63 74 0a 09 20 20 6c 69 62 72 61 72 79 20 75 73 ct.. library us
4dd0: 65 72 73 2c 20 73 69 6e 63 65 20 74 68 65 73 65 ers, since these
4de0: 20 61 72 65 20 68 6f 70 65 66 75 6c 6c 79 20 75 are hopefully u
4df0: 73 65 64 20 69 6e 74 65 72 6e 61 6c 20 74 6f 20 sed internal to
4e00: 74 68 65 0a 09 20 20 6c 69 62 72 61 72 79 20 6f the.. library o
4e10: 6e 6c 79 2e 0a 0a 09 6f 20 52 65 6d 6f 76 65 64 nly....o Removed
4e20: 20 73 71 6c 70 6c 75 73 2e 68 68 20 66 69 6c 65 sqlplus.hh file
4e30: 2e 20 20 55 73 65 20 6d 79 73 71 6c 2b 2b 2e 68 . Use mysql++.h
4e40: 68 20 69 6e 73 74 65 61 64 2e 0a 09 0a 09 6f 20 h instead.....o
4e50: 41 64 64 65 64 20 6d 79 73 71 6c 2b 2b 2e 73 70 Added mysql++.sp
4e60: 65 63 2c 20 65 78 74 72 61 63 74 65 64 20 66 72 ec, extracted fr
4e70: 6f 6d 20 63 6f 6e 74 72 69 62 75 74 65 64 20 31 om contributed 1
4e80: 2e 37 2e 39 20 73 6f 75 72 63 65 20 52 50 4d 2c .7.9 source RPM,
4e90: 20 0a 09 20 20 61 6e 64 20 75 70 64 61 74 65 64 .. and updated
4ea0: 20 69 74 20 73 69 67 6e 69 66 69 63 61 6e 74 6c it significantl
4eb0: 79 2e 20 20 41 6c 73 6f 2c 20 61 64 64 65 64 20 y. Also, added
4ec0: 61 6e 20 27 72 70 6d 27 20 74 61 72 67 65 74 20 an 'rpm' target
4ed0: 74 6f 0a 09 20 20 4d 61 6b 65 66 69 6c 65 2e 61 to.. Makefile.a
4ee0: 6d 20 74 6f 20 61 75 74 6f 6d 61 74 65 20 74 68 m to automate th
4ef0: 65 20 70 72 6f 63 65 73 73 20 6f 66 20 62 75 69 e process of bui
4f00: 6c 64 69 6e 67 20 52 50 4d 73 2e 0a 0a 09 6f 20 lding RPMs....o
4f10: 41 64 64 65 64 20 62 6f 6f 74 73 74 72 61 70 20 Added bootstrap
4f20: 61 6e 64 20 4c 47 50 4c 20 66 69 6c 65 73 20 74 and LGPL files t
4f30: 6f 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 74 o distribution t
4f40: 61 72 62 61 6c 6c 2e 0a 0a 09 6f 20 41 64 64 65 arball....o Adde
4f50: 64 20 70 72 65 2d 31 2e 37 2e 31 30 20 68 69 73 d pre-1.7.10 his
4f60: 74 6f 72 79 20 74 6f 20 74 68 69 73 20 66 69 6c tory to this fil
4f70: 65 2e 0a 0a 09 6f 20 52 65 6d 6f 76 65 64 20 2e e....o Removed .
4f80: 76 65 72 73 69 6f 6e 20 66 69 6c 65 2e 20 20 41 version file. A
4f90: 70 70 61 72 65 6e 74 6c 79 20 69 74 27 73 20 73 pparently it's s
4fa0: 6f 6d 65 74 68 69 6e 67 20 72 65 71 75 69 72 65 omething require
4fb0: 64 20 62 79 20 6f 6c 64 0a 09 20 20 76 65 72 73 d by old.. vers
4fc0: 69 6f 6e 73 20 6f 66 20 6c 69 62 74 6f 6f 6c 2e ions of libtool.
4fd0: 0a 0a 0a 31 2e 37 2e 31 30 2c 20 32 30 30 34 2e ...1.7.10, 2004.
4fe0: 30 38 2e 31 36 20 28 72 32 37 29 0a 0a 09 6f 20 08.16 (r27)...o
4ff0: 4d 61 69 6e 74 65 6e 61 6e 63 65 20 74 61 6b 65 Maintenance take
5000: 6e 20 6f 76 65 72 20 62 79 20 57 61 72 72 65 6e n over by Warren
5010: 20 59 6f 75 6e 67 20 28 6d 79 73 71 6c 70 70 20 Young (mysqlpp
5020: 61 74 20 65 74 72 20 64 61 73 68 20 75 73 61 0a at etr dash usa.
5030: 09 20 20 64 6f 74 20 63 6f 6d 2e 29 20 53 65 65 . dot com.) See
5040: 20 68 74 74 70 3a 2f 2f 6c 69 73 74 73 2e 6d 79 http://lists.my
5050: 73 71 6c 2e 63 6f 6d 2f 70 6c 75 73 70 6c 75 73 sql.com/plusplus
5060: 2f 33 33 32 36 20 66 6f 72 20 64 65 74 61 69 6c /3326 for detail
5070: 73 2e 0a 0a 09 6f 20 41 70 70 6c 69 65 64 20 6d s....o Applied m
5080: 61 6e 79 20 6f 66 20 74 68 65 20 47 43 43 20 33 any of the GCC 3
5090: 2e 78 20 70 61 74 63 68 65 73 20 73 75 62 6d 69 .x patches submi
50a0: 74 74 65 64 20 66 6f 72 20 31 2e 37 2e 39 20 6f tted for 1.7.9 o
50b0: 76 65 72 0a 09 20 20 74 68 65 20 79 65 61 72 73 ver.. the years
50c0: 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 69 . This allows i
50d0: 74 20 74 6f 20 62 75 69 6c 64 20 6f 6e 20 65 76 t to build on ev
50e0: 65 72 79 74 68 69 6e 67 20 66 72 6f 6d 20 33 2e erything from 3.
50f0: 30 20 74 6f 0a 09 20 20 33 2e 33 2e 33 2c 20 61 0 to.. 3.3.3, a
5100: 74 20 6c 65 61 73 74 2e 20 20 42 65 63 61 75 73 t least. Becaus
5110: 65 20 73 6f 20 6d 61 6e 79 20 70 61 74 63 68 65 e so many patche
5120: 73 20 61 72 65 20 72 6f 6c 6c 65 64 20 75 70 20 s are rolled up
5130: 69 6e 20 6f 6e 65 0a 09 20 20 62 69 67 20 6a 75 in one.. big ju
5140: 6d 70 2c 20 69 74 27 73 20 64 69 66 66 69 63 75 mp, it's difficu
5150: 6c 74 20 74 6f 20 64 65 73 63 72 69 62 65 20 61 lt to describe a
5160: 6c 6c 20 74 68 65 20 63 68 61 6e 67 65 73 20 61 ll the changes a
5170: 6e 64 20 77 68 65 72 65 0a 09 20 20 74 68 65 79 nd where.. they
5180: 20 63 61 6d 65 20 66 72 6f 6d 2e 20 20 4d 6f 73 came from. Mos
5190: 74 6c 79 20 74 68 65 79 27 72 65 20 53 74 61 6e tly they're Stan
51a0: 64 61 72 64 20 43 2b 2b 20 66 69 78 65 73 2c 20 dard C++ fixes,
51b0: 61 73 20 47 43 43 0a 09 20 20 68 61 73 20 62 65 as GCC.. has be
51c0: 63 6f 6d 65 20 6d 6f 72 65 20 73 74 72 69 63 74 come more strict
51d0: 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 in the source c
51e0: 6f 64 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c ode that it will
51f0: 20 61 63 63 65 70 74 2e 0a 0a 09 6f 20 4d 79 73 accept....o Mys
5200: 71 6c 52 6f 77 20 75 73 65 64 20 74 6f 20 6f 76 qlRow used to ov
5210: 65 72 6c 6f 61 64 20 6f 70 65 72 61 74 6f 72 5b erload operator[
5220: 5d 20 66 6f 72 20 73 74 72 69 6e 67 20 74 79 70 ] for string typ
5230: 65 73 20 61 73 20 77 65 6c 6c 20 61 73 0a 09 20 es as well as..
5240: 20 69 6e 74 65 67 65 72 73 20 73 6f 20 79 6f 75 integers so you
5250: 20 63 6f 75 6c 64 20 6c 6f 6f 6b 20 75 70 20 61 could look up a
5260: 20 66 69 65 6c 64 20 62 79 20 69 74 73 20 6e 61 field by its na
5270: 6d 65 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 me, rather than
5280: 62 79 0a 09 20 20 69 74 73 20 69 6e 64 65 78 2e by.. its index.
5290: 20 20 47 43 43 20 33 2e 33 20 73 61 79 73 20 74 GCC 3.3 says t
52a0: 68 69 73 20 69 73 20 69 6c 6c 65 67 61 6c 20 43 his is illegal C
52b0: 2b 2b 20 64 75 65 20 74 6f 20 61 6d 62 69 67 75 ++ due to ambigu
52c0: 69 74 69 65 73 20 69 6e 0a 09 20 20 72 65 73 6f ities in.. reso
52d0: 6c 76 69 6e 67 20 77 68 69 63 68 20 6f 76 65 72 lving which over
52e0: 6c 6f 61 64 20 73 68 6f 75 6c 64 20 62 65 20 75 load should be u
52f0: 73 65 64 20 69 6e 20 76 61 72 69 6f 75 73 20 73 sed in various s
5300: 69 74 75 61 74 69 6f 6e 73 2e 0a 09 20 20 6f 70 ituations... op
5310: 65 72 61 74 6f 72 5b 5d 20 69 73 20 6e 6f 77 20 erator[] is now
5320: 6f 76 65 72 6c 6f 61 64 65 64 20 6f 6e 6c 79 20 overloaded only
5330: 66 6f 72 20 6f 6e 65 20 69 6e 74 65 67 65 72 20 for one integer
5340: 74 79 70 65 2c 20 61 6e 64 20 61 0a 09 20 20 6e type, and a.. n
5350: 65 77 20 6d 65 6d 62 65 72 20 66 75 6e 63 74 69 ew member functi
5360: 6f 6e 20 6c 6f 6f 6b 75 70 5f 62 79 5f 6e 61 6d on lookup_by_nam
5370: 65 28 29 20 77 61 73 20 61 64 64 65 64 20 74 6f e() was added to
5380: 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 6f 6c maintain the ol
5390: 64 0a 09 20 20 62 79 2d 66 69 65 6c 64 2d 6e 61 d.. by-field-na
53a0: 6d 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 me functionality
53b0: 2e 0a 0a 09 6f 20 46 69 78 65 64 20 61 6e 6f 74 ....o Fixed anot
53c0: 68 65 72 20 6f 70 65 72 61 74 6f 72 20 6f 76 65 her operator ove
53d0: 72 6c 6f 61 64 69 6e 67 20 70 72 6f 62 6c 65 6d rloading problem
53e0: 20 69 6e 20 53 53 51 4c 53 20 6d 61 63 72 6f 0a in SSQLS macro.
53f0: 09 20 20 67 65 6e 65 72 61 74 69 6f 6e 20 77 69 . generation wi
5400: 74 68 20 47 43 43 20 33 2e 33 2e 0a 0a 09 6f 20 th GCC 3.3....o
5410: 54 68 65 20 5f 74 61 62 6c 65 20 6d 65 6d 62 65 The _table membe
5420: 72 20 6f 66 20 53 53 51 4c 53 2d 64 65 66 69 6e r of SSQLS-defin
5430: 65 64 20 73 74 72 75 63 74 75 72 65 73 20 69 73 ed structures is
5440: 20 6e 6f 77 20 63 6f 6e 73 74 20 63 68 61 72 2a now const char*
5450: 2c 0a 09 20 20 73 6f 20 79 6f 75 20 63 61 6e 20 ,.. so you can
5460: 61 73 73 69 67 6e 20 74 6f 20 69 74 20 66 72 6f assign to it fro
5470: 6d 20 61 20 63 6f 6e 73 74 20 63 68 61 72 2a 20 m a const char*
5480: 73 74 72 69 6e 67 2e 0a 0a 09 6f 20 47 6f 74 20 string....o Got
5490: 61 75 74 6f 63 6f 6e 66 2f 61 75 74 6f 6d 61 6b autoconf/automak
54a0: 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d 20 77 e build system w
54b0: 6f 72 6b 69 6e 67 20 77 69 74 68 20 63 75 72 72 orking with curr
54c0: 65 6e 74 20 76 65 72 73 69 6f 6e 73 0a 09 20 20 ent versions..
54d0: 6f 66 20 74 68 6f 73 65 20 74 6f 6f 6c 73 20 61 of those tools a
54e0: 67 61 69 6e 2e 20 20 52 65 6d 6f 76 65 64 20 74 gain. Removed t
54f0: 68 65 20 67 65 6e 65 72 61 74 65 64 20 61 75 74 he generated aut
5500: 6f 74 6f 6f 6c 73 20 66 69 6c 65 73 20 66 72 6f otools files fro
5510: 6d 0a 09 20 20 43 56 53 2e 0a 0a 09 6f 20 52 65 m.. CVS....o Re
5520: 6e 61 6d 65 64 20 6c 69 62 72 61 72 79 20 66 69 named library fi
5530: 6c 65 20 66 72 6f 6d 20 6c 69 62 73 71 6c 70 6c le from libsqlpl
5540: 75 73 20 74 6f 20 6c 69 62 6d 79 73 71 6c 70 70 us to libmysqlpp
5550: 2e 0a 0a 0a 31 2e 37 2e 39 20 28 4d 61 79 20 31 ....1.7.9 (May 1
5560: 20 32 30 30 31 29 20 53 69 6e 69 73 61 20 4d 69 2001) Sinisa Mi
5570: 6c 69 76 6f 6a 65 76 69 63 20 3c 73 69 6e 69 73 livojevic <sinis
5580: 61 40 6d 79 73 71 6c 2e 63 6f 6d 3e 0a 0a 20 20 a@mysql.com>..
5590: 20 20 2a 20 46 69 78 65 64 20 61 20 73 65 72 69 * Fixed a seri
55a0: 6f 75 73 20 62 75 67 20 69 6e 20 43 6f 6e 6e 65 ous bug in Conne
55b0: 63 74 69 6f 6e 20 63 6f 6e 73 74 72 75 63 74 6f ction constructo
55c0: 72 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 4d r when reading M
55d0: 79 53 51 4c 0a 20 20 20 20 2a 20 6f 70 74 69 6f ySQL. * optio
55e0: 6e 73 0a 20 20 20 20 2a 20 49 6d 70 72 6f 76 65 ns. * Improve
55f0: 64 20 63 6f 70 79 20 63 6f 6e 73 74 72 75 63 74 d copy construct
5600: 6f 72 20 61 6e 64 20 73 6f 6d 65 20 6f 74 68 65 or and some othe
5610: 72 20 6d 65 74 68 6f 64 73 20 69 6e 20 52 65 73 r methods in Res
5620: 75 6c 74 20 2f 0a 20 20 20 20 2a 20 52 65 73 55 ult /. * ResU
5630: 73 65 0a 20 20 20 20 2a 20 4d 61 6e 79 20 6f 74 se. * Many ot
5640: 68 65 72 20 6d 69 6e 6f 72 20 69 6d 70 72 6f 76 her minor improv
5650: 65 6d 65 6e 74 73 0a 20 20 20 20 2a 20 50 72 6f ements. * Pro
5660: 64 75 63 65 64 20 61 20 63 6f 6d 70 6c 65 74 65 duced a complete
5670: 20 6d 61 6e 75 61 6c 20 77 69 74 68 20 63 68 61 manual with cha
5680: 70 74 65 72 20 35 20 69 6e 63 6c 75 64 65 64 0a pter 5 included.
5690: 20 20 20 20 2a 20 55 70 64 61 74 65 64 20 64 6f * Updated do
56a0: 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 69 6e 63 cumentation, inc
56b0: 6c 75 64 69 6e 67 20 61 20 50 6f 73 74 73 63 72 luding a Postscr
56c0: 69 70 74 20 66 6f 72 6d 61 74 0a 0a 31 2e 37 2e ipt format..1.7.
56d0: 38 20 28 4e 6f 76 65 6d 62 65 72 20 31 34 20 32 8 (November 14 2
56e0: 30 30 30 29 20 53 69 6e 69 73 61 20 4d 69 6c 69 000) Sinisa Mili
56f0: 76 6f 6a 65 76 69 63 20 3c 73 69 6e 69 73 61 40 vojevic <sinisa@
5700: 6d 79 73 71 6c 2e 63 6f 6d 3e 0a 0a 20 20 20 20 mysql.com>..
5710: 2a 20 49 6e 74 72 6f 64 75 63 65 64 20 61 20 6e * Introduced a n
5720: 65 77 2c 20 73 74 61 6e 64 61 72 64 20 77 61 79 ew, standard way
5730: 20 6f 66 20 64 65 61 6c 69 6e 67 20 77 69 74 68 of dealing with
5740: 20 43 2b 2b 20 65 78 63 65 70 74 69 6f 6e 73 2e C++ exceptions.
5750: 0a 20 20 20 20 2a 20 4d 79 53 51 4c 2b 2b 20 6e . * MySQL++ n
5760: 6f 77 20 73 75 70 70 6f 72 74 73 20 74 77 6f 20 ow supports two
5770: 64 69 66 66 65 72 65 6e 74 20 6d 65 74 68 6f 64 different method
5780: 73 20 6f 66 20 74 72 61 63 69 6e 67 20 65 78 63 s of tracing exc
5790: 65 70 74 69 6f 6e 73 2e 0a 20 20 20 20 2a 20 4f eptions.. * O
57a0: 6e 65 20 69 73 20 62 79 20 74 68 65 20 66 69 78 ne is by the fix
57b0: 65 64 20 74 79 70 65 20 28 74 68 65 20 6f 6c 64 ed type (the old
57c0: 20 6f 6e 65 29 20 61 6e 64 20 6f 6e 65 20 69 73 one) and one is
57d0: 20 73 74 61 6e 64 61 72 64 20 43 2b 2b 0a 20 20 standard C++.
57e0: 20 20 2a 20 74 79 70 65 20 62 79 20 74 68 65 20 * type by the
57f0: 75 73 61 67 65 20 6f 66 20 77 68 61 74 28 29 20 usage of what()
5800: 6d 65 74 68 6f 64 2e 20 41 20 63 68 6f 69 63 65 method. A choice
5810: 20 6f 66 20 6d 65 74 68 6f 64 73 20 68 61 73 20 of methods has
5820: 74 6f 20 62 65 0a 20 20 20 20 2a 20 64 6f 6e 65 to be. * done
5830: 20 69 6e 20 62 75 69 6c 64 69 6e 67 20 61 20 6c in building a l
5840: 69 62 72 61 72 79 2e 20 49 66 20 63 6f 6e 66 69 ibrary. If confi
5850: 67 75 72 65 20 73 63 72 69 70 74 20 69 73 20 72 gure script is r
5860: 75 6e 20 77 69 74 68 0a 20 20 20 20 2a 20 2d 65 un with. * -e
5870: 6e 61 62 6c 65 2d 65 78 63 65 70 74 69 6f 6e 20 nable-exception
5880: 6f 70 74 69 6f 6e 20 2c 20 74 68 65 6e 20 6e 65 option , then ne
5890: 77 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 62 65 w method will be
58a0: 20 75 73 65 64 2e 20 49 66 20 6e 6f 0a 20 20 20 used. If no.
58b0: 20 2a 20 6f 70 74 69 6f 6e 20 69 73 20 70 72 6f * option is pro
58c0: 76 69 64 65 64 2c 20 6f 72 20 2d 64 69 73 61 62 vided, or -disab
58d0: 6c 65 2d 65 78 63 65 70 74 69 6f 6e 20 69 73 20 le-exception is
58e0: 75 73 65 64 2c 20 6f 6c 64 20 4d 79 53 51 4c 2b used, old MySQL+
58f0: 2b 0a 20 20 20 20 2a 20 65 78 63 65 70 74 69 6f +. * exceptio
5900: 6e 73 20 77 69 6c 6c 20 62 65 20 65 6e 66 6f 72 ns will be enfor
5910: 63 65 64 2e 20 54 68 69 73 20 69 6e 6e 6f 76 61 ced. This innova
5920: 74 69 6f 6e 20 69 73 20 61 20 63 6f 6e 74 72 69 tion is a contri
5930: 62 75 74 69 6f 6e 20 6f 66 0a 20 20 20 20 2a 20 bution of. *
5940: 4d 72 2e 20 42 65 6e 20 4a 6f 68 6e 73 6f 6e 20 Mr. Ben Johnson
5950: 3c 62 65 6e 40 62 6c 61 72 67 2e 6e 65 74 3e 0a <ben@blarg.net>.
5960: 20 20 20 20 2a 20 4d 79 53 51 4c 2b 2b 20 6e 6f * MySQL++ no
5970: 77 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 w automatically
5980: 72 65 61 64 73 20 61 74 20 63 6f 6e 6e 65 63 74 reads at connect
5990: 69 6f 6e 20 61 6c 6c 20 73 74 61 6e 64 61 72 64 ion all standard
59a0: 20 4d 79 53 51 4c 0a 20 20 20 20 2a 20 63 6f 6e MySQL. * con
59b0: 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 73 figuration files
59c0: 0a 20 20 20 20 2a 20 46 69 78 65 64 20 61 20 62 . * Fixed a b
59d0: 75 67 20 69 6e 20 73 71 6c 5f 71 75 65 72 79 3a ug in sql_query:
59e0: 3a 70 61 72 73 65 20 74 6f 20 65 6e 61 62 6c 65 :parse to enable
59f0: 20 69 74 20 74 6f 20 70 61 72 73 65 20 6d 6f 72 it to parse mor
5a00: 65 20 74 68 65 6e 20 39 39 0a 20 20 20 20 2a 20 e then 99. *
5a10: 63 68 61 72 27 73 0a 20 20 20 20 2a 20 41 64 64 char's. * Add
5a20: 65 64 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 63 ed an optional c
5a30: 6c 69 65 6e 74 20 66 6c 61 67 20 69 6e 20 63 6f lient flag in co
5a40: 6e 6e 65 63 74 2c 20 77 68 69 63 68 20 77 69 6c nnect, which wil
5a50: 6c 20 65 6e 61 62 6c 65 20 75 73 61 67 65 0a 20 l enable usage.
5a60: 20 20 20 2a 20 6f 66 20 74 68 69 73 20 6f 70 74 * of this opt
5a70: 69 6f 6e 2c 20 65 2e 67 2e 20 66 6f 72 20 67 65 ion, e.g. for ge
5a80: 74 74 69 6e 67 20 6d 61 74 63 68 65 64 20 61 6e tting matched an
5a90: 64 20 6e 6f 74 20 6a 75 73 74 20 61 66 66 65 63 d not just affec
5aa0: 74 65 64 0a 20 20 20 20 2a 20 72 6f 77 73 2e 20 ted. * rows.
5ab0: 54 68 69 73 20 63 68 61 6e 67 65 20 64 6f 65 73 This change does
5ac0: 20 6e 6f 74 20 72 65 71 75 69 72 65 20 61 6e 79 not require any
5ad0: 20 63 68 61 6e 67 65 73 20 69 6e 20 65 78 69 73 changes in exis
5ae0: 74 69 6e 67 0a 20 20 20 20 2a 20 70 72 6f 67 72 ting. * progr
5af0: 61 6d 73 0a 20 20 20 20 2a 20 46 69 78 65 64 20 ams. * Fixed
5b00: 73 6f 6d 65 20 73 6d 61 6c 6c 65 72 20 62 75 67 some smaller bug
5b10: 73 0a 20 20 20 20 2a 20 41 64 64 65 64 20 62 65 s. * Added be
5b20: 74 74 65 72 20 68 61 6e 64 6c 69 6e 67 20 6f 66 tter handling of
5b30: 20 4e 55 4c 4c 27 73 2e 20 50 72 6f 67 72 61 6d NULL's. Program
5b40: 6d 65 72 73 20 77 69 6c 6c 20 67 65 74 20 61 20 mers will get a
5b50: 4e 55 4c 4c 0a 20 20 20 20 2a 20 73 74 72 69 6e NULL. * strin
5b60: 67 20 69 6e 20 72 65 73 75 6c 74 20 73 65 74 20 g in result set
5b70: 61 6e 64 20 73 68 6f 75 6c 64 20 75 73 65 20 69 and should use i
5b80: 73 5f 6e 75 6c 6c 28 29 20 6d 65 74 68 6f 64 20 s_null() method
5b90: 69 6e 20 43 6f 6c 44 61 74 61 20 74 6f 0a 20 20 in ColData to.
5ba0: 20 20 2a 20 63 68 65 63 6b 20 69 66 20 76 61 6c * check if val
5bb0: 75 65 20 69 73 20 4e 55 4c 4c 0a 20 20 20 20 2a ue is NULL. *
5bc0: 20 46 75 72 74 68 65 72 20 69 6d 70 72 6f 76 65 Further improve
5bd0: 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a d configuration.
5be0: 20 20 20 20 2a 20 55 70 64 61 74 65 64 20 64 6f * Updated do
5bf0: 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 69 6e 63 cumentation, inc
5c00: 6c 75 64 69 6e 67 20 61 20 50 6f 73 74 73 63 72 luding a Postscr
5c10: 69 70 74 20 66 6f 72 6d 61 74 0a 0a 31 2e 37 2e ipt format..1.7.
5c20: 36 20 28 53 65 70 74 65 6d 62 65 72 20 32 32 20 6 (September 22
5c30: 32 30 30 30 29 20 53 69 6e 69 73 61 20 4d 69 6c 2000) Sinisa Mil
5c40: 69 76 6f 6a 65 76 69 63 20 3c 73 69 6e 69 73 61 ivojevic <sinisa
5c50: 40 6d 79 73 71 6c 2e 63 6f 6d 3e 0a 0a 20 20 20 @mysql.com>..
5c60: 20 2a 20 54 68 69 73 20 72 65 6c 65 61 73 65 20 * This release
5c70: 63 6f 6e 74 61 69 6e 73 20 73 6f 6d 65 20 43 2b contains some C+
5c80: 2b 20 63 6f 68 65 72 65 6e 63 79 20 69 6d 70 72 + coherency impr
5c90: 6f 76 65 6d 65 6e 74 73 20 61 6e 64 20 73 63 72 ovements and scr
5ca0: 69 70 74 73 0a 20 20 20 20 2a 20 65 6e 68 61 63 ipts. * enhac
5cb0: 65 6d 65 6e 74 73 0a 20 20 20 20 2a 20 72 65 73 ements. * res
5cc0: 75 6c 74 5f 69 64 28 29 20 69 73 20 6d 61 64 65 ult_id() is made
5cd0: 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 70 72 available to pr
5ce0: 6f 67 72 61 6d 6d 65 72 73 20 74 6f 20 66 65 74 ogrammers to fet
5cf0: 63 68 0a 20 20 20 20 2a 20 4c 41 53 54 5f 49 4e ch. * LAST_IN
5d00: 53 45 52 54 5f 49 44 28 29 20 76 61 6c 75 65 0a SERT_ID() value.
5d10: 20 20 20 20 2a 20 43 6f 6e 6e 65 63 74 69 6f 6e * Connection
5d20: 20 63 6f 6e 73 74 72 6f 63 74 75 72 20 61 6d 62 constroctur amb
5d30: 69 67 75 69 74 79 20 72 65 73 6f 6c 76 65 64 2c iguity resolved,
5d40: 20 74 68 61 6e 6b 73 20 74 6f 20 6d 61 72 63 40 thanks to marc@
5d50: 6d 69 74 2e 65 64 75 0a 20 20 20 20 2a 20 49 6d mit.edu. * Im
5d60: 70 72 6f 76 65 64 20 63 6e 6e 66 69 67 75 72 65 proved cnnfigure
5d70: 20 66 6f 72 20 62 65 74 74 65 72 20 66 69 6e 64 for better find
5d80: 69 6e 67 20 6f 75 74 20 4d 79 53 51 4c 20 6c 69 ing out MySQL li
5d90: 62 72 61 72 69 65 73 20 61 6e 64 0a 20 20 20 20 braries and.
5da0: 2a 20 69 6e 63 6c 75 64 65 73 0a 20 20 20 20 2a * includes. *
5db0: 20 55 70 64 61 74 65 64 20 64 6f 63 75 6d 65 6e Updated documen
5dc0: 74 61 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e tation, includin
5dd0: 67 20 61 20 50 6f 73 74 73 63 72 69 70 74 20 66 g a Postscript f
5de0: 6f 72 6d 61 74 0a 0a 31 2e 37 2e 35 20 28 4a 75 ormat..1.7.5 (Ju
5df0: 6c 79 20 33 30 20 32 30 30 30 29 20 53 69 6e 69 ly 30 2000) Sini
5e00: 73 61 20 4d 69 6c 69 76 6f 6a 65 76 69 63 20 3c sa Milivojevic <
5e10: 73 69 6e 69 73 61 40 6d 79 73 71 6c 2e 63 6f 6d sinisa@mysql.com
5e20: 3e 0a 0a 20 20 20 20 2a 20 54 68 69 73 20 72 65 >.. * This re
5e30: 6c 65 61 73 65 20 68 61 73 20 6d 61 69 6e 6c 20 lease has mainl
5e40: 62 75 67 20 66 69 78 65 73 20 20 61 6e 64 20 63 bug fixes and c
5e50: 6f 64 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 ode improvements
5e60: 0a 20 20 20 20 2a 20 41 20 62 75 67 20 69 6e 20 . * A bug in
5e70: 46 69 65 6c 64 4e 61 6d 65 73 3a 3a 69 6e 69 74 FieldNames::init
5e80: 20 68 61 73 20 62 65 65 6e 20 66 69 78 65 64 2c has been fixed,
5e90: 20 65 6e 61 62 6c 69 6e 67 20 61 20 62 75 67 20 enabling a bug
5ea0: 66 72 65 65 0a 20 20 20 20 2a 20 75 73 61 67 65 free. * usage
5eb0: 20 6f 66 20 74 68 69 73 20 63 6c 61 73 73 20 77 of this class w
5ec0: 69 74 68 20 69 6e 20 77 68 61 74 20 65 76 65 72 ith in what ever
5ed0: 20 61 20 6d 69 78 74 75 72 65 20 6f 66 20 63 61 a mixture of ca
5ee0: 73 65 73 20 74 68 61 74 20 69 73 0a 20 20 20 20 ses that is.
5ef0: 2a 20 72 65 71 75 69 72 65 64 0a 20 20 20 20 2a * required. *
5f00: 20 43 68 61 6e 67 65 64 20 62 65 68 61 76 69 6f Changed behavio
5f10: 75 72 20 6f 66 20 52 65 73 55 73 65 2c 20 52 65 ur of ResUse, Re
5f20: 73 75 6c 74 20 61 6e 64 20 52 6f 77 20 63 6c 61 sult and Row cla
5f30: 73 73 65 73 2c 20 73 6f 20 74 68 61 74 20 74 68 sses, so that th
5f40: 65 79 0a 20 20 20 20 2a 20 63 6f 75 6c 64 20 62 ey. * could b
5f50: 65 20 72 65 2d 75 73 65 64 20 61 73 20 6d 75 63 e re-used as muc
5f60: 68 20 61 73 20 6e 65 63 65 73 73 61 72 79 2c 20 h as necessary,
5f70: 77 69 74 68 6f 75 74 20 61 6e 79 20 6d 65 6d 6f without any memo
5f80: 72 79 20 6c 65 61 6b 73 2c 0a 20 20 20 20 2a 20 ry leaks,. *
5f90: 6e 6f 72 20 77 69 74 68 20 61 6e 79 20 72 65 2d nor with any re-
5fa0: 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 73 20 initializations
5fb0: 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 2a 20 necessary. *
5fc0: 46 69 78 65 64 20 61 6c 6c 20 70 6f 74 65 6e 74 Fixed all potent
5fd0: 69 61 6c 20 6c 65 61 6b 73 20 74 68 61 74 20 63 ial leaks that c
5fe0: 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 63 ould have been c
5ff0: 61 75 73 65 64 20 62 79 20 75 73 61 67 65 20 6f aused by usage o
6000: 66 0a 20 20 20 20 2a 20 64 65 6c 65 74 65 20 69 f. * delete i
6010: 6e 73 74 65 61 64 20 6f 66 20 64 65 6c 65 74 65 nstead of delete
6020: 5b 5d 20 61 66 74 65 72 20 6d 65 6d 6f 72 79 20 [] after memory
6030: 68 61 73 20 62 65 65 6e 20 61 6c 6c 6f 63 61 74 has been allocat
6040: 65 64 20 77 69 74 68 0a 20 20 20 20 2a 20 6e 65 ed with. * ne
6050: 77 5b 5d 0a 20 20 20 20 2a 20 44 65 6c 65 74 65 w[]. * Delete
6060: 64 20 61 6c 6c 20 75 6e 75 73 65 64 20 63 6c 61 d all unused cla
6070: 73 73 65 73 20 61 6e 64 20 6d 61 63 72 6f 73 2e sses and macros.
6080: 20 54 68 69 73 20 6c 65 64 20 74 6f 20 61 20 72 This led to a r
6090: 65 64 75 63 74 69 6f 6e 20 6f 66 0a 20 20 20 20 eduction of.
60a0: 2a 20 6c 69 62 72 61 72 79 20 73 69 7a 65 20 74 * library size t
60b0: 6f 20 6f 6e 65 20 68 61 6c 66 20 6f 66 20 74 68 o one half of th
60c0: 65 20 6f 72 69 67 69 6e 61 6c 20 73 69 7a 65 2e e original size.
60d0: 20 54 68 69 73 20 68 61 73 0a 20 20 20 20 2a 20 This has. *
60e0: 66 75 72 74 68 65 72 6d 6f 72 65 20 62 72 6f 75 furthermore brou
60f0: 67 68 74 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 ght improvements
6100: 20 69 6e 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 in compilation
6110: 73 70 65 65 64 0a 20 20 20 20 2a 20 4d 6f 76 65 speed. * Move
6120: 64 20 61 6c 6c 20 73 74 72 69 6e 67 20 6d 61 6e d all string man
6130: 69 70 75 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 73 ipulation from s
6140: 79 73 74 65 6d 20 6c 69 62 72 61 72 69 65 73 20 ystem libraries
6150: 74 6f 0a 20 20 20 20 2a 20 6c 69 62 6d 79 73 71 to. * libmysq
6160: 6c 63 6c 69 65 6e 74 2c 20 74 68 75 73 20 65 6e lclient, thus en
6170: 61 62 6c 69 6e 67 20 75 6e 69 66 6f 72 6d 69 74 abling uniformit
6180: 79 20 6f 66 20 63 6f 64 65 20 61 6e 64 20 75 73 y of code and us
6190: 61 67 65 20 6f 66 20 36 34 0a 20 20 20 20 2a 20 age of 64. *
61a0: 62 69 74 20 69 6e 74 65 67 65 72 73 20 6f 6e 20 bit integers on
61b0: 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2c 20 69 all platforms, i
61c0: 6e 63 6c 75 64 69 6e 67 20 57 69 6e 64 6f 77 73 ncluding Windows
61d0: 2c 20 77 69 74 68 6f 75 74 0a 20 20 20 20 2a 20 , without. *
61e0: 72 65 76 65 72 74 69 6e 67 20 74 6f 20 63 6f 6e reverting to con
61f0: 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 ditional compila
6200: 74 69 6f 6e 2e 20 54 68 69 73 20 63 68 61 6e 67 tion. This chang
6210: 65 73 20 6e 6f 77 20 72 65 71 75 69 72 65 73 0a es now requires.
6220: 20 20 20 20 2a 20 75 73 61 67 65 20 6f 66 20 6d * usage of m
6230: 79 73 71 6c 20 33 2e 32 33 20 63 6c 69 65 6e 74 ysql 3.23 client
6240: 20 6c 69 62 72 61 72 69 65 73 2c 20 61 73 20 6d libraries, as m
6250: 61 6e 64 61 74 6f 72 79 0a 20 20 20 20 2a 20 43 andatory. * C
6260: 68 61 6e 67 65 64 20 65 78 61 6d 70 6c 65 73 20 hanged examples
6270: 74 6f 20 72 65 66 6c 65 63 74 20 61 62 6f 76 65 to reflect above
6280: 20 63 68 61 6e 67 65 73 0a 20 20 20 20 2a 20 43 changes. * C
6290: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63 72 onfiguration scr
62a0: 69 70 74 73 20 68 61 76 65 20 62 65 65 6e 20 6c ipts have been l
62b0: 61 72 67 65 6c 79 20 63 68 61 6e 67 65 64 20 61 argely changed a
62c0: 6e 64 20 66 75 72 74 68 65 72 0a 20 20 20 20 2a nd further. *
62d0: 20 63 68 61 6e 67 65 73 20 73 68 61 6c 6c 20 61 changes shall a
62e0: 70 70 65 61 72 20 69 6e 20 63 6f 6e 73 65 63 75 ppear in consecu
62f0: 74 69 76 65 20 73 75 62 2d 72 65 6c 65 61 73 65 tive sub-release
6300: 73 2e 20 54 68 69 73 20 63 68 61 6e 67 65 73 0a s. This changes.
6310: 20 20 20 20 2a 20 68 61 76 65 20 62 65 65 6e 20 * have been
6320: 64 6f 6e 65 20 61 6e 64 20 73 68 61 6c 6c 20 62 done and shall b
6330: 65 20 64 6f 6e 65 20 62 79 20 6f 75 72 20 4d 79 e done by our My
6340: 53 51 4c 20 64 65 76 65 6c 6f 70 65 72 20 54 68 SQL developer Th
6350: 69 6d 62 6c 65 0a 20 20 20 20 2a 20 53 6d 69 74 imble. * Smit
6360: 68 20 3c 74 69 6d 40 6d 79 73 71 6c 2e 63 6f 6d h <tim@mysql.com
6370: 3e 0a 20 20 20 20 2a 20 43 68 61 6e 67 65 64 20 >. * Changed
6380: 52 45 41 44 4d 45 2c 20 54 4f 44 4f 20 61 6e 64 README, TODO and
6390: 20 74 65 78 74 20 76 65 72 73 69 6f 6e 20 6f 66 text version of
63a0: 20 6d 61 6e 75 61 6c 2e 20 4f 74 68 65 72 20 76 manual. Other v
63b0: 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 2a ersions of. *
63c0: 20 6d 61 6e 75 61 6c 20 68 61 76 65 20 6e 6f 74 manual have not
63d0: 20 62 65 65 6e 20 75 70 64 61 74 65 64 0a 20 20 been updated.
63e0: 20 20 2a 20 46 69 78 65 64 20 2e 76 65 72 73 69 * Fixed .versi
63f0: 6f 6e 20 60 60 62 75 67 27 27 2e 20 54 68 69 73 on ``bug''. This
6400: 20 69 73 20 6f 6e 6c 79 20 70 61 72 74 69 61 6c is only partial
6410: 6c 79 20 66 69 78 65 64 20 61 6e 64 20 76 65 72 ly fixed and ver
6420: 73 69 6f 6e 0a 20 20 20 20 2a 20 72 65 6d 61 69 sion. * remai
6430: 6e 73 20 31 2e 37 2e 30 20 64 75 65 20 74 6f 20 ns 1.7.0 due to
6440: 73 6f 6d 65 20 70 72 6f 62 6c 65 6d 73 20 69 6e some problems in
6450: 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e current version
6460: 73 20 6f 66 20 6c 69 62 74 6f 6f 6c 2e 0a 20 20 s of libtool..
6470: 20 20 2a 20 54 68 69 73 20 73 68 61 6c 6c 20 62 * This shall b
6480: 65 20 66 69 6e 61 6c 6c 79 20 66 69 78 65 64 20 e finally fixed
6490: 69 6e 20 61 20 6e 65 61 72 20 66 75 74 75 72 65 in a near future
64a0: 0a 20 20 20 20 2a 20 53 65 76 65 72 61 6c 20 73 . * Several s
64b0: 6d 61 6c 6c 65 72 20 66 69 78 65 73 20 61 6e 64 maller fixes and
64c0: 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 0a 20 20 improvements.
64d0: 20 20 2a 20 41 64 64 65 64 20 62 75 69 6c 64 2e * Added build.
64e0: 73 68 20 73 63 72 69 70 74 20 74 6f 20 70 6f 69 sh script to poi
64f0: 6e 74 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63 nt to the correc
6500: 74 20 70 72 6f 63 65 64 75 72 65 20 6f 66 0a 20 t procedure of.
6510: 20 20 20 2a 20 62 75 69 6c 64 69 6e 67 20 6f 66 * building of
6520: 20 74 68 69 73 20 6c 69 62 72 61 72 79 2e 20 45 this library. E
6530: 64 69 74 20 69 74 20 74 6f 20 61 64 64 20 63 6f dit it to add co
6540: 6e 66 69 67 75 72 65 20 6f 70 74 69 6f 6e 73 20 nfigure options
6550: 6f 66 20 79 6f 75 72 0a 20 20 20 20 2a 20 63 68 of your. * ch
6560: 6f 69 63 65 0a 0a 31 2e 37 20 28 4d 61 79 31 37 oice..1.7 (May17
6570: 20 32 30 30 30 29 20 53 69 6e 69 73 61 20 4d 69 2000) Sinisa Mi
6580: 6c 69 76 6f 6a 65 76 69 63 20 3c 73 69 6e 69 73 livojevic <sinis
6590: 61 40 6d 79 73 71 6c 2e 63 6f 6d 3e 0a 0a 20 20 a@mysql.com>..
65a0: 20 20 2a 20 54 68 69 73 20 69 73 20 6d 61 69 6e * This is main
65b0: 6c 79 20 61 20 72 65 6c 65 61 73 65 20 64 65 61 ly a release dea
65c0: 6c 69 6e 67 20 77 69 74 68 20 62 75 67 20 66 69 ling with bug fi
65d0: 78 65 73 2c 20 63 6f 6e 73 69 73 74 65 6e 63 79 xes, consistency
65e0: 0a 20 20 20 20 2a 20 69 6d 70 72 6f 76 65 6d 65 . * improveme
65f0: 6e 74 73 20 61 6e 64 20 65 61 73 69 65 72 20 63 nts and easier c
6600: 6f 6e 66 69 67 75 72 65 20 6f 6e 20 73 6f 6d 65 onfigure on some
6610: 20 70 6c 61 74 66 6f 72 6d 73 0a 20 20 20 20 2a platforms. *
6620: 20 41 20 62 75 67 20 69 6e 20 66 65 74 63 68 5f A bug in fetch_
6630: 72 6f 77 28 29 20 6d 65 74 68 6f 64 20 6f 66 20 row() method of
6640: 52 65 73 55 73 65 20 63 6c 61 73 73 20 68 61 73 ResUse class has
6650: 20 62 65 65 6e 20 66 69 78 65 64 2e 20 42 65 73 been fixed. Bes
6660: 69 64 65 0a 20 20 20 20 2a 20 63 68 61 6e 67 65 ide. * change
6670: 73 20 74 68 61 74 20 65 78 69 73 74 65 64 20 69 s that existed i
6680: 6e 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 n a distributed
6690: 70 61 74 63 68 2c 20 73 6f 6d 65 20 61 64 64 69 patch, some addi
66a0: 74 69 6f 6e 61 6c 20 65 72 72 6f 72 0a 20 20 20 tional error.
66b0: 20 2a 20 63 68 65 63 6b 69 6e 67 20 68 61 73 20 * checking has
66c0: 62 65 65 6e 20 69 6e 74 72 6f 64 75 63 65 64 0a been introduced.
66d0: 20 20 20 20 2a 20 41 20 62 75 67 20 69 6e 20 65 * A bug in e
66e0: 73 63 61 70 65 20 6d 61 6e 69 70 75 6c 61 74 6f scape manipulato
66f0: 72 20 68 61 73 20 62 65 65 6e 20 66 69 78 65 64 r has been fixed
6700: 20 74 68 61 74 20 63 6f 75 6c 64 20 63 61 75 73 that could caus
6710: 65 20 61 6e 0a 20 20 20 20 2a 20 65 72 72 6f 72 e an. * error
6720: 20 69 66 20 61 6c 6c 20 63 68 61 72 61 63 74 65 if all characte
6730: 72 73 20 68 61 64 20 74 6f 20 62 65 20 65 73 63 rs had to be esc
6740: 61 70 65 64 0a 20 20 20 20 2a 20 41 6e 20 69 6e aped. * An in
6750: 63 6f 6e 73 69 73 74 65 6e 63 79 20 69 6e 20 63 consistency in c
6760: 6f 6c 75 6d 6e 20 69 6e 64 65 78 69 6e 67 20 68 olumn indexing h
6770: 61 73 20 62 65 65 6e 20 66 69 78 65 64 2e 20 42 as been fixed. B
6780: 65 66 6f 72 65 20 74 68 69 73 0a 20 20 20 20 2a efore this. *
6790: 20 76 65 72 73 69 6f 6e 2c 20 63 6f 6c 75 6d 6e version, column
67a0: 20 6e 61 6d 65 73 20 69 6e 20 72 6f 77 20 69 6e names in row in
67b0: 64 65 78 69 6e 67 20 77 69 74 68 20 73 74 72 69 dexing with stri
67c0: 6e 67 73 2c 20 69 2e 65 2e 0a 20 20 20 20 2a 20 ngs, i.e.. *
67d0: 72 6f 77 5b 3c 73 74 72 69 6e 67 3e 5d 20 2c 20 row[<string>] ,
67e0: 68 61 73 20 62 65 65 6e 20 63 61 73 65 20 73 65 has been case se
67f0: 6e 73 69 74 69 76 65 2c 20 77 68 69 63 68 20 77 nsitive, which w
6800: 61 73 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 0a as inconsistent.
6810: 20 20 20 20 2a 20 77 69 74 68 20 4d 79 53 51 4c * with MySQL
6820: 20 73 65 72 76 65 72 20 68 61 6e 64 6c 69 6e 67 server handling
6830: 20 6f 66 20 63 6f 6c 75 6d 6e 20 6e 61 6d 65 73 of column names
6840: 0a 20 20 20 20 2a 20 41 6e 20 69 6e 63 6f 6e 73 . * An incons
6850: 69 73 74 65 6e 63 79 20 69 6e 20 63 6f 6e 76 65 istency in conve
6860: 72 73 69 6f 6e 20 66 72 6f 6d 20 73 74 72 69 6e rsion from strin
6870: 67 73 20 74 6f 20 69 6e 74 65 67 65 72 73 20 6f gs to integers o
6880: 72 20 66 6c 6f 61 74 73 0a 20 20 20 20 2a 20 68 r floats. * h
6890: 61 73 20 62 65 65 6e 20 66 69 78 65 64 2e 20 49 as been fixed. I
68a0: 6e 20 70 72 69 6f 72 20 76 65 72 73 69 6f 6e 20 n prior version
68b0: 61 20 73 70 61 63 65 20 66 6f 75 6e 64 20 69 6e a space found in
68c0: 20 64 61 74 61 20 77 6f 75 6c 64 20 63 61 75 73 data would caus
68d0: 65 0a 20 20 20 20 2a 20 61 20 42 61 64 43 6f 6e e. * a BadCon
68e0: 76 65 72 73 69 6f 6e 20 65 78 63 65 70 74 69 6f version exceptio
68f0: 6e 2e 20 54 68 69 73 20 68 61 73 20 62 65 65 6e n. This has been
6900: 20 66 69 78 65 64 2c 20 62 75 74 20 31 30 30 25 fixed, but 100%
6910: 0a 20 20 20 20 2a 20 63 6f 6e 73 69 73 74 65 6e . * consisten
6920: 63 79 20 77 69 74 68 20 4d 79 53 51 4c 20 73 65 cy with MySQL se
6930: 72 76 65 72 20 68 61 73 20 6e 6f 74 20 62 65 65 rver has not bee
6940: 6e 20 74 61 72 67 65 74 65 64 2c 20 73 6f 20 74 n targeted, so t
6950: 68 61 74 20 6f 74 68 65 72 0a 20 20 20 20 2a 20 hat other. *
6960: 6e 6f 6e 2d 6e 75 6d 65 72 69 63 20 63 68 61 72 non-numeric char
6970: 61 63 74 65 72 73 20 69 6e 20 64 61 74 61 20 77 acters in data w
6980: 69 6c 6c 20 73 74 69 6c 6c 20 63 61 75 73 65 20 ill still cause
6990: 42 61 64 43 6f 6e 76 65 72 73 69 6f 6e 0a 20 20 BadConversion.
69a0: 20 20 2a 20 65 78 63 65 70 74 69 6f 6e 20 6f 72 * exception or
69b0: 20 65 72 72 6f 72 2e 20 41 73 20 74 68 69 73 20 error. As this
69c0: 41 50 49 20 69 73 20 75 73 65 64 20 69 6e 20 61 API is used in a
69d0: 70 70 6c 69 63 61 74 69 6f 6e 73 2c 20 75 73 65 pplications, use
69e0: 72 73 0a 20 20 20 20 2a 20 73 68 6f 75 6c 64 20 rs. * should
69f0: 70 72 6f 76 69 64 65 20 66 65 65 64 62 61 63 6b provide feedback
6a00: 20 69 66 20 66 75 6c 6c 20 63 6f 6d 70 61 74 69 if full compati
6a10: 62 69 6c 69 74 79 20 77 69 74 68 20 4d 79 53 51 bility with MySQ
6a20: 4c 20 73 65 72 76 65 72 20 69 73 0a 20 20 20 20 L server is.
6a30: 2a 20 64 65 73 69 72 65 64 2c 20 69 6e 20 77 68 * desired, in wh
6a40: 69 63 68 20 63 61 73 65 20 42 61 64 43 6f 6e 76 ich case BadConv
6a50: 65 72 73 69 6f 6e 20 65 78 63 65 70 74 69 6f 6e ersion exception
6a60: 20 6f 72 20 65 72 72 6f 72 20 77 6f 75 6c 64 20 or error would
6a70: 62 65 0a 20 20 20 20 2a 20 61 62 6f 6c 69 73 68 be. * abolish
6a80: 65 64 20 69 6e 20 73 6f 6d 65 20 6f 66 20 66 75 ed in some of fu
6a90: 74 75 72 65 20 76 65 72 73 69 6f 6e 73 0a 20 20 ture versions.
6aa0: 20 20 2a 20 41 20 6e 65 77 20 6d 65 74 68 6f 64 * A new method
6ab0: 20 69 6e 20 43 6f 6c 44 61 74 61 20 63 6c 61 73 in ColData clas
6ac0: 73 20 68 61 73 20 62 65 65 6e 20 69 6e 74 72 6f s has been intro
6ad0: 64 75 63 65 64 2e 20 69 73 5f 6e 75 6c 6c 28 29 duced. is_null()
6ae0: 0a 20 20 20 20 2a 20 6d 65 74 68 6f 64 20 72 65 . * method re
6af0: 74 75 72 6e 73 20 61 20 62 6f 6f 6c 65 61 6e 20 turns a boolean
6b00: 74 6f 20 64 65 6e 6f 74 65 20 69 66 20 61 20 63 to denote if a c
6b10: 6f 6c 75 6d 6e 20 69 6e 20 61 20 72 6f 77 20 69 olumn in a row i
6b20: 73 20 4e 55 4c 4c 2e 0a 20 20 20 20 2a 20 46 69 s NULL.. * Fi
6b30: 6e 61 6c 6c 79 2c 20 61 73 20 6f 66 20 74 68 69 nally, as of thi
6b40: 73 20 72 65 6c 65 61 73 65 2c 20 74 65 73 74 69 s release, testi
6b50: 6e 67 20 66 6f 72 20 4e 55 4c 4c 20 76 61 6c 75 ng for NULL valu
6b60: 65 73 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 0a es is possible..
6b70: 20 20 20 20 2a 20 54 68 6f 73 65 20 61 72 65 20 * Those are
6b80: 63 6f 6c 75 6d 6e 73 20 77 69 74 68 20 65 6d 70 columns with emp
6b90: 74 79 20 73 74 72 69 6e 67 73 20 66 6f 72 20 77 ty strings for w
6ba0: 68 69 63 68 20 69 73 5f 6e 75 6c 6c 28 29 20 72 hich is_null() r
6bb0: 65 74 75 72 6e 73 0a 20 20 20 20 2a 20 74 72 75 eturns. * tru
6bc0: 65 2e 0a 20 20 20 20 2a 20 53 6f 6d 65 20 53 50 e.. * Some SP
6bd0: 41 52 43 20 53 6f 6c 61 72 69 73 20 69 6e 73 74 ARC Solaris inst
6be0: 61 6c 6c 61 74 69 6f 6e 73 20 68 61 64 20 43 2b allations had C+
6bf0: 2b 20 65 78 63 65 70 74 69 6f 6e 20 70 72 6f 62 + exception prob
6c00: 6c 65 6d 73 20 77 69 74 68 0a 20 20 20 20 2a 20 lems with. *
6c10: 67 2b 2b 20 32 2e 39 35 2e 32 20 54 68 69 73 20 g++ 2.95.2 This
6c20: 77 61 73 20 61 20 62 75 67 20 74 68 61 74 20 77 was a bug that w
6c30: 61 73 20 66 69 78 65 64 20 69 6e 20 47 4e 55 20 as fixed in GNU
6c40: 67 63 63 2c 20 61 73 20 66 72 6f 6d 0a 20 20 20 gcc, as from.
6c50: 20 2a 20 72 65 6c 65 61 73 65 20 32 2e 39 35 20 * release 2.95
6c60: 31 39 39 39 30 37 32 38 2e 20 54 68 69 73 20 76 19990728. This v
6c70: 65 72 73 69 6f 6e 20 77 61 73 20 74 68 6f 72 6f ersion was thoro
6c80: 75 67 68 6c 79 20 74 65 73 74 65 64 20 61 6e 64 ughly tested and
6c90: 20 69 73 0a 20 20 20 20 2a 20 66 75 6c 6c 79 20 is. * fully
6ca0: 66 75 6e 63 74 69 6f 6e 61 6c 20 6f 6e 20 53 50 functional on SP
6cb0: 41 52 43 20 53 6f 6c 61 72 69 73 20 32 2e 36 20 ARC Solaris 2.6
6cc0: 77 69 74 68 20 74 68 65 20 61 62 6f 76 65 20 76 with the above v
6cd0: 65 72 73 69 6f 6e 20 6f 66 0a 20 20 20 20 2a 20 ersion of. *
6ce0: 67 63 63 2e 0a 20 20 20 20 2a 20 41 20 27 76 69 gcc.. * A 'vi
6cf0: 72 74 75 61 6c 20 64 65 73 74 72 75 63 74 6f 72 rtual destructor
6d00: 20 27 20 77 61 72 6e 69 6e 67 20 66 6f 72 20 52 ' warning for R
6d10: 65 73 75 6c 74 20 63 6c 61 73 73 20 68 61 73 20 esult class has
6d20: 62 65 65 6e 20 66 69 78 65 64 0a 20 20 20 20 2a been fixed. *
6d30: 20 53 65 76 65 72 61 6c 20 6e 65 77 20 66 75 6e Several new fun
6d40: 63 74 69 6f 6e 73 20 66 6f 72 20 53 54 4c 20 73 ctions for STL s
6d50: 74 72 69 6e 67 73 20 68 61 76 65 20 62 65 65 6e trings have been
6d60: 20 61 64 64 65 64 2e 20 54 68 6f 73 65 0a 20 20 added. Those.
6d70: 20 20 2a 20 66 75 6e 63 74 69 6f 6e 73 20 28 73 * functions (s
6d80: 65 65 20 73 74 72 69 6e 67 5f 75 74 69 6c 2e 68 ee string_util.h
6d90: 68 29 20 61 64 64 20 73 6f 6d 65 20 6f 66 20 74 h) add some of t
6da0: 68 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 he functionality
6db0: 0a 20 20 20 20 2a 20 6d 69 73 73 69 6e 67 20 69 . * missing i
6dc0: 6e 20 65 78 69 73 74 69 6e 67 20 53 54 4c 20 6c n existing STL l
6dd0: 69 62 72 61 72 69 65 73 0a 20 20 20 20 2a 20 43 ibraries. * C
6de0: 6f 6e 76 65 72 73 69 6f 6e 20 66 6f 72 20 36 34 onversion for 64
6df0: 20 62 69 74 20 69 6e 74 65 67 65 72 73 20 6f 6e bit integers on
6e00: 20 46 72 65 65 42 53 44 20 73 79 73 74 65 6d 73 FreeBSD systems
6e10: 20 68 61 73 20 62 65 65 6e 20 61 64 64 65 64 2e has been added.
6e20: 0a 20 20 20 20 2a 20 4f 6e 20 74 68 6f 73 65 20 . * On those
6e30: 73 79 73 74 65 6d 73 20 5f 46 49 58 5f 46 4f 52 systems _FIX_FOR
6e40: 5f 42 53 44 5f 20 73 68 6f 75 6c 64 20 62 65 20 _BSD_ should be
6e50: 64 65 66 69 6e 65 64 20 69 6e 20 43 58 58 46 4c defined in CXXFL
6e60: 41 47 53 20 70 72 69 6f 72 0a 20 20 20 20 2a 20 AGS prior. *
6e70: 74 6f 20 63 6f 6e 66 69 67 75 72 69 6e 67 2e 20 to configuring.
6e80: 43 6f 6d 70 6c 65 74 65 20 63 6f 6e 76 65 72 73 Complete convers
6e90: 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 61 67 65 ion to the usage
6ea0: 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f of functions fo
6eb0: 72 0a 20 20 20 20 2a 20 69 6e 74 65 67 65 72 20 r. * integer
6ec0: 63 6f 6e 76 65 72 73 69 6f 6e 20 66 6f 75 6e 64 conversion found
6ed0: 20 69 6e 20 6d 79 73 71 6c 63 6c 69 65 6e 74 20 in mysqlclient
6ee0: 6c 69 62 72 61 72 79 20 69 73 20 70 6c 61 6e 6e library is plann
6ef0: 65 64 20 66 6f 72 20 6f 6e 65 0a 20 20 20 20 2a ed for one. *
6f00: 20 6f 66 20 74 68 65 20 6e 65 78 74 20 72 65 6c of the next rel
6f10: 65 61 73 65 73 0a 20 20 20 20 2a 20 41 20 63 6f eases. * A co
6f20: 6d 70 6c 65 74 65 6c 79 20 6e 65 77 2c 20 66 75 mpletely new, fu
6f30: 6c 6c 79 20 64 79 6e 61 6d 69 63 2c 20 64 72 61 lly dynamic, dra
6f40: 6d 61 74 69 63 20 61 6e 64 20 66 75 6c 6c 79 20 matic and fully
6f50: 6d 75 74 61 62 6c 65 20 72 65 73 75 6c 74 0a 20 mutable result.
6f60: 20 20 20 2a 20 73 65 74 20 68 61 73 20 62 65 65 * set has bee
6f70: 6e 20 64 65 73 69 67 6e 65 64 20 61 6e 64 20 77 n designed and w
6f80: 69 6c 6c 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 ill be implement
6f90: 65 64 20 69 6e 20 73 6f 6d 65 20 6f 66 20 32 2e ed in some of 2.
6fa0: 78 0a 20 20 20 20 2a 20 72 65 6c 65 61 73 65 73 x. * releases
6fb0: 0a 20 20 20 20 2a 20 53 65 76 65 72 61 6c 20 73 . * Several s
6fc0: 6d 61 6c 6c 65 72 20 66 69 78 65 73 20 61 6e 64 maller fixes and
6fd0: 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2c 20 69 improvements, i
6fe0: 6e 63 6c 75 64 69 6e 67 20 64 65 66 61 75 6c 74 ncluding default
6ff0: 69 6e 67 0a 20 20 20 20 2a 20 65 78 63 65 70 74 ing. * except
7000: 69 6f 6e 73 20 74 6f 20 74 72 75 65 2c 20 69 6e ions to true, in
7010: 73 74 65 61 64 20 6f 66 20 66 61 6c 73 65 2c 20 stead of false,
7020: 61 73 20 6f 66 20 74 68 69 73 20 76 65 72 73 69 as of this versi
7030: 6f 6e 0a 20 20 20 20 2a 20 41 6e 20 75 70 2d 74 on. * An up-t
7040: 6f 2d 64 61 74 65 20 61 6e 64 20 63 6f 6d 70 6c o-date and compl
7050: 65 74 65 20 50 6f 73 74 73 63 72 69 70 74 20 76 ete Postscript v
7060: 65 72 73 69 6f 6e 20 6f 66 20 64 6f 63 75 6d 65 ersion of docume
7070: 6e 74 61 74 69 6f 6e 20 69 73 0a 20 20 20 20 2a ntation is. *
7080: 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 69 included in thi
7090: 73 20 64 69 73 74 72 69 62 75 74 69 6f 6e 0a 20 s distribution.
70a0: 20 20 20 2a 20 4c 61 72 67 65 20 63 68 75 6e 6b * Large chunk
70b0: 73 20 6f 66 20 74 68 69 73 20 6d 61 6e 75 61 6c s of this manual
70c0: 20 61 72 65 20 63 68 61 6e 67 65 64 2c 20 61 73 are changed, as
70d0: 20 77 65 6c 6c 20 61 73 20 52 45 41 44 4d 45 20 well as README
70e0: 61 6e 64 0a 20 20 20 20 2a 20 54 4f 44 4f 20 66 and. * TODO f
70f0: 69 6c 65 73 2e 0a 0a 31 2e 36 20 28 46 65 62 20 iles...1.6 (Feb
7100: 33 20 32 30 30 30 29 20 53 69 6e 69 73 61 20 4d 3 2000) Sinisa M
7110: 69 6c 69 76 6f 6a 65 76 69 63 20 3c 73 69 6e 69 ilivojevic <sini
7120: 73 61 40 6d 79 73 71 6c 2e 63 6f 6d 3e 0a 0a 20 sa@mysql.com>..
7130: 20 20 20 2a 20 54 68 69 73 20 69 73 20 61 20 6d * This is a m
7140: 61 6a 6f 72 20 72 65 6c 65 61 73 65 20 61 73 20 ajor release as
7150: 69 74 20 69 6e 63 6c 75 64 65 73 20 6e 65 77 20 it includes new
7160: 66 65 61 74 75 72 65 73 20 61 6e 64 20 6d 61 6a features and maj
7170: 6f 72 0a 20 20 20 20 2a 20 72 65 77 72 69 74 65 or. * rewrite
7180: 73 0a 20 20 20 20 2a 20 41 75 74 6f 6d 61 74 69 s. * Automati
7190: 63 20 71 75 6f 74 69 6e 67 20 61 6e 64 20 65 73 c quoting and es
71a0: 63 61 70 69 6e 67 20 77 69 74 68 20 73 74 72 65 caping with stre
71b0: 61 6d 73 2e 20 49 74 20 77 6f 72 6b 73 0a 20 20 ams. It works.
71c0: 20 20 2a 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c * automaticall
71d0: 79 20 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e y , depending on
71e0: 20 74 68 65 20 63 6f 6c 75 6d 6e 20 74 79 70 65 the column type
71f0: 2e 20 49 74 20 77 69 6c 6c 20 77 6f 72 6b 20 77 . It will work w
7200: 69 74 68 20 3c 3c 0a 20 20 20 20 2a 20 6f 6e 20 ith <<. * on
7210: 61 6c 6c 20 6f 73 74 72 65 61 6d 20 64 65 72 69 all ostream deri
7220: 76 65 64 20 74 79 70 65 73 2e 20 69 74 20 69 73 ved types. it is
7230: 20 70 61 72 69 63 75 6c 61 72 6c 79 20 68 61 6e paricularly han
7240: 64 79 20 77 69 74 68 20 71 75 65 72 79 0a 20 20 dy with query.
7250: 20 20 2a 20 6f 62 6a 65 63 74 73 20 61 6e 64 20 * objects and
7260: 73 74 72 73 74 72 65 61 6d 73 2e 20 41 75 74 6f strstreams. Auto
7270: 6d 61 74 69 63 20 71 75 6f 74 69 6e 67 20 61 6e matic quoting an
7280: 64 20 65 73 63 61 70 69 6e 67 20 6f 6e 20 63 6f d escaping on co
7290: 75 74 2c 0a 20 20 20 20 2a 20 63 65 72 72 20 61 ut,. * cerr a
72a0: 6e 64 20 63 6c 6f 67 20 73 74 72 65 61 6d 20 6f nd clog stream o
72b0: 62 6a 65 63 74 73 20 69 73 20 69 6e 74 65 6e 74 bjects is intent
72c0: 69 6f 6e 61 6c 6c 79 20 6c 65 66 74 20 6f 75 74 ionally left out
72d0: 2c 20 61 73 20 71 75 6f 74 69 6e 67 0a 20 20 20 , as quoting.
72e0: 20 2a 20 2f 20 65 73 63 61 70 69 6e 67 20 6f 6e * / escaping on
72f0: 20 74 68 6f 73 65 20 73 74 72 65 61 6d 20 6f 62 those stream ob
7300: 6a 65 63 74 73 20 69 73 20 6e 6f 74 20 6e 65 63 jects is not nec
7310: 65 73 73 61 72 79 2e 20 54 68 69 73 20 66 65 61 essary. This fea
7320: 74 75 72 65 0a 20 20 20 20 2a 20 63 61 6e 20 62 ture. * can b
7330: 65 20 74 75 72 6e 65 64 20 6f 66 20 62 79 20 73 e turned of by s
7340: 65 74 74 69 6e 67 20 67 6c 6f 62 61 6c 20 62 6f etting global bo
7350: 6f 6c 65 61 6e 20 64 6f 6e 74 5f 71 75 6f 74 65 olean dont_quote
7360: 5f 61 75 74 6f 20 74 6f 0a 20 20 20 20 2a 20 74 _auto to. * t
7370: 72 75 65 2e 0a 20 20 20 20 2a 20 4d 61 64 65 20 rue.. * Made
7380: 73 6f 6d 65 20 6d 61 6a 6f 72 20 63 68 61 6e 67 some major chang
7390: 65 73 20 69 6e 20 63 6f 64 65 2c 20 73 6f 20 74 es in code, so t
73a0: 68 61 74 20 6e 6f 77 20 65 78 65 63 75 74 65 20 hat now execute
73b0: 6d 65 74 68 6f 64 20 73 68 6f 75 6c 64 0a 20 20 method should.
73c0: 20 20 2a 20 62 65 20 75 73 65 64 20 6f 6e 6c 79 * be used only
73d0: 20 77 69 74 68 20 53 53 51 4c 20 61 6e 64 20 74 with SSQL and t
73e0: 65 6d 70 6c 61 74 65 20 71 75 65 72 69 65 73 2c emplate queries,
73f0: 20 77 68 69 6c 65 20 66 6f 72 20 61 6c 6c 20 6f while for all o
7400: 74 68 65 72 0a 20 20 20 20 2a 20 71 75 65 72 79 ther. * query
7410: 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 55 50 execution of UP
7420: 44 41 54 45 27 73 2c 20 49 4e 53 45 52 54 27 73 DATE's, INSERT's
7430: 2c 20 44 45 4c 45 54 45 27 73 2c 20 6e 65 77 20 , DELETE's, new
7440: 6d 65 74 68 6f 64 20 65 78 65 63 28 29 0a 20 20 method exec().
7450: 20 20 2a 20 73 68 6f 75 6c 64 20 62 65 20 75 73 * should be us
7460: 65 64 2e 20 49 74 20 69 73 20 61 6c 73 6f 20 66 ed. It is also f
7470: 61 73 74 65 72 2e 0a 20 20 20 20 2a 20 4e 65 77 aster.. * New
7480: 20 6d 65 74 68 6f 64 20 67 65 74 5f 73 74 72 69 method get_stri
7490: 6e 67 20 69 73 20 69 6e 72 6f 64 75 63 65 64 20 ng is inroduced
74a0: 66 6f 72 20 65 61 73 69 65 72 20 68 61 6e 64 6c for easier handl
74b0: 69 6e 67 20 2f 20 63 61 73 74 69 6e 67 0a 20 20 ing / casting.
74c0: 20 20 2a 20 43 6f 6c 44 61 74 61 20 69 6e 74 6f * ColData into
74d0: 20 43 2b 2b 20 73 74 72 69 6e 67 73 2e 0a 20 20 C++ strings..
74e0: 20 20 2a 20 4d 61 6a 6f 72 20 72 65 77 72 69 74 * Major rewrit
74f0: 65 20 6f 66 20 65 6e 74 69 72 65 20 63 6f 64 65 e of entire code
7500: 2c 20 77 68 69 63 68 20 6c 65 64 20 74 6f 20 69 , which led to i
7510: 74 27 73 20 72 65 64 75 63 74 69 6f 6e 20 61 6e t's reduction an
7520: 64 0a 20 20 20 20 2a 20 73 70 65 65 64 20 69 6d d. * speed im
7530: 70 72 6f 76 65 6d 65 6e 74 2e 20 54 68 69 73 20 provement. This
7540: 61 6c 73 6f 20 6c 65 64 20 74 6f 20 72 65 6d 6f also led to remo
7550: 76 61 6c 20 6f 66 20 73 65 76 65 72 61 6c 20 73 val of several s
7560: 6f 75 72 63 65 0a 20 20 20 20 2a 20 66 69 6c 65 ource. * file
7570: 73 2e 0a 20 20 20 20 2a 20 48 61 6e 64 6c 69 6e s.. * Handlin
7580: 67 20 6f 66 20 62 69 6e 61 72 79 20 64 61 74 61 g of binary data
7590: 20 69 73 20 69 6e 74 72 6f 64 75 63 65 64 2e 20 is introduced.
75a0: 4e 6f 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 70 No application p
75b0: 72 6f 67 72 61 6d 0a 20 20 20 20 2a 20 63 68 61 rogram. * cha
75c0: 6e 67 65 73 20 61 72 65 20 72 65 71 75 69 72 65 nges are require
75d0: 64 2e 20 4f 6e 65 20 6f 66 20 6e 65 77 20 65 78 d. One of new ex
75e0: 61 6d 70 6c 65 20 70 72 6f 67 72 61 6d 73 20 64 ample programs d
75f0: 65 6d 6f 6e 73 74 72 61 74 65 73 0a 20 20 20 20 emonstrates.
7600: 2a 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 62 69 * handling of bi
7610: 6e 61 72 79 20 64 61 74 61 0a 20 20 20 20 2a 20 nary data. *
7620: 54 68 72 65 65 20 6e 65 77 20 65 78 61 6d 70 6c Three new exampl
7630: 65 20 70 72 6f 67 72 61 6d 73 20 68 61 76 65 20 e programs have
7640: 62 65 65 6e 20 77 72 69 74 74 65 6e 20 61 6e 64 been written and
7650: 20 74 68 6f 72 6f 75 67 68 6c 79 0a 20 20 20 20 thoroughly.
7660: 2a 20 74 65 73 74 65 64 2e 20 54 68 65 69 72 20 * tested. Their
7670: 69 6e 74 65 6e 74 69 6f 6e 20 69 73 20 74 6f 20 intention is to
7680: 73 6f 6c 76 65 20 73 6f 6d 65 20 70 72 6f 62 6c solve some probl
7690: 65 6d 73 20 61 64 64 72 65 73 73 65 64 20 62 79 ems addressed by
76a0: 0a 20 20 20 20 2a 20 4d 79 53 51 4c 20 75 73 65 . * MySQL use
76b0: 72 73 2e 0a 20 20 20 20 2a 20 54 68 6f 72 6f 75 rs.. * Thorou
76c0: 67 68 20 63 68 61 6e 67 65 73 20 69 73 20 4d 61 gh changes is Ma
76d0: 6b 65 66 69 6c 65 20 73 79 73 74 65 6d 20 68 61 kefile system ha
76e0: 73 20 62 65 65 6e 20 6d 61 64 65 0a 20 20 20 20 s been made.
76f0: 2a 20 42 65 74 74 65 72 20 63 6f 6e 66 69 67 75 * Better configu
7700: 72 61 74 69 6f 6e 20 73 63 72 69 70 74 73 20 61 ration scripts a
7710: 72 65 20 77 72 69 74 74 65 6e 2c 20 74 68 61 6e re written, than
7720: 6b 73 20 74 6f 20 44 2e 48 61 77 6b 69 6e 73 0a ks to D.Hawkins.
7730: 20 20 20 20 2a 20 3c 64 68 61 77 6b 69 6e 73 40 * <dhawkins@
7740: 63 64 72 67 74 73 2e 63 6f 6d 3e 0a 20 20 20 20 cdrgts.com>.
7750: 2a 20 41 64 64 65 64 20 73 65 76 65 72 61 6c 20 * Added several
7760: 62 75 67 20 66 69 78 65 73 0a 20 20 20 20 2a 20 bug fixes. *
7770: 43 68 61 6e 67 65 64 20 4d 61 6e 75 61 6c 20 61 Changed Manual a
7780: 6e 64 20 43 68 61 6e 67 65 6c 6f 67 0a 0a 31 2e nd Changelog..1.
7790: 35 20 28 44 65 63 20 31 20 31 39 39 39 29 20 53 5 (Dec 1 1999) S
77a0: 69 6e 69 73 61 20 4d 69 6c 69 76 6f 6a 65 76 69 inisa Milivojevi
77b0: 63 20 3c 73 69 6e 69 73 61 40 6d 79 73 71 6c 2e c <sinisa@mysql.
77c0: 63 6f 6d 3e 0a 0a 20 20 20 20 2a 20 46 69 78 65 com>.. * Fixe
77d0: 64 20 62 75 67 20 69 6e 20 74 65 6d 70 6c 61 74 d bug in templat
77e0: 65 20 71 75 65 72 69 65 73 2c 20 69 6e 74 72 6f e queries, intro
77f0: 64 75 63 65 64 20 69 6e 20 31 2e 34 20 28 21 29 duced in 1.4 (!)
7800: 0a 20 20 20 20 2a 20 46 69 78 65 64 20 63 6f 6e . * Fixed con
7810: 6e 65 63 74 20 62 75 67 0a 20 20 20 20 2a 20 46 nect bug. * F
7820: 69 78 65 64 20 73 65 76 65 72 61 6c 20 62 75 67 ixed several bug
7830: 20 69 6e 20 74 79 70 65 5f 69 6e 66 6f 20 63 6c in type_info cl
7840: 61 73 73 65 73 0a 20 20 20 20 2a 20 41 64 64 65 asses. * Adde
7850: 64 20 61 64 64 69 74 69 6f 6e 61 6c 20 72 6f 62 d additional rob
7860: 75 73 74 6e 65 73 73 20 69 6e 20 63 6c 61 73 73 ustness in class
7870: 65 73 0a 20 20 20 20 2a 20 41 64 64 65 64 20 61 es. * Added a
7880: 64 64 69 74 69 6f 6e 61 6c 20 6d 65 74 68 6f 64 dditional method
7890: 73 20 66 6f 72 20 53 51 4c 20 74 79 70 65 20 69 s for SQL type i
78a0: 6e 66 6f 0a 20 20 20 20 2a 20 43 68 61 6e 67 65 nfo. * Change
78b0: 64 20 43 68 61 6e 67 65 6c 6f 67 20 61 6e 64 20 d Changelog and
78c0: 52 45 41 44 4d 45 0a 0a 31 2e 34 20 28 4e 6f 76 README..1.4 (Nov
78d0: 20 32 35 20 31 39 39 39 29 20 53 69 6e 69 73 61 25 1999) Sinisa
78e0: 20 4d 69 6c 69 76 6f 6a 65 76 69 63 20 3c 73 69 Milivojevic <si
78f0: 6e 69 73 61 40 6d 79 73 71 6c 2e 63 6f 6d 3e 0a nisa@mysql.com>.
7900: 0a 20 20 20 20 2a 20 46 69 78 65 64 20 62 75 67 . * Fixed bug
7910: 20 69 6e 20 73 74 6f 72 65 20 61 6e 64 20 73 74 in store and st
7920: 6f 72 65 69 6e 20 6d 65 74 68 6f 64 73 0a 20 20 orein methods.
7930: 20 20 2a 20 46 69 78 65 64 20 6f 6e 65 20 73 65 * Fixed one se
7940: 72 69 6f 75 73 20 6d 65 6d 6f 72 79 20 6c 65 61 rious memory lea
7950: 6b 0a 20 20 20 20 2a 20 46 69 78 65 64 20 61 20 k. * Fixed a
7960: 76 65 72 79 20 73 65 72 69 6f 75 73 20 62 75 67 very serious bug
7970: 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 67 63 generated by gc
7980: 63 20 32 2e 39 35 2e 78 78 20 21 21 0a 20 20 20 c 2.95.xx !!.
7990: 20 2a 20 41 64 64 65 64 20 72 6f 62 75 73 74 6e * Added robustn
79a0: 65 73 73 20 69 6e 20 63 6c 61 73 73 65 73 2c 20 ess in classes,
79b0: 73 6f 20 74 68 61 74 20 65 2e 67 2e 20 73 61 6d so that e.g. sam
79c0: 65 20 71 75 65 72 79 20 61 6e 64 20 72 6f 77 0a e query and row.
79d0: 20 20 20 20 2a 20 6f 62 6a 65 63 74 73 20 63 61 * objects ca
79e0: 6e 20 62 65 20 72 65 2d 75 73 65 64 0a 20 20 20 n be re-used.
79f0: 20 2a 20 43 68 61 6e 67 65 64 20 73 69 6e 69 73 * Changed sinis
7a00: 61 5f 65 78 20 65 78 61 6d 70 6c 65 20 74 6f 20 a_ex example to
7a10: 72 65 66 6c 65 63 74 20 61 6e 64 20 64 65 6d 6f reflect and demo
7a20: 6e 73 74 72 61 74 65 20 74 68 69 73 0a 20 20 20 nstrate this.
7a30: 20 2a 20 73 74 61 62 69 6c 69 74 79 0a 20 20 20 * stability.
7a40: 20 2a 20 43 68 61 6e 67 65 64 20 43 68 61 6e 67 * Changed Chang
7a50: 65 6c 6f 67 20 61 6e 64 20 52 45 41 44 4d 45 0a elog and README.
7a60: 20 20 20 20 2a 20 46 65 77 20 6f 74 68 65 72 20 * Few other
7a70: 62 75 67 20 66 69 78 65 73 20 61 6e 64 20 73 6d bug fixes and sm
7a80: 61 6c 6c 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 all improvements
7a90: 20 61 6e 64 20 73 70 65 65 64 2d 75 70 73 0a 0a and speed-ups..
7aa0: 31 2e 33 20 28 4e 6f 76 20 31 30 20 31 39 39 39 1.3 (Nov 10 1999
7ab0: 29 20 53 69 6e 69 73 61 20 4d 69 6c 69 76 6f 6a ) Sinisa Milivoj
7ac0: 65 76 69 63 20 3c 73 69 6e 69 73 61 40 6d 79 73 evic <sinisa@mys
7ad0: 71 6c 2e 63 6f 6d 3e 0a 0a 20 20 20 20 2a 20 46 ql.com>.. * F
7ae0: 69 78 65 64 20 73 65 76 65 72 61 6c 20 65 72 72 ixed several err
7af0: 6f 6e 6f 75 73 20 64 65 66 69 6e 69 74 69 6f 6e onous definition
7b00: 73 0a 20 20 20 20 2a 20 46 75 72 74 68 65 72 20 s. * Further
7b10: 63 68 61 6e 67 65 64 20 73 6f 75 72 63 65 20 74 changed source t
7b20: 6f 20 62 65 20 32 2e 39 35 2e 32 20 63 6f 6d 70 o be 2.95.2 comp
7b30: 61 74 69 62 6c 65 0a 20 20 20 20 2a 20 45 78 70 atible. * Exp
7b40: 75 6e 67 65 64 20 75 6e 75 73 65 64 20 73 74 61 unged unused sta
7b50: 74 65 6d 65 6e 74 73 2c 20 65 73 70 65 63 69 61 tements, especia
7b60: 6c 6c 79 20 64 75 62 69 6f 75 73 20 6f 6e 65 73 lly dubious ones
7b70: 2c 20 6c 69 6b 65 20 75 73 65 20 6f 66 0a 20 20 , like use of.
7b80: 20 20 2a 20 70 6f 69 6e 74 65 72 5f 74 72 61 63 * pointer_trac
7b90: 6b 65 72 0a 20 20 20 20 2a 20 43 6f 72 72 65 63 ker. * Correc
7ba0: 74 65 64 20 62 75 67 20 69 6e 20 65 78 61 6d 70 ted bug in examp
7bb0: 6c 65 20 66 69 6c 65 20 66 69 65 6c 64 69 6e 66 le file fieldinf
7bc0: 31 0a 20 20 20 20 2a 20 46 69 6e 61 6c 6c 79 20 1. * Finally
7bd0: 66 69 78 65 64 20 6d 79 73 71 6c 5f 69 6e 69 74 fixed mysql_init
7be0: 20 69 6e 20 43 6f 6e 6e 65 63 74 69 6f 6e 20 63 in Connection c
7bf0: 6f 6e 73 74 72 75 63 74 6f 72 2c 20 77 68 69 63 onstructor, whic
7c00: 68 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 2a h provided. *
7c10: 20 6d 75 63 68 20 67 72 65 61 74 65 72 20 73 74 much greater st
7c20: 61 62 69 6c 69 74 79 20 21 0a 20 20 20 20 2a 20 ability !. *
7c30: 41 64 64 65 64 20 72 65 61 64 20 61 6e 64 20 67 Added read and g
7c40: 65 74 20 6f 70 74 69 6f 6e 73 2c 20 73 6f 20 74 et options, so t
7c50: 68 61 74 20 63 6c 69 65 6e 74 73 2c 20 6c 69 6b hat clients, lik
7c60: 65 20 6d 79 73 71 6c 67 75 69 20 63 61 6e 20 75 e mysqlgui can u
7c70: 73 65 0a 20 20 20 20 2a 20 69 74 0a 20 20 20 20 se. * it.
7c80: 2a 20 43 68 61 6e 67 65 64 20 43 68 61 6e 67 65 * Changed Change
7c90: 6c 6f 67 20 61 6e 64 20 52 45 41 44 4d 45 0a 20 log and README.
7ca0: 20 20 20 2a 20 4d 61 6e 79 20 6f 74 68 65 72 20 * Many other
7cb0: 62 75 67 20 66 69 78 65 73 2e 0a 0a 31 2e 32 20 bug fixes...1.2
7cc0: 28 4f 63 74 20 31 35 20 31 39 39 39 29 20 53 69 (Oct 15 1999) Si
7cd0: 6e 69 73 61 20 4d 69 6c 69 76 6f 6a 65 76 69 63 nisa Milivojevic
7ce0: 20 3c 73 69 6e 69 73 61 40 6d 79 73 71 6c 2e 63 <sinisa@mysql.c
7cf0: 6f 6d 3e 0a 0a 20 20 20 20 2a 20 46 69 72 73 74 om>.. * First
7d00: 20 6f 66 66 69 63 61 6c 20 72 65 6c 65 61 73 65 offical release
7d10: 2e 20 56 65 72 73 69 6f 6e 20 31 2e 30 20 61 6e . Version 1.0 an
7d20: 64 20 31 2e 31 20 77 65 72 65 20 72 65 6c 65 61 d 1.1 were relea
7d30: 73 65 73 20 62 79 20 53 69 6e 69 73 61 0a 20 20 ses by Sinisa.
7d40: 20 20 2a 20 62 65 66 6f 72 65 20 49 20 28 4b 65 * before I (Ke
7d50: 76 69 6e 20 41 74 6b 69 6e 73 6f 6e 29 20 6d 61 vin Atkinson) ma
7d60: 64 65 20 68 69 6d 20 74 68 65 20 6f 66 66 69 63 de him the offic
7d70: 61 6c 20 6d 61 69 6e 74 61 69 6e 65 72 2c 0a 20 al maintainer,.
7d80: 20 20 20 2a 20 4d 61 6e 79 20 6d 61 6e 75 61 6c * Many manual
7d90: 20 66 69 78 65 73 2e 0a 20 20 20 20 2a 20 43 68 fixes.. * Ch
7da0: 61 6e 67 65 64 20 52 45 41 44 4d 45 20 61 6e 64 anged README and
7db0: 20 43 68 61 6e 67 65 6c 6f 67 0a 20 20 20 20 2a Changelog. *
7dc0: 20 43 68 61 6e 67 65 64 20 73 6f 75 72 63 65 20 Changed source
7dd0: 74 6f 20 62 65 20 63 6f 6d 70 69 6c 61 62 6c 65 to be compilable
7de0: 20 62 79 20 67 63 63 20 32 2e 39 35 2e 78 78 2c by gcc 2.95.xx,
7df0: 20 74 72 69 62 75 74 65 20 74 6f 20 4b 65 76 69 tribute to Kevi
7e00: 6e 0a 20 20 20 20 2a 20 41 74 6b 69 6e 73 6f 6e n. * Atkinson
7e10: 20 3c 6b 65 76 69 6e 61 74 6b 40 68 6f 6d 65 2e <kevinatk@home.
7e20: 63 6f 6d 3e 0a 20 20 20 20 2a 20 41 64 64 65 64 com>. * Added
7e30: 20 6d 65 74 68 6f 64 73 20 69 6e 20 43 6f 6e 6e methods in Conn
7e40: 65 63 74 69 6f 6e 20 63 6c 61 73 73 20 77 68 69 ection class whi
7e50: 63 68 20 61 72 65 20 6e 65 63 65 73 73 61 72 79 ch are necessary
7e60: 20 66 6f 72 0a 20 20 20 20 2a 20 66 75 6c 6c 66 for. * fullf
7e70: 69 6c 6c 69 6e 67 20 61 64 6d 69 6e 69 73 74 72 illing administr
7e80: 61 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 73 20 ative functions
7e90: 77 69 74 68 20 4d 79 53 51 4c 0a 20 20 20 20 2a with MySQL. *
7ea0: 20 41 64 64 65 64 20 6d 61 6e 79 20 62 75 67 20 Added many bug
7eb0: 66 69 78 65 73 20 69 6e 20 63 6f 64 65 20 70 65 fixes in code pe
7ec0: 72 74 61 69 6e 69 6e 67 20 74 6f 20 6d 69 73 73 rtaining to miss
7ed0: 69 6e 67 20 63 6c 61 73 73 0a 20 20 20 20 2a 20 ing class. *
7ee0: 69 6e 69 74 69 61 6c 69 7a 65 72 73 20 2c 20 61 initializers , a
7ef0: 73 20 6e 6f 74 69 66 69 65 64 20 62 79 20 4d 69 s notified by Mi
7f00: 63 68 61 65 6c 20 52 65 6e 64 65 6c 6c 20 3c 6d chael Rendell <m
7f10: 69 63 68 61 65 6c 40 63 73 2e 6d 75 6e 2e 63 61 ichael@cs.mun.ca
7f20: 3e 0a 20 20 20 20 2a 20 53 69 6e 69 73 61 20 4d >. * Sinisa M
7f30: 69 6c 69 76 6f 6a 65 76 69 63 20 3c 73 69 6e 69 ilivojevic <sini
7f40: 73 61 40 6d 79 73 71 6c 2e 63 6f 6d 3e 20 69 73 sa@mysql.com> is
7f50: 20 6e 6f 77 20 74 68 65 20 6f 66 66 69 63 61 6c now the offical
7f60: 0a 20 20 20 20 2a 20 6d 61 69 6e 74 61 69 6e 65 . * maintaine
7f70: 72 2e 0a 0a 31 2e 31 20 28 41 75 67 20 32 20 31 r...1.1 (Aug 2 1
7f80: 39 39 39 29 20 53 69 6e 69 73 61 20 4d 69 6c 69 999) Sinisa Mili
7f90: 76 6f 6a 65 76 69 63 20 3c 73 69 6e 69 73 61 40 vojevic <sinisa@
7fa0: 6d 79 73 71 6c 2e 63 6f 6d 3e 0a 0a 20 20 20 20 mysql.com>..
7fb0: 2a 20 41 64 64 65 64 20 73 65 76 65 72 61 6c 20 * Added several
7fc0: 62 75 67 20 66 69 78 65 73 0a 20 20 20 20 2a 20 bug fixes. *
7fd0: 46 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61 Fixed memory lea
7fe0: 6b 20 70 72 6f 62 6c 65 6d 73 20 61 6e 64 20 76 k problems and v
7ff0: 61 72 69 61 62 6c 65 73 20 6f 76 65 72 6c 61 70 ariables overlap
8000: 70 69 6e 67 20 70 72 6f 62 6c 65 6d 73 2e 0a 20 ping problems..
8010: 20 20 20 2a 20 41 64 64 65 64 20 61 75 74 6f 6d * Added autom
8020: 61 6b 65 20 61 6e 64 20 61 75 74 6f 63 6f 6e 66 ake and autoconf
8030: 20 73 75 70 70 6f 72 74 20 62 79 20 6c 6f 69 63 support by loic
8040: 40 63 65 69 63 2e 63 6f 6d 0a 20 20 20 20 2a 20 @ceic.com. *
8050: 41 64 64 65 64 20 4d 61 6b 65 66 69 6c 65 20 66 Added Makefile f
8060: 6f 72 20 6d 61 6e 75 61 6c 0a 20 20 20 20 2a 20 or manual. *
8070: 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f Added support fo
8080: 72 20 63 79 67 77 69 6e 0a 20 20 20 20 2a 20 41 r cygwin. * A
8090: 64 64 65 64 20 65 78 61 6d 70 6c 65 20 73 69 6e dded example sin
80a0: 69 73 61 5f 65 78 20 28 6c 65 74 20 6d 6f 64 65 isa_ex (let mode
80b0: 73 74 79 20 70 72 65 76 61 69 6c 29 20 77 68 69 sty prevail) whi
80c0: 63 68 20 75 73 65 64 20 74 6f 20 63 72 61 73 68 ch used to crash
80d0: 0a 20 20 20 20 2a 20 61 20 6c 6f 74 20 77 68 65 . * a lot whe
80e0: 6e 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 n memory allocat
80f0: 69 6f 6e 2c 20 6d 65 6d 6f 72 79 20 6c 65 61 6b ion, memory leak
8100: 20 61 6e 64 20 6f 76 65 72 6c 61 70 20 70 72 6f and overlap pro
8110: 62 6c 65 6d 73 0a 20 20 20 20 2a 20 77 65 72 65 blems. * were
8120: 20 70 72 65 73 65 6e 74 2e 20 53 6d 6f 6f 74 68 present. Smooth
8130: 20 72 75 6e 6e 69 6e 67 20 6f 66 20 74 68 69 73 running of this
8140: 20 65 78 61 6d 70 6c 65 20 70 72 6f 76 65 73 20 example proves
8150: 74 68 61 74 20 61 6c 6c 20 74 68 6f 73 65 0a 20 that all those.
8160: 20 20 20 2a 20 62 75 67 73 20 61 72 65 20 66 69 * bugs are fi
8170: 78 65 64 0a 20 20 20 20 2a 20 43 6f 72 72 65 63 xed. * Correc
8180: 74 65 64 20 62 75 67 73 20 69 6e 20 73 71 6c 5f ted bugs in sql_
8190: 71 75 65 72 79 2e 63 63 20 72 65 67 61 72 64 69 query.cc regardi
81a0: 6e 67 20 64 65 6c 65 74 65 20 76 65 72 73 75 73 ng delete versus
81b0: 20 64 65 6c 65 74 65 5b 5d 0a 20 20 20 20 2a 20 delete[]. *
81c0: 61 6e 64 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 and string lengt
81d0: 68 20 69 6e 20 6d 61 6e 69 70 2e 63 63 0a 20 20 h in manip.cc.
81e0: 20 20 2a 20 43 68 61 6e 67 65 64 20 6d 61 6e 75 * Changed manu
81f0: 61 6c 0a 20 20 20 20 2a 20 43 68 61 6e 67 65 64 al. * Changed
8200: 20 52 45 41 44 4d 45 0a 20 20 20 20 2a 20 4d 61 README. * Ma
8210: 6e 79 20 6f 74 68 65 72 20 73 6d 61 6c 6c 65 72 ny other smaller
8220: 20 74 68 69 6e 67 73 0a 0a 31 2e 30 20 28 4a 75 things..1.0 (Ju
8230: 6e 65 20 39 20 31 39 39 39 29 20 4d 69 63 68 61 ne 9 1999) Micha
8240: 65 6c 20 57 69 64 65 6e 69 75 73 20 3c 6d 6f 6e el Widenius <mon
8250: 74 79 40 6d 6f 6e 74 79 2e 70 70 2e 73 63 69 2e ty@monty.pp.sci.
8260: 66 69 3e 0a 0a 20 20 20 20 2a 20 41 64 64 65 64 fi>.. * Added
8270: 20 70 61 74 63 68 65 73 20 66 72 6f 6d 20 4f 72 patches from Or
8280: 69 6f 6e 20 50 6f 70 6c 61 77 73 6b 69 20 3c 6f ion Poplawski <o
8290: 72 69 6f 6e 40 62 76 74 2e 63 6f 6d 3e 20 74 6f rion@bvt.com> to
82a0: 20 73 75 70 70 6f 72 74 20 74 68 65 0a 20 20 20 support the.
82b0: 20 2a 20 55 6e 69 78 57 61 72 65 20 37 2e 30 20 * UnixWare 7.0
82c0: 63 6f 6d 70 69 6c 65 72 0a 0a 2e 36 34 2e 31 2e compiler...64.1.
82d0: 31 61 20 28 53 65 70 20 32 37 20 31 39 39 38 29 1a (Sep 27 1998)
82e0: 0a 0a 20 20 20 20 2a 20 46 69 78 65 64 20 73 65 .. * Fixed se
82f0: 76 65 72 61 6c 20 62 75 67 73 20 74 68 61 74 20 veral bugs that
8300: 63 61 75 73 65 64 20 6d 79 20 6c 69 62 72 61 72 caused my librar
8310: 79 20 74 6f 20 66 61 69 6c 20 74 6f 20 63 6f 6d y to fail to com
8320: 70 69 6c 65 20 77 69 74 68 0a 20 20 20 20 2a 20 pile with. *
8330: 65 67 63 73 20 31 2e 31 2e 20 48 6f 70 65 66 75 egcs 1.1. Hopefu
8340: 6c 6c 79 20 69 74 20 77 69 6c 6c 20 73 74 69 6c lly it will stil
8350: 6c 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 20 65 l compile with e
8360: 67 63 73 20 31 2e 30 20 68 6f 77 65 76 65 72 20 gcs 1.0 however
8370: 49 0a 20 20 20 20 2a 20 68 61 76 65 20 6e 6f 74 I. * have not
8380: 20 62 65 65 6e 20 61 62 6c 65 20 74 6f 20 74 65 been able to te
8390: 73 74 20 69 74 20 77 69 74 68 20 65 67 63 73 20 st it with egcs
83a0: 31 2e 30 2e 0a 20 20 20 20 2a 20 52 65 6d 6f 76 1.0.. * Remov
83b0: 65 64 20 73 6f 6d 65 20 70 72 6f 62 6c 65 6d 20 ed some problem
83c0: 63 61 75 73 69 6e 67 20 64 65 62 75 67 20 6f 75 causing debug ou
83d0: 74 70 75 74 20 69 6e 20 73 71 6c 2b 2b 70 72 65 tput in sql++pre
83e0: 74 74 79 2e 0a 0a 2e 36 34 2e 31 61 20 28 41 75 tty....64.1a (Au
83f0: 67 20 31 20 31 39 39 38 29 0a 0a 20 20 20 20 2a g 1 1998).. *
8400: 20 41 64 64 65 64 20 61 6e 20 28 61 6c 6d 6f 73 Added an (almos
8410: 74 29 20 66 75 6c 6c 20 67 75 69 64 65 20 74 6f t) full guide to
8420: 20 75 73 69 6e 67 20 54 65 6d 70 6c 61 74 65 20 using Template
8430: 51 75 65 72 69 65 73 2e 0a 20 20 20 20 2a 20 46 Queries.. * F
8440: 69 78 65 64 20 69 74 20 73 6f 20 74 68 65 20 53 ixed it so the S
8450: 51 4c 51 75 65 72 79 20 77 69 6c 6c 20 74 68 72 QLQuery will thr
8460: 6f 77 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 ow an exception
8470: 77 68 65 6e 20 61 6c 6c 20 74 68 65 0a 20 20 20 when all the.
8480: 20 2a 20 74 65 6d 70 6c 61 74 65 20 70 61 72 61 * template para
8490: 6d 65 74 65 72 73 20 61 72 65 20 6e 6f 74 20 70 meters are not p
84a0: 72 6f 76 69 64 65 64 2e 0a 20 20 20 20 2a 20 50 rovided.. * P
84b0: 72 6f 6f 66 72 65 61 64 20 61 6e 64 20 73 70 65 roofread and spe
84c0: 65 64 63 68 65 63 6b 65 64 20 74 68 65 20 6d 61 edchecked the ma
84d0: 6e 75 61 6c 20 28 69 74 20 72 65 61 6c 6c 79 20 nual (it really
84e0: 6e 65 65 64 65 64 20 69 74 29 2e 0a 20 20 20 20 needed it)..
84f0: 2a 20 4f 74 68 65 72 20 6d 69 6e 6f 72 20 64 6f * Other minor do
8500: 63 75 6d 65 6e 74 20 66 69 78 65 73 2e 0a 0a 2e cument fixes....
8510: 36 34 2e 30 2e 31 61 20 28 4a 75 6c 79 20 33 31 64.0.1a (July 31
8520: 20 31 39 39 38 29 0a 0a 20 20 20 20 2a 20 52 65 1998).. * Re
8530: 77 6f 72 6b 65 64 20 74 68 65 20 43 6c 61 73 73 worked the Class
8540: 20 52 65 66 65 72 65 6e 63 65 20 73 65 63 74 69 Reference secti
8550: 6f 6e 20 61 20 62 69 74 2e 0a 20 20 20 20 2a 20 on a bit.. *
8560: 4d 69 6e 6f 72 20 64 6f 63 75 6d 65 6e 74 20 66 Minor document f
8570: 69 78 65 73 0a 20 20 20 20 2a 20 41 64 64 65 64 ixes. * Added
8580: 20 6d 6f 72 65 20 65 78 61 6d 70 6c 65 73 20 66 more examples f
8590: 6f 72 20 53 53 51 4c 53 2e 0a 20 20 20 20 2a 20 or SSQLS.. *
85a0: 43 68 61 6e 67 65 64 20 74 68 65 20 73 79 6e 74 Changed the synt
85b0: 61 78 20 6f 66 20 65 71 75 61 6c 5f 6c 69 73 74 ax of equal_list
85c0: 20 66 6f 72 20 53 53 51 4c 53 20 66 72 6f 6d 20 for SSQLS from
85d0: 65 71 75 61 6c 5f 6c 69 73 74 20 28 63 63 68 61 equal_list (ccha
85e0: 72 0a 20 20 20 20 2a 20 2a 2c 20 4d 61 6e 69 70 r. * *, Manip
85f0: 2c 20 63 63 68 61 72 20 2a 29 20 74 6f 20 28 63 , cchar *) to (c
8600: 63 68 61 72 20 2a 2c 20 63 63 68 61 72 20 2a 2c char *, cchar *,
8610: 20 4d 61 6e 69 70 29 2e 0a 20 20 20 20 2a 20 41 Manip).. * A
8620: 64 64 65 64 20 73 65 74 20 6d 65 74 68 6f 64 73 dded set methods
8630: 20 74 6f 20 53 53 51 4c 53 2e 20 54 68 65 73 65 to SSQLS. These
8640: 20 6e 65 77 20 6d 65 74 68 6f 64 73 20 64 6f 20 new methods do
8650: 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 the same thing a
8660: 73 0a 20 20 20 20 2a 20 74 68 65 72 65 20 63 6f s. * there co
8670: 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 6f 6e 73 rresponding cons
8680: 74 72 75 63 74 6f 72 73 2e 0a 20 20 20 20 2a 20 tructors.. *
8690: 41 64 64 65 64 20 6d 65 74 68 6f 64 73 20 66 6f Added methods fo
86a0: 72 20 63 72 65 61 74 69 6e 67 20 61 20 6d 79 73 r creating a mys
86b0: 71 6c 5f 74 79 70 65 5f 69 6e 66 6f 20 66 72 6f ql_type_info fro
86c0: 6d 20 61 20 43 2b 2b 20 74 79 70 65 5f 69 6e 66 m a C++ type_inf
86d0: 6f 2e 0a 0a 2e 36 34 2e 61 20 28 4a 75 6c 79 20 o....64.a (July
86e0: 32 34 20 31 39 39 38 29 0a 0a 20 20 20 20 2a 20 24 1998).. *
86f0: 43 68 61 6e 67 65 64 20 74 68 65 20 6e 61 6d 65 Changed the name
8700: 73 20 6f 66 20 61 6c 6c 20 74 68 65 20 63 6c 61 s of all the cla
8710: 73 73 65 73 20 73 6f 20 74 68 65 79 20 6e 6f 20 sses so they no
8720: 6c 6f 6e 67 65 72 20 68 61 76 65 20 74 6f 0a 20 longer have to.
8730: 20 20 20 2a 20 68 61 76 65 20 4d 79 73 71 6c 20 * have Mysql
8740: 69 6e 20 74 68 65 20 62 65 67 67 69 6e 67 20 6f in the begging o
8750: 66 20 69 74 2e 20 48 6f 77 65 76 65 72 20 69 66 f it. However if
8760: 20 74 68 69 73 20 63 72 65 61 74 65 73 20 61 20 this creates a
8770: 70 72 6f 62 6c 65 6d 0a 20 20 20 20 2a 20 79 6f problem. * yo
8780: 75 20 63 61 6e 20 64 65 66 69 6e 65 20 61 20 6d u can define a m
8790: 61 63 72 6f 20 74 6f 20 6f 6e 6c 79 20 75 73 65 acro to only use
87a0: 20 74 68 65 20 6f 6c 64 20 6e 61 6d 65 73 20 69 the old names i
87b0: 6e 73 74 65 61 64 2e 0a 20 20 20 20 2a 20 54 68 nstead.. * Th
87c0: 65 20 53 70 65 63 69 61 6c 69 7a 65 64 20 53 51 e Specialized SQ
87d0: 4c 20 53 74 72 75 63 74 75 72 65 73 20 28 66 6f L Structures (fo
87e0: 72 6d 61 6c 6c 79 20 6b 6e 6f 77 6e 20 61 73 20 rmally known as
87f0: 43 75 73 74 6f 6d 20 4d 79 73 71 6c 0a 20 20 20 Custom Mysql.
8800: 20 2a 20 53 74 72 75 63 74 75 72 65 73 29 20 63 * Structures) c
8810: 68 61 6e 67 65 64 20 66 72 6f 6d 20 6d 79 73 71 hanged from mysq
8820: 6c 5f 20 74 6f 20 73 71 6c 5f 2e 0a 20 20 20 20 l_ to sql_..
8830: 2a 20 41 64 64 65 64 20 74 68 65 20 6f 70 74 69 * Added the opti
8840: 6f 6e 20 6f 66 20 75 73 69 6e 67 20 65 78 63 65 on of using exce
8850: 70 74 69 6f 6e 73 20 74 68 6f 75 67 68 6f 75 74 ptions thoughout
8860: 20 74 68 65 20 41 50 49 2e 0a 20 20 20 20 2a 20 the API.. *
8870: 43 6f 6c 44 61 74 61 20 28 66 6f 72 6d 61 6c 6c ColData (formall
8880: 79 20 6b 6e 6f 77 6e 20 61 73 20 4d 79 73 71 6c y known as Mysql
8890: 53 74 72 69 6e 67 73 29 20 77 69 6c 6c 20 6e 6f Strings) will no
88a0: 77 20 74 68 72 6f 77 20 61 6e 0a 20 20 20 20 2a w throw an. *
88b0: 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20 74 68 exception if th
88c0: 65 72 65 20 69 73 20 61 20 70 72 6f 62 6c 65 6d ere is a problem
88d0: 20 69 6e 20 74 68 65 20 63 6f 6e 76 65 72 73 69 in the conversi
88e0: 6f 6e 2e 0a 20 20 20 20 2a 20 41 64 64 65 64 20 on.. * Added
88f0: 61 20 6e 75 6c 6c 20 61 64 61 70 74 65 72 2e 0a a null adapter..
8900: 20 20 20 20 2a 20 41 64 64 65 64 20 4d 75 74 61 * Added Muta
8910: 62 6c 65 20 52 65 73 75 6c 74 20 53 65 74 73 0a ble Result Sets.
8920: 20 20 20 20 2a 20 41 64 64 65 64 20 61 20 76 65 * Added a ve
8930: 72 79 20 62 61 73 69 63 20 72 75 6e 74 69 6d 65 ry basic runtime
8940: 20 74 79 70 65 20 69 64 65 6e 74 69 66 69 63 61 type identifica
8950: 74 69 6f 6e 20 66 6f 72 20 53 51 4c 20 74 79 70 tion for SQL typ
8960: 65 73 0a 20 20 20 20 2a 20 43 68 61 6e 67 65 64 es. * Changed
8970: 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 66 6f the document fo
8980: 72 6d 61 74 20 66 72 6f 6d 20 50 4f 44 20 74 6f rmat from POD to
8990: 20 4c 59 58 20 2e 0a 20 20 20 20 2a 20 41 6d 20 LYX .. * Am
89a0: 6e 6f 77 20 75 73 69 6e 67 20 61 20 6d 6f 64 69 now using a modi
89b0: 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 fied version of
89c0: 50 65 72 63 65 70 73 20 74 6f 20 65 78 74 72 61 Perceps to extra
89d0: 63 74 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 ct the class.
89e0: 20 2a 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 * information d
89f0: 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 74 68 65 irectly from the
8a00: 20 63 6f 64 65 20 74 6f 20 6d 61 6b 65 20 6d 79 code to make my
8a10: 20 6c 69 66 65 20 65 61 73 69 65 72 2e 0a 20 20 life easier..
8a20: 20 20 2a 20 41 64 64 65 64 20 61 6e 20 6f 70 74 * Added an opt
8a30: 69 6f 6e 20 6f 66 20 64 65 66 69 6e 69 6e 67 20 ion of defining
8a40: 61 20 6d 61 63 72 6f 20 74 6f 20 61 76 6f 69 64 a macro to avoid
8a50: 20 75 73 69 6e 67 20 74 68 65 20 61 75 74 6f 6d using the autom
8a60: 61 74 69 63 0a 20 20 20 20 2a 20 63 6f 6e 76 65 atic. * conve
8a70: 72 73 69 6f 6e 20 77 69 74 68 20 62 69 6e 61 72 rsion with binar
8a80: 79 20 6f 70 65 72 61 74 6f 72 73 2e 0a 20 20 20 y operators..
8a90: 20 2a 20 4f 74 68 65 72 20 73 6d 61 6c 6c 20 66 * Other small f
8aa0: 69 78 65 64 20 49 20 70 72 6f 62 75 6c 6c 79 20 ixed I probully
8ab0: 66 6f 72 67 6f 74 20 74 6f 20 6d 65 6e 74 75 6e forgot to mentun
8ac0: 65 2e 0a 0a 2e 36 33 2e 31 2e 61 0a 0a 20 20 20 e....63.1.a..
8ad0: 20 2a 20 41 64 64 65 64 20 43 75 73 74 6f 6d 20 * Added Custom
8ae0: 4d 79 73 71 6c 20 53 74 72 75 63 74 75 72 65 73 Mysql Structures
8af0: 2e 0a 20 20 20 20 2a 20 46 69 78 65 64 20 74 68 .. * Fixed th
8b00: 65 20 43 6f 70 79 20 63 6f 6e 73 74 72 75 63 74 e Copy construct
8b10: 6f 72 20 6f 66 20 63 6c 61 73 73 20 4d 79 73 71 or of class Mysq
8b20: 6c 0a 20 20 20 20 2a 20 53 74 61 72 74 65 64 20 l. * Started
8b30: 61 64 64 69 6e 67 20 63 6f 64 65 20 73 6f 20 74 adding code so t
8b40: 68 61 74 20 63 6c 61 73 73 20 4d 79 73 71 6c 20 hat class Mysql
8b50: 6c 65 74 73 20 69 74 20 63 68 69 6c 64 72 65 6e lets it children
8b60: 20 6e 6f 77 20 77 68 65 6e 0a 20 20 20 20 2a 20 now when. *
8b70: 69 74 20 69 73 20 6c 65 61 76 69 6e 67 0a 20 20 it is leaving.
8b80: 20 20 2a 20 41 74 74 65 6d 70 74 65 64 20 74 6f * Attempted to
8b90: 20 63 6f 6d 70 69 6c 65 20 69 74 20 69 6e 74 6f compile it into
8ba0: 20 61 20 6c 69 62 72 61 72 79 20 62 75 74 20 73 a library but s
8bb0: 74 69 6c 6c 20 6e 65 65 64 20 68 65 6c 70 2e 20 till need help.
8bc0: 41 73 0a 20 20 20 20 2a 20 64 65 66 61 75 6c 74 As. * default
8bd0: 20 69 74 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 it will compile
8be0: 20 61 73 20 61 20 72 65 67 75 6c 61 72 20 70 72 as a regular pr
8bf0: 6f 67 72 61 6d 2e 0a 20 20 20 20 2a 20 4f 74 68 ogram.. * Oth
8c00: 65 72 20 73 6d 61 6c 6c 20 66 69 78 65 73 2e 0a er small fixes..
8c10: 0a 2e 36 32 2e 61 20 28 4d 61 79 20 33 20 31 39 ..62.a (May 3 19
8c20: 39 38 29 0a 0a 20 20 20 20 2a 20 41 64 64 65 64 98).. * Added
8c30: 20 54 65 6d 70 6c 61 74 65 20 51 75 65 72 69 65 Template Querie
8c40: 73 0a 20 20 20 20 2a 20 43 72 65 61 74 65 64 20 s. * Created
8c50: 73 20 73 65 70 61 72 61 74 65 20 53 51 4c 51 75 s separate SQLQu
8c60: 65 72 79 20 6f 62 6a 65 63 74 20 74 68 61 74 20 ery object that
8c70: 69 73 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f is independent o
8c80: 66 20 61 6e 20 53 51 4c 0a 20 20 20 20 2a 20 63 f an SQL. * c
8c90: 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 20 20 20 2a onnection.. *
8ca0: 20 59 6f 75 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 You no longer h
8cb0: 61 76 65 20 74 6f 20 69 6d 70 6f 72 74 20 74 68 ave to import th
8cc0: 65 20 64 61 74 61 20 66 6f 72 20 74 68 65 20 74 e data for the t
8cd0: 65 73 74 20 70 72 6f 67 72 61 6d 20 61 73 20 74 est program as t
8ce0: 68 65 0a 20 20 20 20 2a 20 70 72 6f 67 72 61 6d he. * program
8cf0: 20 63 72 65 61 74 65 73 20 74 68 65 20 64 61 74 creates the dat
8d00: 61 62 61 73 65 20 61 6e 64 20 74 61 62 6c 65 73 abase and tables
8d10: 20 69 74 20 6e 65 65 64 73 2e 0a 20 20 20 20 2a it needs.. *
8d20: 20 4d 61 6e 79 20 73 6d 61 6c 6c 20 62 75 67 20 Many small bug
8d30: 66 69 78 65 73 2e 0a 0a 2e 36 31 2e 31 2e 61 20 fixes....61.1.a
8d40: 28 41 70 72 69 6c 20 32 38 20 31 39 39 38 29 0a (April 28 1998).
8d50: 0a 20 20 20 20 2a 20 43 6c 65 61 6e 65 64 20 75 . * Cleaned u
8d60: 70 20 74 68 65 20 65 78 61 6d 70 6c 65 20 63 6f p the example co
8d70: 64 65 20 69 6e 20 74 65 73 74 2e 63 63 20 61 6e de in test.cc an
8d80: 64 20 69 6e 63 6c 75 64 65 64 20 69 74 20 69 6e d included it in
8d90: 20 74 68 65 0a 20 20 20 20 2a 20 6d 61 6e 75 61 the. * manua
8da0: 6c 2e 0a 20 20 20 20 2a 20 41 64 64 65 64 20 61 l.. * Added a
8db0: 6e 20 69 6e 74 65 72 66 61 63 65 20 6c 61 79 6f n interface layo
8dc0: 75 74 20 70 6c 61 6e 20 74 6f 20 74 68 65 20 6d ut plan to the m
8dd0: 61 6e 75 61 6c 2e 0a 20 20 20 20 2a 20 41 64 64 anual.. * Add
8de0: 65 64 20 61 20 72 65 76 65 72 73 65 20 69 74 65 ed a reverse ite
8df0: 72 61 74 6f 72 2e 0a 20 20 20 20 2a 20 46 69 78 rator.. * Fix
8e00: 65 64 20 61 20 62 75 67 20 77 69 74 68 20 72 6f ed a bug with ro
8e10: 77 2e 68 68 20 28 49 74 20 77 61 73 6e 27 74 20 w.hh (It wasn't
8e20: 62 65 69 6e 67 20 69 6e 63 6c 75 64 65 64 20 62 being included b
8e30: 65 63 61 75 73 65 20 6f 66 20 61 0a 20 20 20 20 ecause of a.
8e40: 2a 20 74 79 70 6f 29 2e 0a 0a 2e 36 31 2e 30 2e * typo)....61.0.
8e50: 61 0a 0a 20 20 20 20 2a 20 4d 61 6a 6f 72 20 69 a.. * Major i
8e60: 6e 74 65 72 66 61 63 65 20 63 68 61 6e 67 65 73 nterface changes
8e70: 2e 20 49 20 77 61 72 6e 65 64 20 79 6f 75 20 74 . I warned you t
8e80: 68 61 74 20 74 68 65 20 69 6e 74 65 72 66 61 63 hat the interfac
8e90: 65 20 6d 61 79 0a 20 20 20 20 2a 20 63 68 61 6e e may. * chan
8ea0: 67 65 20 77 68 69 6c 65 20 69 74 20 69 73 20 69 ge while it is i
8eb0: 6e 20 70 72 65 2d 61 6c 70 68 61 20 73 74 61 74 n pre-alpha stat
8ec0: 65 20 61 6e 64 20 49 20 77 61 73 6e 27 74 20 6b e and I wasn't k
8ed0: 69 64 64 69 6e 67 2e 0a 20 20 20 20 2a 20 43 72 idding.. * Cr
8ee0: 65 61 74 65 64 20 61 20 6e 65 77 20 61 6e 64 20 eated a new and
8ef0: 53 65 70 61 72 61 74 65 20 51 75 65 72 79 20 4f Separate Query O
8f00: 62 6a 65 63 74 2e 20 59 6f 75 20 63 61 6e 20 6e bject. You can n
8f10: 6f 20 6c 6f 6e 67 65 72 20 65 78 65 63 75 74 65 o longer execute
8f20: 0a 20 20 20 20 2a 20 71 75 65 72 69 65 73 20 66 . * queries f
8f30: 72 6f 6d 20 74 68 65 20 4d 79 73 71 6c 20 6f 62 rom the Mysql ob
8f40: 6a 65 63 74 20 69 6e 73 74 65 61 64 20 79 6f 75 ject instead you
8f50: 20 68 61 76 65 20 74 6f 20 63 72 65 61 74 65 20 have to create
8f60: 61 20 71 75 65 72 79 0a 20 20 20 20 2a 20 6f 62 a query. * ob
8f70: 6a 65 63 74 20 77 69 74 68 20 4d 79 73 71 6c 3a ject with Mysql:
8f80: 3a 71 75 65 72 79 28 29 20 61 6e 64 20 75 73 65 :query() and use
8f90: 20 69 74 20 74 6f 20 65 78 65 63 75 74 65 20 71 it to execute q
8fa0: 75 65 72 69 65 73 2e 0a 20 20 20 20 2a 20 41 64 ueries.. * Ad
8fb0: 64 65 64 20 74 68 65 20 63 6f 6d 70 61 72 69 73 ded the comparis
8fc0: 6f 6e 20 6f 70 65 72 61 74 6f 72 73 20 74 6f 20 on operators to
8fd0: 4d 79 73 71 6c 44 61 74 65 2c 20 4d 79 73 71 6c MysqlDate, Mysql
8fe0: 54 69 6d 65 20 61 6e 64 0a 20 20 20 20 2a 20 4d Time and. * M
8ff0: 79 73 71 6c 44 61 74 65 54 69 6d 65 2e 20 46 69 ysqlDateTime. Fi
9000: 78 65 64 20 61 20 66 65 77 20 62 75 67 73 20 69 xed a few bugs i
9010: 6e 20 74 68 65 20 4d 79 73 71 6c 44 61 74 65 2e n the MysqlDate.
9020: 2e 2e 20 74 68 61 74 20 65 66 66 65 63 74 65 64 .. that effected
9030: 0a 20 20 20 20 2a 20 74 68 65 20 73 74 72 65 61 . * the strea
9040: 6d 20 6f 75 74 70 75 74 20 61 6e 64 20 74 68 65 m output and the
9050: 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6f 66 20 74 conversion of t
9060: 68 65 6d 20 74 6f 20 73 74 72 69 6e 67 73 2e 0a hem to strings..
9070: 20 20 20 20 2a 20 52 65 66 6c 65 63 74 65 64 20 * Reflected
9080: 74 68 65 20 4d 79 73 71 6c 44 61 74 65 2e 2e 2e the MysqlDate...
9090: 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 changes in the
90a0: 6d 61 6e 75 61 6c 2e 0a 20 20 20 20 2a 20 41 64 manual.. * Ad
90b0: 64 65 64 20 61 20 6e 65 77 20 4d 79 73 71 6c 53 ded a new MysqlS
90c0: 65 74 20 6f 62 6a 65 63 74 20 61 6e 64 20 61 20 et object and a
90d0: 62 75 6e 63 68 20 6f 66 20 66 75 6e 63 74 69 6f bunch of functio
90e0: 6e 73 20 66 6f 72 20 77 6f 72 6b 69 6e 67 0a 20 ns for working.
90f0: 20 20 20 2a 20 77 69 74 68 20 6d 79 73 71 6c 20 * with mysql
9100: 73 65 74 20 73 74 72 69 6e 67 73 2e 0a 0a 2e 36 set strings....6
9110: 30 2e 33 61 20 28 41 70 72 69 6c 20 32 34 20 31 0.3a (April 24 1
9120: 39 39 38 29 0a 0a 20 20 20 20 2a 20 43 68 61 6e 998).. * Chan
9130: 67 65 64 20 73 74 72 74 6f 71 20 61 6e 64 20 73 ged strtoq and s
9140: 74 72 74 6f 75 71 20 74 6f 20 73 74 72 74 6f 6c trtouq to strtol
9150: 6c 20 61 6e 64 20 73 74 72 74 75 6c 6c 20 66 6f l and strtull fo
9160: 72 20 6d 65 74 74 65 72 0a 20 20 20 20 2a 20 63 r metter. * c
9170: 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 4d 69 6e ompatibility Min
9180: 6f 72 20 4d 61 6e 75 61 6c 20 66 69 78 2e 0a 20 or Manual fix..
9190: 20 20 20 2a 20 43 68 61 6e 67 65 64 20 6d 61 6b * Changed mak
91a0: 65 66 69 6c 65 20 74 6f 20 6d 61 6b 65 20 69 74 efile to make it
91b0: 20 6d 6f 72 65 20 63 6f 6d 70 61 74 69 62 6c 65 more compatible
91c0: 20 77 69 74 68 20 53 6f 6c 61 72 69 73 20 28 54 with Solaris (T
91d0: 68 61 6e 6b 73 0a 20 20 20 20 2a 20 43 68 72 69 hanks. * Chri
91e0: 73 20 48 29 0a 20 20 20 20 2a 20 46 69 78 65 64 s H). * Fixed
91f0: 20 62 75 67 20 69 6e 20 63 6f 6d 70 61 72 69 73 bug in comparis
9200: 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 73 6f 20 on functions so
9210: 74 68 61 74 20 74 68 65 79 20 77 6f 75 6c 64 20 that they would
9220: 63 6f 6d 70 61 72 65 20 69 6e 20 68 65 0a 20 20 compare in he.
9230: 20 20 2a 20 72 69 67 68 74 20 64 69 72 65 63 74 * right direct
9240: 69 6f 6e 2e 0a 20 20 20 20 2a 20 41 64 64 65 64 ion.. * Added
9250: 20 73 6f 6d 65 20 69 74 65 6d 73 20 74 6f 20 74 some items to t
9260: 68 65 20 74 6f 20 64 6f 20 6c 69 73 74 20 62 65 he to do list be
9270: 20 73 75 72 65 20 74 6f 20 68 61 76 65 20 61 20 sure to have a
9280: 6c 6f 6f 6b 2e 0a 0a look...