Re: PHP4 and Solid DB re-integration help
| From: | Andreas Karajannis | Date: | Fri, 02 Jun 2000 13:55:06 +0000 |
| Subject: | Re: PHP4 and Solid DB re-integration help | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-20049@lists.php.net to get a copy of this message | ||
Daniel Kalowsky wrote:
> I've noticed that Solid's own database files have changed drastically
> between 2.2, 3.0.X, and 3.5 (meaning any 3.0 code won't work for 3.5, etc).
>
> Question1: Is it possible to change the #define of HAVE_SOLID to a series
> of:
> #define HAVE_SOLID_2 // for use in Solid v2.x databases
> #define HAVE_SOLID_30 // for use in Solid v3.0, 3.0.x databases
> #define HAVE_SOLID_35 // for use in Solid v3.5 database
>
> each of these will require different includes, and libraries, but
> unfortunately I have no real way to tell a difference other than if such a
> library exists (suggestions on better methods of testing are welcome). I do
> not have a copy of a 3.0 setup so I cannot be sure of its layout (which libs
> it does have, and doesn't). If anyone can send me a list of the libs and
> includes, I will try to incorporate it.
>
I would appreciate if you could help with integrating support for Solid
3.x.
I have some information regarding headers an libs for the various
versions but haven't found the time to integrate them - and I don't have
any Solid version at hand;-)
Here's what I have (directly from Solid):
----------------------------------------------
- Which header files are required?
Header file names are cli0*.h in Versions 2.3 and 3.0, and sql*.h in
Version
3.5.
- Which libraries need to be linked?
This is version and platform dependent. In general, the library file
names
are sZZXXXVV.YYY, where:
ZZ is a version dependent library designator (specified below for each
version)
XXX is the operating system mnemonic (like l2x for Linux MT) (listed
below)
VV is the version designator (23 for V2.3, 30 for V3.0, and 35 for V3.5)
YYY is shared library extension (e.g., .so for Linux)
For version 3.5 (and SynchroNet 2.0): socXXX35.YYY
For version 3.0 (and SynchroNet 1.1): sclXXX30.YYY
For version 2.3: sclXXX23.YYY
Older versions are no longer actively supported.
The platform mnemonic, XXX is from the list below:
-------------------------------------------------
a3x AIX 3
a4x AIX 4
cpx ChorusOS PowerPC
crx ChorusOS Intel x86
dix Digital UNIX
e32 EPOC32
fbx FreeBSD
fex FreeBSD 3.x (ELF format)
h0x HP-UX 10
h1x HP-UX 11
h9x HP-UX 9
irx IRIX
lux Linux libc5
l2x Linux glibc2
lxa Linux Alpha
nnw Novell NetWare 4
n5w Novell NetWare 5
nta Windows NT Alpha
nti Windows NT Intel x86 (=w32)
o32 OS/2
ova OpenVMS Alpha
ovv OpenVMS VAX
qnx QNX Intel x86
scx SCO UNIX
s5x SCO OpenServer 5
suw UnixWare
ssx Solaris SPARC
vpx VxWorks PowerPC
vxw VxWorks Intel x86
w16 16bit Windows
w32 32bit Windows Intel x86
Please note that not all versions are supported on platforms.
- Is there a way to get version information (e.g. from a configuration
script) to determine which libraries / headers need to be used?
Solid doesn't have any mechanisms like this.
------------------------------
> 1a: If it is possible who do I have to talk with about incorporating these
> changes properly into the configure script?
>
You would have to change config.m4 in ext/odbc, and maybe setup.stub if
you need to add additional --with-xxx switches.
> Question 2: I have found various sections commented out from Solid, while
> the 3.5 system does seem to support these options (e.g. odbc_foreignkeys).
> Does anyone remember why these were #ifdef !(HAVE_SOLID)'ed out?
Those #ifdefs were needed for Solid 2.x (No SQLExtendedFetch etc.)
-Andreas
--
Andreas Karajannis
GMD National Research Center for Information Technology
Schloss Birlinghoven, D-53754 Sankt Augustin
Phone +49 2241 142948