MySQL++

Check-in [775aba61ff]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Removed the Subversion revision numbers from the ChangeLog entries, since the Subversion repo it refers to is no longer available.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:775aba61ff2f14bd86ae87a541da6b923a90c1126851407a26ecca60124640e5
User & Date: tangent 2018-07-26 15:31:13
Context
2018-07-26
16:54
Added MYSQLPP_UTF8_CS macro. Using it in resetdb example. Documented it in the user manual, along with an explanation of the MySQL history of Unicode support to justify its existence. check-in: 9c2b57cbf6 user: tangent tags: trunk
15:31
Removed the Subversion revision numbers from the ChangeLog entries, since the Subversion repo it refers to is no longer available. check-in: 775aba61ff user: tangent tags: trunk
15:25
Converted the plain-text ChangeLog file to Markdown format, adding only as much formatting as needed to avoid rendering problems in Vim's markdown mode and in Fossil's web rendering. Updated all source code and documentation input file references to the file to now use "ChangeLog.md". (References from Fossil wiki documents will be updated next.) check-in: 7955e40246 user: tangent tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.md.

1
2
3
4
5
6
7
8
9
10
..
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
..
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
..
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
...
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
...
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
...
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
...
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
...
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
...
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
...
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
....
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
....
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
....
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
....
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
....
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
....
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
....
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
....
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
....
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
....
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
....
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
....
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
....
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
....
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
....
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
....
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
....
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
....
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
....
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
....
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
....
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
....
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
....
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
....
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
....
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
....
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
....
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
....
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
# Change Log

## 3.2.3, 2016.12.29 (r2790)

*   Now using `snprintf()` instead of `_snprintf()` on Visual C++ 2015.

*   Cygwin changed its naming for the MySQL C API library since the last
    time we successfully tried building MySQL++ there.  Reworked the
    autoconf detection macro to make it less dependent on such
    individual platform differences.
................................................................................
    needs them, rather than expecting that major variables like CPPLFAGS
    and LIBS were overridden by the autoconf macro.  This makes the
    autoconf case more like that of the non-autoconf Bakefile outputs.

*   Squished a Clang warning


## 3.2.2, 2015.03.18 (r2780)

*   The DBDriver::operator= would leak a live connection if you
    assigned a disconnected DBDriver to it.  Patch by Quentin Armitage.

*   Plugged a potential DBDriver instance leak in Connection ctor.
    Patch by Yury Alekseev.

................................................................................
*   Tracked several changes made to Connector/C made since 3.2.1.

*   Assorted documentation updates.

*   Generating HTML with UTF-8 encoding, not 8859-1


## 3.2.1, 2013.12.10 (r2756)

*   Connection copy ctor wasn't copying the "throw exceptions"
    flag.  The copy always had exceptions enabled.

*   The resetdb example would print a bogus message about logging in
    as '1'@'1' instead of showing the actual values passed on the
    command line.  This did not affect how it actually logged in.
................................................................................
*   Previous release tarball was missing a few text files present in
    the source repository.

*   Updated build paths for VC++ and MinGW to track a file layout
    change in Connector/C 6.1.2.


## 3.2.0, 2013.06.20 (r2747)

*   References to MySQL 5.1 have been replaced with 5.6, that
    being the current GA release.

*   All Windows builds now assume you're using Connector/C 6.1
    instead of having installed the MySQL server on your machine
    just to get development files.  If you are running a MySQL
................................................................................
    should be.

*   Assorted documentation and build system improvements.

*   Assorted fixes for newer GCCs.


## 3.1.0, 2010.06.03 (r2670)

*   Default MySQL version now 5.1, having entered GA since 3.0.9.

*   Lots of platform updates tracked, lots of warnings from newer
    compilers squished.  Most by me, some by Adrian Cornish.

*   Added Query::insertfrom(), plus associated classes SQLStream,
................................................................................
    yet, it just got caught up in the need to release 3.1 as-is.

*   Various enhancements to the test suite.

*   Many, many documentation enhancements.


## 3.0.9, 2009.02.04 (r2442)

*   It is now possible to use Null<T> objects in const context.

*   Query was emitting thousands separators when used in some
    locales.  Thanks for the fix go to Tomaž Šolc.

*   Restored support for using Query::storein() with template
................................................................................
*   Changed all instances of "CREDITS" in header comments to
    "CREDITS.txt".

*   Brought ebuild file up to date with what Gentoo has been
    using for 2.3.2.


## 3.0.7, 2008.11.21 (r2423)

*   Fixed bug where initting a Query with a query string and then
    appending more to it with operator <<() would start overwriting
    the beginning of the buffer.  Thanks for the fix go to Chris
    Frey.

*   Added String::empty(), to parallel std::string better.
................................................................................

*   Dedicated VC++ 2008 support.  (Not just a clone of VC++ 2005
    project files in a different directory.)

*   Lots of documentation improvements.


## 3.0.6, 2008.08.16 (r2350)

*   Several fixes to allow thread-aware build on Solaris

*   More improvements to search for Fink version of C API library.

*   Various improvements to Windows installer (install.hta)


## 3.0.5, 2008.08.06 (r2332)

*   Replaced install.bat with new install.hta, which has a GUI and a
    lot of embeded logic for doing The Right Thing, which we couldn't
    do in a dumb batch file.

*   Several fixes to allow it to build on Solaris 10.

................................................................................
    lately, MySQL has been shipping the library with zlib stuff
    embedded, causing multiply defined symbol errors on some systems.

*   configure script now looks in more locations for the MySQL C API
    library, adding default locations for Fink and Solaris.


## 3.0.4, 2008.07.02 (r2303)

*   Fixed a few bugs in SslOption that prevented it from actually
    working.  If you've been having SSL problems since upgrading
    to MySQL++ v3, this is why!  Thanks for these patches go to
    Petteri Kiiskinen.

