ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qdbrunha.htm

316 lines
7.7 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Run Database Hash (qdbrunha) API</title>
<!-- Begin Header Records ========================================== -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Print SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited March 2001 -->
<!-- This file has undergone html cleanup on 1/7/02 by JET -->
<!-- Miscellaneous fixes on 05/01/13 by JET -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="top_Of_Page"></a>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Run Database Hash (qdbrunha) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Hash name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Function</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Number of keys</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Key values</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Data</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Length of Data</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Return code</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program Name: QDBRUNHA<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Run Database Hash (qdbrunha) API allows the user to FETCH, UPDATE,
DELETE and INSERT data into existing database files using an alternative access
method. The hash approach can be used on relatively static files in situations
where it is desirable to reduce the amount of memory that is consumed by
indexes. Its affectiveness is reduced in memory-rich environments or
environments with dynamic data.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>HASH User Space in Library QUSRSYS</em></dt>
<dd>*OBJOPR, *READ, and *UPDATE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Hash name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The hash name used to access the data. See the description of the Create
Database Hash (qdbcrtha) API for information on defining and naming
the hash.</p>
</dd>
<dt><strong>Function</strong></dt>
<dd>INPUT; CHAR(1)
<p>The function to be performed. The possible values are character digits as
follows:</p>
<table width="100%">
<tr>
<td width="5%" valign="top"><em>1</em></td>
<td width="95%" valign="top">Fetch a row for read purposes only</td>
</tr>
<tr>
<td valign="top"><em>2</em></td>
<td valign="top">Fetch a row with intent to update</td>
</tr>
<tr>
<td valign="top"><em>3</em></td>
<td valign="top">Update the currently locked row</td>
</tr>
<tr>
<td valign="top"><em>4</em></td>
<td valign="top">Delete the currently locked row</td>
</tr>
<tr>
<td valign="top"><em>5</em></td>
<td valign="top">Insert a row into the database</td>
</tr>
</table>
</dd>
<dd><br>
</dd>
<dt><strong>Number of keys</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of keys used by the hash.</p>
</dd>
<dt><strong>Key values</strong></dt>
<dd>INPUT; CHAR(*)
<p>A structure containing up to five rows of the name of key fields and the
value of key fields in the order that they appear in the logical file used to
create the hash. For more details, see <a href="#HDRFIELDR">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%"></td>
<td align="center" valign="top" width="10%"></td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Name of key</td>
</tr>
<tr>
<td align="center" valign="top"></td>
<td align="center" valign="top"></td>
<td align="left" valign="top">Binary(4)</td>
<td align="left" valign="top">Value of key</td>
</tr>
</table>
</dd>
<dd><br>
</dd>
<dt><strong>Data</strong></dt>
<dd>I/O; CHAR(*)
<p>A pointer to the actual row of data from the database to be manipulated
according to the function parameter. The row will be inserted, deleted,
updated, or fetched from the database.</p>
</dd>
<dt><strong>Data length</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the buffer in the application that will receive or contain the
data.</p>
</dd>
<dt><strong>Return code</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>A numeric indication as to what took place during the hash function request.
The possible values are:</p>
<table width="100%">
<tr>
<td width="5%" valign="top"><em>0</em></td>
<td width="95%" valign="top">No errors.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Hash user space does not exist.</td>
</tr>
<tr>
<td valign="top"><em>2</em></td>
<td valign="top">Hash does not exist.</td>
</tr>
<tr>
<td valign="top"><em>100</em></td>
<td valign="top">Record not found.</td>
</tr>
<tr>
<td valign="top"><em>812</em></td>
<td valign="top">Lock-wait time-out.</td>
</tr>
<tr>
<td valign="top"><em>-99</em></td>
<td valign="top">Another error was encountered and ignored. See job log for
details.</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3><a name="HDRFIELDR">Field Descriptions</a></h3>
<p><strong>Name of key.</strong> The name of the key field in the order that
they appear in the logical file referenced in the associated Create Database
Hash (QDBCRTHA) API. The names are for documentation purposes only.</p>
<p><strong>Value of key.</strong> The key value used by the API to access the
appropriate record in the file.</p>
<br>
<h3>Error Messages</h3>
<p>Only the error conditions listed in the return code parameter are monitored.
No error messages other than the value of the return code parameter are
returned.</p>
<br>
<hr>
API Introduced: V4R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#top_Of_Page">Top</a> | <a href=
"file1.htm">Database and File APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
<br>
</body>
</html>