<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_265) on Tue Aug 25 19:30:50 UTC 2020 --> <title>OracleAdapter (MetaCat API)</title> <meta name="date" content="2020-08-25"> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="OracleAdapter (MetaCat API)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/OracleAdapter.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">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../edu/ucsb/nceas/dbadapter/PostgresqlAdapter.html" title="class in edu.ucsb.nceas.dbadapter"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?edu/ucsb/nceas/dbadapter/OracleAdapter.html" target="_top">Frames</a></li> <li><a href="OracleAdapter.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">edu.ucsb.nceas.dbadapter</div> <h2 title="Class OracleAdapter" class="title">Class OracleAdapter</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">edu.ucsb.nceas.dbadapter.AbstractDatabase</a></li> <li> <ul class="inheritance"> <li>edu.ucsb.nceas.dbadapter.OracleAdapter</li> </ul> </li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>public class <span class="typeNameLabel">OracleAdapter</span> extends <a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></pre> <div class="block">The Oracle db adapter implementation.</div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#OracleAdapter--">OracleAdapter</a></span>()</code> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#getDateTimeFunction--">getDateTimeFunction</a></span>()</code> <div class="block">The Oracle's function name that gets the current date and time from the database server: "sysdate"</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#getIsNULLFunction--">getIsNULLFunction</a></span>()</code> <div class="block">The Oracle's function name that is used to return non-NULL value</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#getLeftJoinQuery-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getLeftJoinQuery</a></span>(java.lang.String selectFields, java.lang.String tableA, java.lang.String tableB, java.lang.String joinCriteria, java.lang.String nonJoinCriteria)</code> <div class="block">The Oracles's syntax for doing a left join Add 'a.' in front of the fields for first table and 'b.' in front of the fields for the second table</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#getPagedQuery-java.lang.String-java.lang.Integer-java.lang.Integer-">getPagedQuery</a></span>(java.lang.String queryWithOrderBy, java.lang.Integer start, java.lang.Integer count)</code> <div class="block">for generating a query for paging</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#getReplicationDocumentListSQL--">getReplicationDocumentListSQL</a></span>()</code> <div class="block">Return a hard code string to get xml_document list in timed replcation</div> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#getStringDelimiter--">getStringDelimiter</a></span>()</code> <div class="block">The Oracles's string delimiter character: single quote (')</div> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>long</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/dbadapter/OracleAdapter.html#getUniqueID-java.sql.Connection-java.lang.String-">getUniqueID</a></span>(java.sql.Connection conn, java.lang.String tableName)</code> <div class="block">The Oracle unique ID generator through use of sequences The name of the sequence used to generate the unique id is made from the name of the table that uses the id by appending "_id_seq" to it.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.edu.ucsb.nceas.dbadapter.AbstractDatabase"> <!-- --> </a> <h3>Methods inherited from class edu.ucsb.nceas.dbadapter.<a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></h3> <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#createObject-java.lang.String-">createObject</a>, <a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#main-java.lang.String:A-">main</a>, <a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#toDate-java.lang.String-java.lang.String-">toDate</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.Object</h3> <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="OracleAdapter--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>OracleAdapter</h4> <pre>public OracleAdapter()</pre> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="getUniqueID-java.sql.Connection-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getUniqueID</h4> <pre>public long getUniqueID(java.sql.Connection conn, java.lang.String tableName) throws java.sql.SQLException</pre> <div class="block">The Oracle unique ID generator through use of sequences The name of the sequence used to generate the unique id is made from the name of the table that uses the id by appending "_id_seq" to it. When record is inserted in the table and insert trigger gets a nextval from that sequence, select currval of that sequence can return the generated key in the same db connection.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getUniqueID-java.sql.Connection-java.lang.String-">getUniqueID</a></code> in class <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - db connection in which the unique id was generated</dd> <dd><code>tableName</code> - the name of table which unique id was generate</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>return the generated unique id as a long type</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.sql.SQLException</code> - <br/> any SQLException that can be thrown during the db operation</dd> </dl> </li> </ul> <a name="getDateTimeFunction--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getDateTimeFunction</h4> <pre>public java.lang.String getDateTimeFunction()</pre> <div class="block">The Oracle's function name that gets the current date and time from the database server: "sysdate"</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getDateTimeFunction--">getDateTimeFunction</a></code> in class <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>return the current date and time function name: "sysdate"</dd> </dl> </li> </ul> <a name="getIsNULLFunction--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getIsNULLFunction</h4> <pre>public java.lang.String getIsNULLFunction()</pre> <div class="block">The Oracle's function name that is used to return non-NULL value</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getIsNULLFunction--">getIsNULLFunction</a></code> in class <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>return the non-NULL function name: "nvl"</dd> </dl> </li> </ul> <a name="getStringDelimiter--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getStringDelimiter</h4> <pre>public java.lang.String getStringDelimiter()</pre> <div class="block">The Oracles's string delimiter character: single quote (')</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getStringDelimiter--">getStringDelimiter</a></code> in class <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>return the string delimiter: single quote (')</dd> </dl> </li> </ul> <a name="getLeftJoinQuery-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getLeftJoinQuery</h4> <pre>public java.lang.String getLeftJoinQuery(java.lang.String selectFields, java.lang.String tableA, java.lang.String tableB, java.lang.String joinCriteria, java.lang.String nonJoinCriteria)</pre> <div class="block">The Oracles's syntax for doing a left join Add 'a.' in front of the fields for first table and 'b.' in front of the fields for the second table</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getLeftJoinQuery-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">getLeftJoinQuery</a></code> in class <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>selectFields</code> - fields that you want to be selected</dd> <dd><code>tableA</code> - first table in the join</dd> <dd><code>tableB</code> - second table in the join</dd> <dd><code>joinCriteria</code> - the criteria based on which the join will be made</dd> <dd><code>nonJoinCriteria</code> - all other criterias</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>return the string for teh select query</dd> </dl> </li> </ul> <a name="getReplicationDocumentListSQL--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getReplicationDocumentListSQL</h4> <pre>public java.lang.String getReplicationDocumentListSQL()</pre> <div class="block">Return a hard code string to get xml_document list in timed replcation</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getReplicationDocumentListSQL--">getReplicationDocumentListSQL</a></code> in class <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></dd> <dt><span class="returnLabel">Returns:</span></dt> </dl> </li> </ul> <a name="getPagedQuery-java.lang.String-java.lang.Integer-java.lang.Integer-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>getPagedQuery</h4> <pre>public java.lang.String getPagedQuery(java.lang.String queryWithOrderBy, java.lang.Integer start, java.lang.Integer count)</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getPagedQuery-java.lang.String-java.lang.Integer-java.lang.Integer-">AbstractDatabase</a></code></span></div> <div class="block">for generating a query for paging</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html#getPagedQuery-java.lang.String-java.lang.Integer-java.lang.Integer-">getPagedQuery</a></code> in class <code><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter">AbstractDatabase</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>queryWithOrderBy</code> - - the complete query with SELECT, FROM, WHERE and ORDER BY clauses</dd> <dd><code>start</code> - the row number to start from</dd> <dd><code>count</code> - the number of records from start to return</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>query specific to the RDBMS in use</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><code>http://www.oracle.com/technetwork/issue-archive/2006/06-sep/o56asktom-086197.html</code></dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/OracleAdapter.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">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../edu/ucsb/nceas/dbadapter/AbstractDatabase.html" title="class in edu.ucsb.nceas.dbadapter"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../edu/ucsb/nceas/dbadapter/PostgresqlAdapter.html" title="class in edu.ucsb.nceas.dbadapter"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?edu/ucsb/nceas/dbadapter/OracleAdapter.html" target="_top">Frames</a></li> <li><a href="OracleAdapter.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><i>Copyright © 2020 Regents of the University of California. All Rights Reserved.</i></small></p> </body> </html>