[Geoserver-devel] geoserver-1.7.0-RC1 WFS-T transactions ArcSDE User Manager Row Id

I encountered a blocker bug with WFS Inserts into a backend ArcSDE table
where the row id column is USER managed.

I tracked the error leading to

in geotools-2.5-M3
in ArcSdeFeatureWriter.java
in method insertSeRow(final SimpleFeature, final SeLayer)

if ((fidReader instanceof FIDReader.SdeManagedFidReader)) {
  SeObjectId newRowId = insertStream.lastInsertedRowId();
  newId = Long.valueOf(newRowId.longValue());
} else {
  throw new DataSourceException("fid reader is not user nor sde managed");
}

It appears that the current code will only allow for inserts into ArcSDE
tables where the row id is SDE managed?

--
View this message in context: http://www.nabble.com/geoserver-1.7.0-RC1-WFS-T-transactions-ArcSDE-User-Manager-Row-Id-tp19175979p19175979.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.

Hi Qunncyme,

indeed it looks like a brutal bug.
I'm adding a test case right now, thanks for the catch

Gabriel
On Wednesday 27 August 2008 04:27:54 am quincyme wrote:

I encountered a blocker bug with WFS Inserts into a backend ArcSDE table
where the row id column is USER managed.

I tracked the error leading to

in geotools-2.5-M3
in ArcSdeFeatureWriter.java
in method insertSeRow(final SimpleFeature, final SeLayer)

if ((fidReader instanceof FIDReader.SdeManagedFidReader)) {
  SeObjectId newRowId = insertStream.lastInsertedRowId();
  newId = Long.valueOf(newRowId.longValue());
} else {
  throw new DataSourceException("fid reader is not user nor sde managed");
}

It appears that the current code will only allow for inserts into ArcSDE
tables where the row id is SDE managed?

ah, sorry, forgot to mention one thing.
Actually there is not a problem with that code, because non user nor sde
managed rowid tables are treated as read only.

Have you get to that piece of code because of an actual failure or just by
looking at it. It may worth a comment on the code, but as far as I can tell,
it is handling the case for user and sde managed row ids, and for a table
with no pk you would never get that far because DataStore.getFeaureSource
will return a FeatureSource and not a FeatureStore.

Do you have a way to reproduce an actual error though?

Cheers,
Gabriel

On Wednesday 03 September 2008 06:13:41 pm Gabriel Roldán wrote:

Hi Qunncyme,

indeed it looks like a brutal bug.
I'm adding a test case right now, thanks for the catch

Gabriel

