SerialSerialKeyCreator
, TupleSerialKeyCreator
, TupleSerialMarshalledKeyCreator
, TupleTupleKeyCreator
, TupleTupleMarshalledKeyCreator
public interface SecondaryKeyCreator
The key creator object is specified by calling
SecondaryConfig.setKeyCreator
.
The secondary database configuration is specified when calling
Environment.openSecondaryDatabase
.
For example:
class MyKeyCreator implements SecondaryKeyCreator { public boolean createSecondaryKey(SecondaryDatabase secondary, DatabaseEntry key, DatabaseEntry data, DatabaseEntry result) throws DatabaseException { // // DO HERE: Extract the secondary key from the primary key and // data, and set the secondary key into the result parameter. // return true; } } ... SecondaryConfig secConfig = new SecondaryConfig(); secConfig.setKeyCreator(new MyKeyCreator()); // Now pass secConfig to Environment.openSecondaryDatabase
Modifier and Type | Method | Description |
---|---|---|
boolean |
createSecondaryKey(SecondaryDatabase secondary,
DatabaseEntry key,
DatabaseEntry data,
DatabaseEntry result) |
Creates a secondary key entry, given a primary key and data entry.
|
boolean createSecondaryKey(SecondaryDatabase secondary, DatabaseEntry key, DatabaseEntry data, DatabaseEntry result) throws DatabaseException
A secondary key may be derived from the primary key, primary data, or a combination of the primary key and data. For secondary keys that are optional, the key creator method may return false and the key/data pair will not be indexed. To ensure the integrity of a secondary database the key creator method must always return the same result for a given set of input parameters.
secondary
- the database to which the secondary key will be added.
This parameter is passed for informational purposes but is not commonly
used.
key
- the primary key entry. This parameter must not be modified
by this method.
data
- the primary data entry. This parameter must not be modified
by this method.
result
- the secondary key created by this method.
DatabaseException
- if an error occurs attempting to create the
secondary key.Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.