|
'\" |
|
.\" tdbc_sqlite3.n -- |
|
.\" |
|
.\" Copyright (c) 2008 by Kevin B. Kenny. |
|
.\" |
|
.\" See the file "license.terms" for information on usage and redistribution of |
|
.\" this file, and for a DISCLAIMER OF ALL WARRANTIES. |
|
.TH "tdbc::sqlite3" n 8.6 Tcl "Tcl Database Connectivity" |
|
.\" .so man.macros |
|
.if t .wh -1.3i ^B |
|
.nr ^l \n(.l |
|
.ad b |
|
.\" # BS - start boxed text |
|
.\" # ^y = starting y location |
|
.\" # ^b = 1 |
|
.de BS |
|
.br |
|
.mk ^y |
|
.nr ^b 1u |
|
.if n .nf |
|
.if n .ti 0 |
|
.if n \l'\\n(.lu\(ul' |
|
.if n .fi |
|
.. |
|
.\" |
|
.de BE |
|
.nf |
|
.ti 0 |
|
.mk ^t |
|
.ie n \l'\\n(^lu\(ul' |
|
.el \{\ |
|
.\" Draw four-sided box normally, but don't draw top of |
|
.\" box if the box started on an earlier page. |
|
.ie !\\n(^b-1 \{\ |
|
\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' |
|
.\} |
|
.el \}\ |
|
\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul' |
|
.\} |
|
.\} |
|
.fi |
|
.br |
|
.nr ^b 0 |
|
.. |
|
.\" |
|
.de CS |
|
.RS |
|
.nf |
|
.ta .25i .5i .75i 1i |
|
.. |
|
.\" |
|
.de CE |
|
.fi |
|
.RE |
|
.. |
|
.BS |
|
.SH "NAME" |
|
tdbc::sqlite3 \- TDBC driver for the SQLite3 database manager |
|
.SH "SYNOPSIS" |
|
package require \fBtdbc::sqlite3 1.0\fR |
|
.sp |
|
\fBtdbc::sqlite3::connection create\fR \fIdb\fR \fIfileName\fR ?\fI-option value...\fR? |
|
.BE |
|
.SH "DESCRIPTION" |
|
.PP |
|
The \fBtdbc::sqlite3\fR driver provides a database interface that conforms |
|
to Tcl DataBase Connectivity (TDBC) and allows a Tcl script to connect |
|
to a SQLite3 database. It is also provided |
|
as a worked example of how to write a database driver in Tcl, so that |
|
driver authors have a starting point for further development. |
|
.PP |
|
Connection to a SQLite3 database is established by invoking |
|
\fBtdbc::sqlite3::connection create\fR, passing it a string to be used |
|
as the connection handle followed by the file name of |
|
the database. The side effect of \fBtdbc::sqlite3::connection |
|
create\fR is to create a new database connection.. |
|
As an alternative, \fBtdbc::sqlite::connection new\fR may be used to create |
|
a database connection with an automatically assigned name. The return value |
|
from \fBtdbc::sqlite::connection new\fR is the name that was chosen for the |
|
connection handle. See |
|
\fBtdbc::connection(n)\fR for the details of how to use the connection |
|
to manipulate a database. |
|
.SH "CONFIGURATION OPTIONS" |
|
.PP |
|
The standard configuration options \fB-encoding\fR, \fB-isolation\fR, |
|
\fB-readonly\fR and \fB-timeout\fR are all recognized, both on |
|
\fBtdbc::sqlite3::connection create\fR and on the \fBconfigure\fR |
|
method of the resulting connection. |
|
.PP |
|
Since the encoding of a SQLite3 database is always well known, the |
|
\fB-encoding\fR option accepts only \fButf-8\fR as an encoding and |
|
always returns \fButf-8\fR for an encoding. The actual encoding may be |
|
set using a SQLite3 \fBPRAGMA\fR statement when creating a new |
|
database. |
|
.PP |
|
Only the isolation levels \fBreaduncommitted\fR and \fBserializable\fR |
|
are implemented. Other isolation levels are promoted to |
|
\fBserializable\fR. |
|
.PP |
|
The \fB-readonly\fR flag is not implemented. \fB-readonly 0\fR is |
|
accepted silently, while \fB-readonly 1\fR reports an error. |
|
.SH "BUGS" |
|
If any column name is not unique among the columns in a result set, the |
|
results of \fB-as dicts\fR returns will be missing all but the rightmost |
|
of the duplicated columns. This limitation can be worked around by adding |
|
appropriate \fBAS\fR clauses to \fBSELECT\fR statements to ensure that |
|
all returned column names are unique. Plans are to fix this bug by using |
|
a C implementation of the driver, which will also improve performance |
|
significantly. |
|
.SH "SEE ALSO" |
|
tdbc(n), tdbc::connection(n), tdbc::resultset(n), tdbc::statement(n) |
|
.SH "KEYWORDS" |
|
TDBC, SQL, SQLite3, database, connectivity, connection |
|
.SH "COPYRIGHT" |
|
Copyright (c) 2008 by Kevin B. Kenny. |
|
.\" Local Variables: |
|
.\" mode: nroff |
|
.\" End: |
|
.\" |
|
|