MySQL++

Hex Artifact Content
Login

Hex Artifact Content

Artifact 0a94da93057a85cda5017ae90c08b38c47548b0294479e83fbdbc65156e15697:


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...