FairCom Corporation
 
FairCom Start PageFairCom ProductsDownloadsDeveloper SupportSales InformationFairCom CustomersFairCom Company InformationContact FairCom

Homebulletgrey.gifeNewsletterbulletgrey.gifVolume 34bulletgrey.gifc-treeACE V9 Compatibility Reminders


c-treeACE V9 Compatibility Reminders

c-treeACE introduced many new features and changes to enhance ease of use. While FairCom always tries to maintain as much backward compatibility as possible, with any major upgrade, there are areas that inevitably result in changes that affect particular applications. Here is a quick review of the most frequently encountered changes in V9 that our support team captures.

c-treeACE Extended Header Support

c-treeACE V9 now includes extended headers on all newly created files. You might find that files created under V9 could return errors in older existing applications. Specifically, for example, a FVER_ERR (43) could be returned under some circumstances. Review Default Extended Headers in c-treeACE V9 for more information regarding this change.

Commit Read Locks

c-treeACE has become a popular choice for high volume OLTP applications. In these high performance environments it is possible to have a partially updated record buffer returned without explicit read or write locks. c-treeACE V9 enables commit read locks by default now which can change the behavior of some existing applications.

Conditional Index Parser

The conditional index parser in c-treeACE V9 was updated to provide consistency in the c-tree ISAM API and c-treeDB APIs. While this change was intended to be neutral with no compatibility changes, some developers with conditional index expressions have reported minor changes in behavior. For example, the following expression:

(unsigned) CT_INT_fld <= (unsigned)0xffffffff

now compares as -1, as unsigned types are not yet handled.

V9 Also checks if a field is NULL and treats a NULL value as distinct from a value of 0. So a comparison such as the following may not return what might previously be expected:

MyField >= 0 or MyField is null

If you are using conditional index expressions and will be migrating to V9, you are encouraged to thoroughly test your existing expressions. Should you find changed behavior, please contact your nearest FairCom support team and let us know.

c-treeACE SQL HUGE Files

Today's massive storage needs require HUGE files. Up to 16 exabytes (that's 16 million terabytes!) with c-treeACE. c-treeACE SQL now creates all files as HUGE by default so you are always prepared.

c-treeDB.NET V9 Updates

c-treeDB.NET is a high level .NET interface that rests upon the c-treeDB relational model. c-treeDB.NET allows for rapid application development with the ease and productivity of C# or VB.NET. c-tree Plus V8.14 introduced the first version of the .NET ISAM access layer and V9 greatly expanded upon that. Several changes in V9 were intended to provide additional flexibility and ease for developers, however, the changes could catch one off guard when moving from a V8 application to V9.

One set of changes in particular has been noted in support calls. The CTRecord class now provides a single overloaded method to get or set a field value.

CTRecord.SetFieldValue( FieldNumber,  value )
CTRecord.SetFieldValue( FieldName,    value )
CTRecord.GetFieldValue( FieldNumber,  value )
CTRecord.GetFieldValue( FieldName,    value )

These functions allow for a more flexible coding design and reduce the number of specific methods required. When compiling your original application against a V9 c-treeDB assembly, the original CTRecord.SetFieldAs() methods will now be noticed marked obsolete.

Note: Alternative SetFieldAs() methods may be unavailable if #define ctNoOldGetSet is included in in the makefile when compiling.

Java JDK 1.5

c-treeACE SQL V9 is now compiled against Java JDK 1.5. As a result, current JDBC, Stored Procedures, Triggers and User Defined Functions are now recommended to update to the latest Java versions. In addition. 64-bit versions of c-treeACE SQL now require a 64-bit edition of the JVM to implement stored procedures.

FAIRCOM.FCS Internal Structure

The internal FC_USER structure in the FAIRCOM.FCS user and group information file has been enhanced. As a result, a compatibility check has been added to ensure matching client server behavior.

If a client prior to these changes tries to open the file FAIRCOM.FCS!USER.dat using a server that has these changes, the open will fail with error UVRC_ERR (859, the client's structure definition for the file FAIRCOM.FCS!USER.dat is out of date. Update your client library.).

If a client with these changes tries to open the file FAIRCOM.FCS!USER.dat using a server without these changes, the open will fail with error UVRS_ERR (860, the server's structure definition for the file FAIRCOM.FCS!USER.dat is out of date. Update your server.).

See Also

RadioGrupo (RG) is a group of seven radio stations located in Aguascalientes, a city in the center of México with a population of one million. Founded in 1936, RG has an estimated 70% market share according to one recent survey. Microsistemas de Aguascalientes provides technology consulting services to a number of industries including radio broadcasting, government, and commerce.

RG needed to provide its radio stations a new level of control and sophistication to handle creating the contracts, scheduling the commercials as stipulated in the contracts, controlling the invoice generation for transmitted spots, collecting the invoices, reporting comprehensive information, and forecasting for the future. Because RG had no technical staff, they turned to a local consultant, José Luis Gómez Serrano from Microsistemas de Aguascalientes, to develop this new system. Given the requirements of this project, Microsistemas de Aguascalientes proposed to use FairCom technology. Mr. Gómez had used c-tree Plus and the c-tree Servers on several other projects with excellent results. He believed that this new project was perfectly suited to this technology.

As the team from Microsistemas de Aguascalientes worked on the traffic engine, they were pleased by the performance they achieved with FairCom's technology: a one-year contract (about 15 spots a day) could be programmed in a snap, at a rate of 170 scheduled spots per second. For each spot in a contract, the system must find a suitable location on the schedule, ensuring that the specific contract constraints are met.

The entire project was based on a three-tiered model: a graphical interface using Borland's VCL model, the business rules based heavily on the C++ object paradigm, and the server interaction using the c-tree Server. This strategy worked well, particularly when developing the finer elements of the system such as the assignment of the spots on the schedule. The ample c-tree Plus API gives the programmer an assortment of functions that make it easy, powerful, and efficient to manage a database in a complex situation.

Read More... (630KB PDF)

FairCom Start PageSite MapContact FairComThe FairCom Privacy Policy Your Location: USA | Europe | Brazil | Japan
Copyright 2012 FairCom Corporation. All rights reserved.