Kbase 19515: Changes to SQLDA and SQLCA Data Structures
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  29/10/2008 |
|
Status: Verified
FACT(s) (Environment):
Where to find more information on the changes to the SQLDA and SQLCA data structures
FIX:
The white paper on "Changes to SQLDA and SQLCA Data Structures" is on the Technical Support website at:
http://www.progress.com/tech_support/links/sql92/index.ssp
Below is an excerpt from the document. To read the white paper in it's entirety, please refer to the above mentioned url.
Begin excerpt:
----------------------------------------------------------------------
Audience
This document should be read by software developers using the ESQL/C for SQL-92 sub-products or the SQL-92 CLI API. This document describes in detail the changes that affect the sqlda and sqlca data structures used in ESQL/C and CLI API as well as the revised methods used to access the data structures.
Note
The sql_lib.h header file defines the data structures.
Overview
Many of the changes were critical to this release of the product; others were changed in anticipation of future enhancements to the SQL-92 Engine. Over time, the changes made will eliminate the possibility of client code accessing the sqlda structures. Consequently, you will
need to make the necessary changes to your code.
The long-term purpose of these changes is to enhance our ability to respond quickly to product needs without forcing users to modify client code. The changes that have been effected and are yet to be made will eliminate client code from directly accessing the sqlda structure and individual data members. The client programs will use a new set of functions to Get (and in some cases, Set) data values.
The V9.1A FCS release, in addition to supporting the new sqlda data access functions, will continue to support code that directly references the sqlda data members. However, once the changes and their implementation are complete, the sqlda structure will be opaque. Completion of the change implementation will be announced before the release that completes the set of changes to the sqlda structure. At this point all developers will be required to use the new functions.
In addition to the new sqlda and sqlca access functions, many of the data types and data members of sqlda and sqlca have been changed. The changes that have been made to data types and data members afford the ability to handle larger amounts of data.
Important
It is highly recommended that you change your code now using the new functions rather than wait for the final implementation.
The client/server interface supported data types list has been renumbered. This list is in the tpe_datatype_t enumeration in sql_lib.h. The new values closely match the standard ODBC/JDBC values published in various documents. However, there is another difference in the implementation of the defined data types. Our list contains two new types. The new data types were created to more closely match the data types available within the SQL-92 Engine as well as the standard ODBC / JDBC values.
You can view the changes to our API in the sql_lib.h header file. Although this file is quite a large, you can find the changes easily by searching for SQL_BIG_SQLDA. This is a #define used to control the C/C++ compiler as to which lines of actual code are included in the compile. The sql_lib.h header file defines this symbol and thus, only the new, changed code is included in your compiles. The SQL-92 Engine handles only the new data structures and enumeration values. The #define for SQL_BIG_SQLDA will be removed in a future release (as will the 'old' code defined by it).