[fdo-internals] Discussion of fix for ticket #471 (Large text fields not showing up)

Chris Erickson chris at cartopac.com
Thu Mar 5 14:37:43 EST 2009


Romy,
What about for the streamreaders?  They can't translate on the fly...can they?

Otherwise the conversion makes sense.


chris erickson
developer
chris at cartopac.com
970.493.9500 x 191
970.482.1485 (fax)



-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Romica Dascalescu
Sent: Thursday, March 05, 2009 12:00 PM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] Discussion of fix for ticket #471 (Large text fields not showing up)

Chris,

You need to handle both CLOB and NCLOB in same way we do with SE_STRING_TYPE  and SE_NSTRING_TYPE. On FDO side you have only one type FdoCLOBValue so you will need a conversion at one point.

Romy.
________________________________________
From: fdo-internals-bounces at lists.osgeo.org [fdo-internals-bounces at lists.osgeo.org] On Behalf Of Chris Erickson [chris at cartopac.com]
Sent: Thursday, March 05, 2009 1:51 PM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] Discussion of fix for ticket #471 (Large text      fields not showing up)

Romy,
Thanks again for your help.  I'm running into a small issue.  ArcSDE supports both CLOB and NCLOB fields.

I think to be complete, both need to be handled.  I see no place to indicate on a ClobValue or a ClobProperty whether or not it is Unicode.  I'm not entirely familiar with CLOB fields, but is there an indicator in the byte[] itself, or what is the FDO appropriate way of indicating whether you've received/need to put a Unicode string.

Thanks,


chris erickson
developer
chris at cartopac.com
970.493.9500 x 191
970.482.1485 (fax)



-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Romica Dascalescu
Sent: Thursday, March 05, 2009 11:43 AM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] Discussion of fix for ticket #471 (Large text fields not showing up)

See inline...

Regards,
Romy.
________________________________________
From: fdo-internals-bounces at lists.osgeo.org [fdo-internals-bounces at lists.osgeo.org] On Behalf Of Chris Erickson [chris at cartopac.com]
Sent: Thursday, March 05, 2009 12:42 PM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] Discussion of fix for ticket #471 (Large text      fields not showing up)

Romi,
Where do I look at the MySQL provider, I don't see it in the providers directory.
[RD] it's under GenericRDBMS

I am fine getting a Unicode byte[], but should I implement it differently? Or should it be implemented so GetString returns it as a string, and GetLOB returns it as a byte[] / streamreader?
[RD] since you are ok with both solutions, I would say to add support for CLOB and return it as stream reader.

> Same FDO returns -1 or 4294967296LL depending of the provider capabilities.
I'm guessing this is referring to the length to set it to...?  What does it depend on regarding provider capabilities?
[RD] Yes I'm referring to the length.

chris erickson
developer
chris at cartopac.com
970.493.9500 x 191
970.482.1485 (fax)



-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Romica Dascalescu
Sent: Thursday, March 05, 2009 9:58 AM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] Discussion of fix for ticket #471 (Large text fields not showing up)

Chris,

Mapping to a FDO CLOB we will end up having a FdoCLOBValue which will return a FdoByteArray as value.
FdoCLOBValue is not handled too well (in different applications like Map/Map Guide) since we are dealing with big values and will not be exposed as text values.
In case you would like to see those (text) values as strings you may consider mapping them to Unicode strings.
Same FDO returns -1 or 4294967296LL depending of the provider capabilities.
I think we have a similar case where we map a CLOB to a string, I guess is MySQL provider but I'm not too sure about it.

Regards,
Romi.
________________________________________
From: fdo-internals-bounces at lists.osgeo.org [fdo-internals-bounces at lists.osgeo.org] On Behalf Of Chris Erickson [chris at cartopac.com]
Sent: Thursday, March 05, 2009 11:30 AM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] Discussion of fix for ticket #471 (Large text      fields not showing up)

Romica,
Thanks, I've followed and done that, except I'm mapping it to a FDO CLOB, is this incorrect?

One problem, the column length returned by the sde sdk is 0, but arccatalog recognizes it as 1073741822 (unlimited?).  Should I just add a special case for this (if (datatype == CLOB and length == 0) length = SOME_BIG_NUMBER))?  The SDE SDK documentation (so surprisingly) is silent on the issue.


chris erickson
developer
chris at cartopac.com
970.493.9500 x 191
970.482.1485 (fax)



-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org [mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Romica Dascalescu
Sent: Thursday, March 05, 2009 9:04 AM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] Discussion of fix for ticket #471 (Large text fields not showing up)

Hi Chris,

SDE_UNICODE is set only for 9.2 provider, since 9.1 SDE libraries don't support Unicode.
ArcSDE 9.2 provider is built enabling unicode support.
In case you want to add support for SE_NCLOB_TYPE you need to look at SE_NSTRING_TYPE, where was added (since it was added late in the provider) and do the same thing.

Regards,
Romi.

________________________________
From: fdo-internals-bounces at lists.osgeo.org [fdo-internals-bounces at lists.osgeo.org] On Behalf Of Chris Erickson [chris at cartopac.com]
Sent: Thursday, March 05, 2009 11:02 AM
To: fdo-internals at lists.osgeo.org
Subject: [fdo-internals] Discussion of fix for ticket #471 (Large text fields not showing up)

Hello,
I'm working on fixing tix # 471, and have the following question.


The problem is in SDEType2FdoType.  There is no handler for the SE_NCLOB_TYPE, which is defined as:



#define SE_NCLOB_TYPE              15  /* UNICODE Character Large Object */



I see another place in here, where the SE_NSTRING_TYPE is handled, but ifdef'ed out when SDE_UNICODE is not set.



My question is this,

When is SDE_UNICODE set?



[cid:image001.png at 01C99D71.0F3BEAA0]<http://www.cartopac.com/>

chris erickson
developer
chris at cartopac.com<mailto:chris at cartopac.com>
970.493.9500 x 191
970.482.1485 (fax)



_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals
_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals
_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals


More information about the fdo-internals mailing list