• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/db-4.8.30/docs/programmer_reference/
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4  <head>
5    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6    <title>Tcl API programming notes</title>
7    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
8    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
9    <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
10    <link rel="up" href="tcl.html" title="Chapter��20.�� Berkeley DB Extensions: Tcl" />
11    <link rel="prev" href="tcl_using.html" title="Using Berkeley DB with Tcl" />
12    <link rel="next" href="tcl_error.html" title="Tcl error handling" />
13  </head>
14  <body>
15    <div class="navheader">
16      <table width="100%" summary="Navigation header">
17        <tr>
18          <th colspan="3" align="center">Tcl API programming notes</th>
19        </tr>
20        <tr>
21          <td width="20%" align="left"><a accesskey="p" href="tcl_using.html">Prev</a>��</td>
22          <th width="60%" align="center">Chapter��20.��
23		Berkeley DB Extensions: Tcl
24        </th>
25          <td width="20%" align="right">��<a accesskey="n" href="tcl_error.html">Next</a></td>
26        </tr>
27      </table>
28      <hr />
29    </div>
30    <div class="sect1" lang="en" xml:lang="en">
31      <div class="titlepage">
32        <div>
33          <div>
34            <h2 class="title" style="clear: both"><a id="tcl_program"></a>Tcl API programming notes</h2>
35          </div>
36        </div>
37      </div>
38      <p>The Berkeley DB Tcl API does not attempt to avoid evaluating input as Tcl
39commands.  For this reason, it may be dangerous to pass unreviewed user
40input through the Berkeley DB Tcl API, as the input may subsequently be
41evaluated as a Tcl command.  Additionally, the Berkeley DB Tcl API
42initialization routine resets process' effective user and group IDs to
43the real user and group IDs, to minimize the effectiveness of a Tcl
44injection attack.</p>
45      <p>The Tcl API closely parallels the Berkeley DB programmatic interfaces.  If you
46are already familiar with one of those interfaces, there will not be many
47surprises in the Tcl API.</p>
48      <p>The Tcl API currently does not support multithreading although
49it could be made to do so.  The Tcl shell itself is
50not multithreaded and the Berkeley DB extensions use global data unprotected
51from multiple threads.</p>
52      <p>Several pieces of Berkeley DB functionality are not available in the Tcl API.
53Any of the functions that require a user-provided function are not
54supported via the Tcl API. For example, there is no equivalent to the
55<a href="../api_reference/C/dbset_dup_compare.html" class="olink">DB-&gt;set_dup_compare()</a> or <a href="../api_reference/C/envset_errcall.html" class="olink">DB_ENV-&gt;set_errcall()</a> methods.
56methods.</p>
57    </div>
58    <div class="navfooter">
59      <hr />
60      <table width="100%" summary="Navigation footer">
61        <tr>
62          <td width="40%" align="left"><a accesskey="p" href="tcl_using.html">Prev</a>��</td>
63          <td width="20%" align="center">
64            <a accesskey="u" href="tcl.html">Up</a>
65          </td>
66          <td width="40%" align="right">��<a accesskey="n" href="tcl_error.html">Next</a></td>
67        </tr>
68        <tr>
69          <td width="40%" align="left" valign="top">Using Berkeley DB with Tcl��</td>
70          <td width="20%" align="center">
71            <a accesskey="h" href="index.html">Home</a>
72          </td>
73          <td width="40%" align="right" valign="top">��Tcl error handling</td>
74        </tr>
75      </table>
76    </div>
77  </body>
78</html>
79