File: tcl.html

package info (click to toggle)
db5.3 5.3.28%2Bdfsg1-0.5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 158,360 kB
  • sloc: ansic: 448,411; java: 111,824; tcl: 80,544; sh: 44,326; cs: 33,697; cpp: 21,604; perl: 14,557; xml: 10,799; makefile: 4,077; yacc: 1,003; awk: 965; sql: 801; erlang: 342; python: 216; php: 24; asm: 14
file content (195 lines) | stat: -rw-r--r-- 8,073 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<?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>Chapter 21.  Berkeley DB Extensions: Tcl</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="Berkeley DB Programmer's Reference Guide" />
    <link rel="up" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
    <link rel="prev" href="sequence.html" title="Chapter 20.  Sequences" />
    <link rel="next" href="tcl_using.html" title="Using Berkeley DB with Tcl" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Chapter 21. 
		Berkeley DB Extensions: Tcl
        </th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="sequence.html">Prev</a> </td>
          <th width="60%" align="center"> </th>
          <td width="20%" align="right"> <a accesskey="n" href="tcl_using.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="chapter" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title"><a id="tcl"></a>Chapter 21. 
		Berkeley DB Extensions: Tcl
        </h2>
          </div>
        </div>
      </div>
      <div class="toc">
        <p>
          <b>Table of Contents</b>
        </p>
        <dl>
          <dt>
            <span class="sect1">
              <a href="tcl.html#tcl_intro">Loading Berkeley DB with Tcl</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect2">
                  <a href="tcl.html#idp53366464">Installing as a Tcl Package</a>
                </span>
              </dt>
              <dt>
                <span class="sect2">
                  <a href="tcl.html#idp53356912">Loading Berkeley DB with Tcl</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="sect1">
              <a href="tcl_using.html">Using Berkeley DB with Tcl</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="tcl_program.html">Tcl API programming notes</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="tcl_error.html">Tcl error handling</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="tcl_faq.html">Tcl FAQ</a>
            </span>
          </dt>
        </dl>
      </div>
      <div class="sect1" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title" style="clear: both"><a id="tcl_intro"></a>Loading Berkeley DB with Tcl</h2>
            </div>
          </div>
        </div>
        <div class="toc">
          <dl>
            <dt>
              <span class="sect2">
                <a href="tcl.html#idp53366464">Installing as a Tcl Package</a>
              </span>
            </dt>
            <dt>
              <span class="sect2">
                <a href="tcl.html#idp53356912">Loading Berkeley DB with Tcl</a>
              </span>
            </dt>
          </dl>
        </div>
        <p>Berkeley DB includes a dynamically loadable Tcl API, which requires that
Tcl/Tk 8.5 or later already be installed on your system.  You can
download a copy of Tcl from the <a class="ulink" href="http://www.tcl.tk" target="_top">Tcl
Developer Xchange</a> Web site.</p>
        <p>This document assumes that you already configured Berkeley DB for Tcl
support, and you have built and installed everything where you want it
to be.  If you have not done so, see
<a href="../installation/build_unix_conf.html" class="olink">Configuring Berkeley DB</a> or <a href="../installation/build_win_tcl.html" class="olink">Building the Tcl API</a> in the Berkeley DB Installation and Build Guide for more
information.</p>
        <div class="sect2" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="idp53366464"></a>Installing as a Tcl Package</h3>
              </div>
            </div>
          </div>
          <p>Once enabled, the Berkeley DB shared library for Tcl is automatically installed
as part of the standard installation process.  However, if you want to be
able to dynamically load it as a Tcl package into your script, there are
several steps that must be performed:</p>
          <div class="orderedlist">
            <ol type="1">
              <li>Run the Tcl shell in the install directory.</li>
              <li>Append this directory to your auto_path variable.</li>
              <li>Run the pkg_mkIndex proc, giving the name of the Berkeley DB Tcl library.</li>
            </ol>
          </div>
          <p>For example:</p>
          <pre class="programlisting"># tclsh8.5
% lappend auto_path /usr/local/BerkeleyDB.5.2/lib
% pkg_mkIndex /usr/local/BerkeleyDB.5.2/lib libdb_tcl-5.2.so</pre>
          <p>Note that your Tcl and Berkeley DB version numbers may differ from the
example, and so your tclsh and library names may be different.</p>
        </div>
        <div class="sect2" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="idp53356912"></a>Loading Berkeley DB with Tcl</h3>
              </div>
            </div>
          </div>
          <p>The Berkeley DB package may be loaded into the user's interactive Tcl script
(or wish session) via the <span class="bold"><strong>load</strong></span> command. For example:</p>
          <pre class="programlisting">load /usr/local/BerkeleyDB.5.2/lib/libdb_tcl-5.2.so</pre>
          <p>Note that your Berkeley DB version numbers may differ from the example, and so
the library name may be different.</p>
          <p>If you installed your library to run as a Tcl package, Tcl application
scripts should use the <span class="bold"><strong>package</strong></span> command to indicate to the Tcl
interpreter that it needs the Berkeley DB package and where to find it. For
example:</p>
          <pre class="programlisting">lappend auto_path "/usr/local/BerkeleyDB.5.2/lib"
package require Db_tcl</pre>
          <p>No matter which way the library gets loaded, it creates a command named
<span class="bold"><strong>berkdb</strong></span>.  All the Berkeley DB functionality is accessed via this
command and additional commands it creates on behalf of the application.
A simple test to determine whether everything is loaded and ready is to
display the library version, as follows:</p>
          <pre class="programlisting">berkdb version -string</pre>
          <p>This should return you the Berkeley DB version in a string format.</p>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="sequence.html">Prev</a> </td>
          <td width="20%" align="center"> </td>
          <td width="40%" align="right"> <a accesskey="n" href="tcl_using.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Chapter 20. 
		Sequences
         </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Using Berkeley DB with Tcl</td>
        </tr>
      </table>
    </div>
  </body>
</html>