MySQL++

Hex Artifact Content
Login

Hex Artifact Content

Artifact 0992cb8deae2dc840429f9b2ba29a9336501529a26d384270bd992f2173a0b27:

Wiki page [MySQL++] by tangent 2020-07-10 19:17:09.
0000: 44 20 32 30 32 30 2d 30 37 2d 31 30 54 31 39 3a  D 2020-07-10T19:
0010: 31 37 3a 30 39 2e 39 36 39 0a 4c 20 4d 79 53 51  17:09.969.L MySQ
0020: 4c 2b 2b 0a 4e 20 74 65 78 74 2f 78 2d 6d 61 72  L++.N text/x-mar
0030: 6b 64 6f 77 6e 0a 50 20 36 37 30 37 31 36 33 31  kdown.P 67071631
0040: 64 64 65 62 39 62 33 65 35 37 39 36 66 65 65 32  ddeb9b3e5796fee2
0050: 33 35 62 65 35 31 30 35 30 34 31 64 37 38 30 32  35be5105041d7802
0060: 66 65 65 64 38 34 39 36 30 30 39 34 65 30 66 36  feed84960094e0f6
0070: 39 33 30 31 33 62 39 64 0a 55 20 74 61 6e 67 65  93013b9d.U tange
0080: 6e 74 0a 57 20 36 30 36 32 0a 3c 69 6d 67 20 73  nt.W 6062.<img s
0090: 72 63 3d 22 2f 75 76 2f 6c 6f 67 6f 2d 73 6d 61  rc="/uv/logo-sma
00a0: 6c 6c 2e 6a 70 67 3f 64 6f 77 6e 6c 6f 61 64 22  ll.jpg?download"
00b0: 20 61 6c 74 3d 22 4d 79 53 51 4c 2b 2b 20 72 6f   alt="MySQL++ ro
00c0: 63 6b 73 22 20 77 69 64 74 68 3d 22 33 30 30 22  cks" width="300"
00d0: 20 68 65 69 67 68 74 3d 22 31 34 32 22 20 73 74   height="142" st
00e0: 79 6c 65 3d 22 66 6c 6f 61 74 3a 72 69 67 68 74  yle="float:right
00f0: 3b 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 32 30  ; margin-left:20
0100: 70 78 22 20 2f 3e 0d 0a 0d 0a 4d 79 53 51 4c 2b  px" />....MySQL+
0110: 2b 20 69 73 20 61 20 43 2b 2b 20 77 72 61 70 70  + is a C++ wrapp
0120: 65 72 20 66 6f 72 20 5b 4d 79 53 51 4c 5d 28 68  er for [MySQL](h
0130: 74 74 70 3a 2f 2f 6d 79 73 71 6c 2e 63 6f 6d 2f  ttp://mysql.com/
0140: 29 20 61 6e 64 20 5b 4d 61 72 69 61 44 42 5d 28  ) and [MariaDB](
0150: 68 74 74 70 73 3a 2f 2f 6d 61 72 69 61 64 62 2e  https://mariadb.
0160: 6f 72 67 2f 29 20 43 20 41 50 49 73 2e 20 49 74  org/) C APIs. It
0170: 20 69 73 20 62 75 69 6c 74 20 6f 6e 20 74 68 65   is built on the
0180: 20 73 61 6d 65 20 70 72 69 6e 63 69 70 6c 65 73   same principles
0190: 20 61 73 20 74 68 65 20 53 74 61 6e 64 61 72 64   as the Standard
01a0: 20 43 2b 2b 20 4c 69 62 72 61 72 79 20 74 6f 20   C++ Library to 
01b0: 6d 61 6b 65 20 64 65 61 6c 69 6e 67 20 77 69 74  make dealing wit
01c0: 68 20 74 68 65 20 64 61 74 61 62 61 73 65 20 61  h the database a
01d0: 73 20 65 61 73 79 20 61 73 20 64 65 61 6c 69 6e  s easy as dealin
01e0: 67 20 77 69 74 68 20 60 73 74 64 60 20 63 6f 6e  g with `std` con
01f0: 74 61 69 6e 65 72 73 2e 20 4d 79 53 51 4c 2b 2b  tainers. MySQL++
0200: 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 66   also provides f
0210: 61 63 69 6c 69 74 69 65 73 20 74 68 61 74 20 6c  acilities that l
0220: 65 74 20 79 6f 75 20 61 76 6f 69 64 20 74 68 65  et you avoid the
0230: 20 6d 6f 73 74 20 72 65 70 65 74 69 74 69 76 65   most repetitive
0240: 20 73 6f 72 74 73 20 6f 66 20 53 51 4c 20 77 69   sorts of SQL wi
0250: 74 68 69 6e 20 79 6f 75 72 20 6f 77 6e 20 63 6f  thin your own co
0260: 64 65 2c 20 70 72 6f 76 69 64 69 6e 67 20 6e 61  de, providing na
0270: 74 69 76 65 20 43 2b 2b 20 69 6e 74 65 72 66 61  tive C++ interfa
0280: 63 65 73 20 66 6f 72 20 74 68 65 73 65 20 63 6f  ces for these co
0290: 6d 6d 6f 6e 20 74 61 73 6b 73 2e 0d 0a 0d 0a 49  mmon tasks.....I
02a0: 66 20 79 6f 75 20 68 61 76 65 20 71 75 65 73 74  f you have quest
02b0: 69 6f 6e 73 20 61 62 6f 75 74 20 74 68 69 73 20  ions about this 
02c0: 70 72 6f 6a 65 63 74 20 61 6e 64 20 63 61 6e e2  project and canâ
02d0: 80 99 74 20 66 69 6e 64 20 61 6e 20 61 6e 73 77  €™t find an answ
02e0: 65 72 20 69 6e 20 74 68 65 20 5b 64 6f 63 75 6d  er in the [docum
02f0: 65 6e 74 61 74 69 6f 6e 5d 28 2f 77 69 6b 69 3f  entation](/wiki?
0300: 6e 61 6d 65 3d 44 6f 63 75 6d 65 6e 74 61 74 69  name=Documentati
0310: 6f 6e 29 20 6f 72 20 74 68 65 20 5b 6f 6c 64 20  on) or the [old 
0320: 6d 61 69 6c 69 6e 67 20 6c 69 73 74 20 61 72 63  mailing list arc
0330: 68 69 76 65 73 5d 28 68 74 74 70 3a 2f 2f 6c 69  hives](http://li
0340: 73 74 73 2e 6d 79 73 71 6c 2e 63 6f 6d 2f 70 6c  sts.mysql.com/pl
0350: 75 73 70 6c 75 73 2f 29 2c 20 61 73 6b 20 6f 6e  usplus/), ask on
0360: 20 5b 74 68 65 20 77 65 62 20 66 6f 72 75 6d 5d   [the web forum]
0370: 28 2f 66 6f 72 75 6d 29 2e 20 57 65 20 61 6c 73  (/forum). We als
0380: 6f 20 68 61 76 65 20 61 20 5b 74 69 63 6b 65 74  o have a [ticket
0390: 20 73 79 73 74 65 6d 5d 28 2f 74 6b 74 6e 65 77   system](/tktnew
03a0: 29 2c 20 62 75 74 20 69 74 27 73 20 62 65 73 74  ), but it's best
03b0: 20 74 6f 20 64 69 73 63 75 73 73 20 73 75 63 68   to discuss such
03c0: 20 74 68 69 6e 67 73 20 66 69 72 73 74 20 62 65   things first be
03d0: 66 6f 72 65 20 66 69 6c 69 6e 67 20 61 20 74 69  fore filing a ti
03e0: 63 6b 65 74 2e 0d 0a 0d 0a 0d 0a 23 23 20 3c 61  cket.......## <a
03f0: 20 6e 61 6d 65 3d 22 73 74 61 62 6c 65 22 3e 3c   name="stable"><
0400: 2f 61 3e 4c 61 74 65 73 74 20 53 74 61 62 6c 65  /a>Latest Stable
0410: 20 56 65 72 73 69 6f 6e 0d 0a 0d 0a 42 65 66 6f   Version....Befo
0420: 72 65 20 75 70 67 72 61 64 69 6e 67 20 61 6e 20  re upgrading an 
0430: 65 78 69 73 74 69 6e 67 20 76 65 72 73 69 6f 6e  existing version
0440: 20 6f 66 20 4d 79 53 51 4c 2b 2b 2c 20 70 6c 65   of MySQL++, ple
0450: 61 73 65 20 73 63 61 6e 20 74 68 72 6f 75 67 68  ase scan through
0460: 20 74 68 65 20 5b 63 68 61 6e 67 65 20 6c 6f 67   the [change log
0470: 5d 28 2f 64 6f 63 2f 74 72 75 6e 6b 2f 43 68 61  ](/doc/trunk/Cha
0480: 6e 67 65 4c 6f 67 2e 6d 64 29 20 66 69 72 73 74  ngeLog.md) first
0490: 2e 20 49 66 20 79 6f 75 e2 80 99 72 65 20 63 6f  . If you’re co
04a0: 6d 69 6e 67 20 66 72 6f 6d 20 61 20 6d 75 63 68  ming from a much
04b0: 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 2c 20   older version, 
04c0: 62 65 74 74 65 72 20 72 65 61 64 20 74 68 72 6f  better read thro
04d0: 75 67 68 20 74 68 65 20 e2 80 9c 5b 49 6e 63 6f  ugh the “[Inco
04e0: 6d 70 61 74 69 62 6c 65 20 4c 69 62 72 61 72 79  mpatible Library
04f0: 20 43 68 61 6e 67 65 73 5d 28 64 6f 63 2f 68 74   Changes](doc/ht
0500: 6d 6c 2f 75 73 65 72 6d 61 6e 2f 62 72 65 61 6b  ml/userman/break
0510: 61 67 65 73 2e 68 74 6d 6c 29 e2 80 9d 20 63 68  ages.html)” ch
0520: 61 70 74 65 72 20 69 6e 20 74 68 65 20 5b 75 73  apter in the [us
0530: 65 72 20 6d 61 6e 75 61 6c 5d 28 64 6f 63 2f 68  er manual](doc/h
0540: 74 6d 6c 2f 75 73 65 72 6d 61 6e 2f 29 20 69 6e  tml/userman/) in
0550: 73 74 65 61 64 2e 20 0d 0a 0d 0a 0d 0a 23 23 23  stead. ......###
0560: 20 3c 61 20 6e 61 6d 65 3d 22 73 6f 75 72 63 65   <a name="source
0570: 22 3e 3c 2f 61 3e 53 6f 75 72 63 65 20 43 6f 64  "></a>Source Cod
0580: 65 0d 0a 0d 0a 54 68 65 20 4d 79 53 51 4c 2b 2b  e....The MySQL++
0590: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20   source code is 
05a0: 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 73 65 76  available in sev
05b0: 65 72 61 6c 20 66 6f 72 6d 73 3a 0d 0a 0d 0a 2a  eral forms:....*
05c0: 20 20 20 2a 2a 52 65 6c 65 61 73 65 20 54 61 72     **Release Tar
05d0: 62 61 6c 6c 3a 2a 2a 20 5b 6d 79 73 71 6c 2b 2b  ball:** [mysql++
05e0: 2d 33 2e 32 2e 35 2e 74 61 72 2e 67 7a 5d 28 72  -3.2.5.tar.gz](r
05f0: 65 6c 65 61 73 65 73 2f 6d 79 73 71 6c 2b 2b 2d  eleases/mysql++-
0600: 33 2e 32 2e 35 2e 74 61 72 2e 67 7a 29 c2 a0 28  3.2.5.tar.gz) (
0610: 34 2e 35 c2 a0 4d 69 42 2c c2 a0 32 30 31 39 2e  4.5 MiB, 2019.
0620: 30 37 2e 32 31 29 20 e2 80 94 20 49 66 20 79 6f  07.21) — If yo
0630: 75 20 61 72 65 6e e2 80 99 74 20 73 75 72 65 20  u aren’t sure 
0640: 77 68 69 63 68 20 66 69 6c 65 20 74 6f 20 64 6f  which file to do
0650: 77 6e 6c 6f 61 64 2c 20 64 6f 77 6e 6c 6f 61 64  wnload, download
0660: 20 74 68 69 73 2e 0d 0a 0d 0a 2a 20 20 2a 2a 52   this.....*  **R
0670: 65 6c 65 61 73 65 20 53 52 50 4d 3a 2a 2a 20 5b  elease SRPM:** [
0680: 6d 79 73 71 6c 2b 2b 2d 33 2e 32 2e 35 2d 31 2e  mysql++-3.2.5-1.
0690: 65 6c 37 2e 73 72 63 2e 72 70 6d 5d 28 72 65 6c  el7.src.rpm](rel
06a0: 65 61 73 65 73 2f 6d 79 73 71 6c 2b 2b 2d 33 2e  eases/mysql++-3.
06b0: 32 2e 35 2d 31 2e 65 6c 37 2e 73 72 63 2e 72 70  2.5-1.el7.src.rp
06c0: 6d 29 c2 a0 28 33 2e 33 c2 a0 4d 69 42 2c c2 a0  m) (3.3 MiB, 
06d0: 32 30 31 39 2e 30 37 2e 32 31 29 20 e2 80 94 20  2019.07.21) — 
06e0: 46 6f 72 20 74 68 6f 73 65 20 74 68 61 74 20 6e  For those that n
06f0: 65 65 64 20 74 6f 20 62 75 69 6c 64 20 74 68 65  eed to build the
0700: 69 72 20 6f 77 6e 20 62 69 6e 61 72 79 20 52 50  ir own binary RP
0710: 4d 73 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 24  Ms:....        $
0720: 20 72 70 6d 62 75 69 6c 64 20 2d 2d 72 65 62 75   rpmbuild --rebu
0730: 69 6c 64 20 2f 77 68 65 72 65 76 65 72 2f 69 74  ild /wherever/it
0740: 2f 69 73 2f 6d 79 73 71 6c 2b 2b 2d 33 2e 32 2e  /is/mysql++-3.2.
0750: 35 2d 31 2e 65 6c 37 2e 73 72 63 2e 72 70 6d 0d  5-1.el7.src.rpm.
0760: 0a 0d 0a 20 20 20 20 54 68 65 20 72 65 73 75 6c  ...    The resul
0770: 74 69 6e 67 20 60 6d 79 73 71 6c 2b 2b 60 2c 20  ting `mysql++`, 
0780: 60 6d 79 73 71 6c 2b 2b 2d 64 65 76 65 6c 60 20  `mysql++-devel` 
0790: 61 6e 64 20 60 6d 79 73 71 6c 2b 2b 2d 6d 61 6e  and `mysql++-man
07a0: 75 61 6c 73 60 20 52 50 4d 73 20 73 68 6f 75 6c  uals` RPMs shoul
07b0: 64 20 74 68 65 6e 20 62 65 20 66 6f 75 6e 64 20  d then be found 
07c0: 69 6e 20 60 7e 2f 72 70 6d 62 75 69 6c 64 2f 52  in `~/rpmbuild/R
07d0: 50 4d 53 2f 78 38 36 5f 36 34 60 20 69 66 20 79  PMS/x86_64` if y
07e0: 6f 75 20 64 69 64 20 69 74 20 6f 6e 20 61 20 36  ou did it on a 6
07f0: 34 2d 62 69 74 20 78 38 36 20 62 61 73 65 64 20  4-bit x86 based 
0800: 4c 69 6e 75 78 20 62 6f 78 2e 0d 0a 0d 0a 2a 20  Linux box.....* 
0810: 20 2a 2a 54 69 70 2d 6f 66 2d 74 72 75 6e 6b 20   **Tip-of-trunk 
0820: 54 61 72 62 61 6c 6c 3a 2a 2a 20 5b 6d 79 73 71  Tarball:** [mysq
0830: 6c 2b 2b 2d 74 72 75 6e 6b 2e 74 61 72 2e 67 7a  l++-trunk.tar.gz
0840: 5d 28 2f 74 61 72 62 61 6c 6c 2f 6d 79 73 71 6c  ](/tarball/mysql
0850: 25 32 42 25 32 42 2d 74 72 75 6e 6b 2e 74 61 72  %2B%2B-trunk.tar
0860: 2e 67 7a 3f 75 75 69 64 3d 74 72 75 6e 6b 29 20  .gz?uuid=trunk) 
0870: e2 80 94 20 46 6f 72 20 74 68 6f 73 65 20 77 68  — For those wh
0880: 6f 20 6e 65 65 64 20 74 68 65 20 6c 61 74 65 73  o need the lates
0890: 74 20 62 6c 65 65 64 69 6e 67 2d 65 64 67 65 20  t bleeding-edge 
08a0: 76 65 72 73 69 6f 6e 20 77 69 74 68 6f 75 74 20  version without 
08b0: 62 6f 74 68 65 72 69 6e 67 20 77 69 74 68 20 46  bothering with F
08c0: 6f 73 73 69 6c 2e 20 54 68 69 73 20 69 73 20 22  ossil. This is "
08d0: 73 74 61 62 6c 65 22 20 69 6e 20 74 68 65 20 73  stable" in the s
08e0: 65 6e 73 65 20 74 68 61 74 20 6f 75 72 20 72 65  ense that our re
08f0: 70 6f 73 69 74 6f 72 79 20 74 72 75 6e 6b 20 61  pository trunk a
0900: 6c 6d 6f 73 74 20 61 6c 77 61 79 73 20 63 6f 6d  lmost always com
0910: 70 69 6c 65 73 20 61 6e 64 20 72 75 6e 73 3b 20  piles and runs; 
0920: 65 78 70 65 72 69 6d 65 6e 74 61 6c 20 77 6f 72  experimental wor
0930: 6b 20 69 73 20 64 6f 6e 65 20 6f 6e 20 62 72 61  k is done on bra
0940: 6e 63 68 65 73 20 74 6f 20 61 76 6f 69 64 20 64  nches to avoid d
0950: 65 73 74 61 62 69 6c 69 7a 69 6e 67 20 74 72 75  estabilizing tru
0960: 6e 6b 2e 0d 0a 0d 0a 2a 20 20 20 2a 2a 46 6f 73  nk.....*   **Fos
0970: 73 69 6c 20 52 65 70 6f 73 69 74 6f 72 79 3a 2a  sil Repository:*
0980: 2a 20 59 6f 75 20 6d 61 79 20 5b 63 6c 6f 6e 65  * You may [clone
0990: 20 6f 75 72 20 46 6f 73 73 69 6c 20 72 65 70 6f   our Fossil repo
09a0: 73 69 74 6f 72 79 5d 28 2f 64 6f 63 2f 74 72 75  sitory](/doc/tru
09b0: 6e 6b 2f 48 41 43 4b 45 52 53 2e 6d 64 29 20 74  nk/HACKERS.md) t
09c0: 6f 20 67 65 74 20 74 68 65 20 63 75 72 72 65 6e  o get the curren
09d0: 74 20 77 6f 72 6b 20 6f 6e 20 4d 79 53 51 4c 2b  t work on MySQL+
09e0: 2b 20 77 69 74 68 20 5b 61 62 72 69 64 67 65 64  + with [abridged
09f0: 20 68 69 73 74 6f 72 79 5d 28 2f 77 69 6b 69 3f   history](/wiki?
0a00: 6e 61 6d 65 3d 41 62 72 69 64 67 65 64 2b 56 65  name=Abridged+Ve
0a10: 72 73 69 6f 6e 2b 48 69 73 74 6f 72 79 29 20 67  rsion+History) g
0a20: 6f 69 6e 67 20 62 61 63 6b 20 74 6f 20 74 68 65  oing back to the
0a30: 20 70 72 6f 6a 65 63 74 27 73 20 66 6f 75 6e 64   project's found
0a40: 69 6e 67 20 70 6c 75 73 20 74 68 65 20 77 69 6b  ing plus the wik
0a50: 69 20 63 6f 6e 74 65 6e 74 73 2c 20 6f 75 72 20  i contents, our 
0a60: 74 69 63 6b 65 74 20 74 72 61 63 6b 65 72 20 63  ticket tracker c
0a70: 6f 6e 74 65 6e 74 73 2c 20 66 6f 72 75 6d 20 70  ontents, forum p
0a80: 6f 73 74 73 2c 20 61 6e 64 20 6d 6f 72 65 2e 20  osts, and more. 
0a90: 54 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69  The repository i
0aa0: 73 20 5b 77 65 6c 6c 2d 74 61 67 67 65 64 5d 28  s [well-tagged](
0ab0: 2f 74 61 67 6c 69 73 74 29 2c 20 73 6f 20 79 6f  /taglist), so yo
0ac0: 75 20 63 61 6e 20 63 6f 6d 70 61 72 65 20 76 65  u can compare ve
0ad0: 72 73 69 6f 6e 73 2c 20 72 6f 6c 6c 20 62 61 63  rsions, roll bac
0ae0: 6b 20 74 6f 20 6f 6c 64 20 76 65 72 73 69 6f 6e  k to old version
0af0: 73 2c 20 65 74 63 2e 20 54 68 69 73 20 69 73 20  s, etc. This is 
0b00: 74 68 65 20 62 65 73 74 20 6f 70 74 69 6f 6e 20  the best option 
0b10: 66 6f 72 20 74 68 6f 73 65 20 77 68 6f 20 77 61  for those who wa
0b20: 6e 74 20 74 6f 20 70 61 72 74 69 63 69 70 61 74  nt to participat
0b30: 65 20 69 6e 20 74 68 65 20 64 65 76 65 6c 6f 70  e in the develop
0b40: 6d 65 6e 74 20 6f 66 20 4d 79 53 51 4c 2b 2b 2e  ment of MySQL++.
0b50: 20 0d 0a 0d 0a 2a 20 20 20 2a 2a 47 69 74 48 75   ....*   **GitHu
0b60: 62 20 52 65 70 6f 73 69 74 6f 72 79 3a 2a 2a 20  b Repository:** 
0b70: 54 68 69 73 20 46 6f 73 73 69 6c 20 72 65 70 6f  This Fossil repo
0b80: 73 69 74 6f 72 79 20 69 73 20 5b 6d 69 72 72 6f  sitory is [mirro
0b90: 72 65 64 20 6e 69 67 68 74 6c 79 2c 20 68 65 72  red nightly, her
0ba0: 65 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75  e](https://githu
0bb0: 62 2e 63 6f 6d 2f 74 61 6e 67 65 6e 74 73 6f 66  b.com/tangentsof
0bc0: 74 2f 6d 79 73 71 6c 70 70 29 2e 20 54 68 69 73  t/mysqlpp). This
0bd0: 20 69 73 20 69 6e 74 65 6e 64 65 64 20 70 72 69   is intended pri
0be0: 6d 61 72 69 6c 79 20 61 73 20 61 20 72 65 61 64  marily as a read
0bf0: 2d 6f 6e 6c 79 20 63 6f 6e 76 65 6e 69 65 6e 63  -only convenienc
0c00: 65 20 74 6f 20 74 68 6f 73 65 20 68 65 61 76 69  e to those heavi
0c10: 6c 79 20 69 6e 74 6f 20 47 69 74 2d 62 61 73 65  ly into Git-base
0c20: 64 20 74 6f 6f 6c 69 6e 67 2e 20 49 66 20 79 6f  d tooling. If yo
0c30: 75 20 61 72 65 20 69 6e 74 65 6e 64 69 6e 67 20  u are intending 
0c40: 74 6f 20 66 6f 72 6b 20 6f 72 20 70 61 74 63 68  to fork or patch
0c50: 20 74 68 65 20 63 6f 64 65 2c 20 74 68 65 72 65   the code, there
0c60: 20 61 72 65 20 5b 62 65 74 74 65 72 20 61 6c 74   are [better alt
0c70: 65 72 6e 61 74 69 76 65 73 20 74 68 61 6e 20 73  ernatives than s
0c80: 65 6e 64 69 6e 67 20 75 73 20 61 20 50 52 5d 28  ending us a PR](
0c90: 2f 66 69 6c 65 2f 48 41 43 4b 45 52 53 2e 6d 64  /file/HACKERS.md
0ca0: 23 70 61 74 63 68 65 73 29 20 76 69 61 20 74 68  #patches) via th
0cb0: 61 74 20 63 68 61 6e 6e 65 6c 2e 0d 0a 0d 0a 0d  at channel......
0cc0: 0a 23 23 23 20 3c 61 20 6e 61 6d 65 3d 22 62 69  .### <a name="bi
0cd0: 6e 61 72 79 22 3e 3c 2f 61 3e 42 69 6e 61 72 79  nary"></a>Binary
0ce0: 20 50 61 63 6b 61 67 65 73 0d 0a 0d 0a 3c 69 6d   Packages....<im
0cf0: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 74  g src="https://t
0d00: 61 6e 67 65 6e 74 73 6f 66 74 2e 63 6f 6d 2f 6d  angentsoft.com/m
0d10: 79 73 71 6c 70 70 2f 62 69 74 6d 61 70 73 2f 70  ysqlpp/bitmaps/p
0d20: 6b 67 73 74 61 74 2e 73 76 67 22 20 61 6c 74 3d  kgstat.svg" alt=
0d30: 22 4d 79 53 51 4c 2b 2b 20 70 61 63 6b 61 67 69  "MySQL++ packagi
0d40: 6e 67 20 73 74 61 74 75 73 22 20 73 74 79 6c 65  ng status" style
0d50: 3d 22 66 6c 6f 61 74 3a 72 69 67 68 74 3b 20 6d  ="float:right; m
0d60: 61 72 67 69 6e 2d 6c 65 66 74 3a 32 30 70 78 22  argin-left:20px"
0d70: 20 2f 3e 0d 0a 0d 0a 4d 79 53 51 4c 2b 2b 20 68   />....MySQL++ h
0d80: 61 73 20 62 65 65 6e 20 70 69 63 6b 65 64 20 75  as been picked u
0d90: 70 20 62 79 20 6d 61 6e 79 20 70 61 63 6b 61 67  p by many packag
0da0: 65 20 64 69 73 74 72 6f 73 2e 20 49 6e 20 61 64  e distros. In ad
0db0: 64 69 74 69 6f 6e 20 74 6f 20 74 68 6f 73 65 20  dition to those 
0dc0: 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 74 61  listed in the ta
0dd0: 62 6c 65 20 61 74 20 72 69 67 68 74 2c 20 69 74  ble at right, it
0de0: 27 73 20 61 6c 73 6f 20 5b 69 6e 20 46 72 65 65  's also [in Free
0df0: 42 53 44 5d 28 68 74 74 70 3a 2f 2f 77 77 77 2e  BSD](http://www.
0e00: 66 72 65 73 68 70 6f 72 74 73 2e 6f 72 67 2f 64  freshports.org/d
0e10: 61 74 61 62 61 73 65 73 2f 6d 79 73 71 6c 2b 2b  atabases/mysql++
0e20: 33 2f 29 2e 20 53 69 6e 63 65 20 74 68 65 73 65  3/). Since these
0e30: 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 70 72   packages are pr
0e40: 6f 70 65 72 6c 79 20 69 6e 74 65 67 72 61 74 65  operly integrate
0e50: 64 20 69 6e 74 6f 20 74 68 65 69 72 20 68 6f 73  d into their hos
0e60: 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 2c  t distributions,
0e70: 20 77 65 20 64 6f 20 6e 6f 74 20 6f 66 66 65 72   we do not offer
0e80: 20 63 6f 6d 70 65 74 69 6e 67 20 62 69 6e 61 72   competing binar
0e90: 79 20 70 61 63 6b 61 67 65 73 20 68 65 72 65 2e  y packages here.
0ea0: 0d 0a 0d 0a 49 66 20 79 6f 75 20 77 61 6e 74 20  ....If you want 
0eb0: 73 6f 6d 65 74 68 69 6e 67 20 64 69 66 66 65 72  something differ
0ec0: 65 6e 74 20 69 6e 20 79 6f 75 72 20 62 69 6e 61  ent in your bina
0ed0: 72 79 20 70 61 63 6b 61 67 65 20 74 68 61 6e 20  ry package than 
0ee0: 79 6f 75 20 67 65 74 20 69 6e 20 74 68 65 20 73  you get in the s
0ef0: 74 61 6e 64 61 72 64 20 70 61 63 6b 61 67 65 20  tandard package 
0f00: 64 69 73 74 72 6f 20 66 6f 72 20 79 6f 75 72 20  distro for your 
0f10: 4f 53 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 62  OS, you should b
0f20: 75 69 6c 64 20 69 74 20 66 72 6f 6d 20 5b 73 6f  uild it from [so
0f30: 75 72 63 65 5d 28 23 73 6f 75 72 63 65 29 20 6f  urce](#source) o
0f40: 6e 20 74 68 65 20 74 61 72 67 65 74 20 4f 53 2c  n the target OS,
0f50: 20 6f 72 20 65 6c 73 65 20 79 6f 75 20 61 72 65   or else you are
0f60: 20 6c 69 6b 65 6c 79 20 74 6f 20 68 61 76 65 20   likely to have 
0f70: 5b 70 72 6f 62 6c 65 6d 73 5d 28 2f 77 69 6b 69  [problems](/wiki
0f80: 3f 6e 61 6d 65 3d 46 41 51 23 73 65 67 66 61 75  ?name=FAQ#segfau
0f90: 6c 74 73 29 2e 0d 0a 0d 0a 0d 0a 23 23 20 3c 61  lts).......## <a
0fa0: 20 6e 61 6d 65 3d 22 6f 6c 64 76 65 72 22 3e 3c   name="oldver"><
0fb0: 2f 61 3e 4f 6c 64 20 56 65 72 73 69 6f 6e 73 0d  /a>Old Versions.
0fc0: 0a 0d 0a 49 66 20 79 6f 75 20 6e 65 65 64 20 61  ...If you need a
0fd0: 20 70 61 72 74 69 63 75 6c 61 72 20 6f 6c 64 65   particular olde
0fe0: 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 4d 79 53  r version of MyS
0ff0: 51 4c 2b 2b 2c 20 79 6f 75 20 63 61 6e 20 65 69  QL++, you can ei
1000: 74 68 65 72 20 67 72 61 62 20 74 68 65 20 72 61  ther grab the ra
1010: 77 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f  w source code fo
1020: 72 20 69 74 20 66 72 6f 6d 20 74 68 65 20 5b 46  r it from the [F
1030: 6f 73 73 69 6c 20 74 61 67 20 6c 69 73 74 20 70  ossil tag list p
1040: 61 67 65 5d 28 2f 74 61 67 6c 69 73 74 29 20 6f  age](/taglist) o
1050: 72 20 79 6f 75 20 63 61 6e 20 5b 62 72 6f 77 73  r you can [brows
1060: 65 5d 28 2f 72 65 6c 65 61 73 65 73 29 20 74 68  e](/releases) th
1070: 65 20 6f 6c 64 20 76 65 72 73 69 6f 6e 20 61 72  e old version ar
1080: 63 68 69 76 65 2e 0d 0a 0d 0a 54 68 6f 73 65 20  chive.....Those 
1090: 73 74 69 6c 6c 20 6e 65 65 64 69 6e 67 20 4d 79  still needing My
10a0: 53 51 4c 2b 2b 20 32 2e 78 20 6d 69 67 68 74 20  SQL++ 2.x might 
10b0: 62 65 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e  be interested in
10c0: 20 74 68 65 20 5b 60 76 32 2e 33 2e 32 2d 6d 6f   the [`v2.3.2-mo
10d0: 64 65 72 6e 60 5d 28 68 74 74 70 73 3a 2f 2f 74  dern`](https://t
10e0: 61 6e 67 65 6e 74 73 6f 66 74 2e 63 6f 6d 2f 6d  angentsoft.com/m
10f0: 79 73 71 6c 70 70 2f 74 69 6d 65 6c 69 6e 65 3f  ysqlpp/timeline?
1100: 72 3d 76 32 2e 33 2e 32 2d 6d 6f 64 65 72 6e 29  r=v2.3.2-modern)
1110: 20 62 72 61 6e 63 68 2c 20 77 68 69 63 68 20 6d   branch, which m
1120: 61 6b 65 73 20 6d 69 6e 69 6d 61 6c 20 63 68 61  akes minimal cha
1130: 6e 67 65 73 20 74 6f 20 76 65 72 73 69 6f 6e 20  nges to version 
1140: 32 2e 33 2e 32 20 e2 80 94 20 74 68 65 20 6c 61  2.3.2 — the la
1150: 73 74 20 72 65 6c 65 61 73 65 20 69 6e 20 74 68  st release in th
1160: 65 20 32 2e 78 20 6c 69 6e 65 20 e2 80 94 20 74  e 2.x line — t
1170: 6f 20 61 6c 6c 6f 77 20 69 74 20 74 6f 20 62 75  o allow it to bu
1180: 69 6c 64 20 6f 6e 20 6d 6f 64 65 72 6e 20 73 79  ild on modern sy
1190: 73 74 65 6d 73 2e 20 45 73 73 65 6e 74 69 61 6c  stems. Essential
11a0: 6c 79 2c 20 69 74 20 63 6f 6e 74 61 69 6e 73 20  ly, it contains 
11b0: 62 75 69 6c 64 20 66 69 78 65 73 20 61 6e 61 6c  build fixes anal
11c0: 6f 67 6f 75 73 20 74 6f 20 74 68 6f 73 65 20 77  ogous to those w
11d0: 65 27 76 65 20 64 6f 6e 65 20 69 6e 20 74 68 65  e've done in the
11e0: 20 33 2e 78 20 6c 69 6e 65 20 77 69 74 68 6f 75   3.x line withou
11f0: 74 20 62 61 63 6b 70 6f 72 74 69 6e 67 20 61 6e  t backporting an
1200: 79 20 61 63 74 75 61 6c 20 66 65 61 74 75 72 65  y actual feature
1210: 73 20 6f 72 20 62 65 68 61 76 69 6f 72 20 63 68  s or behavior ch
1220: 61 6e 67 65 73 20 66 72 6f 6d 20 33 2e 78 2e 20  anges from 3.x. 
1230: 54 68 69 73 20 62 72 61 6e 63 68 20 69 73 20 75  This branch is u
1240: 6e 6c 69 6b 65 6c 79 20 74 6f 20 65 76 65 72 20  nlikely to ever 
1250: 62 65 20 72 65 6c 65 61 73 65 64 2c 20 62 75 74  be released, but
1260: 20 69 74 20 69 73 20 69 6e 74 65 6e 64 65 64 20   it is intended 
1270: 74 6f 20 62 65 20 22 73 74 61 62 6c 65 22 20 61  to be "stable" a
1280: 74 20 61 6c 6c 20 74 69 6d 65 73 2e 0d 0a 0d 0a  t all times.....
1290: 0d 0a 23 23 20 3c 61 20 6e 61 6d 65 3d 22 64 6f  ..## <a name="do
12a0: 63 73 22 3e 3c 2f 61 3e 44 6f 63 75 6d 65 6e 74  cs"></a>Document
12b0: 61 74 69 6f 6e 0d 0a 0d 0a 54 68 65 20 5b 6f 6e  ation....The [on
12c0: 6c 69 6e 65 20 75 73 65 72 20 61 6e 64 20 72 65  line user and re
12d0: 66 65 72 65 6e 63 65 20 6d 61 6e 75 61 6c 73 5d  ference manuals]
12e0: 28 2f 64 6f 63 2f 29 20 61 72 65 20 61 6c 73 6f  (/doc/) are also
12f0: 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65   included in the
1300: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 74 61 72   source code tar
1310: 62 61 6c 6c 20 61 62 6f 76 65 2e 0d 0a 0d 0a 0d  ball above......
1320: 0a 23 23 20 3c 61 20 6e 61 6d 65 3d 22 66 61 71  .## <a name="faq
1330: 22 3e 3c 2f 61 3e 46 72 65 71 75 65 6e 74 6c 79  "></a>Frequently
1340: 2d 41 73 6b 65 64 20 51 75 65 73 74 69 6f 6e 73  -Asked Questions
1350: 0d 0a 0d 0a 54 68 65 20 5b 46 41 51 20 6c 69 73  ....The [FAQ lis
1360: 74 5d 28 2f 77 69 6b 69 3f 6e 61 6d 65 3d 46 41  t](/wiki?name=FA
1370: 51 29 20 61 6e 73 77 65 72 73 20 6d 61 6e 79 20  Q) answers many 
1380: 63 6f 6d 6d 6f 6e 6c 79 2d 61 73 6b 65 64 20 71  commonly-asked q
1390: 75 65 73 74 69 6f 6e 73 20 61 62 6f 75 74 20 4d  uestions about M
13a0: 79 53 51 4c 2b 2b 2e 0d 0a 0d 0a 0d 0a 23 23 20  ySQL++.......## 
13b0: 3c 61 20 6e 61 6d 65 3d 22 63 6f 6e 74 72 69 62  <a name="contrib
13c0: 22 3e 3c 2f 61 3e 43 6f 6e 74 72 69 62 75 74 69  "></a>Contributi
13d0: 6e 67 20 74 6f 20 74 68 65 20 45 66 66 6f 72 74  ng to the Effort
13e0: 0d 0a 0d 0a 54 68 65 20 65 61 73 69 65 73 74 20  ....The easiest 
13f0: 74 68 69 6e 67 20 74 6f 20 64 6f 20 69 66 20 79  thing to do if y
1400: 6f 75 20 77 61 6e 74 20 74 6f 20 68 65 6c 70 20  ou want to help 
1410: 6f 75 74 20 77 69 74 68 20 74 68 65 20 4d 79 53  out with the MyS
1420: 51 4c 2b 2b 20 64 65 76 65 6c 6f 70 6d 65 6e 74  QL++ development
1430: 20 65 66 66 6f 72 74 20 69 73 20 74 6f 20 70 61   effort is to pa
1440: 72 74 69 63 69 70 61 74 65 20 6f 6e 20 74 68 65  rticipate on the
1450: 20 5b 77 65 62 20 66 6f 72 75 6d 5d 28 2f 66 6f   [web forum](/fo
1460: 72 75 6d 29 2e 20 54 68 65 20 6c 69 62 72 61 72  rum). The librar
1470: 79 27 73 20 70 72 69 6d 61 72 79 20 64 65 76 65  y's primary deve
1480: 6c 6f 70 65 72 20 64 6f 65 73 20 6e 6f 74 20 6d  loper does not m
1490: 69 6e 64 20 61 74 20 61 6c 6c 20 69 66 20 73 6f  ind at all if so
14a0: 6d 65 6f 6e 65 20 65 6c 73 65 20 61 6e 73 77 65  meone else answe
14b0: 72 73 20 61 20 71 75 65 73 74 69 6f 6e 20 62 65  rs a question be
14c0: 66 6f 72 65 20 68 65 20 63 61 6e 20 67 65 74 20  fore he can get 
14d0: 74 6f 20 69 74 2e 20 3c 62 3e 3c 74 74 3e 3a 29  to it. <b><tt>:)
14e0: 3c 2f 74 74 3e 3c 2f 62 3e 20 49 74 e2 80 99 73  </tt></b> It’s
14f0: 20 61 6c 73 6f 20 66 72 65 71 75 65 6e 74 6c 79   also frequently
1500: 20 68 65 6c 70 66 75 6c 20 74 6f 20 68 61 76 65   helpful to have
1510: 20 64 69 66 66 65 72 65 6e 74 20 76 6f 69 63 65   different voice
1520: 73 20 63 6f 6e 74 72 69 62 75 74 69 6e 67 20 74  s contributing t
1530: 6f 20 64 69 73 63 75 73 73 69 6f 6e 73 20 61 62  o discussions ab
1540: 6f 75 74 20 74 68 65 20 6c 69 62 72 61 72 79 e2  out the libraryâ
1550: 80 99 73 20 66 75 74 75 72 65 2e 0d 0a 0d 0a 49  €™s future.....I
1560: 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 61  f you want to pa
1570: 72 74 69 63 69 70 61 74 65 20 69 6e 20 74 68 65  rticipate in the
1580: 20 63 6f 64 69 6e 67 20 65 66 66 6f 72 74 2c 20   coding effort, 
1590: 74 68 65 20 4d 79 53 51 4c 2b 2b 20 64 65 76 65  the MySQL++ deve
15a0: 6c 6f 70 6d 65 6e 74 20 70 72 6f 6a 65 63 74 20  lopment project 
15b0: 69 73 20 68 6f 73 74 65 64 20 62 79 20 5b 46 6f  is hosted by [Fo
15c0: 73 73 69 6c 5d 28 68 74 74 70 3a 2f 2f 66 6f 73  ssil](http://fos
15d0: 73 69 6c 2d 73 63 6d 2e 6f 72 67 2f 29 2c 20 61  sil-scm.org/), a
15e0: 20 64 69 73 74 72 69 62 75 74 65 64 20 76 65 72   distributed ver
15f0: 73 69 6f 6e 20 63 6f 6e 74 72 6f 6c 20 73 69 6d  sion control sim
1600: 69 6c 61 72 20 74 6f 20 47 69 74 20 62 75 74 20  ilar to Git but 
1610: 6d 75 63 68 20 65 61 73 69 65 72 20 74 6f 20 75  much easier to u
1620: 73 65 2e 20 53 65 65 20 5b 74 68 65 20 48 61 63  se. See [the Hac
1630: 6b 65 72 73 20 66 69 6c 65 5d 28 2f 66 69 6c 65  kers file](/file
1640: 2f 48 41 43 4b 45 52 53 2e 6d 64 29 20 66 6f 72  /HACKERS.md) for
1650: 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 6f 6e   instructions on
1660: 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 46 6f   working with Fo
1670: 73 73 69 6c 20 61 6e 64 20 74 68 65 20 4d 79 53  ssil and the MyS
1680: 51 4c 2b 2b 20 73 6f 75 72 63 65 20 63 6f 64 65  QL++ source code
1690: 2e 0d 0a 0d 0a 49 66 20 79 6f 75 27 72 65 20 6c  .....If you're l
16a0: 6f 6f 6b 69 6e 67 20 66 6f 72 20 70 72 6f 6a 65  ooking for proje
16b0: 63 74 73 20 74 6f 20 74 61 63 6b 6c 65 2c 20 73  cts to tackle, s
16c0: 65 65 20 5b 74 68 65 20 57 69 73 68 6c 69 73 74  ee [the Wishlist
16d0: 5d 28 2f 66 65 61 74 75 72 65 73 29 2e 0d 0a 0d  ](/features)....
16e0: 0a 49 66 20 79 6f 75 20 6a 75 73 74 20 77 61 6e  .If you just wan
16f0: 74 20 74 6f 20 6b 65 65 70 20 75 70 20 6f 6e 20  t to keep up on 
1700: 74 68 65 20 69 6e 2d 70 72 6f 67 72 65 73 73 20  the in-progress 
1710: 64 65 76 65 6c 6f 70 6d 65 6e 74 73 2c 20 73 65  developments, se
1720: 65 20 5b 74 68 65 20 70 72 6f 6a 65 63 74 20 74  e [the project t
1730: 69 6d 65 6c 69 6e 65 5d 28 2f 74 69 6d 65 6c 69  imeline](/timeli
1740: 6e 65 29 2c 20 77 68 69 63 68 20 69 73 20 61 6c  ne), which is al
1750: 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20  so available in 
1760: 5b 52 53 53 20 66 6f 72 6d 5d 28 2f 74 69 6d 65  [RSS form](/time
1770: 6c 69 6e 65 2e 72 73 73 29 20 66 6f 72 20 74 68  line.rss) for th
1780: 6f 73 65 20 77 68 6f 20 77 61 6e 74 20 4d 79 53  ose who want MyS
1790: 51 4c 2b 2b 20 63 68 61 6e 67 65 73 20 74 6f 20  QL++ changes to 
17a0: 61 70 70 65 61 72 20 69 6e 20 74 68 65 69 72 20  appear in their 
17b0: 66 65 65 64 20 72 65 61 64 65 72 2e 20 59 6f 75  feed reader. You
17c0: 20 63 61 6e 20 61 6c 73 6f 20 5b 73 75 62 73 63   can also [subsc
17d0: 72 69 62 65 20 74 6f 20 65 6d 61 69 6c 20 6e 6f  ribe to email no
17e0: 74 69 66 69 63 61 74 69 6f 6e 73 5d 28 2f 73 75  tifications](/su
17f0: 62 73 63 72 69 62 65 29 20 66 6f 72 20 76 61 72  bscribe) for var
1800: 69 6f 75 73 20 65 76 65 6e 74 73 3a 20 63 68 65  ious events: che
1810: 63 6b 2d 69 6e 73 2c 20 77 69 6b 69 20 65 64 69  ck-ins, wiki edi
1820: 74 73 2c 20 66 6f 72 75 6d 20 70 6f 73 74 69 6e  ts, forum postin
1830: 67 73 2c 20 65 74 63 2e 0a 5a 20 31 38 32 38 32  gs, etc..Z 18282
1840: 34 37 34 62 62 62 66 34 63 63 36 34 33 39 61 36  474bbbf4cc6439a6
1850: 39 39 66 36 61 62 32 31 33 36 34 0a              99f6ab21364.