*   Changed type of String's internal "size" typedefs so it'll
    build without errors on 64-bit systems where these ints are
    different sizes.

*   Many user manual improvements.


## 3.0.3, 2008.05.11 (r2284)

*   Fixed query well-formedness handling in Query::store() and use().
    It was quietly eating these errors, confusing them with the
    no-results case.

*   Fixed examples/cpool.cpp to build without thread support.

................................................................................

*   Fixed mysqlpp::String comparisons of empty strings against
    nonempty strings; if the empty string was on the left hand side,
    it would succeed because it was only comparing against characters
    in the empty side, which matches everything.  (Fixes bug 11588.)


## 3.0.2, 2008.04.13 (r2275)

*   Increased float to string conversion precision from 7 to 9 and
    double from 16 to 17 digits.  Previous values weren't enough
    near the maximum values that each can hold.

*   Replaced Query's safe bool mechanism with an override of
    basic_ios::operator void*() to avoid a conflict between the
................................................................................

*   Overriding ConnectionPool::grab() and release() in
    examples/cpool.cpp to show how to do connection-in-use count
    limiting.  Also, added a few more output indicator states to
    allow one to better understand program flow.


## 3.0.1, 2008.03.23 (r2263)

*   String objects can now be compared to mysqlpp::null directly.

*   Added a template operator== and operator!= to String, syntactic
    sugar for the existing String::compare() methods.

*   String::compare() now returns 0 ("equal") when one of the
................................................................................
    complete build, if the user has one of the newer compilers.

*   ...plus dozens of small bug fixes and internal enhancements,
    many documentation improvements, and expansion of support for
    newer operating systems and compilers.


## 2.3.2, 2007.07.11 (r1669)

*   Previous release's `const_string` change caused more problems
    than it fixed.  This release contains the real fix. :)

*   New `Connection::set_option()` handling deals with the multi
    statements option correctly again.  examples/multiquery now
    runs again as a result.
................................................................................
    features enabled, which is the case with the official binary
    releases on Windows.  (Builds on *ix systems continue to
    test for these features at configure time.)

*   Fixed simple examples-only Makefile generation, for RPMs.


## 2.3.0, 2007.07.02 (r1645)

*   Added `Query::for_each()` and `Query::store_if()` methods
    proposed by Joel Fielder, and added examples for each.

*   It's now possible to store BLOB data in an SSQLS.  It's not
    foolproof, so added a section to the user manual (5.9) to
    document the method.  Also, changed examples/cgi_jpeg to use
................................................................................
*   Added "Important Underlying C API Limitations" chapter to the
    user manual, to cover problems we keep seeing on the
    mailing list that are the result of ignorance of the way
    libmysqlclient behaves, not bugs MySQL++ is really in a
    position to fix.


## 2.2.1, 2007.02.28 (r1433)

*   Fixed the new localtime() alternative selection code
    for VS2003 and various uses of STLport.

*   No longer inserting a null character into the query stream
    on calling one of the preview() functions.  This was harmless
    in v2.1, which used C strings more extensively, but began
................................................................................
*   Reordered directory list used by autconf when locating the
    MySQL C API library.  The list is now ordered with the
    most likely locations for the library first, so we're less
    distracted by incorrect libraries.  This fixes a specific
    build error under RHEL4 with recent versions of MySQL 5.0.


## 2.2.0, 2007.01.23 (r1417)

*   `ColData`, `const_string`, and `SQLString` can now be constructed
    with an explicit length parameter.  Furthermore, Query
    class's `execute()`, `store()` and `use()` call chains terminate
    in a version taking an explicit length parameter, instead
    of one taking a simple C string.  Together, this means
    that it's now easier to handle data from the SQL server
................................................................................

*   Fixed thread safety testing in autoconf case, accidentally
    broken during v2.1.0 development cycle.

*   Using Doxygen 1.5.1 to generate documentation.


## 2.1.1, 2006.04.04 (r1289)

*   MinGW and Cygwin will now build and link to mysqlpp DLLs.

*   Fixed bug in Query, causing it to initialize the "throw
    exceptions" flag incorrectly.  Thanks for this patch go to
    Joel Fielder.

................................................................................
*   Added -v flag for custom.pl script, which turns off the
    multiply-defined static variable fix.  Needed for VS 2003,
    which doesn't support variadic macros.  Also, added
    a diagnostic to detect the need for the -v flag, and
    suppressed the test for this feature in examples/util.cpp.


## 2.1.0, 2006.03.24 (r1269)

*   Converted automake and makemake files to their equivalents in
    Bakefile format.

*   Added the Transaction class, which makes it easy to use
    transaction sets in MySQL++.

................................................................................
    to build queries.  Previously, we would use the platform
    default, which can be as few as 6 digits.

*   Removed lib/compare.h.  Not used within the library, never
    documented, and nobody seems to want to defend it.


## 2.0.7, 2005.11.23 (r1147)

*   Added explicit mysqlpp namespace qualifiers to generated code in
    custom*.h so you can use SSQLS in places where it doesn't make
    sense to say "using namespace mysqlpp" before the declaration.
    Also updated some of the examples to not have this "using"
    declaration to make it clear to users that it isn't needed, if you
    want to use explicit namespace qualifiers as well.  Thanks for
................................................................................
*   Fixed a potential memory bug in ColData's conversion to SQL null.

*   Many minor packaging tweaks.  (README clarifications, file
    permission fixes, better adherence to GNU packaging standards,
    etc.)

    
## 2.0.6, 2005.09.28 (r1123)

*   Fixed makemake.bat so it works on cmd.exe, not just 4NT.

*   Documentation fixes.


## 2.0.5, 2005.09.13 (r1114)

*   Visual C++ build now requires GNU make.  It is tested to work
    with either the Cygwin or the MinGW versions.  The previous
    version of MySQL++ used nmake.  This change enabled the
    following features:

      o Debug and Release versions are both built into
................................................................................
    of the library does not work completely, and there seems
    to be almost no user interest in fixing it.
    
*   Clarified "Handling SQL Nulls" section of user manual's
    Tutorial chapter.


## 2.0.4, 2005.08.29 (r1076)

*   Made `mysql_shutdown()` second parameter autoconf check less
    sensitive to compiler pedantry.

*   VC++ library Makefile is now smart enough to re-create the
    import library, if it is deleted while leaving the DLL alone.

................................................................................
*   Added libmysqlclient.def to tarball.

*   Reworked most of the top-level `README*` files.

*   Renamed LGPL file to LICENSE.


## 2.0.3, 2005.08.25 (r1060)

*   Visual C++ makemake system updated to build both debug and
    release versions of library DLL.

*   Fixed bug in simple1 example that caused crashes on Windows.

*   Doing UTF-8 to ANSI text translation in simple examples now.

*   Previous two releases built libmysqlpp with wrong soname on
    autotools-based systems.  Fixed.


## 2.0.2, 2005.08.18 (r1050)

*   Fixes to makemake system for cmd.exe.

*   Fixed the case where the system's C++ library includes an slist
    implementation in namespace std.


## 2.0.1, 2005.08.17 (r1046)

*   Added new simple1 example, showing how to retrieve just one
    column from a table.  Old simple1 is now called simple2, and
    simple2 is likewise shifted to simple3.

*   Added custom6 example, showing how to do the same thing with
    SSQLS.
................................................................................
*   Added sample autoconf macro for finding MySQL++ libraries, for
    people to use in their own autotools-based projects.

*   Lots and lots of minor cleanups not worth mentioning
    individually...


## 1.7.40, 2005.05.26 (r719)

*   Multiple item form of insert() now works if you're using the
    SQLQuery class, or its derivative, Query.  Thanks to Mark
    Meredino for this patch.

*   Fixed a bug in `const_string::compare()`, in which MySQL++
    would walk off the end of the shorter of the two strings.
................................................................................
*   Made some warning fixes for GCC 4.0.  Not all warnings are
    fixed, because some of the needed changes would break the ABI.
    Thanks to Chris Frey for this patch.

*   Added lib/Doxyfile to distribution.
    

## 1.7.34, 2005.04.30 (r573)

*   Added a multiple-insert method for Query, which lets you insert
    a range of records from an STL container (or the whole thing,
    if you like) in a single SQL query.  This is faster, and it
    reduces coding errors due to less repetition.  Thanks to Mark
    Meredino for the patch.

................................................................................
*   Fixed a regression in previous version.

*   Trimmed some fat from the distribution packages.

*   Some more small doucmentation improvements.


## 1.7.33, 2005.04.29 (r555)

