ds.getSQLDialect().encodeColumnName(null, col.getName(), sql); sql.append(") + 1 FROM "); ds.encodeTableName(key.getTableName(), sql, null);
if (FID.startsWith(key.getTableName() + ".")) { FID = FID.substring(key.getTableName().length() + 1);
@Override public Object getLastValue(Connection cx, Statement st) throws SQLException { return ds.getSQLDialect() .getLastAutoGeneratedValue( ds.getDatabaseSchema(), key.getTableName(), col.getName(), cx, st); }
@Override public Object getNext(Connection cx) throws IOException, SQLException { if (isPostInsert()) { return NOT_SET_BEFORE_INSERT; } else { return ds.getSQLDialect() .getNextAutoGeneratedValue( ds.getDatabaseSchema(), key.getTableName(), col.getName(), cx); } }
sb.append("."); pgDialect.encodeTableName(delegate.getPrimaryKey().getTableName(), sb); sb.append(" order by ");
dialect.encodeTableName(getPrimaryKey().getTableName(), sb);
public void testGetFeatureById() throws Exception { FeatureSource fsView = dataStore.getFeatureSource("riverReducedPk"); assertFalse(fsView instanceof FeatureStore); // the problem is actually in pk computation PrimaryKey pk = dataStore.getPrimaryKey((SimpleFeatureType) fsView.getSchema()); assertEquals("riverReducedPk", pk.getTableName()); assertEquals(1, pk.getColumns().size()); PrimaryKeyColumn col = pk.getColumns().get(0); assertEquals(aname("id"), col.getName()); assertTrue(Number.class.isAssignableFrom(col.getType())); FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); Id filter = ff.id(Collections.singleton(ff.featureId("riverReducedPk.0"))); assertEquals(1, fsView.getCount(new Query(null, filter))); }
/** * Gets the last value of a generated primary key column. */ protected Object getLastValue( PrimaryKeyColumn col, PrimaryKey pkey, Connection cx ) throws SQLException, IOException { Object last = null; if ( col instanceof AutoGeneratedPrimaryKeyColumn ) { last = dialect.getLastAutoGeneratedValue(databaseSchema, pkey.getTableName(), col.getName(), cx ); } else { throw new IllegalArgumentException("Column " + col.getName() + " is not generated." ); } return last; }
if (FID.startsWith(key.getTableName() + ".")) { FID = FID.substring(key.getTableName().length() + 1);
if (FID.startsWith(key.getTableName() + ".")) { FID = FID.substring(key.getTableName().length() + 1);
next = dialect.getNextAutoGeneratedValue(databaseSchema, pkey.getTableName(), col.getName(), cx ); dialect.encodeColumnName( col.getName() , sql ); sql.append( ") + 1 FROM "); encodeTableName(pkey.getTableName(), sql, null);
next = dialect.getNextAutoGeneratedValue(databaseSchema, pkey.getTableName(), col.getName(), cx ); dialect.encodeColumnName( col.getName() , sql ); sql.append( ") + 1 FROM "); encodeTableName(pkey.getTableName(), sql);