Hi Jody,
I created a pull requests to fix this issue:
https://github.com/geotools/geotools/pull/759

The following tests fail, but I think this is expected:

Failed tests:

PostgisLobOnlineTest>OnlineTestCase.run:123->JDBCLobOnlineTest.testWrite:84
null

PostgisLobOnlineTest>OnlineTestCase.run:123->JDBCLobOnlineTest.testRead:66
null

PostgisLobOnlineTest>OnlineTestCase.run:123->JDBCLobOnlineTest.testWrite:84
null

PostgisLobOnlineTest>OnlineTestCase.run:123->JDBCLobOnlineTest.testRead:66
null

Regards

Lorenzo Pini
Software Engineer

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:     +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility  for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

On Mon, Mar 2, 2015 at 6:42 PM, Jody Garnett <[email protected]> wrote:

> Your fix sounds about right, good debugging.
>
> When making a pull request the difficult part is writing a test case (pull
> requests without a test case get ignored). Have a look at the database test
> cases, often they create tables to test against during setup (so you should
> be able to setup your two sequences there).
>
> Jody
>
> --
> Jody Garnett
>
> On 2 March 2015 at 06:01, Lorenzo Pini <[email protected]>
> wrote:
>
>> Hi all,
>> I think I found a problem in the way the jdbc-postgis module handles
>> sequences.
>> I'm refering to the PostGISDialect.java file
>>
>> My use case is the following:
>> - 2 tables with "serial" columns as ID (so 2 sequences)
>>  - INSERT on the first table triggers and INSERT on the second one
>> - I use FeatureStore.addFeatures() to insert a record in the first table
>>
>> The issue is that the returned FeatureId does not match with the first
>> table ID value, but the second one.
>>
>> I tracked down the reason of this behaviour to the 
>> PostGISDialect.getLastAutoGeneratedValue()
>> method: it uses "SELECT lastval()" to get the last generated value of a
>> column.
>>
>> In PostGIS the lastval() function returns the last generated value across
>> all the sequences, and in in the case of multiple sequences triggered from
>> a single INSERT, it is not guaranteed to be the correct one.
>>
>> I thing I solved the problem using the already available 
>> getSequenceForColumn()
>> method to retrieve the specific sequence name for the column and "SELECT
>> currval('"+sequenceName+"')" to get the correct value.
>>
>> Do you have any comment on this?
>>
>> Please let me know if I can make a pull request with the fix.
>>
>> Thank you
>>
>> Regards
>> Lorenzo Pini
>> Software Engineer
>>
>> ==
>> GeoServer Professional Services from the experts! Visit
>> http://goo.gl/NWWaa2 for more information.
>> ==
>>
>> GeoSolutions S.A.S.
>> Via Poggio alle Viti 1187
>> 55054  Massarosa (LU)
>> Italy
>> phone: +39 0584 962313
>> fax:     +39 0584 1660272
>>
>> http://www.geo-solutions.it
>> http://twitter.com/geosolutions_it
>>
>> *AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*
>>
>> Le informazioni contenute in questo messaggio di posta elettronica e/o
>> nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
>> loro utilizzo è consentito esclusivamente al destinatario del messaggio,
>> per le finalità indicate nel messaggio stesso. Qualora riceviate questo
>> messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
>> darcene notizia via e-mail e di procedere alla distruzione del messaggio
>> stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
>> divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
>> utilizzarlo per finalità diverse, costituisce comportamento contrario ai
>> principi dettati dal D.Lgs. 196/2003.
>>
>> The information in this message and/or attachments, is intended solely
>> for the attention and use of the named addressee(s) and may be confidential
>> or proprietary in nature or covered by the provisions of privacy act
>> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
>> Code).Any use not in accord with its purpose, any disclosure, reproduction,
>> copying, distribution, or either dissemination, either whole or partial, is
>> strictly forbidden except previous formal approval of the named
>> addressee(s). If you are not the intended recipient, please contact
>> immediately the sender by telephone, fax or e-mail and delete the
>> information in this message that has been received in error. The sender
>> does not give any warranty or accept liability as the content, accuracy or
>> completeness of sent messages and accepts no responsibility  for changes
>> made after they were sent or for other risks which arise as a result of
>> e-mail transmission, viruses, etc.
>>
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub
>> for all
>> things parallel software development, from weekly thought leadership
>> blogs to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> GeoTools-Devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>>
>>
>
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to