*   Worked around an overloaded operator lookup bug in VC++ 7.1 that
    caused SSQLS insert, replace and update queries to get mangled.
    (Symptom was that custom2 and custom3 examples didn't work right.)
    Thanks to Mark Meredino for digging up [the problem's characterization
    and its solution](https://groups.google.com/forum/#!topic/microsoft.public.vc.stl/mmjYRkTmTxU).

................................................................................
      o Documentation is now being built in HTML and PDF forms.

*   ebuild file updated to take advantage of recent configure script
    features.  Thanks to Chris Frey for this patch.



## 1.7.32, 2005.03.10 (r479)

*   Example building may now be skipped with --disable-examples
    configure script flag.

*   Changed stock items added in resetdb.  One is now UTF-8 encoded,
    to show that basic use of Unicode with MySQL++ is easy, yet not
    foolproof.  (See formatting of table on systems where cout isn't
................................................................................
    ostringstream to do the conversion.  Previously, we used
    snprintf(), which isn't available on all systems.  Also, we used a
    C99 format specifier for the "long long" conversion, which is also
    not available on all systems.  This new ostringstream code should
    be platform-independent, finally.


## 1.7.28, 2005.02.04 (r403)

*  ` --with-mysql*` flags to configure script now try the given
    directory explicitly, and only if that fails do they try
    variations, like tacking '/lib' and such onto it to try and find
    the MySQL includes and libraries.  Thanks to Matthew Walton for
    the patch.

*   Finally removed `sql_quote.h`'s dependence on `custom.h` by moving
    the one definition it needed from `custom.h` to `deps.h`.  This will
    help portability to compilers that can't handle the SSQLS macros
    by making that part of the library truly optional.


## 1.7.27, 2005.01.12 (r395)

*   configure check for libmysqlclient now halts configuration if the
    library isn't found.  Previously, it would just be flagged as
    missing, and MySQL++ would fail to build.

*   Added `sql_string.cpp` to VC++ and BCBuilder project files.

................................................................................
*   Removed last vestiges of 'dummy.cpp'.

*   Renamed `*.cc` to `*.cpp` in BCBuilder project files.

*   Worked around a BCBuilder C++ syntax processing bug in row.h.


## 1.7.26, 2004.12.17 (r382)

*   Moved all of the SQLString definitions out of the header and into
    a new .cpp file, reformatted it all, and made the integer
    conversion functions use snprintf() or _snprintf() instead of
    sprintf().  Also, widened some of the buffers for 64-bit systems.

*   Using quoted #include form for internal library headers, to avoid
................................................................................
*   Fix to Gentoo ebuild file's exception configure switch handling.
    Thanks to Chris Frey for this patch.

*   Rebuilding `lib/custom*.h` intelligently now, to avoid unnecessary
    recompiles after running bootstrap script.


## 1.7.25, 2004.12.09 (r360)

*   Yet more fixes to the --with-mysql-lib and --with-mysql-include
    flags.

*   Added DLLEXPORT stuff to platform.h, hopefully so that someone
    can figure out how to make VC++ make a DLL version of MySQL++.

................................................................................
*   Renamed `*.cc` to `*.cpp`.

*   Made 'set -> myset' change in VC++ project files.

*   Some style changes (mostly whitespace) in header files.


## 1.7.24, 2004.12.08 (r343)

*   Fixed the --with-mysql-lib and --with-mysql-include flags'
    behavior, and extended their search ability to handle one other
    common case.  (Fixed by Steve Roberts)

*   Fixes to put freestanding functions in namespace mysqlpp.  (They
    weren't in the namespace, while all the class member functions
................................................................................

*   Renamed all the idempotency guards to make them consistent in
    style and unique to MySQL++.

*   Reformatted all of `lib/*.cc`.


## 1.7.23, 2004.11.20 (r333)

*   Query::reset() now empties the stored query string.  If you
    subsequently stored a longer query in the object, you'd overwrite
    the previous query, but otherwise the longer part of the previous
    one would stick out past the new query.

*   We now look to the `NO_LONG_LONGS` macro only to decide whether to
................................................................................
*   Fixed an incorrect use of row["string"] in complic1 example.

*   Lots of code style improvements to the examples.

*   Some VC++ type warnings squished.  Some remain.
    

## 1.7.22, 2004.11.17 (r302)

*   Applied patches by Zahroof Mohammed to allow it to build under GCC
    3.4.2.  Tested on MinGW and Fedora Core 3 systems.

*   Removed all the forward declarations in defs.h, and added
    forward declarations where necessary in individual header files.
    #including defs.h in fewer locations as a result.
................................................................................
*   `#including custom.h` in `sql_query.h` again...it's necessary on GCC
    3.4.
    
*   bootstrap script runs lib/config.pl after configure.  This is
    just a nicety for those running in 'maintainer mode'.


## 1.7.21, 2004.11.05 (r273)

*   Generating a main mysql++ RPM containing just the library files
    and basic documentation, and the -devel package containing
    everything else.

*   Devel package contains examples now, along with a new Makefile
    that uses the system include and library files, rather than the
................................................................................

*   Removed the obsolete lib/README file.

*   `lib/sql_query.h` no longer #includes custom.h, simplifying
    build-time dependencies and shortening compile times.


## 1.7.20, 2004.11.03 (r258)

*   Collapsed all numbered `*.hh` headers into a single `*.h` file.  For
    example, the contents of row1.hh, row2.hh and row3.hh are now in
    row.h.

*   While doing the previous change, broke several circular
    dependencies.  (The numbered file scheme was probably partly done
................................................................................

*   There is now only one place where conditional inclusion of
    winsock.h happens: platform.h.

*   Beautified the example programs.


## 1.7.19, 2004.10.25 (r186)

*   Fixed an infinite loop in the query mechanism resulting from the
    strstream change in the previous version.  There is an overloaded
    set of str() member functions that weren't a problem when query
    objects were based on strstream.
     
*   Query mechanism had a bunch of const-incorrectness: there were
................................................................................
*   Above changes required bumping the ABI to version 2.

*   Visual C++ projects now look for MySQL build files in c:\mysql,
    since that's the default install location.  (Previously, it was
    c:\program files\mysql.)


## 1.7.18, 2004.10.01 (r177)

*   Changed all the strstream (and friends) stuff to stringstream type
    classes.  Let there be much rejoicing.

*   Query object now lets you use store() even when the SQL query
    cannot return a result, such as a DROP TABLE command.  This is
    useful for sending arbitrary SQL to the server.  Thanks to
................................................................................
*   Renamed `undef_short` file to `undef_short.hh`.

*   Gentoo ebuild file is actually being shipped with the tarball,
    instead of just sitting in my private CVS tree since 1.7.14 was
    current.  Ooops....


## 1.7.17, 2004.09.16 (r170)

*   Reverted one of the VC++ warning fix changes from 1.7.16 that
    caused crashes on Linux.

*   Added a configure test that conditionally adds the extra 'level'
    parameter to mysql_shutdown() that was added in MySQL 4.1.3 and
    5.0.1.


## 1.7.16, 2004.09.13 (r160)

*   Building VC++ version with DLL version of C runtime libraries, and
    at warning level 3 with no warnings emitted.

*   VC++ build no longer attempts to fake "long long" support.  See
    the Wishlist for further thoughts on this.


## 1.7.15, 2004.09.02 (r144)

*   Renamed Configure file to common.am, to avoid file name conflict
    with configure script on case-sensitive file systems.

*   Added ebuild file and ebuild target to top-level Makefile for
    Gentoo systems.  Thanks to Chris Frey for this.

*   Small efficiency improvements to BadQuery exception handling.
    Initial idea by Chris Frey, improvements by Warren Young.


## 1.7.14, 2004.08.26 (r130)

*   Builds with Visual C++ 7.1.

*   Fixed a bug in custom macro generation that caused problems with
    GCC 3.4.  (X_cus_value_list ctor definition was broken.)


## 1.7.13, 2004.08.23 (r92)

*   Removed USL CC support.  (System V stock system compiler.)  Use
    GCC on these platforms instead.

*   Added examples/README, explaining how to use the examples, and
    what they all do.

................................................................................
    GCC 3.4 and Borland C++ Builder 6.  Thanks to Steffen Schumacher
    and Totte Karlsson for their testing and help with these.

*   Added proper #includes for BCBuilder, plus project files for same.
    Thanks to Totte Karlsson for these.


## 1.7.12, 2004.08.19 (r63)

*   Many Standard C++ fixes, most from the GCC 3.4 patch by
    Rune Kleveland.

*   Added Wishlist file to distribution.

*   Fixed a problem in the bootstrap script that caused complaints
................................................................................
    from the autotools on some systems.

*   RPM building is working properly now.

*   Fixed the idempotency guard in datetime1.hh.


## 1.7.11, 2004.08.17 (r50)

*   Renamed `mysql++`, `defs` and `define_short` files, adding `.hh` to the
    end of each.  (They're header files!)  This shouldn't impact
    library users, since these are hopefully used internal to the
    library only.

*   Removed `sqlplus.hh` file.  Use `mysql++.hh` instead.
................................................................................

*   Added pre-1.7.10 history to this file.

*   Removed .version file.  Apparently it's something required by old
    versions of libtool.


## 1.7.10, 2004.08.16 (r27)

Maintenance taken over by Warren Young.  See [the mailing list
post](http://lists.mysql.com/plusplus/3326) for rationale.

*   Applied many of the GCC 3.x patches submitted for 1.7.9 over
    the years.  This allows it to build on everything from 3.0 to
    3.3.3, at least.  Because so many patches are rolled up in one


|







 







|







 







|







 







|







 







|







 







|







 







|







 







|








|







 







|













|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|






|







 







|







 







|












|







|







 







|







 







|







 







|







 







|







 







|













|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|









|








|











|







|







 







|







 







|







 







|







1
2
3
4
5
6
7
8
9
10
..
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
..
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
..
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
...
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
...
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
...
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
...
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
...
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
...
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
...
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
....
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
....
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
....
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
....
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
....
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
....
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
....
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
....
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
....
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
....
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
....
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
....
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
....
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
....
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
....
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
....
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
....
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
....
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
....
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
....
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
....
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
....
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
....
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
....
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
....
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
....
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
....
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
....
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
# Change Log

## 3.2.3, 2016.12.29

*   Now using `snprintf()` instead of `_snprintf()` on Visual C++ 2015.

*   Cygwin changed its naming for the MySQL C API library since the last
    time we successfully tried building MySQL++ there.  Reworked the
    autoconf detection macro to make it less dependent on such
    individual platform differences.
................................................................................
    needs them, rather than expecting that major variables like CPPLFAGS
    and LIBS were overridden by the autoconf macro.  This makes the
    autoconf case more like that of the non-autoconf Bakefile outputs.

*   Squished a Clang warning


## 3.2.2, 2015.03.18

*   The DBDriver::operator= would leak a live connection if you
    assigned a disconnected DBDriver to it.  Patch by Quentin Armitage.

*   Plugged a potential DBDriver instance leak in Connection ctor.
    Patch by Yury Alekseev.

................................................................................
*   Tracked several changes made to Connector/C made since 3.2.1.

*   Assorted documentation updates.

*   Generating HTML with UTF-8 encoding, not 8859-1


## 3.2.1, 2013.12.10

*   Connection copy ctor wasn't copying the "throw exceptions"
    flag.  The copy always had exceptions enabled.

*   The resetdb example would print a bogus message about logging in
    as '1'@'1' instead of showing the actual values passed on the
    command line.  This did not affect how it actually logged in.
................................................................................
*   Previous release tarball was missing a few text files present in
    the source repository.

*   Updated build paths for VC++ and MinGW to track a file layout
    change in Connector/C 6.1.2.


## 3.2.0, 2013.06.20

*   References to MySQL 5.1 have been replaced with 5.6, that
    being the current GA release.

*   All Windows builds now assume you're using Connector/C 6.1
    instead of having installed the MySQL server on your machine
    just to get development files.  If you are running a MySQL
................................................................................
    should be.

*   Assorted documentation and build system improvements.

*   Assorted fixes for newer GCCs.


## 3.1.0, 2010.06.03

*   Default MySQL version now 5.1, having entered GA since 3.0.9.

*   Lots of platform updates tracked, lots of warnings from newer
    compilers squished.  Most by me, some by Adrian Cornish.

*   Added Query::insertfrom(), plus associated classes SQLStream,
................................................................................
    yet, it just got caught up in the need to release 3.1 as-is.

*   Various enhancements to the test suite.

*   Many, many documentation enhancements.


## 3.0.9, 2009.02.04

*   It is now possible to use Null<T> objects in const context.

*   Query was emitting thousands separators when used in some
    locales.  Thanks for the fix go to Tomaž Šolc.

*   Restored support for using Query::storein() with template
................................................................................
*   Changed all instances of "CREDITS" in header comments to
    "CREDITS.txt".

*   Brought ebuild file up to date with what Gentoo has been
    using for 2.3.2.


## 3.0.7, 2008.11.21

*   Fixed bug where initting a Query with a query string and then
    appending more to it with operator <<() would start overwriting
    the beginning of the buffer.  Thanks for the fix go to Chris
    Frey.

*   Added String::empty(), to parallel std::string better.
................................................................................

*   Dedicated VC++ 2008 support.  (Not just a clone of VC++ 2005
    project files in a different directory.)

*   Lots of documentation improvements.


## 3.0.6, 2008.08.16

*   Several fixes to allow thread-aware build on Solaris

*   More improvements to search for Fink version of C API library.

*   Various improvements to Windows installer (install.hta)


## 3.0.5, 2008.08.06

*   Replaced install.bat with new install.hta, which has a GUI and a
    lot of embeded logic for doing The Right Thing, which we couldn't
    do in a dumb batch file.

*   Several fixes to allow it to build on Solaris 10.

................................................................................
    lately, MySQL has been shipping the library with zlib stuff
    embedded, causing multiply defined symbol errors on some systems.

*   configure script now looks in more locations for the MySQL C API
    library, adding default locations for Fink and Solaris.


## 3.0.4, 2008.07.02

*   Fixed a few bugs in SslOption that prevented it from actually
    working.  If you've been having SSL problems since upgrading
    to MySQL++ v3, this is why!  Thanks for these patches go to
    Petteri Kiiskinen.

*   Changed type of String's internal "size" typedefs so it'll
    build without errors on 64-bit systems where these ints are
    different sizes.

*   Many user manual improvements.


## 3.0.3, 2008.05.11

*   Fixed query well-formedness handling in Query::store() and use().
    It was quietly eating these errors, confusing them with the
    no-results case.

*   Fixed examples/cpool.cpp to build without thread support.

................................................................................

*   Fixed mysqlpp::String comparisons of empty strings against
    nonempty strings; if the empty string was on the left hand side,
    it would succeed because it was only comparing against characters
    in the empty side, which matches everything.  (Fixes bug 11588.)


## 3.0.2, 2008.04.13

*   Increased float to string conversion precision from 7 to 9 and
    double from 16 to 17 digits.  Previous values weren't enough
    near the maximum values that each can hold.

*   Replaced Query's safe bool mechanism with an override of
    basic_ios::operator void*() to avoid a conflict between the
................................................................................

*   Overriding ConnectionPool::grab() and release() in
    examples/cpool.cpp to show how to do connection-in-use count
    limiting.  Also, added a few more output indicator states to
    allow one to better understand program flow.


## 3.0.1, 2008.03.23

*   String objects can now be compared to mysqlpp::null directly.

*   Added a template operator== and operator!= to String, syntactic
    sugar for the existing String::compare() methods.

*   String::compare() now returns 0 ("equal") when one of the
................................................................................
    complete build, if the user has one of the newer compilers.

*   ...plus dozens of small bug fixes and internal enhancements,
    many documentation improvements, and expansion of support for
    newer operating systems and compilers.


## 2.3.2, 2007.07.11

*   Previous release's `const_string` change caused more problems
    than it fixed.  This release contains the real fix. :)

*   New `Connection::set_option()` handling deals with the multi
    statements option correctly again.  examples/multiquery now
    runs again as a result.
................................................................................
    features enabled, which is the case with the official binary
    releases on Windows.  (Builds on *ix systems continue to
    test for these features at configure time.)

*   Fixed simple examples-only Makefile generation, for RPMs.


## 2.3.0, 2007.07.02

*   Added `Query::for_each()` and `Query::store_if()` methods
    proposed by Joel Fielder, and added examples for each.

*   It's now possible to store BLOB data in an SSQLS.  It's not
    foolproof, so added a section to the user manual (5.9) to
    document the method.  Also, changed examples/cgi_jpeg to use
................................................................................
*   Added "Important Underlying C API Limitations" chapter to the
    user manual, to cover problems we keep seeing on the
    mailing list that are the result of ignorance of the way
    libmysqlclient behaves, not bugs MySQL++ is really in a
    position to fix.


## 2.2.1, 2007.02.28

*   Fixed the new localtime() alternative selection code
    for VS2003 and various uses of STLport.

*   No longer inserting a null character into the query stream
    on calling one of the preview() functions.  This was harmless
    in v2.1, which used C strings more extensively, but began
................................................................................
*   Reordered directory list used by autconf when locating the
    MySQL C API library.  The list is now ordered with the
    most likely locations for the library first, so we're less
    distracted by incorrect libraries.  This fixes a specific
    build error under RHEL4 with recent versions of MySQL 5.0.


## 2.2.0, 2007.01.23

*   `ColData`, `const_string`, and `SQLString` can now be constructed
    with an explicit length parameter.  Furthermore, Query
    class's `execute()`, `store()` and `use()` call chains terminate
    in a version taking an explicit length parameter, instead
    of one taking a simple C string.  Together, this means
    that it's now easier to handle data from the SQL server
................................................................................

*   Fixed thread safety testing in autoconf case, accidentally
    broken during v2.1.0 development cycle.

*   Using Doxygen 1.5.1 to generate documentation.


## 2.1.1, 2006.04.04

*   MinGW and Cygwin will now build and link to mysqlpp DLLs.

*   Fixed bug in Query, causing it to initialize the "throw
    exceptions" flag incorrectly.  Thanks for this patch go to
    Joel Fielder.

................................................................................
*   Added -v flag for custom.pl script, which turns off the
    multiply-defined static variable fix.  Needed for VS 2003,
    which doesn't support variadic macros.  Also, added
    a diagnostic to detect the need for the -v flag, and
    suppressed the test for this feature in examples/util.cpp.


## 2.1.0, 2006.03.24

*   Converted automake and makemake files to their equivalents in
    Bakefile format.

*   Added the Transaction class, which makes it easy to use
    transaction sets in MySQL++.

................................................................................
    to build queries.  Previously, we would use the platform
    default, which can be as few as 6 digits.

*   Removed lib/compare.h.  Not used within the library, never
    documented, and nobody seems to want to defend it.


## 2.0.7, 2005.11.23

*   Added explicit mysqlpp namespace qualifiers to generated code in
    custom*.h so you can use SSQLS in places where it doesn't make
    sense to say "using namespace mysqlpp" before the declaration.
    Also updated some of the examples to not have this "using"
    declaration to make it clear to users that it isn't needed, if you
    want to use explicit namespace qualifiers as well.  Thanks for
................................................................................
*   Fixed a potential memory bug in ColData's conversion to SQL null.

*   Many minor packaging tweaks.  (README clarifications, file
    permission fixes, better adherence to GNU packaging standards,
    etc.)

    
## 2.0.6, 2005.09.28

*   Fixed makemake.bat so it works on cmd.exe, not just 4NT.

*   Documentation fixes.


## 2.0.5, 2005.09.13

*   Visual C++ build now requires GNU make.  It is tested to work
    with either the Cygwin or the MinGW versions.  The previous
    version of MySQL++ used nmake.  This change enabled the
    following features:

      o Debug and Release versions are both built into
................................................................................
    of the library does not work completely, and there seems
    to be almost no user interest in fixing it.
    
*   Clarified "Handling SQL Nulls" section of user manual's
    Tutorial chapter.


## 2.0.4, 2005.08.29

*   Made `mysql_shutdown()` second parameter autoconf check less
    sensitive to compiler pedantry.

*   VC++ library Makefile is now smart enough to re-create the
    import library, if it is deleted while leaving the DLL alone.

................................................................................
*   Added libmysqlclient.def to tarball.

*   Reworked most of the top-level `README*` files.

*   Renamed LGPL file to LICENSE.


## 2.0.3, 2005.08.25

*   Visual C++ makemake system updated to build both debug and
    release versions of library DLL.

*   Fixed bug in simple1 example that caused crashes on Windows.

*   Doing UTF-8 to ANSI text translation in simple examples now.

*   Previous two releases built libmysqlpp with wrong soname on
    autotools-based systems.  Fixed.


## 2.0.2, 2005.08.18

*   Fixes to makemake system for cmd.exe.

*   Fixed the case where the system's C++ library includes an slist
    implementation in namespace std.


## 2.0.1, 2005.08.17

*   Added new simple1 example, showing how to retrieve just one
    column from a table.  Old simple1 is now called simple2, and
    simple2 is likewise shifted to simple3.

*   Added custom6 example, showing how to do the same thing with
    SSQLS.
................................................................................
*   Added sample autoconf macro for finding MySQL++ libraries, for
    people to use in their own autotools-based projects.

*   Lots and lots of minor cleanups not worth mentioning
    individually...


## 1.7.40, 2005.05.26

*   Multiple item form of insert() now works if you're using the
    SQLQuery class, or its derivative, Query.  Thanks to Mark
    Meredino for this patch.

*   Fixed a bug in `const_string::compare()`, in which MySQL++
    would walk off the end of the shorter of the two strings.
................................................................................
*   Made some warning fixes for GCC 4.0.  Not all warnings are
    fixed, because some of the needed changes would break the ABI.
    Thanks to Chris Frey for this patch.

*   Added lib/Doxyfile to distribution.
    

## 1.7.34, 2005.04.30

*   Added a multiple-insert method for Query, which lets you insert
    a range of records from an STL container (or the whole thing,
    if you like) in a single SQL query.  This is faster, and it
    reduces coding errors due to less repetition.  Thanks to Mark
    Meredino for the patch.

................................................................................
*   Fixed a regression in previous version.

*   Trimmed some fat from the distribution packages.

*   Some more small doucmentation improvements.


## 1.7.33, 2005.04.29

*   Worked around an overloaded operator lookup bug in VC++ 7.1 that
    caused SSQLS insert, replace and update queries to get mangled.
    (Symptom was that custom2 and custom3 examples didn't work right.)
    Thanks to Mark Meredino for digging up [the problem's characterization
    and its solution](https://groups.google.com/forum/#!topic/microsoft.public.vc.stl/mmjYRkTmTxU).

................................................................................
      o Documentation is now being built in HTML and PDF forms.

*   ebuild file updated to take advantage of recent configure script
    features.  Thanks to Chris Frey for this patch.



## 1.7.32, 2005.03.10

*   Example building may now be skipped with --disable-examples
    configure script flag.

*   Changed stock items added in resetdb.  One is now UTF-8 encoded,
    to show that basic use of Unicode with MySQL++ is easy, yet not
    foolproof.  (See formatting of table on systems where cout isn't
................................................................................
    ostringstream to do the conversion.  Previously, we used
    snprintf(), which isn't available on all systems.  Also, we used a
    C99 format specifier for the "long long" conversion, which is also
    not available on all systems.  This new ostringstream code should
    be platform-independent, finally.


## 1.7.28, 2005.02.04

*  ` --with-mysql*` flags to configure script now try the given
    directory explicitly, and only if that fails do they try
    variations, like tacking '/lib' and such onto it to try and find
    the MySQL includes and libraries.  Thanks to Matthew Walton for
    the patch.

*   Finally removed `sql_quote.h`'s dependence on `custom.h` by moving
    the one definition it needed from `custom.h` to `deps.h`.  This will
    help portability to compilers that can't handle the SSQLS macros
    by making that part of the library truly optional.


## 1.7.27, 2005.01.12

*   configure check for libmysqlclient now halts configuration if the
    library isn't found.  Previously, it would just be flagged as
    missing, and MySQL++ would fail to build.

*   Added `sql_string.cpp` to VC++ and BCBuilder project files.

................................................................................
*   Removed last vestiges of 'dummy.cpp'.

*   Renamed `*.cc` to `*.cpp` in BCBuilder project files.

*   Worked around a BCBuilder C++ syntax processing bug in row.h.


## 1.7.26, 2004.12.17

*   Moved all of the SQLString definitions out of the header and into
    a new .cpp file, reformatted it all, and made the integer
    conversion functions use snprintf() or _snprintf() instead of
    sprintf().  Also, widened some of the buffers for 64-bit systems.

*   Using quoted #include form for internal library headers, to avoid
................................................................................
*   Fix to Gentoo ebuild file's exception configure switch handling.
    Thanks to Chris Frey for this patch.

*   Rebuilding `lib/custom*.h` intelligently now, to avoid unnecessary
    recompiles after running bootstrap script.


## 1.7.25, 2004.12.09

*   Yet more fixes to the --with-mysql-lib and --with-mysql-include
    flags.

*   Added DLLEXPORT stuff to platform.h, hopefully so that someone
    can figure out how to make VC++ make a DLL version of MySQL++.

................................................................................
*   Renamed `*.cc` to `*.cpp`.

*   Made 'set -> myset' change in VC++ project files.

*   Some style changes (mostly whitespace) in header files.


## 1.7.24, 2004.12.08

*   Fixed the --with-mysql-lib and --with-mysql-include flags'
    behavior, and extended their search ability to handle one other
    common case.  (Fixed by Steve Roberts)

*   Fixes to put freestanding functions in namespace mysqlpp.  (They
    weren't in the namespace, while all the class member functions
................................................................................

*   Renamed all the idempotency guards to make them consistent in
    style and unique to MySQL++.

*   Reformatted all of `lib/*.cc`.


## 1.7.23, 2004.11.20

*   Query::reset() now empties the stored query string.  If you
    subsequently stored a longer query in the object, you'd overwrite
    the previous query, but otherwise the longer part of the previous
    one would stick out past the new query.

*   We now look to the `NO_LONG_LONGS` macro only to decide whether to
................................................................................
*   Fixed an incorrect use of row["string"] in complic1 example.

*   Lots of code style improvements to the examples.

*   Some VC++ type warnings squished.  Some remain.
    

## 1.7.22, 2004.11.17

*   Applied patches by Zahroof Mohammed to allow it to build under GCC
    3.4.2.  Tested on MinGW and Fedora Core 3 systems.

*   Removed all the forward declarations in defs.h, and added
    forward declarations where necessary in individual header files.
    #including defs.h in fewer locations as a result.
................................................................................
*   `#including custom.h` in `sql_query.h` again...it's necessary on GCC
    3.4.
    
*   bootstrap script runs lib/config.pl after configure.  This is
    just a nicety for those running in 'maintainer mode'.


## 1.7.21, 2004.11.05

*   Generating a main mysql++ RPM containing just the library files
    and basic documentation, and the -devel package containing
    everything else.

*   Devel package contains examples now, along with a new Makefile
    that uses the system include and library files, rather than the
................................................................................

*   Removed the obsolete lib/README file.

*   `lib/sql_query.h` no longer #includes custom.h, simplifying
    build-time dependencies and shortening compile times.


## 1.7.20, 2004.11.03

*   Collapsed all numbered `*.hh` headers into a single `*.h` file.  For
    example, the contents of row1.hh, row2.hh and row3.hh are now in
    row.h.

*   While doing the previous change, broke several circular
    dependencies.  (The numbered file scheme was probably partly done
................................................................................

*   There is now only one place where conditional inclusion of
    winsock.h happens: platform.h.

*   Beautified the example programs.


## 1.7.19, 2004.10.25

*   Fixed an infinite loop in the query mechanism resulting from the
    strstream change in the previous version.  There is an overloaded
    set of str() member functions that weren't a problem when query
    objects were based on strstream.
     
*   Query mechanism had a bunch of const-incorrectness: there were
................................................................................
*   Above changes required bumping the ABI to version 2.

*   Visual C++ projects now look for MySQL build files in c:\mysql,
    since that's the default install location.  (Previously, it was
    c:\program files\mysql.)


## 1.7.18, 2004.10.01

*   Changed all the strstream (and friends) stuff to stringstream type
    classes.  Let there be much rejoicing.

*   Query object now lets you use store() even when the SQL query
    cannot return a result, such as a DROP TABLE command.  This is
    useful for sending arbitrary SQL to the server.  Thanks to
................................................................................
*   Renamed `undef_short` file to `undef_short.hh`.

*   Gentoo ebuild file is actually being shipped with the tarball,
    instead of just sitting in my private CVS tree since 1.7.14 was
    current.  Ooops....


## 1.7.17, 2004.09.16

*   Reverted one of the VC++ warning fix changes from 1.7.16 that
    caused crashes on Linux.

*   Added a configure test that conditionally adds the extra 'level'
    parameter to mysql_shutdown() that was added in MySQL 4.1.3 and
    5.0.1.


## 1.7.16, 2004.09.13

*   Building VC++ version with DLL version of C runtime libraries, and
    at warning level 3 with no warnings emitted.

*   VC++ build no longer attempts to fake "long long" support.  See
    the Wishlist for further thoughts on this.


## 1.7.15, 2004.09.02

*   Renamed Configure file to common.am, to avoid file name conflict
    with configure script on case-sensitive file systems.

*   Added ebuild file and ebuild target to top-level Makefile for
    Gentoo systems.  Thanks to Chris Frey for this.

*   Small efficiency improvements to BadQuery exception handling.
    Initial idea by Chris Frey, improvements by Warren Young.


## 1.7.14, 2004.08.26

*   Builds with Visual C++ 7.1.

*   Fixed a bug in custom macro generation that caused problems with
    GCC 3.4.  (X_cus_value_list ctor definition was broken.)


## 1.7.13, 2004.08.23

*   Removed USL CC support.  (System V stock system compiler.)  Use
    GCC on these platforms instead.

*   Added examples/README, explaining how to use the examples, and
    what they all do.

................................................................................
    GCC 3.4 and Borland C++ Builder 6.  Thanks to Steffen Schumacher
    and Totte Karlsson for their testing and help with these.

*   Added proper #includes for BCBuilder, plus project files for same.
    Thanks to Totte Karlsson for these.


## 1.7.12, 2004.08.19

*   Many Standard C++ fixes, most from the GCC 3.4 patch by
    Rune Kleveland.

*   Added Wishlist file to distribution.

*   Fixed a problem in the bootstrap script that caused complaints
................................................................................
    from the autotools on some systems.

*   RPM building is working properly now.

*   Fixed the idempotency guard in datetime1.hh.


## 1.7.11, 2004.08.17

*   Renamed `mysql++`, `defs` and `define_short` files, adding `.hh` to the
    end of each.  (They're header files!)  This shouldn't impact
    library users, since these are hopefully used internal to the
    library only.

*   Removed `sqlplus.hh` file.  Use `mysql++.hh` instead.
................................................................................

*   Added pre-1.7.10 history to this file.

*   Removed .version file.  Apparently it's something required by old
    versions of libtool.


## 1.7.10, 2004.08.16

Maintenance taken over by Warren Young.  See [the mailing list
post](http://lists.mysql.com/plusplus/3326) for rationale.

*   Applied many of the GCC 3.x patches submitted for 1.7.9 over
    the years.  This allows it to build on everything from 3.0 to
    3.3.3, at least.  Because so many patches are rolled up in one