Fedora uses several database tables and indexes to provide fast retrieval of some information. This page will document documents the various tables Fedora creates. Because of Due to differences in databases, some datatypes might not match the implemented type in your database exactly (ie. datetime versus timestamp).
When a Fedora repository is started with an empty database it begins a reindex an indexing process to recreate create these indexes from the content on disk. You can force this rebuild to occur the rebuilding of these internal indexes by setting the fcrepo.rebuild.on.start
JVM property to true
. For more information again visit the Properties page.
Info |
---|
For |
...
the full list of database properties, please refer to the Database section |
...
of the Properties |
...
documentation. You can find additional information on this wiki about how Fedora rebuilds these caches and configuring supported databases. |
Technical Information
...
Containment Index
...
Field | Type | Constraints | Description |
---|---|---|---|
fedora_id | varchar(503) | NOT NULL, PRIMARY KEY | The internal ID of the resourceresource |
parent | varchar(503) | NOT NULL | The internal ID of the containing resource |
start_time | datetime | NOT NULL | The datetime when the resource was created |
end_time | datetime | The datetime when the resource was deleted (but still has a tombstone) | |
updated | datetime | The datetime when any contained resources were updated (used for eTags) |
...
Field | Type | Constraints | Description |
---|---|---|---|
subject_id | varchar(503) | NOT NULL | The internal ID of the resource initiating the relationship (ie. the subject) |
property | varchar(503) | NOT NULL | The predicate of the relationship |
object_id | varchar(503) | NOT NULL | The internal ID of the resource which is the target of the relationship (ie. the object) |
source_id | varchar(503) | NOT NULL | The internal ID of the direct or indirect container containing the resource that created the relationship. |
proxy_id | varchar(503) | NOT NULL | The internal ID of the resource that created the relationship. This is contained within the source_id |
start_time | datetime | The datetime the relationship started. | |
end_time | datetime | The datetime the relationship ended. | |
last_updated | datetime | The datetime the relationship was last updated. (used for eTags) | |
tx_id | varchar(36) | NOT NULL | The transaction id this record belongs to |
operation | varchar(10) | NOT NULL | The type of operation this is, one of 'add' or 'delete' |
force_flag | varchar(10)??? (seems to always be NULL) | Indicates that a 'delete' operation should purge an entry from the membership index completely, rather than assigning it and end_time. Used for on-demand versioning when the membership relation existed because of uncommitted state in a mutable head. |
...
Inbound Reference Index
The inbound reference tables hold relationships between two resources in the repository, due to there being no single subject restriction it is possible for a 3rd resource to generate an inbound reference from a 1st resource to a 2nd resource. This relationship will persist even if the 2nd resource was deleted.
...