MySQL++

Check-in [1484202d13]
Login

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

Overview
Comment:Wrote up the changes-so-far for MySQL++ 3.2.4 in the ChangeLog.md file.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both |  trunk
Files: files | file ages | folders
SHA3-256:  1484202d13fd4cfd8e80c6684a7f83c4879e137c3a5e62e855d87890b492599e
User & Date: tangent 2018-07-26 16:59:34
Context
2018-07-26
17:12
Added the MYSQLPP_UTF8_COL macro to go with MYSQLPP_UTF8_CS. MySQL isn't smart enough to upgrade "utf8_general_ci" ot "utf8mb4_general_ci" when the character set is "utf8mb4". check-in: c4f89d91fb user: tangent tags: trunk
16:59
Wrote up the changes-so-far for MySQL++ 3.2.4 in the ChangeLog.md file. check-in: 1484202d13 user: tangent tags: trunk
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
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.md.

1




























































2
3
4
5
6
7
8
....
1218
1219
1220
1221
1222
1223
1224







1225
1226
1227
1228
1229
1230
1231
# 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
................................................................................

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

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
....
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
# Change Log

## 3.2.4, UNRELEASED

*   Added the `MYSQLPP_UTF8_CS` macro to allow a given bit of code use
    either the legacy "utf8" character set or the new full-Unicode
    "utf8mb4" version depending on whether MySQL++ is built against
    MySQL 5.5 or newer, the version where `utf8mb4` was added.  See the
    [Unicode chapter in the user manual][umuc] for more details.

*   Recent versions of MySQL and MariaDB have removed some obsolete
    features, causing MySQL++ build errors in places where the library
    wraps one of these features:

    *   MySQL 8.0 removed the embedded database feature, which caused
        build errors in four `Option::set()` overrides.  For MySQL 8.0
        and newer, these methods are now no-ops.

    *   Removal of the `CLIENT_LONG_PASSWORD` define in MariaDB 10.2
        caused a build error which we now fix with a conditional test
        for this before trying to use it.  Thanks for this fix go to
        Augusto Caringi of Red Hat.

*   Updated the library to work with newer toolchains, particularly
    Clang on current macOS and the C++17 aware versions of GCC:

    *   Methods with throw specifications still have them for ABI
        compatibility on systems with older compilers, but if we detect
        that the compiler is expecting C++14 or newer, we elide them.

    *   If the compiler is detected as expecting C++11 or newer, we now
        use `std::unique_ptr` everywere we used to use `auto_ptr`.

    *   Removed all `register` variable qualifiers.  It's officially
        obsolete in C++17 and it's been anywhere from unnecessary to
        unhelpful in C++ compilers for quite a long time now.

*   It is now possible to build a release tarball (`make dist`) on
    systems like Debian where `/bin/sh` is not Bash.

*   All prior MySQL++ 3.2.x release tarballs contain a symlink from
    `ltmain.sh` to the copy provided by Libtool on the system the
    tarball was made on.  If your system doesn't have Libtool installed
    or it's installed somewhere other than where Red Hat Enterprise
    Linux puts it, that symlink will be broken, preventing those
    tarballs from building until you fix the symlink somehow.  We're now
    dereferencing all symlinks when building the tarball to avoid this
    sort of problem.

There are also several changes to MySQL++ due purely to converting the
MySQL++ source code repository from Subversion to Fossil:

*   Updated the hackers' guide to reflect all of the differences this
    repository conversion entails.

*   Converted the old `HACKERS.txt` and this change log file to Markdown
    format.  Fossil will display plain text just fine, but it has a web
    renderer for Markdown, which gives nicer output.

[umuc]: https://tangentsoft.com/mysqlpp/doc/html/userman/unicode.html


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

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

**NOTE:** Because this is the last release in the 2.x line, and because
I have no plans to make another formal 2.x release, there is now a
[branch][m232] with minimal changes to allow this version of the
software to build on modern systems.

[m232]: https://tangentsoft.com/mysqlpp/timeline?r=v2.3.2-modern

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