Keywords: manual

Next: Usage Up: Introductory Material Previous: 2. Overview Contents
Subsections

- 3.1 Current Changes
- 3.2 Future Changes

# 3. Important Changes

# 3.1 Current Changes

- Changed the syntax of equal_list for SSQLS from equal_list (cchar *, Manip, cchar *) to equal_list (cchar *, cchar *, Manip).
- Since version 1.3 of mysql++, it can no longer be compiled and built by GNU compilers older then 2.95. Since version 1.3, mysql++ has been changed to accomodate changes in 2.95 on various aspects of C++. This prevents it's building with earlier versions of GNU , like 2.7.xx, 2.8.xx. Also building by egcs compilers 1.x.x is not supported any more. Although with some changes in code mysql++ could be built with earlier compilers, running of such programs would result in their crashing.
- At the writting of the present version (1.7.9) g++ 2.95.3 and g++ 2.96 can not be used either
- There are separate versions for Borland C++, VC++ and Compaq compilers on Tru64
- It was also noted that on certain SPARC Solaris installation, C++ exceptions did not work with gcc 2.95.2. This case was tested and it is established that mysql++ builds and runs flawlessly with a following version of gcc on Solaris: gcc version 2.95 19990728 (release)
- The ``connection'' constructors for Connection and Connection::connect (formally known as Mysql) has changed so that the data base name is the first paremeter. The same is valid for connect method.
- All new client feature implemented in 3.22.xx as various options on connect are mplemented in a new constructor and real_connect method
- Also new configuration constructs in 3.23.xx are strictly followed
- Mysql++ now can be compiled on Win32 with use of Cygwin compiler from Cygnus Inc.
- Autoconf and Automake are fully implemented
- The Specialized SQL Structures (formally known as Custom Mysql Structures) changed from mysql_ to sql_.
- Changed all of the functions that return zero (false) on success and non-zero (true) other wise to bool. This means that they now return true on success and false on faillier. This means that you now need to negate your expressions that test the output of these functions.
- Almost all methods that returned MysqlString now return a normal string. Because MysqlString objects will convert them selves into string when needed there should not be a problem with:

    `MysqlString s = mysql.host_info`
- The data type MysqlRow now returns (MysqlString or MysqlColData) is now subclassed from a special string class that we wrote to handle working with a const string in a much more efficient way (ie it doesn't copy it). Unfortunitlly this data type is also more limited see the section on "const_string" for more info.
- All necessary methods pertaining to the administration funcitons have been added
- Mysql++ now quotes and escapes objects automatically, if column data is used with '<<' operator
- Mysql++ now has much more secure execution of INSERT, UPDATE and DELETE with a new exec() method
- Mysql++ now has much better configuration
- There is a new method of fetching strings
- Mysql++ can now work with binary data
- Standard C++ exceptions handling with what() method has been introduced
- All 64 int handling of string conversions have been moved to libmysqlclient
- Programs written with MySQL++ will now automatically read all relevant MySQL configuration files

# 3.2 Future Changes

- To implement fully mutable result sets
- The behavior of MysqlString when used with binary operators is going to change in a future version (if we can figure out how to pull it off) Instead of converting to the type on the other side of the operator the MysqlString will it convert to the type the Mysql server said it originally was. This will be a lot safer and more predictable.

Next: Usage Up: Introductory Material Previous: 2. Overview Contents