je/docs/GettingStartedGuide/dbprops.html
2021-06-06 13:46:45 -04:00

165 lines
6.8 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Database Properties</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Getting Started with Berkeley DB Java Edition" />
<link rel="up" href="databases.html" title="Chapter 7. Databases" />
<link rel="prev" href="databases.html" title="Chapter 7. Databases" />
<link rel="next" href="DBAdmin.html" title="Administrative Methods" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 12.2.7.5</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Database Properties</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="databases.html">Prev</a> </td>
<th width="60%" align="center">Chapter 7. Databases</th>
<td width="20%" align="right"> <a accesskey="n" href="DBAdmin.html">Next</a></td>
</tr>
</table>
<hr />
</div>
<div class="sect1" lang="en" xml:lang="en">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="dbprops"></a>Database Properties</h2>
</div>
</div>
</div>
<p>You can set database properties using the <code class="classname">DatabaseConfig</code>
class. For each of the properties that you can set, there is a
corresponding getter method. Also, you can always retrieve the
<code class="classname">DatabaseConfig</code> object used by your database using
the <code class="methodname">Database.getConfig()</code> method.</p>
<p>The database properties that you can set are:</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>
<code class="methodname">DatabaseConfig.setAllowCreate()</code>
</p>
<p>If <code class="literal">true</code>, the database is created when it is
opened. If false, the database open fails if the database does not
exist. This property has no meaning if the database currently exists.
Default is <code class="literal">false</code>.</p>
</li>
<li>
<p>
<code class="methodname">DatabaseConfig.setBtreeComparator()</code>
</p>
<p>Sets the class that is used to compare the keys found on two
database records. This class is used to determine the sort order for
two records in the database. By default, byte for byte comparison is
used.
For more information, see
<span><a class="xref" href="comparator.html" title="Using Comparators">Using Comparators</a>.</span>
</p>
</li>
<li>
<p>
<code class="methodname">DatabaseConfig.setDuplicateComparator()</code>
</p>
<p>
Sets the class that is used to compare two duplicate records in
the database. For more information, see
<span><a class="xref" href="comparator.html" title="Using Comparators">Using Comparators</a>.</span>
</p>
</li>
<li>
<p>
<code class="methodname">DatabaseConfig.setSortedDuplicates()</code>
</p>
<p>If <code class="literal">true</code>, duplicate records are allowed in the
database. If this value is <code class="literal">false</code>, then putting a duplicate record into the database
results in an error return from the put call.
Note that this property can be set only at database creation time. Default is <code class="literal">false</code>.
</p>
<p>
Note that your database must not support duplicates if it is to be associated with one or more
secondary indices. Secondaries are described in <a class="xref" href="indexes.html" title="Chapter 10. Secondary Databases">Secondary Databases</a>.
</p>
</li>
<li>
<p>
<code class="methodname">DatabaseConfig.setExclusiveCreate()</code>
</p>
<p>If <code class="literal">true</code>, the database open fails if the
database currently exists. That is, the open must result in the
creation of a new database. Default is <code class="literal">false</code>.</p>
</li>
<li>
<p>
<code class="methodname">DatabaseConfig.setReadOnly()</code>
</p>
<p>If true, the database is opened for read activities only.
Default is <code class="literal">false</code>.</p>
</li>
<li>
<p>
<code class="methodname">DatabaseConfig.setTransactional()</code>
</p>
<p>If true, the database supports transactions.
Default is <code class="literal">false</code>. Note that a database cannot support
transactions if the environment is non-transactional.</p>
</li>
</ul>
</div>
<p>For example:</p>
<a id="je_db3"></a>
<pre class="programlisting">package je.gettingStarted;
import com.sleepycat.je.DatabaseException;
import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseConfig;
...
// Environment open omitted for brevity
...
Database myDatabase = null;
try {
DatabaseConfig dbConfig = new DatabaseConfig();
dbConfig.setAllowCreate(true);
dbConfig.setSortedDuplicates(true);
myDatabase =
myDbEnv.openDatabase(null,
"sampleDatabase",
dbConfig);
} catch (DatabaseException dbe) {
// Exception handling goes here.
}</pre>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="databases.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="databases.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="DBAdmin.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Chapter 7. Databases </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Administrative Methods</td>
</tr>
</table>
</div>
</body>
</html>