blob: 0da275cbd4d0112eb3da1206862cd2dc350d4856 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue May 07 14:19:41 GMT 2024 -->
<title>IsolationLevel (Apache Arrow ADBC Java Root POM 1.0.0-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2024-05-07">
<meta name="description" content="declaration: package: org.apache.arrow.adbc.core, enum: IsolationLevel">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/IsolationLevel.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum-constant-summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#enum-constant-detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.arrow.adbc.core</a></div>
<h1 title="Enum IsolationLevel" class="title">Enum IsolationLevel</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">java.lang.Enum</a>&lt;<a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a>&gt;
<div class="inheritance">org.apache.arrow.adbc.core.IsolationLevel</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a>&gt;</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public enum </span><span class="element-name type-name-label">IsolationLevel</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a>&lt;<a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a>&gt;</span></div>
<div class="block">The isolation level to use for transactions when autocommit is disabled.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<li>
<section class="constants-summary" id="enum-constant-summary">
<h2>Enum Constant Summary</h2>
<div class="caption"><span>Enum Constants</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Enum Constant</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="#DEFAULT" class="member-name-link">DEFAULT</a></code></div>
<div class="col-last even-row-color">
<div class="block">The database or driver default isolation level.</div>
</div>
<div class="col-first odd-row-color"><code><a href="#LINEARIZABLE" class="member-name-link">LINEARIZABLE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The central distinction between serializability and linearizability is that serializability is
a global property; a property of an entire history of operations and transactions.</div>
</div>
<div class="col-first even-row-color"><code><a href="#READ_COMMITTED" class="member-name-link">READ_COMMITTED</a></code></div>
<div class="col-last even-row-color">
<div class="block">Lock-based concurrency control keeps write locks until the end of the transaction, but read
locks are released as soon as a SELECT is performed.</div>
</div>
<div class="col-first odd-row-color"><code><a href="#READ_UNCOMMITTED" class="member-name-link">READ_UNCOMMITTED</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The lowest isolation level.</div>
</div>
<div class="col-first even-row-color"><code><a href="#REPEATABLE_READ" class="member-name-link">REPEATABLE_READ</a></code></div>
<div class="col-last even-row-color">
<div class="block">Lock-based concurrency control keeps read AND write locks (acquired on selection data) until
the end of the transaction.</div>
</div>
<div class="col-first odd-row-color"><code><a href="#SERIALIZABLE" class="member-name-link">SERIALIZABLE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Serializability requires read and write locks to be released only at the end of the
transaction.</div>
</div>
<div class="col-first even-row-color"><code><a href="#SNAPSHOT" class="member-name-link">SNAPSHOT</a></code></div>
<div class="col-last even-row-color">
<div class="block">This isolation guarantees that all reads in the transaction will see a consistent snapshot of
the database and the transaction should only successfully commit if no updates conflict with
any concurrent updates made since that snapshot.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the enum constant of this type with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Enum">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html" title="class or interface in java.lang" class="external-link">Enum</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#compareTo-E-" title="class or interface in java.lang" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#equals-java.lang.Object-" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#getDeclaringClass--" title="class or interface in java.lang" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#hashCode--" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--" title="class or interface in java.lang" class="external-link">name</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#ordinal--" title="class or interface in java.lang" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#toString--" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang" class="external-link">valueOf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<li>
<section class="constant-details" id="enum-constant-detail">
<h2>Enum Constant Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="DEFAULT">
<h3>DEFAULT</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">DEFAULT</span></div>
<div class="block">The database or driver default isolation level.</div>
</section>
</li>
<li>
<section class="detail" id="READ_UNCOMMITTED">
<h3>READ_UNCOMMITTED</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">READ_UNCOMMITTED</span></div>
<div class="block">The lowest isolation level. Dirty reads are allowed, so one transaction may see
not-yet-committed changes made by others.</div>
</section>
</li>
<li>
<section class="detail" id="READ_COMMITTED">
<h3>READ_COMMITTED</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">READ_COMMITTED</span></div>
<div class="block">Lock-based concurrency control keeps write locks until the end of the transaction, but read
locks are released as soon as a SELECT is performed. Non-repeatable reads can occur in this
isolation level.
<p>More simply put, Read Committed is an isolation level that guarantees that any data read is
committed at the moment it is read. It simply restricts the reader from seeing any
intermediate, uncommitted, 'dirty' reads. It makes no promise whatsoever that if the
transaction re-issues the read, it will find the same data; data is free to change after it is
read.</div>
</section>
</li>
<li>
<section class="detail" id="REPEATABLE_READ">
<h3>REPEATABLE_READ</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">REPEATABLE_READ</span></div>
<div class="block">Lock-based concurrency control keeps read AND write locks (acquired on selection data) until
the end of the transaction.
<p>However, range-locks are not managed, so phantom reads can occur. Write skew is possible at
this isolation level in some systems.</div>
</section>
</li>
<li>
<section class="detail" id="SNAPSHOT">
<h3>SNAPSHOT</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">SNAPSHOT</span></div>
<div class="block">This isolation guarantees that all reads in the transaction will see a consistent snapshot of
the database and the transaction should only successfully commit if no updates conflict with
any concurrent updates made since that snapshot.</div>
</section>
</li>
<li>
<section class="detail" id="SERIALIZABLE">
<h3>SERIALIZABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">SERIALIZABLE</span></div>
<div class="block">Serializability requires read and write locks to be released only at the end of the
transaction. This includes acquiring range- locks when a select query uses a ranged WHERE
clause to avoid phantom reads.</div>
</section>
</li>
<li>
<section class="detail" id="LINEARIZABLE">
<h3>LINEARIZABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">LINEARIZABLE</span></div>
<div class="block">The central distinction between serializability and linearizability is that serializability is
a global property; a property of an entire history of operations and transactions.
Linearizability is a local property; a property of a single operation/transaction.
<p>Linearizability can be viewed as a special case of strict serializability where transactions
are restricted to consist of a single operation applied to a single object.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="values()">
<h3>values</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a>[]</span>&nbsp;<span class="element-name">values</span>()</div>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="valueOf(java.lang.String)">
<h3>valueOf</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IsolationLevel.html" title="enum in org.apache.arrow.adbc.core">IsolationLevel</a></span>&nbsp;<span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt>Returns:</dt>
<dd>the enum constant with the specified name</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>