Hi markus,

I'm coming back about an ocilib based Oracle driver for libdbi.

About FreeBSD, There's no official support or package from Oracle Corp.
A port has been done and seems to work. The last few weeks, i was in contact
with an italian that tried to port OCILIB to FreeBSD.
OCILIB compiles well on FreeBDS but there is a problem with the version of
the lib C used for the Oracle Client port.
I'm still waiting for news...

So, the last package i sent you was working well except the numeric types
problems...
It's not possible to know what size a numeric value really is (1/2/4/8 bytes
integers or even numeric...)
When you create an INT column or a SHORT column, the storage is the same :
oracle NUMBER. Even SQL*PLUS would cannot make the difference. Only the
server knows the difference for range checking..

Oracle is different from other database because the client program that
tells Oracle how it wants to retreive/insert the value.

So, i'm still suck in the ocilib based libdbo driver to set the integer type
bit... For example, a column created as "INT" (4 bytes integer range) or
"NUMBER" (38 digits for scale and precision that can holds integer, numeric,
real, etc..) will be reported by Oracle client library (OCI) as "NUMBER"...
There's no way to make nay difference...

So my question : how to deal with that into an libdbi driver ?

PS : about the actual oracle libdbi driver : the driver can't even compile
(syntax problems) and is wrong (LONG types, etc..) and buggy. I'm sure no
one has tested it...

Regards,

Vincent.

2008/11/13 Markus Hoenicka <markus.hoeni...@mhoenicka.de>

> vincent rogier writes:
>  > >I believe it would be more appropriate to call the driver "ocilib"
>  >
>  > Sure :). I'll change that
>  >
>
> Don't rush it. I hoped to get some feedback about the status and the
> capabilities of the existing oracle driver (which I can't test
> myself). If the ocilib driver surpasses the oracle driver and is
> better maintained, then the existing driver is obsolete and should be
> replaced by the ocilib driver. In that case, "oracle" wouldn't be a
> misnomer. However, if for some reason both drivers have to coexist,
> I'd rather avoid the name clash.
>
>  > Btw, i've got one question about libdbi integer types...
>  >
>  > Oracle does not make any difference between 1, 2, 4 or 8 bytes integer
> (from
>  > an OCI point of vue).
>  > So, as far i've seen about libdbi implementation of datatype (use of
> unions
>  > and checks on the integer type flag), there 's no easy and pretty way to
>  > deal with it.... does all other libbdi drivers have no problems like
> that ?
>  >
>
> SQlite is essentially typeless. I.e. it won't even distinguish between
> text and integer. SQLite3 has something called "column affinities"
> which helps to distinguish between text and other data types. However,
> there is no support for different integer types either.
>
> The sqlite/sqlite3 drivers use whatever type the column was declared
> with. Although it doesn't make a difference to SQLite, you *can*
> declare a column as TINYINT, SMALLINT, INTEGER, or BIGINT, and the
> drivers rely on you (as a programmer) doing so. OTOH, SQLite wouldn't
> barf if you store a long long value in a column declared as
> TINYINT. You wouldn't even lose data if you retrieve the value with
> sqlite. libdbi would reduce the data to a 1 byte integer upon
> retrieval though.
>
>
> How does Oracle deal with this? Is there just one integer type? What
> size is it? Are there any compatibility types to deal with imported
> data, like MySQL and other engines do?
>
> regards,
> Markus
>
> --
> Markus Hoenicka
> markus.hoeni...@cats.de
> (Spam-protected email: replace the quadrupeds with "mhoenicka")
> http://www.mhoenicka.de
>



-- 
Vincent Rogier
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Libdbi-drivers-devel mailing list
Libdbi-drivers-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libdbi-drivers-devel

Reply via email to