|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.persist.impl.Evolver
class Evolver
Evolves each old format that is still relevant if necessary, using Mutations to configure deleters, renamers, and converters.
Field Summary | |
---|---|
(package private) static int |
EVOLVE_FAILURE
|
(package private) static int |
EVOLVE_NEEDED
|
(package private) static int |
EVOLVE_NONE
|
Constructor Summary | |
---|---|
Evolver(PersistCatalog catalog,
java.lang.String storePrefix,
Mutations mutations,
java.util.Map<java.lang.String,Format> newFormats,
boolean forceEvolution,
boolean disallowClassChanges)
|
Method Summary | |
---|---|
(package private) void |
addEvolveError(Format oldFormat,
Format newFormat,
java.lang.String scenario,
java.lang.String error)
Adds a specified error when no specific mutation is involved. |
(package private) void |
addInvalidMutation(Format oldFormat,
Format newFormat,
Mutation mutation,
java.lang.String error)
Adds an error for an invalid mutation. |
(package private) void |
addMissingMutation(Format oldFormat,
Format newFormat,
java.lang.String error)
Adds an error for a missing mutation. |
(package private) void |
addNonEntityFormat(Format oldFormat)
Called by PersistCatalog for all non-entity formats. |
(package private) boolean |
areFormatsChanged()
Returns whether any formats were changed during evolution, and therefore need to be stored in the catalog. |
(package private) boolean |
checkUpdatedVersion(java.lang.String scenario,
Format oldFormat,
Format newFormat)
|
(package private) void |
deleteSecondaryDatabase(Format oldFormat,
java.lang.String keyName)
Called by ComplexFormat when a secondary key is dropped. |
(package private) boolean |
evolveFormat(Format oldFormat)
Called by PersistCatalog for all entity formats, and by Format.evolve methods for all potentially referenced non-entity formats. |
(package private) int |
evolveRequiredKeyField(Format oldParent,
Format newParent,
FieldInfo oldField,
FieldInfo newField)
Evolves a primary key field or composite key field. |
(package private) void |
finishEvolution()
Called by PersistCatalog after calling evolveFormat or addNonEntityFormat for all old formats. |
(package private) java.lang.String |
getErrors()
Returns an error string if any mutations are invalid or missing, or returns null otherwise. |
(package private) Mutations |
getMutations()
|
(package private) java.util.Set<Format> |
getSubclassFormats(Format superFormat)
Returns the set of formats for a specific superclass format, or null if the superclass is not a complex type or has not subclasses. |
(package private) boolean |
isClassConverted(Format format)
|
(package private) boolean |
isFormatChanged(Format format)
Returns whether the given format was changed during evolution. |
(package private) void |
renameAndRemoveDatabases(Environment env,
Transaction txn)
|
(package private) void |
renameSecondaryDatabase(Format oldFormat,
Format newFormat,
java.lang.String oldKeyName,
java.lang.String newKeyName)
Called by ComplexFormat when a secondary key name is changed. |
(package private) void |
useEvolvedFormat(Format oldFormat,
Reader evolveReader,
Format newFormat)
Install an evolver Reader in the old format. |
(package private) void |
useOldFormat(Format oldFormat,
Format newFormat)
Use the old format and discard the new format. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
static final int EVOLVE_NONE
static final int EVOLVE_NEEDED
static final int EVOLVE_FAILURE
Constructor Detail |
---|
Evolver(PersistCatalog catalog, java.lang.String storePrefix, Mutations mutations, java.util.Map<java.lang.String,Format> newFormats, boolean forceEvolution, boolean disallowClassChanges)
Method Detail |
---|
final Mutations getMutations()
boolean areFormatsChanged()
boolean isFormatChanged(Format format)
java.util.Set<Format> getSubclassFormats(Format superFormat)
java.lang.String getErrors()
void addEvolveError(Format oldFormat, Format newFormat, java.lang.String scenario, java.lang.String error)
void addInvalidMutation(Format oldFormat, Format newFormat, Mutation mutation, java.lang.String error)
void addMissingMutation(Format oldFormat, Format newFormat, java.lang.String error)
void addNonEntityFormat(Format oldFormat)
void finishEvolution()
boolean evolveFormat(Format oldFormat)
void useOldFormat(Format oldFormat, Format newFormat)
void useEvolvedFormat(Format oldFormat, Reader evolveReader, Format newFormat)
void renameSecondaryDatabase(Format oldFormat, Format newFormat, java.lang.String oldKeyName, java.lang.String newKeyName)
void deleteSecondaryDatabase(Format oldFormat, java.lang.String keyName)
boolean isClassConverted(Format format)
boolean checkUpdatedVersion(java.lang.String scenario, Format oldFormat, Format newFormat)
void renameAndRemoveDatabases(Environment env, Transaction txn) throws DatabaseException
DatabaseException
int evolveRequiredKeyField(Format oldParent, Format newParent, FieldInfo oldField, FieldInfo newField)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |