Subscribe for automatic updates: RSS icon RSS

Login icon Sign in for full access | Help icon Help
Advanced search

Pages: [1]
  Reply  |  Print  
Author Topic: BDL 3.00 fglExt diferences  (Read 10387 times)
Carlos L.
Posts: 20


« on: February 02, 2016, 01:06:45 pm »

When updating our code from current version from 2.5 to 3.0 I'm having some problems compiling C extensions code due to some changes made on the fglExt.h include file.

The error is a missing macro called SQLCHAR which is defined in esql/decimal.h on both version 2.50 and 3.0.
Problem is, on version 2.50, esql/decimal.h was included on fglExt.h.
On version 3.0 fglExt.h does not include this file and thus the macro is never defined.

Also, I can't find any documentation on fglExt.h changes made on version 3.0 and how I can update my code to comply with those changes.

What's the correct approach on this situation?

Thanks in advance,
José Virtuoso
Carlos L.
Posts: 20


« Reply #1 on: February 02, 2016, 01:16:18 pm »

NOTE(no edit available): When I said esql/decimal.h I meant esql/sqltypes.h.

NOTE2: OS is AIX
Reuben B.
Four Js
Posts: 1126


« Reply #2 on: February 02, 2016, 10:00:35 pm »

Quote
Also, I can't find any documentation on fglExt.h changes made on version 3.0

Hi Carlos,

I think the piece of information you are missing is that 3.0 release includes the changes for 2.51 release, and so you also need to pay attention to the 2.51 upgrade guide which has some information on what changed with the C-Extensions https://4js.com/online_documentation/fjs-fgl-manual-html/#c_fgl_Migrate_to_251_cext_api.html

The key part being that the IBM Informix ESQL/C product cannot be part of the Genero product and so doing a diff on fglExt.h ...

Code
  1. 33,39c40,42
  2. < #include <esql/decimal.h>
  3. < #include <esql/datetime.h>
  4. < #include <esql/locator.h>
  5. < #include <esql/sqltypes.h>
  6. < #ifndef MAXBIGINT
  7. < typedef long long bigint;
  8. < #endif
  9. ---
  10. > #include "fglDecimal.h"
  11. > #include "fglDatetime.h"
  12. > #include "fglLocator.h


... you see the change where we no longer explicitly link to the esql library, but to our own library.  Your code is free to link to the IBM Informix ESQL/C libraries.

FYI the 2.51 release was the changes to the BDL product that were included for the initial GeneroMobile releases that occurred between 2.50 and 3.0.  These improvements are know available to all in the 3.0 release.  Anyone upgrading to 3.0 should read both the 3.0 and 2.51 new features, and the 2.51 upgrade guide and the 3.0 upgrade guide (and any other versions they have skipped in between)

Hope that helps,

Reuben

Product Consultant (Asia Pacific)
Developer Relations Manager (Worldwide)
Author of https://4js.com/ask-reuben
Contributor to https://github.com/FourjsGenero
Carlos L.
Posts: 20


« Reply #3 on: February 16, 2016, 03:39:08 pm »

Yes that helped me clarify why the errors on 3.0 started showing up.
I'll have to spend a few more time reviewing our C Extentions in order to comply with the new framework.

Thanks for the help!
Pages: [1]
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines