mirror of
https://github.com/sqlite/sqlite.git
synced 2025-10-30 07:05:46 +03:00
Add infrastructure for the ANALYZE command. Does not yet actually
do anything. (CVS 2537) FossilOrigin-Name: 05b6ac9a76fd5765c50e81588f8e71c59fe35ce4
This commit is contained in:
@@ -112,7 +112,8 @@ TCC += -DSQLITE_OMIT_CURSOR
|
|||||||
|
|
||||||
# Object files for the SQLite library.
|
# Object files for the SQLite library.
|
||||||
#
|
#
|
||||||
LIBOBJ = alter.lo attach.lo auth.lo btree.lo build.lo callback.lo date.lo \
|
LIBOBJ = alter.lo analyze.lo attach.lo auth.lo btree.lo build.lo \
|
||||||
|
callback.lo date.lo \
|
||||||
delete.lo expr.lo func.lo hash.lo insert.lo \
|
delete.lo expr.lo func.lo hash.lo insert.lo \
|
||||||
main.lo opcodes.lo os_unix.lo os_win.lo \
|
main.lo opcodes.lo os_unix.lo os_win.lo \
|
||||||
pager.lo parse.lo pragma.lo prepare.lo printf.lo random.lo \
|
pager.lo parse.lo pragma.lo prepare.lo printf.lo random.lo \
|
||||||
@@ -124,6 +125,7 @@ LIBOBJ = alter.lo attach.lo auth.lo btree.lo build.lo callback.lo date.lo \
|
|||||||
#
|
#
|
||||||
SRC = \
|
SRC = \
|
||||||
$(TOP)/src/alter.c \
|
$(TOP)/src/alter.c \
|
||||||
|
$(TOP)/src/analyze.c \
|
||||||
$(TOP)/src/attach.c \
|
$(TOP)/src/attach.c \
|
||||||
$(TOP)/src/auth.c \
|
$(TOP)/src/auth.c \
|
||||||
$(TOP)/src/btree.c \
|
$(TOP)/src/btree.c \
|
||||||
@@ -265,6 +267,9 @@ lemon$(BEXE): $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c
|
|||||||
alter.lo: $(TOP)/src/alter.c $(HDR)
|
alter.lo: $(TOP)/src/alter.c $(HDR)
|
||||||
$(LTCOMPILE) -c $(TOP)/src/alter.c
|
$(LTCOMPILE) -c $(TOP)/src/alter.c
|
||||||
|
|
||||||
|
analyze.lo: $(TOP)/src/analyze.c $(HDR)
|
||||||
|
$(LTCOMPILE) -c $(TOP)/src/analyze.c
|
||||||
|
|
||||||
attach.lo: $(TOP)/src/attach.c $(HDR)
|
attach.lo: $(TOP)/src/attach.c $(HDR)
|
||||||
$(LTCOMPILE) -c $(TOP)/src/attach.c
|
$(LTCOMPILE) -c $(TOP)/src/attach.c
|
||||||
|
|
||||||
|
|||||||
7
main.mk
7
main.mk
@@ -54,7 +54,8 @@ TCCX = $(TCC) $(OPTS) $(THREADSAFE) $(USLEEP) -I. -I$(TOP)/src
|
|||||||
|
|
||||||
# Object files for the SQLite library.
|
# Object files for the SQLite library.
|
||||||
#
|
#
|
||||||
LIBOBJ+= alter.o attach.o auth.o btree.o build.o callback.o date.o delete.o \
|
LIBOBJ+= alter.o analyze.o attach.o auth.o btree.o build.o \
|
||||||
|
callback.o date.o delete.o \
|
||||||
expr.o func.o hash.o insert.o \
|
expr.o func.o hash.o insert.o \
|
||||||
main.o opcodes.o os_unix.o os_win.o \
|
main.o opcodes.o os_unix.o os_win.o \
|
||||||
pager.o parse.o pragma.o prepare.o printf.o random.o \
|
pager.o parse.o pragma.o prepare.o printf.o random.o \
|
||||||
@@ -67,6 +68,7 @@ LIBOBJ+= alter.o attach.o auth.o btree.o build.o callback.o date.o delete.o \
|
|||||||
#
|
#
|
||||||
SRC = \
|
SRC = \
|
||||||
$(TOP)/src/alter.c \
|
$(TOP)/src/alter.c \
|
||||||
|
$(TOP)/src/analyze.c \
|
||||||
$(TOP)/src/attach.c \
|
$(TOP)/src/attach.c \
|
||||||
$(TOP)/src/auth.c \
|
$(TOP)/src/auth.c \
|
||||||
$(TOP)/src/btree.c \
|
$(TOP)/src/btree.c \
|
||||||
@@ -200,6 +202,9 @@ lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c
|
|||||||
alter.o: $(TOP)/src/alter.c $(HDR)
|
alter.o: $(TOP)/src/alter.c $(HDR)
|
||||||
$(TCCX) -c $(TOP)/src/alter.c
|
$(TCCX) -c $(TOP)/src/alter.c
|
||||||
|
|
||||||
|
analyze.o: $(TOP)/src/analyze.c $(HDR)
|
||||||
|
$(TCCX) -c $(TOP)/src/analyze.c
|
||||||
|
|
||||||
attach.o: $(TOP)/src/attach.c $(HDR)
|
attach.o: $(TOP)/src/attach.c $(HDR)
|
||||||
$(TCCX) -c $(TOP)/src/attach.c
|
$(TCCX) -c $(TOP)/src/attach.c
|
||||||
|
|
||||||
|
|||||||
23
manifest
23
manifest
@@ -1,6 +1,6 @@
|
|||||||
C Fix\sa\squoting\sproblem\sin\sthe\sconfigure\sscript.\s(CVS\s2536)
|
C Add\sinfrastructure\sfor\sthe\sANALYZE\scommand.\s\sDoes\snot\syet\sactually\ndo\sanything.\s(CVS\s2537)
|
||||||
D 2005-07-06T13:51:27
|
D 2005-07-08T12:13:04
|
||||||
F Makefile.in 64a6635ef44a98325e0cffe8d67669920a3dad47
|
F Makefile.in bc7bffc4ca6f09f2ffa9c9f5c43fc624fb566970
|
||||||
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
|
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
|
||||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||||
F VERSION 44fad0bf0996660a11bf8187361de03941d9b7b0
|
F VERSION 44fad0bf0996660a11bf8187361de03941d9b7b0
|
||||||
@@ -16,7 +16,7 @@ F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538
|
|||||||
F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac
|
F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac
|
||||||
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
|
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
|
||||||
F ltmain.sh f6b283068efa69f06eb8aa1fe4bddfdbdeb35826
|
F ltmain.sh f6b283068efa69f06eb8aa1fe4bddfdbdeb35826
|
||||||
F main.mk 36e456f706ab73e8dd4a87d939f62f3dc265b886
|
F main.mk 675e435ca670e30513907265cc9cc0c011b40c17
|
||||||
F mkdll.sh 5ec23622515d5bf8969404e80cfb5e220ddf0512
|
F mkdll.sh 5ec23622515d5bf8969404e80cfb5e220ddf0512
|
||||||
F mkopcodec.awk bd46ad001c98dfbab07b1713cb8e692fa0e5415d
|
F mkopcodec.awk bd46ad001c98dfbab07b1713cb8e692fa0e5415d
|
||||||
F mkopcodeh.awk 7563ad235670e864ead95cf672be3fe081450ae0
|
F mkopcodeh.awk 7563ad235670e864ead95cf672be3fe081450ae0
|
||||||
@@ -28,6 +28,7 @@ F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc
|
|||||||
F sqlite3.def c413e514217736884254739a105c8c942fdf0c2f
|
F sqlite3.def c413e514217736884254739a105c8c942fdf0c2f
|
||||||
F sqlite3.pc.in 985b9bf34192a549d7d370e0f0b6b34a4f61369a
|
F sqlite3.pc.in 985b9bf34192a549d7d370e0f0b6b34a4f61369a
|
||||||
F src/alter.c 03041f2464e22532601254f87cb49997fa21dcdf
|
F src/alter.c 03041f2464e22532601254f87cb49997fa21dcdf
|
||||||
|
F src/analyze.c 2f770b39f9d77353ac36db1861319e6323772f82
|
||||||
F src/attach.c 3615dbe960cbee4aa5ea300b8a213dad36527b0f
|
F src/attach.c 3615dbe960cbee4aa5ea300b8a213dad36527b0f
|
||||||
F src/auth.c 18c5a0befe20f3a58a41e3ddd78f372faeeefe1f
|
F src/auth.c 18c5a0befe20f3a58a41e3ddd78f372faeeefe1f
|
||||||
F src/btree.c a167f412cf5b269bffba925ac55a1c0a2f749e29
|
F src/btree.c a167f412cf5b269bffba925ac55a1c0a2f749e29
|
||||||
@@ -55,7 +56,7 @@ F src/os_win.c fe7b99cfcfb61d9bf54493ddf5857885a657fb89
|
|||||||
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
|
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
|
||||||
F src/pager.c 841a2cdddd4275de36cda26ed9dc54ae942660ce
|
F src/pager.c 841a2cdddd4275de36cda26ed9dc54ae942660ce
|
||||||
F src/pager.h 0d9153d6269d60d04af3dd84a0cc0a96253cf4a4
|
F src/pager.h 0d9153d6269d60d04af3dd84a0cc0a96253cf4a4
|
||||||
F src/parse.y 6caf6855c13eb4e88cc1ad9596dc5a7ed58e9bb9
|
F src/parse.y d57cdd2adc0923762b40314f08683c836a2e0c90
|
||||||
F src/pragma.c dea86dad2f0e872b29632ae9fba526e539a4ddd8
|
F src/pragma.c dea86dad2f0e872b29632ae9fba526e539a4ddd8
|
||||||
F src/prepare.c d53602d2f8e097225ae7c76ec764ae68f759ba47
|
F src/prepare.c d53602d2f8e097225ae7c76ec764ae68f759ba47
|
||||||
F src/printf.c 3d20b21cfecadacecac3fb7274e746cb81d3d357
|
F src/printf.c 3d20b21cfecadacecac3fb7274e746cb81d3d357
|
||||||
@@ -63,10 +64,10 @@ F src/random.c 90adff4e73a3b249eb4f1fc2a6ff9cf78c7233a4
|
|||||||
F src/select.c 28b752e58955c7920711fbdbfdcd369a2bd09448
|
F src/select.c 28b752e58955c7920711fbdbfdcd369a2bd09448
|
||||||
F src/shell.c 25b3217d7c64e6497225439d261a253a23efff26
|
F src/shell.c 25b3217d7c64e6497225439d261a253a23efff26
|
||||||
F src/sqlite.h.in e06d5774e9cfa5962376ae988300a9f114a3e3d7
|
F src/sqlite.h.in e06d5774e9cfa5962376ae988300a9f114a3e3d7
|
||||||
F src/sqliteInt.h cdd46c945d777fe93b65ae075e972e22e699fa16
|
F src/sqliteInt.h a5ad4b51d99ada5e065808670f7cef87264606df
|
||||||
F src/table.c 25b3ff2b39b7d87e8d4a5da0713d68dfc06cbee9
|
F src/table.c 25b3ff2b39b7d87e8d4a5da0713d68dfc06cbee9
|
||||||
F src/tclsqlite.c cccaf6b78c290d824cf8ea089b8b27377e545830
|
F src/tclsqlite.c cccaf6b78c290d824cf8ea089b8b27377e545830
|
||||||
F src/test1.c b2885afb71c93e49db6a36f101fe38c71e7e3d6c
|
F src/test1.c 83ead44dead55033adff61ce69a1e2fc3e72935e
|
||||||
F src/test2.c 716c1809dba8e5be6093703e9cada99d627542dc
|
F src/test2.c 716c1809dba8e5be6093703e9cada99d627542dc
|
||||||
F src/test3.c 683e1e3819152ffd35da2f201e507228921148d0
|
F src/test3.c 683e1e3819152ffd35da2f201e507228921148d0
|
||||||
F src/test4.c 7c6b9fc33dd1f3f93c7f1ee6e5e6d016afa6c1df
|
F src/test4.c 7c6b9fc33dd1f3f93c7f1ee6e5e6d016afa6c1df
|
||||||
@@ -227,7 +228,7 @@ F tool/lempar.c f0c30abcae762a7d1eb37cd88b2232ab8dd625fb
|
|||||||
F tool/memleak.awk 4e7690a51bf3ed757e611273d43fe3f65b510133
|
F tool/memleak.awk 4e7690a51bf3ed757e611273d43fe3f65b510133
|
||||||
F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8
|
F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8
|
||||||
F tool/memleak3.tcl 009da0ea82dc5893edca76cf1a21fb7260e9412e
|
F tool/memleak3.tcl 009da0ea82dc5893edca76cf1a21fb7260e9412e
|
||||||
F tool/mkkeywordhash.c e4ba5010348303b1dbab41326191e7f37f8a036f
|
F tool/mkkeywordhash.c e0b7833fef924e3c75d5e5c28fdcdb879909bdfb
|
||||||
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x
|
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x
|
||||||
F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
|
F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
|
||||||
F tool/report1.txt 9eae07f26a8fc53889b45fc833a66a33daa22816
|
F tool/report1.txt 9eae07f26a8fc53889b45fc833a66a33daa22816
|
||||||
@@ -283,7 +284,7 @@ F www/tclsqlite.tcl 425be741b8ae664f55cb1ef2371aab0a75109cf9
|
|||||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||||
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
|
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
|
||||||
F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b
|
F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b
|
||||||
P d3b03495a46e79a9d82525a61bad99eef9469ad1
|
P b34647a2ebec6f915f9914034e9370459873215e
|
||||||
R 31da939da5f412be3d17d7c92021596c
|
R e47c1bc2e59627b5b8cf84918bbd5426
|
||||||
U drh
|
U drh
|
||||||
Z 1e010b424bd6ccd912acc5e4f917dc09
|
Z 50fe8e6711c2298fa85b1472b5a9b5e5
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
b34647a2ebec6f915f9914034e9370459873215e
|
05b6ac9a76fd5765c50e81588f8e71c59fe35ce4
|
||||||
34
src/analyze.c
Normal file
34
src/analyze.c
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
** 2005 July 8
|
||||||
|
**
|
||||||
|
** The author disclaims copyright to this source code. In place of
|
||||||
|
** a legal notice, here is a blessing:
|
||||||
|
**
|
||||||
|
** May you do good and not evil.
|
||||||
|
** May you find forgiveness for yourself and forgive others.
|
||||||
|
** May you share freely, never taking more than you give.
|
||||||
|
**
|
||||||
|
*************************************************************************
|
||||||
|
** This file contains code associated with the ANALYZE command.
|
||||||
|
**
|
||||||
|
** @(#) $Id: analyze.c,v 1.1 2005/07/08 12:13:05 drh Exp $
|
||||||
|
*/
|
||||||
|
#ifndef SQLITE_OMIT_ANALYZE
|
||||||
|
#include "sqliteInt.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Generate code for the ANALYZE command
|
||||||
|
**
|
||||||
|
** ANALYZE -- 1
|
||||||
|
** ANALYZE <database > -- 2
|
||||||
|
** ANALYZE ?<database>.?<tablename> -- 3
|
||||||
|
**
|
||||||
|
** Form 1 causes all indices in all attached databases to be analyzed.
|
||||||
|
** Form 2 analyzes all indices the single database named.
|
||||||
|
** Form 3 analyzes all indices associated with the named table.
|
||||||
|
*/
|
||||||
|
void sqlite3Analyze(Parse *pParse, Token *pName1, Token *pName2){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* SQLITE_OMIT_ANALYZE */
|
||||||
10
src/parse.y
10
src/parse.y
@@ -14,7 +14,7 @@
|
|||||||
** the parser. Lemon will also generate a header file containing
|
** the parser. Lemon will also generate a header file containing
|
||||||
** numeric codes for all of the tokens.
|
** numeric codes for all of the tokens.
|
||||||
**
|
**
|
||||||
** @(#) $Id: parse.y,v 1.174 2005/06/30 17:04:21 drh Exp $
|
** @(#) $Id: parse.y,v 1.175 2005/07/08 12:13:05 drh Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// All token codes are small integers with #defines that begin with "TK_"
|
// All token codes are small integers with #defines that begin with "TK_"
|
||||||
@@ -170,7 +170,7 @@ id(A) ::= ID(X). {A = X;}
|
|||||||
// This obviates the need for the "id" nonterminal.
|
// This obviates the need for the "id" nonterminal.
|
||||||
//
|
//
|
||||||
%fallback ID
|
%fallback ID
|
||||||
ABORT AFTER ASC ATTACH BEFORE BEGIN CASCADE CAST CONFLICT
|
ABORT AFTER ANALYZE ASC ATTACH BEFORE BEGIN CASCADE CAST CONFLICT
|
||||||
DATABASE DEFERRED DESC DETACH EACH END EXCLUSIVE EXPLAIN FAIL FOR
|
DATABASE DEFERRED DESC DETACH EACH END EXCLUSIVE EXPLAIN FAIL FOR
|
||||||
IGNORE IMMEDIATE INITIALLY INSTEAD LIKE_KW MATCH KEY
|
IGNORE IMMEDIATE INITIALLY INSTEAD LIKE_KW MATCH KEY
|
||||||
OF OFFSET PRAGMA RAISE REPLACE RESTRICT ROW STATEMENT
|
OF OFFSET PRAGMA RAISE REPLACE RESTRICT ROW STATEMENT
|
||||||
@@ -1020,6 +1020,12 @@ cmd ::= REINDEX. {sqlite3Reindex(pParse, 0, 0);}
|
|||||||
cmd ::= REINDEX nm(X) dbnm(Y). {sqlite3Reindex(pParse, &X, &Y);}
|
cmd ::= REINDEX nm(X) dbnm(Y). {sqlite3Reindex(pParse, &X, &Y);}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
/////////////////////////////////// ANALYZE ///////////////////////////////////
|
||||||
|
%ifndef SQLITE_OMIT_ANALYZE
|
||||||
|
cmd ::= ANALYZE. {sqlite3Analyze(pParse, 0, 0);}
|
||||||
|
cmd ::= ANALYZE nm(X) dbnm(Y). {sqlite3Analyze(pParse, &X, &Y);}
|
||||||
|
%endif
|
||||||
|
|
||||||
//////////////////////// ALTER TABLE table ... ////////////////////////////////
|
//////////////////////// ALTER TABLE table ... ////////////////////////////////
|
||||||
%ifndef SQLITE_OMIT_ALTERTABLE
|
%ifndef SQLITE_OMIT_ALTERTABLE
|
||||||
cmd ::= ALTER TABLE fullname(X) RENAME TO nm(Z). {
|
cmd ::= ALTER TABLE fullname(X) RENAME TO nm(Z). {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
*************************************************************************
|
*************************************************************************
|
||||||
** Internal interface definitions for SQLite.
|
** Internal interface definitions for SQLite.
|
||||||
**
|
**
|
||||||
** @(#) $Id: sqliteInt.h,v 1.389 2005/06/30 17:04:21 drh Exp $
|
** @(#) $Id: sqliteInt.h,v 1.390 2005/07/08 12:13:05 drh Exp $
|
||||||
*/
|
*/
|
||||||
#ifndef _SQLITEINT_H_
|
#ifndef _SQLITEINT_H_
|
||||||
#define _SQLITEINT_H_
|
#define _SQLITEINT_H_
|
||||||
@@ -1565,6 +1565,7 @@ void sqlite3AlterBeginAddColumn(Parse *, SrcList *);
|
|||||||
const char *sqlite3TestErrorName(int);
|
const char *sqlite3TestErrorName(int);
|
||||||
CollSeq *sqlite3GetCollSeq(sqlite3*, CollSeq *, const char *, int);
|
CollSeq *sqlite3GetCollSeq(sqlite3*, CollSeq *, const char *, int);
|
||||||
char sqlite3AffinityType(const Token*);
|
char sqlite3AffinityType(const Token*);
|
||||||
|
void sqlite3Analyze(Parse*, Token*, Token*);
|
||||||
|
|
||||||
#ifdef SQLITE_SSE
|
#ifdef SQLITE_SSE
|
||||||
#include "sseInt.h"
|
#include "sseInt.h"
|
||||||
|
|||||||
14
src/test1.c
14
src/test1.c
@@ -13,7 +13,7 @@
|
|||||||
** is not included in the SQLite library. It is used for automated
|
** is not included in the SQLite library. It is used for automated
|
||||||
** testing of the SQLite library.
|
** testing of the SQLite library.
|
||||||
**
|
**
|
||||||
** $Id: test1.c,v 1.146 2005/06/25 19:31:48 drh Exp $
|
** $Id: test1.c,v 1.147 2005/07/08 12:13:05 drh Exp $
|
||||||
*/
|
*/
|
||||||
#include "sqliteInt.h"
|
#include "sqliteInt.h"
|
||||||
#include "tcl.h"
|
#include "tcl.h"
|
||||||
@@ -2759,12 +2759,24 @@ static void set_options(Tcl_Interp *interp){
|
|||||||
Tcl_SetVar2(interp, "sqlite_options", "rowid32", "0", TCL_GLOBAL_ONLY);
|
Tcl_SetVar2(interp, "sqlite_options", "rowid32", "0", TCL_GLOBAL_ONLY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef SQLITE_CASE_SENSITIVE_LIKE
|
||||||
|
Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","1",TCL_GLOBAL_ONLY);
|
||||||
|
#else
|
||||||
|
Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","0",TCL_GLOBAL_ONLY);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef SQLITE_OMIT_ALTERTABLE
|
#ifdef SQLITE_OMIT_ALTERTABLE
|
||||||
Tcl_SetVar2(interp, "sqlite_options", "altertable", "0", TCL_GLOBAL_ONLY);
|
Tcl_SetVar2(interp, "sqlite_options", "altertable", "0", TCL_GLOBAL_ONLY);
|
||||||
#else
|
#else
|
||||||
Tcl_SetVar2(interp, "sqlite_options", "altertable", "1", TCL_GLOBAL_ONLY);
|
Tcl_SetVar2(interp, "sqlite_options", "altertable", "1", TCL_GLOBAL_ONLY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef SQLITE_OMIT_ANALYZE
|
||||||
|
Tcl_SetVar2(interp, "sqlite_options", "analyze", "0", TCL_GLOBAL_ONLY);
|
||||||
|
#else
|
||||||
|
Tcl_SetVar2(interp, "sqlite_options", "analyze", "1", TCL_GLOBAL_ONLY);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef SQLITE_OMIT_AUTHORIZATION
|
#ifdef SQLITE_OMIT_AUTHORIZATION
|
||||||
Tcl_SetVar2(interp, "sqlite_options", "auth", "0", TCL_GLOBAL_ONLY);
|
Tcl_SetVar2(interp, "sqlite_options", "auth", "0", TCL_GLOBAL_ONLY);
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -32,73 +32,78 @@ struct Keyword {
|
|||||||
#ifdef SQLITE_OMIT_ALTERTABLE
|
#ifdef SQLITE_OMIT_ALTERTABLE
|
||||||
# define ALTER 0
|
# define ALTER 0
|
||||||
#else
|
#else
|
||||||
# define ALTER 1
|
# define ALTER 0x00000001
|
||||||
|
#endif
|
||||||
|
#define ALWAYS 0x00000002
|
||||||
|
#ifdef SQLITE_OMIT_ANALYZE
|
||||||
|
# define ANALYZE 0
|
||||||
|
#else
|
||||||
|
# define ANALYZE 0x00000004
|
||||||
#endif
|
#endif
|
||||||
#define ALWAYS 2
|
|
||||||
#ifdef SQLITE_OMIT_ATTACH
|
#ifdef SQLITE_OMIT_ATTACH
|
||||||
# define ATTACH 0
|
# define ATTACH 0
|
||||||
#else
|
#else
|
||||||
# define ATTACH 4
|
# define ATTACH 0x00000008
|
||||||
#endif
|
#endif
|
||||||
#ifdef SQLITE_OMIT_AUTOINCREMENT
|
#ifdef SQLITE_OMIT_AUTOINCREMENT
|
||||||
# define AUTOINCR 0
|
# define AUTOINCR 0
|
||||||
#else
|
#else
|
||||||
# define AUTOINCR 8
|
# define AUTOINCR 0x00000010
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_COMPOUND_SELECT
|
|
||||||
# define COMPOUND 0
|
|
||||||
#else
|
|
||||||
# define COMPOUND 16
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_CONFLICT_CLAUSE
|
|
||||||
# define CONFLICT 0
|
|
||||||
#else
|
|
||||||
# define CONFLICT 32
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_EXPLAIN
|
|
||||||
# define EXPLAIN 0
|
|
||||||
#else
|
|
||||||
# define EXPLAIN 128
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_FOREIGN_KEY
|
|
||||||
# define FKEY 0
|
|
||||||
#else
|
|
||||||
# define FKEY 256
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_PRAGMA
|
|
||||||
# define PRAGMA 0
|
|
||||||
#else
|
|
||||||
# define PRAGMA 512
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_REINDEX
|
|
||||||
# define REINDEX 0
|
|
||||||
#else
|
|
||||||
# define REINDEX 1024
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_SUBQUERY
|
|
||||||
# define SUBQUERY 0
|
|
||||||
#else
|
|
||||||
# define SUBQUERY 2048
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_TRIGGER
|
|
||||||
# define TRIGGER 0
|
|
||||||
#else
|
|
||||||
# define TRIGGER 4096
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_VACUUM
|
|
||||||
# define VACUUM 0
|
|
||||||
#else
|
|
||||||
# define VACUUM 8192
|
|
||||||
#endif
|
|
||||||
#ifdef SQLITE_OMIT_VIEW
|
|
||||||
# define VIEW 0
|
|
||||||
#else
|
|
||||||
# define VIEW 16384
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef SQLITE_OMIT_CAST
|
#ifdef SQLITE_OMIT_CAST
|
||||||
# define CAST 0
|
# define CAST 0
|
||||||
#else
|
#else
|
||||||
# define CAST 32768
|
# define CAST 0x00000020
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_COMPOUND_SELECT
|
||||||
|
# define COMPOUND 0
|
||||||
|
#else
|
||||||
|
# define COMPOUND 0x00000040
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_CONFLICT_CLAUSE
|
||||||
|
# define CONFLICT 0
|
||||||
|
#else
|
||||||
|
# define CONFLICT 0x00000080
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_EXPLAIN
|
||||||
|
# define EXPLAIN 0
|
||||||
|
#else
|
||||||
|
# define EXPLAIN 0x00000100
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_FOREIGN_KEY
|
||||||
|
# define FKEY 0
|
||||||
|
#else
|
||||||
|
# define FKEY 0x00000200
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_PRAGMA
|
||||||
|
# define PRAGMA 0
|
||||||
|
#else
|
||||||
|
# define PRAGMA 0x00000400
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_REINDEX
|
||||||
|
# define REINDEX 0
|
||||||
|
#else
|
||||||
|
# define REINDEX 0x00000800
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_SUBQUERY
|
||||||
|
# define SUBQUERY 0
|
||||||
|
#else
|
||||||
|
# define SUBQUERY 0x00001000
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_TRIGGER
|
||||||
|
# define TRIGGER 0
|
||||||
|
#else
|
||||||
|
# define TRIGGER 0x00002000
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_VACUUM
|
||||||
|
# define VACUUM 0
|
||||||
|
#else
|
||||||
|
# define VACUUM 0x00004000
|
||||||
|
#endif
|
||||||
|
#ifdef SQLITE_OMIT_VIEW
|
||||||
|
# define VIEW 0
|
||||||
|
#else
|
||||||
|
# define VIEW 0x00008000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -111,6 +116,7 @@ static Keyword aKeywordTable[] = {
|
|||||||
{ "AFTER", "TK_AFTER", TRIGGER },
|
{ "AFTER", "TK_AFTER", TRIGGER },
|
||||||
{ "ALL", "TK_ALL", ALWAYS },
|
{ "ALL", "TK_ALL", ALWAYS },
|
||||||
{ "ALTER", "TK_ALTER", ALTER },
|
{ "ALTER", "TK_ALTER", ALTER },
|
||||||
|
{ "ANALYZE", "TK_ANALYZE", ANALYZE },
|
||||||
{ "AND", "TK_AND", ALWAYS },
|
{ "AND", "TK_AND", ALWAYS },
|
||||||
{ "AS", "TK_AS", ALWAYS },
|
{ "AS", "TK_AS", ALWAYS },
|
||||||
{ "ASC", "TK_ASC", ALWAYS },
|
{ "ASC", "TK_ASC", ALWAYS },
|
||||||
|
|||||||
Reference in New Issue
Block a user