On Wednesday 27 August 2008 04:27:54 am quincyme wrote:
> I encountered a blocker bug with WFS Inserts into a backend ArcSDE table
> where the row id column is USER managed.
>
> I tracked the error leading to
>
> in geotools-2.5-M3
> in ArcSdeFeatureWriter.java
> in method insertSeRow(final SimpleFeature, final SeLayer)
>
> if ((fidReader instanceof FIDReader.SdeManagedFidReader)) {
> SeObjectId newRowId = insertStream.lastInsertedRowId();
> newId = Long.valueOf(newRowId.longValue());
> } else {
> throw new DataSourceException("fid reader is not user nor sde
> managed"); }
>
> It appears that the current code will only allow for inserts into ArcSDE
> tables where the row id is SDE managed?

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge Build the coolest Linux based applications with Moblin SDK & win
great prizes Grand prize is a trip for two to an Open Source event anywhere
in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Perhaps, I' miss understood what the code was trying to do, anyhow I'll
continue doing more testing and report any errors encountered.

But to be on the safe side I think its best that arcsde users stick to using
sde managed row ids for now.

thanks.
Quincyme

Gabriel Roldán-5 wrote:

ah, sorry, forgot to mention one thing.
Actually there is not a problem with that code, because non user nor sde
managed rowid tables are treated as read only.

Have you get to that piece of code because of an actual failure or just by
looking at it. It may worth a comment on the code, but as far as I can
tell,
it is handling the case for user and sde managed row ids, and for a table
with no pk you would never get that far because DataStore.getFeaureSource
will return a FeatureSource and not a FeatureStore.

Do you have a way to reproduce an actual error though?

Cheers,
Gabriel

On Wednesday 03 September 2008 06:13:41 pm Gabriel Roldán wrote:

Hi Qunncyme,

indeed it looks like a brutal bug.
I'm adding a test case right now, thanks for the catch

Gabriel

On Wednesday 27 August 2008 04:27:54 am quincyme wrote:
> I encountered a blocker bug with WFS Inserts into a backend ArcSDE
table
> where the row id column is USER managed.
>
> I tracked the error leading to
>
> in geotools-2.5-M3
> in ArcSdeFeatureWriter.java
> in method insertSeRow(final SimpleFeature, final SeLayer)
>
> if ((fidReader instanceof FIDReader.SdeManagedFidReader)) {
> SeObjectId newRowId = insertStream.lastInsertedRowId();
> newId = Long.valueOf(newRowId.longValue());
> } else {
> throw new DataSourceException("fid reader is not user nor sde
> managed"); }
>
> It appears that the current code will only allow for inserts into
ArcSDE
> tables where the row id is SDE managed?

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge Build the coolest Linux based applications with Moblin SDK &
win
great prizes Grand prize is a trip for two to an Open Source event
anywhere
in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
View this message in context: http://www.nabble.com/geoserver-1.7.0-RC1-WFS-T-transactions-ArcSDE-User-Manager-Row-Id-tp19175979p19304822.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.

On Thursday 04 September 2008 04:24:04 am quincyme wrote:

Perhaps, I' miss understood what the code was trying to do, anyhow I'll
continue doing more testing and report any errors encountered.

yeah please do, you can't imagine how much appreciated is that.

But to be on the safe side I think its best that arcsde users stick to
using sde managed row ids for now.

sure thing, or, as said, you'll end up with read-only feature types.

regards,
Gabriel

thanks.
Quincyme

Gabriel Roldán-5 wrote:
> ah, sorry, forgot to mention one thing.
> Actually there is not a problem with that code, because non user nor sde
> managed rowid tables are treated as read only.
>
> Have you get to that piece of code because of an actual failure or just
> by looking at it. It may worth a comment on the code, but as far as I can
> tell,
> it is handling the case for user and sde managed row ids, and for a table
> with no pk you would never get that far because DataStore.getFeaureSource
> will return a FeatureSource and not a FeatureStore.
>
> Do you have a way to reproduce an actual error though?
>
> Cheers,
> Gabriel
>
> On Wednesday 03 September 2008 06:13:41 pm Gabriel Roldán wrote:
>> Hi Qunncyme,
>>
>> indeed it looks like a brutal bug.
>> I'm adding a test case right now, thanks for the catch
>>
>> Gabriel
>>
>> On Wednesday 27 August 2008 04:27:54 am quincyme wrote:
>> > I encountered a blocker bug with WFS Inserts into a backend ArcSDE
>>
>> table
>>
>> > where the row id column is USER managed.
>> >
>> > I tracked the error leading to
>> >
>> > in geotools-2.5-M3
>> > in ArcSdeFeatureWriter.java
>> > in method insertSeRow(final SimpleFeature, final SeLayer)
>> >
>> > if ((fidReader instanceof FIDReader.SdeManagedFidReader)) {
>> > SeObjectId newRowId = insertStream.lastInsertedRowId();
>> > newId = Long.valueOf(newRowId.longValue());
>> > } else {
>> > throw new DataSourceException("fid reader is not user nor sde
>> > managed"); }
>> >
>> > It appears that the current code will only allow for inserts into
>>
>> ArcSDE
>>
>> > tables where the row id is SDE managed?
>>
>> ------------------------------------------------------------------------
>>- This SF.Net email is sponsored by the Moblin Your Move Developer's
>> challenge Build the coolest Linux based applications with Moblin SDK &
>> win
>> great prizes Grand prize is a trip for two to an Open Source event
>> anywhere
>> in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Geoserver-devel mailing list
>> Geoserver-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
> world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel