Sleuth Kit Java Bindings (JNI)  4.4.1
Java bindings for using The Sleuth Kit
org.sleuthkit.datamodel.CaseDbSchemaVersionNumber Class Reference

Inherits org.sleuthkit.datamodel.VersionNumber.

Public Member Functions

 CaseDbSchemaVersionNumber (int majorVersion, int minorVersion)
 
boolean isCompatible (CaseDbSchemaVersionNumber dbSchemaVersion)
 
String toString ()
 
- Public Member Functions inherited from org.sleuthkit.datamodel.VersionNumber
 VersionNumber (int majorVersion, int minorVersion, int patchVersion)
 
int compareTo (VersionNumber vs)
 
boolean equals (Object obj)
 
int getMajor ()
 
int getMinor ()
 
int getPatch ()
 
int hashCode ()
 
String toString ()
 

Detailed Description

As of SleuthKit 4.5.0 database schema versions are two part: Major.Minor. This versioning schema is based on semantic versioning, but without using the patch number (in practice it is always the default value of zero for case database versions).

The major part is incremented for incompatible changes, i.e., the case database will not be usable by an older version. For example, the major number should be incremented if tables and/or columns are removed, the meanings of values changes, or new records are added to lookup tables that will not be convertible to older versions of the corresponding Java enums.

The minor version is incremented for compatible changes that are usable by older versions of the SleuthKit, although the new schema may not be fully taken advantage of. For example, adding an index should be backwards compatible: an older version of the software will still be able to open and use the case database, but query performance may or may not be affected. Also, adding a column to a table should be backwards compatible as older versions of the software should simply ignore it.

Definition at line 41 of file CaseDbSchemaVersionNumber.java.

Constructor & Destructor Documentation

org.sleuthkit.datamodel.CaseDbSchemaVersionNumber.CaseDbSchemaVersionNumber ( int  majorVersion,
int  minorVersion 
)

Constructor for CaseDBSchemaVersionNumber. The patch version is unused and immutably 0.

Parameters
majorVersionThe major version part.
minorVersionThe minor version part.

Definition at line 50 of file CaseDbSchemaVersionNumber.java.

Member Function Documentation

boolean org.sleuthkit.datamodel.CaseDbSchemaVersionNumber.isCompatible ( CaseDbSchemaVersionNumber  dbSchemaVersion)

Is a database with the given schema version openable by this version number?

Parameters
dbSchemaVersionThe schema version of the db want to check for compatibility.
Returns
true if the db schema version is compatible with this version.

Definition at line 63 of file CaseDbSchemaVersionNumber.java.

References org.sleuthkit.datamodel.VersionNumber.getMajor().

Referenced by org.sleuthkit.datamodel.SleuthkitCase.updateDatabaseSchema().

String org.sleuthkit.datamodel.CaseDbSchemaVersionNumber.toString ( )

The documentation for this class was generated from the following file:

Copyright © 2011-2015 Brian Carrier. (carrier -at- sleuthkit -dot- org)
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.