Version 2.0.0 (CVS 272)
FossilOrigin-Name: 1df5386a5557c1fc6a5433e9dbd23009026be369
This commit is contained in:
parent
71eb93eaa3
commit
90ca975338
23
Makefile.in
23
Makefile.in
@ -230,11 +230,7 @@ fulltest: testfixture sqlite
|
||||
test: testfixture sqlite
|
||||
./testfixture $(TOP)/test/quick.test
|
||||
|
||||
sqlite.tar.gz:
|
||||
pwd=`pwd`; cd $(TOP)/..; tar czf $$pwd/sqlite.tar.gz sqlite
|
||||
|
||||
index.html: $(TOP)/www/index.tcl sqlite.tar.gz last_change
|
||||
cp ../sqlite-*.tar.gz .
|
||||
index.html: $(TOP)/www/index.tcl last_change
|
||||
tclsh $(TOP)/www/index.tcl `cat $(TOP)/VERSION` >index.html
|
||||
|
||||
sqlite.html: $(TOP)/www/sqlite.tcl
|
||||
@ -273,11 +269,13 @@ tclsqlite.html: $(TOP)/www/tclsqlite.tcl
|
||||
speed.html: $(TOP)/www/speed.tcl
|
||||
tclsh $(TOP)/www/speed.tcl >speed.html
|
||||
|
||||
download.html: $(TOP)/www/download.tcl
|
||||
tclsh $(TOP)/www/download.tcl >download.html
|
||||
|
||||
|
||||
# Files to be published on the website.
|
||||
#
|
||||
PUBLISH = \
|
||||
sqlite.tar.gz \
|
||||
DOC = \
|
||||
index.html \
|
||||
sqlite.html \
|
||||
changes.html \
|
||||
@ -290,13 +288,12 @@ PUBLISH = \
|
||||
crosscompile.html \
|
||||
mingw.html \
|
||||
tclsqlite.html \
|
||||
download.html \
|
||||
speed.html
|
||||
|
||||
website: $(PUBLISH)
|
||||
|
||||
publish: $(PUBLISH)
|
||||
chmod 0644 $(PUBLISH) sqlite-*.tar.gz
|
||||
scp $(PUBLISH) sqlite-*.tar.gz hwaci@oak.he.net:public_html/sw/sqlite
|
||||
doc: $(DOC)
|
||||
mkdir -p doc
|
||||
mv $(DOC) doc
|
||||
|
||||
install: sqlite libsqlite.la sqlite.h
|
||||
$(LIBTOOL) $(INSTALL) libsqlite.la $(prefix)/lib
|
||||
@ -306,7 +303,7 @@ install: sqlite libsqlite.la sqlite.h
|
||||
clean:
|
||||
rm -f *.lo *.la *.o sqlite libsqlite.la sqlite.h
|
||||
rm -rf .libs .deps
|
||||
rm -f lemon lempar.c parse.* sqlite.tar.gz
|
||||
rm -f lemon lempar.c parse.* sqlite*.tar.gz
|
||||
rm -f $(PUBLISH)
|
||||
rm -f *.da *.bb *.bbg gmon.out
|
||||
rm -f testfixture test.db
|
||||
|
@ -284,11 +284,7 @@ fulltest: testfixture$(EXE) sqlite$(EXE)
|
||||
test: testfixture$(EXE) sqlite$(EXE)
|
||||
./testfixture$(EXE) $(TOP)/test/quick.test
|
||||
|
||||
sqlite.tar.gz:
|
||||
pwd=`pwd`; cd $(TOP)/..; tar czf $$pwd/sqlite.tar.gz sqlite
|
||||
|
||||
index.html: $(TOP)/www/index.tcl sqlite.tar.gz last_change
|
||||
cp ../sqlite-*.tar.gz .
|
||||
index.html: $(TOP)/www/index.tcl last_change
|
||||
tclsh $(TOP)/www/index.tcl `cat $(TOP)/VERSION` >index.html
|
||||
|
||||
sqlite.html: $(TOP)/www/sqlite.tcl
|
||||
@ -327,11 +323,13 @@ tclsqlite.html: $(TOP)/www/tclsqlite.tcl
|
||||
speed.html: $(TOP)/www/speed.tcl
|
||||
tclsh $(TOP)/www/speed.tcl >speed.html
|
||||
|
||||
download.html: $(TOP)/www/download.tcl
|
||||
tclsh $(TOP)/www/download.tcl >download.html
|
||||
|
||||
|
||||
# Files to be published on the website.
|
||||
#
|
||||
PUBLISH = \
|
||||
sqlite.tar.gz \
|
||||
DOC = \
|
||||
index.html \
|
||||
sqlite.html \
|
||||
changes.html \
|
||||
@ -344,13 +342,12 @@ PUBLISH = \
|
||||
crosscompile.html \
|
||||
mingw.html \
|
||||
tclsqlite.html \
|
||||
download.html \
|
||||
speed.html
|
||||
|
||||
website: $(PUBLISH)
|
||||
|
||||
publish: $(PUBLISH)
|
||||
chmod 0644 $(PUBLISH) sqlite-*.tar.gz
|
||||
scp $(PUBLISH) sqlite-*.tar.gz hwaci@oak.he.net:public_html/sw/sqlite
|
||||
doc: $(DOC)
|
||||
mkdir -p doc
|
||||
mv $(DOC) doc
|
||||
|
||||
install: sqlite libsqlite.a sqlite.h
|
||||
mv sqlite /usr/bin
|
||||
@ -359,7 +356,7 @@ install: sqlite libsqlite.a sqlite.h
|
||||
|
||||
clean:
|
||||
rm -f *.o sqlite libsqlite.a sqlite.h
|
||||
rm -f lemon lempar.c parse.* sqlite.tar.gz
|
||||
rm -f lemon lempar.c parse.* sqlite*.tar.gz
|
||||
rm -f $(PUBLISH)
|
||||
rm -f *.da *.bb *.bbg gmon.out
|
||||
rm -rf tsrc
|
||||
|
25
manifest
25
manifest
@ -1,9 +1,9 @@
|
||||
C Put\sin\sthe\snew\sLIBTOOL\sbuild\ssystem.\s(CVS\s271)
|
||||
D 2001-09-28T01:34:44
|
||||
F Makefile.in 4d29e58224476426cc8c78b631ae478cbad0e1ea
|
||||
F Makefile.template 31de3ce7126e8325c759a94e5b72ee8febc43357
|
||||
C Version\s2.0.0\s(CVS\s272)
|
||||
D 2001-09-28T17:47:14
|
||||
F Makefile.in 98d4627cb364537e4c3a29ee806171f3abf5211a
|
||||
F Makefile.template 7179523fdf3d6e7933ec843e2352dcfc9785c700
|
||||
F README 93d2977cc5c6595c448de16bdefc312b9d401533
|
||||
F VERSION 17fadc361fb942d644f92116388409c937c9fa79
|
||||
F VERSION 3861a21803fcd9eb92a403027b0da2bb7add4de1
|
||||
F aclocal.m4 11faa843caa38fd451bc6aeb43e248d1723a269d
|
||||
F config.guess f38b1e93d1e0fa6f5a6913e9e7b12774b9232588
|
||||
F config.log 6a73d03433669b10a3f0c221198c3f26b9413914
|
||||
@ -17,6 +17,7 @@ F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac
|
||||
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
|
||||
F libtool c56e618713c9510a103bda6b95f3ea3900dcacd6
|
||||
F ltmain.sh e9ed72eb1d690f447c13945eaf69e28af531eda1
|
||||
F publish.sh 88bc1f96946582eb0323c4d31a89767ba6ae46ce
|
||||
F src/TODO af7f3cab0228e34149cf98e073aa83d45878e7e6
|
||||
F src/btree.c a4a88dfef2072cedfdac09f3a51b7d70b017b9b4
|
||||
F src/btree.h 57d653ef5137b91f2a068aaf71a2905468dd2cb7
|
||||
@ -41,7 +42,7 @@ F src/shell.tcl 27ecbd63dd88396ad16d81ab44f73e6c0ea9d20e
|
||||
F src/sqlite.h.in 08151912b382ded315b5c8fc6288d9d7a9332aa4
|
||||
F src/sqliteInt.h 3ead85324704b79b2ae6799d6af3e5fd710756d9
|
||||
F src/table.c abd0adbe0fee39d995287b3bcccd908d174dfcac
|
||||
F src/tclsqlite.c 04a35d04f06046acc3944121dc6c36717f7f36d5
|
||||
F src/tclsqlite.c 765599686c19ed777ac379928d732c8bfc63ebac
|
||||
F src/test1.c e4b31f62ea71963cbae44338acf477a04fc8fc49
|
||||
F src/test2.c 0168b39225b768cfdadd534406f9dec58c27879e
|
||||
F src/test3.c 4a0d7b882fdae731dbb759f512ad867122452f96
|
||||
@ -99,18 +100,18 @@ F www/arch.fig d5f9752a4dbf242e9cfffffd3f5762b6c63b3bcf
|
||||
F www/arch.png 82ef36db1143828a7abc88b1e308a5f55d4336f4
|
||||
F www/arch.tcl c1891efdc00cd76eec72bdbf8b446195902932a3
|
||||
F www/c_interface.tcl 52ae81c89bf906b358e04857bd3f76b1a7f61c1b
|
||||
F www/changes.tcl d06af04f300162e47ac066e125ef34e863a19ca2
|
||||
F www/changes.tcl 47619693c843174b57d41482fcd00e2e70d41fd0
|
||||
F www/crosscompile.tcl c99efacb3aefaa550c6e80d91b240f55eb9fd33e
|
||||
F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c
|
||||
F www/index.tcl fd8ef2d78f22022d2baea03371a1add75d98d236
|
||||
F www/lang.tcl d093693db5d4d7b7127d134807e4e65dea0e5dee
|
||||
F www/index.tcl 639a75165dc532a16ddb02055bc69541eecc3fa7
|
||||
F www/lang.tcl 33a74d727615ccbee8be7c8efd5876ce008c4b0e
|
||||
F www/mingw.tcl fc5f4ba9d336b6e8c97347cc6496d6162461ef60
|
||||
F www/opcode.tcl 60222aeb57a7855b2582c374b8753cb5bb53c4ab
|
||||
F www/speed.tcl 91b53f9403a62bb322dc1f85a81531309bcfb41c
|
||||
F www/sqlite.tcl cb0d23d8f061a80543928755ec7775da6e4f362f
|
||||
F www/tclsqlite.tcl 13d50723f583888fc80ae1a38247c0ab415066fa
|
||||
F www/vdbe.tcl 0c8aaa529dd216ccbf7daaabd80985e413d5f9ad
|
||||
P 3ae952933997c6422ec53b26391ba362c6e5c44a
|
||||
R 9eb0a8a330099ee573677e4648d1a9dc
|
||||
P 00575d167aea567bc38f8a329aeff7b814eb91c8
|
||||
R 81c8ca6ec47dd72d51e7ef41271549d2
|
||||
U drh
|
||||
Z dd38c213d9c2c1db847a360dc3d08644
|
||||
Z 04def0ebf7eae2e65632e77981c5002a
|
||||
|
@ -1 +1 @@
|
||||
00575d167aea567bc38f8a329aeff7b814eb91c8
|
||||
1df5386a5557c1fc6a5433e9dbd23009026be369
|
98
publish.sh
Normal file
98
publish.sh
Normal file
@ -0,0 +1,98 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script is used to compile SQLite and all its documentation and
|
||||
# ship everything up to the SQLite website. This script will only work
|
||||
# on the system "zadok" at the Hwaci offices. But others might find
|
||||
# the script useful as an example.
|
||||
#
|
||||
|
||||
# Set srcdir to the name of the directory that contains the publish.sh
|
||||
# script.
|
||||
#
|
||||
srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'`
|
||||
|
||||
# Get the makefile.
|
||||
#
|
||||
cp $srcdir/Makefile.template ./Makefile
|
||||
|
||||
# Start building stuff.
|
||||
#
|
||||
make clean
|
||||
make sqlite
|
||||
strip sqlite
|
||||
mv sqlite sqlite.bin
|
||||
gzip sqlite.bin
|
||||
|
||||
# Build the tclsqlite.so shared library for import into tclsh or wish
|
||||
# under Linux
|
||||
#
|
||||
make target_source
|
||||
cd tsrc
|
||||
rm shell.c
|
||||
TCLDIR=/home/drh/tcltk/8.2linux
|
||||
OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DOS_UNIX=1 -DOS_WIN=0'
|
||||
gcc -fPIC $OPTS -O2 -I. -I$TCLDIR -shared *.c -o tclsqlite.so
|
||||
strip tclsqlite.so
|
||||
mv tclsqlite.so ..
|
||||
cd ..
|
||||
gzip tclsqlite.so
|
||||
|
||||
# Build the tclsqlite.dll shared library that can be imported into tclsh
|
||||
# or wish on windows.
|
||||
#
|
||||
make target_source
|
||||
cd tsrc
|
||||
TCLDIR=/home/drh/tcltk/8.2win
|
||||
TCLSTUBLIB=$TCLDIR/tclstub82.a
|
||||
PATH=$PATH:/opt/mingw/bin
|
||||
OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1 -DOS_UNIX=0 -DOS_WIN=1'
|
||||
CC="i386-mingw32-gcc -O2 $OPTS -I. -I$TCLDIR"
|
||||
rm shell.c
|
||||
for i in *.c; do
|
||||
CMD="$CC -c $i"
|
||||
echo $CMD
|
||||
$CMD
|
||||
done
|
||||
echo 'EXPORTS' >tclsqlite.def
|
||||
echo 'Tclsqlite_Init' >>tclsqlite.def
|
||||
echo 'Sqlite_Init' >>tclsqlite.def
|
||||
i386-mingw32-dllwrap \
|
||||
--def tclsqlite.def -v --export-all \
|
||||
--driver-name i386-mingw32-gcc \
|
||||
--dlltool-name i386-mingw32-dlltool \
|
||||
--as i386-mingw32-as \
|
||||
--target i386-mingw32 \
|
||||
-dllname tclsqlite.dll -lmsvcrt *.o $TCLSTUBLIB
|
||||
i386-mingw32-strip tclsqlite.dll
|
||||
mv tclsqlite.dll ..
|
||||
cd ..
|
||||
rm -f tclsqlite.zip
|
||||
zip tclsqlite.zip tclsqlite.dll
|
||||
|
||||
# Build the sqlite.exe executable for windows.
|
||||
#
|
||||
make target_source
|
||||
cd tsrc
|
||||
rm tclsqlite.c
|
||||
OPTS='-DSTATIC_BUILD=1 -DNDEBUG=1 -DOS_UNIX=0 -DOS_WIN=1'
|
||||
i386-mingw32-gcc -O2 $OPTS -I. -I$TCLDIR *.c -o sqlite.exe
|
||||
mv sqlite.exe ..
|
||||
cd ..
|
||||
rm -f sqlite.zip
|
||||
zip sqlite.zip sqlite.exe
|
||||
|
||||
# Construct a tarball of the source tree
|
||||
#
|
||||
ORIGIN=`pwd`
|
||||
cd $srcdir
|
||||
cd ..
|
||||
tar czf $ORIGIN/sqlite.tar.gz sqlite
|
||||
cd $ORIGIN
|
||||
vers=`cat $srcdir/VERSION`
|
||||
ln sqlite.tar.gz sqlite-$vers.tar.gz
|
||||
|
||||
# Build the website
|
||||
#
|
||||
cp $srcdir/../historical/* .
|
||||
make doc
|
||||
ln sqlite.bin.gz sqlite.zip sqlite*.tar.gz tclsqlite.so.gz tclsqlite.zip doc
|
@ -11,7 +11,7 @@
|
||||
*************************************************************************
|
||||
** A TCL Interface to SQLite
|
||||
**
|
||||
** $Id: tclsqlite.c,v 1.23 2001/09/16 00:13:27 drh Exp $
|
||||
** $Id: tclsqlite.c,v 1.24 2001/09/28 17:47:14 drh Exp $
|
||||
*/
|
||||
#ifndef NO_TCL /* Omit this whole file if TCL is unavailable */
|
||||
|
||||
@ -433,6 +433,15 @@ static int DbMain(void *cd, Tcl_Interp *interp, int argc, char **argv){
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** Provide a dummy Tcl_InitStubs if we are using this as a static
|
||||
** library.
|
||||
*/
|
||||
#ifndef USE_TCL_STUBS
|
||||
# undef Tcl_InitStubs
|
||||
# define Tcl_InitStubs(a,b,c)
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Initialize this module.
|
||||
**
|
||||
@ -443,6 +452,13 @@ static int DbMain(void *cd, Tcl_Interp *interp, int argc, char **argv){
|
||||
** for additional information.
|
||||
*/
|
||||
int Sqlite_Init(Tcl_Interp *interp){
|
||||
Tcl_InitStubs(interp, "8.0", 0);
|
||||
Tcl_CreateCommand(interp, "sqlite", DbMain, 0, 0);
|
||||
Tcl_PkgProvide(interp, "sqlite", "1.0");
|
||||
return TCL_OK;
|
||||
}
|
||||
int Tclsqlite_Init(Tcl_Interp *interp){
|
||||
Tcl_InitStubs(interp, "8.0", 0);
|
||||
Tcl_CreateCommand(interp, "sqlite", DbMain, 0, 0);
|
||||
Tcl_PkgProvide(interp, "sqlite", "1.0");
|
||||
return TCL_OK;
|
||||
@ -450,6 +466,9 @@ int Sqlite_Init(Tcl_Interp *interp){
|
||||
int Sqlite_SafeInit(Tcl_Interp *interp){
|
||||
return TCL_OK;
|
||||
}
|
||||
int Tclsqlite_SafeInit(Tcl_Interp *interp){
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
#if 0
|
||||
/*
|
||||
|
@ -17,6 +17,15 @@ proc chng {date desc} {
|
||||
puts "<DD><P><UL>$desc</UL></P></DD>"
|
||||
}
|
||||
|
||||
chng {2001 Sep 28 (2.0.0)} {
|
||||
<li>Automatically build binaries for Linux and Windows and put them on
|
||||
the website.</li>
|
||||
}
|
||||
|
||||
chng {2001 Sep 28 (2.0-alpha-4)} {
|
||||
<li>Incorporate makefile patches form A. Rottmann to use LIBTOOL</li>
|
||||
}
|
||||
|
||||
chng {2001 Sep 27 (2.0-alpha-3)} {
|
||||
<li>SQLite now honors the UNIQUE keyword in CREATE UNIQUE INDEX. Primary
|
||||
keys are required to be unique.</li>
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Run this TCL script to generate HTML for the index.html file.
|
||||
#
|
||||
set rcsid {$Id: index.tcl,v 1.41 2001/09/25 01:51:00 drh Exp $}
|
||||
set rcsid {$Id: index.tcl,v 1.42 2001/09/28 17:47:14 drh Exp $}
|
||||
|
||||
puts {<html>
|
||||
<head><title>SQLite: An SQL Database Engine In A C Library</title></head>
|
||||
@ -27,9 +27,17 @@ an example of how to use the SQLite library.</p>
|
||||
<p>SQLite is <b>not</b> a client library used to connect to a
|
||||
big database server. SQLite <b>is</b> the server. The SQLite
|
||||
library reads and writes directly to and from the database files
|
||||
on disk.</p>
|
||||
on disk.</p>}
|
||||
|
||||
<h2>Features</h2>
|
||||
puts {<table align="right"hspace="10">
|
||||
<tr><td align="center" bgcolor="#8ee5ee">
|
||||
<table border="2"><tr><td align="center">
|
||||
<a href="download.html"><big><b>Download<br>SQLite
|
||||
</td></tr></table>
|
||||
</td></tr>
|
||||
</table>}
|
||||
|
||||
puts {<h2>Features</h2>
|
||||
|
||||
<p><ul>
|
||||
<li>Implements a large subset of SQL92.</li>
|
||||
@ -42,7 +50,8 @@ on disk.</p>
|
||||
<li>Very simple
|
||||
<a href="c_interface.html">C/C++ interface</a> requires the use of only
|
||||
three functions and one opaque structure.</li>
|
||||
<li>A TCL interface to the library is included.</li>
|
||||
<li>A <a href="tclsqlite.html">TCL interface</a>
|
||||
to the library is included.</li>
|
||||
<li>A TCL-based test suite provides near 100% code coverage.</li>
|
||||
<li>Self-contained: no external dependencies.</li>
|
||||
<li>Built and tested under Linux and Win2K.</li>
|
||||
@ -51,35 +60,13 @@ three functions and one opaque structure.</li>
|
||||
</p>
|
||||
}
|
||||
|
||||
puts {<h2>Download</h2>}
|
||||
puts {<h2>Download</h2>
|
||||
|
||||
puts {<table align="right"hspace="10">
|
||||
<tr><td align="center" bgcolor="#8ee5ee">
|
||||
<table border="2"><tr><td align="center">
|
||||
<a href="sqlite.tar.gz"><big><b>Download SQLite<br>}
|
||||
puts "version $vers<br>"
|
||||
puts {Now!
|
||||
</td></tr></table>
|
||||
</td></tr>
|
||||
</table>}
|
||||
|
||||
|
||||
puts {<p>You can download a tarball containing all source
|
||||
code for SQLite
|
||||
<p>
|
||||
Precompiled binaries for Linux and Windows and the complete
|
||||
source tree are available for <a href="download.html">download</a>.
|
||||
</p>
|
||||
}
|
||||
puts "version $vers"
|
||||
puts {
|
||||
(including the TCL scripts that generate the
|
||||
HTML files for this website) at <a href="sqlite.tar.gz">sqlite.tar.gz</a>.}
|
||||
puts "This is a [file size sqlite.tar.gz] byte download."
|
||||
set historical [lsort -dict [glob -nocomplain sqlite-*.tar.gz]]
|
||||
if {$historical!=""} {
|
||||
puts {The following historical versions of SQLite are also available:}
|
||||
foreach x $historical {
|
||||
puts "<a href=\"$x\">$x</a> ([file size $x] bytes)"
|
||||
}
|
||||
}
|
||||
puts {</p>}
|
||||
|
||||
puts {<h2>Current Status</h2>
|
||||
|
||||
@ -88,17 +75,6 @@ There are currently no <em>known</em> memory leaks or debilitating bugs
|
||||
in the library. <a href="http://gcc.gnu.org/onlinedocs/gcov_1.html">Gcov</a>
|
||||
is used to verify test coverage.</p>
|
||||
|
||||
<p>Known bugs:</p>
|
||||
|
||||
<ul>
|
||||
<li><p>
|
||||
The LIKE operator is suppose to ignore case.
|
||||
But it only ignores case for 7-bit Latin characters.
|
||||
The case of 8-bit iso8859 characters or UTF-8 characters is
|
||||
signification. Hence, <b>'a' LIKE 'A'</b> returns
|
||||
TRUE but <b>'æ' LIKE 'Æ'</b> returns FALSE.
|
||||
</p></li>
|
||||
</ul>
|
||||
|
||||
<h2>Documentation</h2>
|
||||
|
||||
@ -150,14 +126,6 @@ $ ../sqlite/configure
|
||||
$ make <i> Builds "sqlite" and "libsqlite.a" </i>
|
||||
$ make test <i> Optional: run regression tests </i>
|
||||
</pre></blockquote>
|
||||
|
||||
<p>The Win2K version of SQLite was built using the MingW32 cross-compiler
|
||||
running under Linux. You have to give the configure script hints to make
|
||||
this work. Read the comments at the beginning of the file
|
||||
<b>configure.in</b> for additional information. The source code is
|
||||
general enough that it should be possible to compile SQLite using VC++,
|
||||
though the author has no desire or motivation to try.
|
||||
</p>
|
||||
}
|
||||
|
||||
puts {<h2>Command-line Usage Example</h2>
|
||||
|
20
www/lang.tcl
20
www/lang.tcl
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Run this Tcl script to generate the sqlite.html file.
|
||||
#
|
||||
set rcsid {$Id: lang.tcl,v 1.9 2001/09/20 01:44:44 drh Exp $}
|
||||
set rcsid {$Id: lang.tcl,v 1.10 2001/09/28 17:47:14 drh Exp $}
|
||||
|
||||
puts {<html>
|
||||
<head>
|
||||
@ -119,7 +119,7 @@ ROLLBACK [TRANSACTION [<name>]]
|
||||
puts {
|
||||
<p>Beginning in version 2.0, SQLite supports transactions with
|
||||
rollback and atomic commit. However, only a single level of
|
||||
transaction is required. In other words, transactions
|
||||
transaction is allowed. In other words, transactions
|
||||
may not be nested.
|
||||
</p>
|
||||
|
||||
@ -173,7 +173,7 @@ puts "\"[Operator \\.]\".</p>"
|
||||
Section {CREATE INDEX} createindex
|
||||
|
||||
Syntax {sql-statement} {
|
||||
CREATE INDEX <index-name>
|
||||
CREATE [UNIQUE] INDEX <index-name>
|
||||
ON <table-name> ( <column-name> [, <column-name>]* )
|
||||
} {column-name} {
|
||||
<name> [ ASC | DESC ]
|
||||
@ -191,6 +191,10 @@ implementation.</p>
|
||||
<p>There are no arbitrary limits on the number of indices that can be
|
||||
attached to a single table, nor on the number of columns in an index.</p>
|
||||
|
||||
<p>If the UNIQUE keyword appears between CREATE and INDEX then duplicate
|
||||
index entries are not allowed. Any attempt to insert a duplicate entry
|
||||
will result in a rollback and an error message.</p>
|
||||
|
||||
<p>The exact text
|
||||
of each CREATE INDEX statement is stored in the <b>sqlite_master</b>
|
||||
table. Everytime the database is opened, all CREATE INDEX statements
|
||||
@ -234,10 +238,12 @@ is the name of the table that records the database schema.</p>
|
||||
<p>Each column definition is the name of the column followed by the
|
||||
datatype for that column, then one or more optional column constraints.
|
||||
The datatype for the column is ignored. All information
|
||||
is stored as null-terminated strings. The constraints are also ignored,
|
||||
except that the PRIMARY KEY constraint will cause an index to be automatically
|
||||
created that implements the primary key and the DEFAULT constraint
|
||||
which specifies a default value to use when doing an INSERT.
|
||||
is stored as null-terminated strings.
|
||||
The UNIQUE constraint causes an index to be created on the specified
|
||||
columns. This index must contain unique keys. The PRIMARY KEY constraint
|
||||
is an alias for UNIQUE.
|
||||
The DEFAULT constraint
|
||||
specifies a default value to use when doing an INSERT.
|
||||
</p>
|
||||
|
||||
<p>There are no arbitrary limits on the number
|
||||
|
Loading…
x
Reference in New Issue
Block a user