I have layers setup in a Oracle database on a build of the master branch
geoserver. I have primary keys configured with gt_pk_metadata and configured
in the dataStore. When the layer is based on a table geoserver correctly uses
the sequence generator to generate new FIDs on the layer. If based on a
virtual table, it does not.
Doing some debugging of the code shows that for the virtual table a
SequencedPrimaryKeyColumn is never instantiated but for my table-layer it is.
This traces back to the following code in JDBCDataStore that executes only in
the case of a NON virtual table...
pkey = primaryKeyFinder.getPrimaryKey(this, databaseSchema, tableName, cx);
The alternative code executed for virtual tables does not use the
primaryKeyFinder and instead does this:
kcols.add(new NonIncrementingPrimaryKeyColumn(pkName, binding));
}
pkey = new PrimaryKey(tableName, kcols);
This looks like a bug related to updatable features. I'm trying to find a way
around it so my sequence generator will be used. Can anybody suggest something?
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users