*************************************************************************
** Internal interface definitions for SQLite.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
**
** This file defines various limits of what SQLite can process.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** the version number) and changes its name to "sqlite3.h" as
** part of the build process.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef _SQLITE3_H_
#define _SQLITE3_H_
** This is the header file for the generic hash-table implemenation
** used in SQLite.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef _SQLITE_HASH_H_
#define _SQLITE_HASH_H_
** subsystem. See comments in the source code for a detailed description
** of what each interface routine does.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef _BTREE_H_
#define _BTREE_H_
** or VDBE. The VDBE implements an abstract machine that runs a
** simple program to access and modify the underlying database.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef _SQLITE_VDBE_H_
#define _SQLITE_VDBE_H_
** subsystem. The page cache subsystem reads and writes a file a page
** at a time and provides a journal for rollback.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef _PAGER_H_
** Source files should #include the sqliteInt.h file and let that file
** include this one indirectly.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** sqlite3RegisterDateTimeFunctions() found at the bottom of the file.
** All other code has file scope.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
**
** SQLite processes all times and dates as Julian Day numbers. The
** dates and times are stored as the number of days since noon
** This file contains the C functions that implement a memory
** allocation subsystem for use by SQLite.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** This file contains the C functions that implement a memory
** allocation subsystem for use by SQLite.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** This version of the memory allocation subsystem is used if
** and only if SQLITE_MEMORY_SIZE is defined.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** This version of the memory allocation subsystem is used if
** and only if SQLITE_POW2_MEMORY_SIZE is defined.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** implementation is suitable for testing.
** debugging purposes
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifdef SQLITE_MUTEX_NOOP_DEBUG
*************************************************************************
** This file contains the C functions that implement mutexes for OS/2
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
*************************************************************************
** This file contains the C functions that implement mutexes for pthreads
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
*************************************************************************
** This file contains the C functions that implement mutexes for win32
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** Memory allocation functions used throughout sqlite.
**
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** Random numbers are used by some of the database backends in order
** to generate random integer keys for tables or random filenames.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** This file contains routines used to translate between UTF-8,
** UTF-16, UTF-16BE, and UTF-16LE.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
**
** Notes on UTF-8:
**
** This file contains functions for allocating memory, comparing
** strings, and stuff like that.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** This is the implementation of generic hash-tables
** used in SQLite.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/* Turn bulk memory into a hash table object by initializing the
** start of a transaction, and is thus usually less than a few thousand,
** but can be as large as 2 billion for a really big database.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#define BITVEC_SZ 512
** file simultaneously, or one process from reading the database while
** another is writing.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef SQLITE_OMIT_DISKIO
**
*************************************************************************
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
**
** This file contains code used to implement mutexes on Btree objects.
** This code really belongs in btree.c. But btree.c is getting too
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
**
** This file implements a external (disk-based) database using BTrees.
** For a detailed discussion of BTrees, refer to
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
** to version 2.8.7, all this code was combined into the vdbe.c source file.
** But that file was getting too big so this subroutines were split out.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** in this file for details. If in doubt, do not deviate from existing
** commenting and indentation practices when changing or adding code.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
**
** This file contains code used to implement incremental BLOB I/O.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
**
*************************************************************************
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifdef SQLITE_ENABLE_ATOMIC_WRITE
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** This file contains C code routines that used to generate VDBE code
** that implements the ALTER TABLE command.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
*************************************************************************
** This file contains code associated with the ANALYZE command.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef SQLITE_OMIT_ANALYZE
*************************************************************************
** This file contains code used to implement the ATTACH and DETACH commands.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef SQLITE_OMIT_ATTACH
** systems that do not need this facility may omit it by recompiling
** the library with -DSQLITE_OMIT_AUTHORIZATION=1
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** COMMIT
** ROLLBACK
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** This file contains functions used to access the internal hash tables
** of user defined functions and collation sequences.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** This file contains C code routines that are called by the parser
** in order to generate code for DELETE FROM statements.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** sqliteRegisterBuildinFunctions() found at the bottom of the file.
** All other code has file scope.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** This file contains C code routines that are called by the parser
** to handle INSERT statements in SQLite.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** as extensions by SQLite should #include this file instead of
** sqlite3.h.
**
-** @(#) $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef _SQLITE3EXT_H_
#define _SQLITE3EXT_H_
*************************************************************************
** This file contains code used to implement the PRAGMA command.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/* Ignore this whole file if pragmas are disabled
** interface, and routines that contribute to loading the database schema
** from disk.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** This file contains C code routines that are called by the parser
** to handle SELECT statements in SQLite.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
** This file contains C code routines that are called by the parser
** to handle UPDATE statements.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef SQLITE_OMIT_VIRTUALTABLE
** Most of the code in this file may be omitted by defining the
** SQLITE_OMIT_VACUUM macro.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#if !defined(SQLITE_OMIT_VACUUM) && !defined(SQLITE_OMIT_ATTACH)
*************************************************************************
** This file contains code used to help implement virtual tables.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef SQLITE_OMIT_VIRTUALTABLE
** so is applicable. Because this module is responsible for selecting
** indices, you might also think of this module as the "query optimizer".
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** individual tokens and sends those tokens one-by-one over to the
** parser for analysis.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
/*
** separating it out, the code will be automatically omitted from
** static links that do not use it.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifndef SQLITE_OMIT_COMPLETE
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: sqlite3.c 26106 2008-09-20 03:24:47Z androsyn $
*/
#ifdef SQLITE_ENABLE_FTS3
/************** Include fts3.h in the middle of main.c ***********************/