You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by Apache Wiki <wi...@apache.org> on 2009/11/04 10:00:04 UTC

[Jackrabbit Wiki] Update of "DataStore" by ThomasMueller

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.

The "DataStore" page has been changed by ThomasMueller.
http://wiki.apache.org/jackrabbit/DataStore?action=diff&rev1=51&rev2=52

--------------------------------------------------

  
  == Database Data Store ==
  
+ The database data store stores data in a relational database. All content is stored in one table, the unique key of the table is the hash code of the content. 
+ 
- The database data store stores data in a relational database. All content is stored in one table, the unique key of the table is the hash code of the content. When reading, the data may be first copied to a temporary file on the server, or streamed directly from the database (depending on the copyWhenReading setting). New content is first stored in the table under a unique temporary identifier, and later the key is updated to the hash of the content.
+ When reading, the data may be first copied to a temporary file on the server, or streamed directly from the database (depending on the copyWhenReading setting). New content is first stored in the table under a unique temporary identifier, and later the key is updated to the hash of the content.
+ 
+ When adding a record, by default the stream is first copied to a temporary file. If you get the exception "Can not insert new record java.io.IOException: No space left on device" that means your temporary directory is too small. The reason for the temp file is: most databases need to know the stream size when adding a record, and the JCR API doesn't provide a way to do that. The mechanism used to add a record depends on the property "storeStream" in resource org/apache/jackrabbit/core/data/db/<databaseType>.properties. Implemented mechanisms are: "tempFile" (default; create a temp file before adding a record), "-1" (use the length -1 when adding the record; currently only supported by the H2 database), and "max" (use the length Integer.MAX_VALUE).
  
  ==== Configuration ====