Unit SqlitePassDbo

DescriptionusesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

Unit SqlitePassDbo.

This unit defines all the interface definitions for the SqlitePass Project

—————————————————————————

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

—————————————————————————

Major changes are indicated in the \Documentation\Changes.pdf file

—————————————————————————

uses

Overview

Classes, Interfaces, Objects and Records

Name Description
Class TSqlitePassBlobStream —– Blob fields stream —–
Class TSqlitePassCustomFieldDef TSqlitePassCustomFiedlDef
Class TSqlitePassCustomFieldDefs TSqlitePassCustomFieldDefs
Class TSqlitePassDatabase The TSqlitePassDatabase component is the main link between your application and the sqlite library.
Class TSqlitePassDatabaseAttached TSqliteAttachedDatabases : Maintain a list of all attached databases
Class TSqlitePassDatabaseDataTypeOptions The TSqlitePassDatabaseDataTypeOptions is used by the TSqlitePassDatabase.DatatypeOptions property and gives you the opportunity to set custom or default behaviors for a given database.
Class TSqlitePassDatabaseError  
Class TSqlitePassDatabaseIndex  
Class TSqlitePassDatabaseIndexDefs  
Class TSqlitePassDatabaseOptions TSqlitePassDatabaseOptions
Class TSqlitePassDatabasesAttached  
Class TSqlitePassDatabaseVersionInfo TVersionInfo
Class TSqlitePassDataset The TSqlitePassDataset is a link between your application and the database content.
Class TSqlitePassDatasetIndex  
Class TSqlitePassDatasetIndexDefs  
Class TSqlitePassDatasets TSqlitePassDatasets : Maintain a list of all datasets connected to the database
Class TSqlitePassDatasetVersionInfo  
Class TSqlitePassEngine  
Class TSqlitePassFieldTypesTranslationRules TSqlitePassFieldTypesTranslationRules
Class TSqlitePassFieldTypeTranslationRule TSqlitePassFieldTypeTranslationRule.
Class TSqlitePassGenericFieldDef  
Class TSqlitePassGenericTableDef TableDefs
Class TSqlitePassIndex  
Class TSqlitePassIndexColumn  
Class TSqlitePassIndexColumns  
Class TSqlitePassQueryDef QueryDefs
Class TSqlitePassQueryDefs  
Class TSqlitePassRecordset Internal cache holding the records returned by a table/query It is designed to provide data to TSqlitePassDataset
Class TSqlitePassSelectStmt  
Class TSqlitePassSelectStmtFieldDef  
Class TSqlitePassSelectStmtFieldDefs  
Class TSqlitePassSelectStmtTableDef  
Class TSqlitePassSelectStmtTableDefs  
Class TSqlitePassSortedField Internal Object to Keep information on sorted fields
Class TSqlitePassSQLSections The TSqlitePassSQLSections is an utility object used to : Split a SQL statement into a list of string for each SQL Keyword
Class TSqlitePassSQLStmt  
Class TSqlitePassSQLStmtDef  
Class TSqlitePassSQLStmtDefs SQL statements collection
Class TSqlitePassSQLToken  
Class TSqlitePassSQLTokenizer The TSqlitePassTokenizer is an utility object used to : Split a SQL statement or a piece of SQL statement into a list of tokens (TSqlitePassSQLToken)

Move to the First, Prior, Next, Last Token Locate a specific token by text or type Replace a specific token located before an existing token Remove a specific token located after an existing token Insert a new token before an existing token Insert a new token after an existing token Set the string to be tokenized and rebuild a string representation from the tokens (Text property)...

Class TSqlitePassSQLTokens  
Class TSqlitePassTableDef  
Class TSqlitePassTableDefs Property PrimaryKeyField: TSqlitePassSelectStmtFieldDef Read FPrimaryKeyField;
Class TSqlitePassTableFieldDef  
Class TSqlitePassTableFieldDefs  
Class TSqlitePassTransaction  
Class TSqlitePassTranslator  
Class TSqlitePassTranslator_Kexi Specific translator for Kexi databases
Class TSqlitePassTranslator_SqliteAdmin Empty declaration : nothing to override
Class TSqlitePassTranslator_SqliteExpert Empty declaration : nothing to override
Class TSqlitePassTrigger Triggers
Class TSqlitePassTriggers  
Class TSqlitePassView Views
Class TSqlitePassViews TSqlitePassViews

Types

PByteBool = ˆByteBool;
PCardinal = ˆCardinal;
PDateTimeRec = ˆTDateTimeRec;
PPointer= ˆPointer;
PSqlitePassExecCallBackTSqlitePassExecCallBack;
PWordBool = ˆWordBool;
StmtType = (...);
TConnectEvent = procedure(Database: TSqlitePassDatabase) of object;
TDataTypeConversion = procedure (Database: TSqlitePassDatabase; TableDef: TSqlitePassTableDef; FiedDef: TSqlitePassTableFieldDef) of object;
TSqlitePassAutoVacuumType = 0..2;
TSqlitePassAvailableOperations = set of (aoRead, aoInsert, aoUpdate, aoDelete);
TSqlitePassBooleanStorage = (...);
TSqlitePassDatabaseObjectTypes = (...);
TSqlitePassDatabaseState = set of (dbsInternalOpen, dbsRefreshingDefinitions);
TSqlitePassDatabaseType = (...);
TSqlitePassDatasetExportMethod = (...);
TSqlitePassDatasetExportProgressEvent = procedure(Current, Total:Integer) of object;
TSqlitePassDatasetFilterRecordEvent = procedure(DataSet: TDataSet; var Accept: Boolean) of object;
TSqlitePassDatasetGetFieldDataEvent = procedure(Field: TField; Const NativeFieldData: String; FieldDataBuffer: Pointer; var Handled: Boolean) of object;
TSqlitePassDatasetImportProgressEvent = procedure(Current:Integer) of object;
TSqlitePassDatasetSetFieldDataEvent = Procedure(Field: TField; Const FieldDataBuffer: Pointer; Out NativeFieldData: String; var Handled: Boolean) of object;
TSqlitePassDatasetType = (...);
TSqlitePassDataTypeDetectionMode = (...);
TSqlitePassDataTypeMappingMode = (...);
TSqlitePassDataTypeStorageOptions = set of (soProperties, soTranslationRules, soCustomFieldDefs, soManual);
TSqlitePassDateStorage = TSqlitePassBooleanStorage;
TSqlitePassDateTimeStorage = (...);
TSqlitePassEncoding = (...);
TSqlitePassExecCallBack = function(acolumns: Integer; aColumnValues, aColumnNames:Ppchar):integer of object;
TSqlitePassGetPragmaCallback = function(UserData: Pointer; ColumnCount: Integer; ColumnValues, ColumnNames: PPointer): Integer; cdecl;
TSqlitePassIndexDirection = (...);
TSqlitePassPageSize = 512..32768;
TSqlitePassPostType = (...);
TSqlitePassQuoteStyle = (...);
TSqlitePassRecordsCacheCapacity = 1..MaxInt;
TSqlitePassRecordState = (...);
TSqlitePassSortMode = (...);
TSqlitePassSQLChanges = set of (scSelect, scWhere, scGroupBy, scHaving, scOrderBy, scLimit, scRefresh);
TSqlitePassSQLTokenizerOptions = set of (toClean, toUpperCase);
TSqlitePassSQLTokenType = (...);
TSqlitePassSynchronous = (...);
TSqlitePassTempStore = (...);
TSqlitePassTimeStorage = TSqlitePassDateStorage;
TSqlitePassVerboseLevel = vlSilent..vlLogAndShow;
TSqlitePassWriteMode = (...);

Constants

DefaultSQLiteLibrary = 'sqlitepass3.dll';
JulianEpoch = -2415018.5;
UnixEpoch = JulianEpoch + 2440587.5;

Description

Types

PByteBool = ˆByteBool;
 
PCardinal = ˆCardinal;
 
PDateTimeRec = ˆTDateTimeRec;
 
PPointer= ˆPointer;
 
PSqlitePassExecCallBackTSqlitePassExecCallBack;
 
PWordBool = ˆWordBool;
 
StmtType = (...);
 
Values
  • stCreate:  
  • stCreateTable:  
  • stSelect:  
  • stInsert:  
  • stUpdate:  
  • stDelete:  
  • stUnknown:  
TConnectEvent = procedure(Database: TSqlitePassDatabase) of object;

TSqlitePassDatabase Events

TDataTypeConversion = procedure (Database: TSqlitePassDatabase; TableDef: TSqlitePassTableDef; FiedDef: TSqlitePassTableFieldDef) of object;
 
TSqlitePassAutoVacuumType = 0..2;
 
TSqlitePassAvailableOperations = set of (aoRead, aoInsert, aoUpdate, aoDelete);
 
TSqlitePassBooleanStorage = (...);

Datatypes detection and conversion

Values
  • asInteger:  
  • asText:  
TSqlitePassDatabaseObjectTypes = (...);
 
Values
  • dboAll:  
  • dboTableDefs:  
  • dboQueryDefs:  
  • dboIndexDefs:  
  • dboViews:  
  • dboTriggers:  
TSqlitePassDatabaseState = set of (dbsInternalOpen, dbsRefreshingDefinitions);
 
TSqlitePassDatabaseType = (...);
 
Values
  • dbtSqlitePass:  
  • dbtKexi:  
  • dbtSqliteAdmin:  
  • dbtSqlite4Fpc:  
  • dbtSqliteExpert:  
  • dbtUnknown:  
TSqlitePassDatasetExportMethod = (...);

TSqlitePassDataset

Values
  • VisibleFields:  
  • AllFields:  
TSqlitePassDatasetExportProgressEvent = procedure(Current, Total:Integer) of object;

Events

TSqlitePassDatasetFilterRecordEvent = procedure(DataSet: TDataSet; var Accept: Boolean) of object;
 
TSqlitePassDatasetGetFieldDataEvent = procedure(Field: TField; Const NativeFieldData: String; FieldDataBuffer: Pointer; var Handled: Boolean) of object;
 
TSqlitePassDatasetImportProgressEvent = procedure(Current:Integer) of object;
 
TSqlitePassDatasetSetFieldDataEvent = Procedure(Field: TField; Const FieldDataBuffer: Pointer; Out NativeFieldData: String; var Handled: Boolean) of object;
 
TSqlitePassDatasetType = (...);
 
Values
  • dtTable:  
  • dtQuery:  
  • dtView:  
  • dtSQLSelect:  
  • dtSQLDirect:  
  • dtUnknown:  
TSqlitePassDataTypeDetectionMode = (...);
 
Values
  • dmTypeName:  
  • dmDbSpecific:  
  • dmCustom:  
  • dmForceStr:  
TSqlitePassDataTypeMappingMode = (...);
 
Values
  • mmExact:  
  • mmExactNoCase:  
  • mmPartial:  
  • mmPartialNoCase:  
  • mmAll:  
TSqlitePassDataTypeStorageOptions = set of (soProperties, soTranslationRules, soCustomFieldDefs, soManual);
 
TSqlitePassDateStorage = TSqlitePassBooleanStorage;
 
TSqlitePassDateTimeStorage = (...);
 
Values
  • dtsDateTime:  
  • dtsJulian:  
  • dtsText:  
  • dtsUnix:  
  • dtsMac:  
TSqlitePassEncoding = (...);
 
Values
  • UTF_8:  
  • UTF_16:  
  • UTF_16le:  
  • UTF_16be:  
TSqlitePassExecCallBack = function(acolumns: Integer; aColumnValues, aColumnNames:Ppchar):integer of object;
 
TSqlitePassGetPragmaCallback = function(UserData: Pointer; ColumnCount: Integer; ColumnValues, ColumnNames: PPointer): Integer; cdecl;
 
TSqlitePassIndexDirection = (...);

Indexes management

Values
  • cidAscending:  
  • cidDescending:  
  • cidUnknown:  
TSqlitePassPageSize = 512..32768;
 
TSqlitePassPostType = (...);
 
Values
  • ptInsert:  
  • ptUpdate:  
  • ptDelete:  
TSqlitePassQuoteStyle = (...);
 
Values
  • qsSingleQuote:  
  • qsDoubleQuote:  
  • qsBracket:  
  • qsNone:  
TSqlitePassRecordsCacheCapacity = 1..MaxInt;
 
TSqlitePassRecordState = (...);
 
Values
  • rsUnModified:  
  • rsModified:  
  • rsInserted:  
  • rsDeleted:  
TSqlitePassSortMode = (...);
 
Values
  • smQuickSort:  
  • smSQL:  
TSqlitePassSQLChanges = set of (scSelect, scWhere, scGroupBy, scHaving, scOrderBy, scLimit, scRefresh);
 
TSqlitePassSQLTokenizerOptions = set of (toClean, toUpperCase);

tkFloat, tkInteger, tkHexDecimal, tkNumber, tkSymbol

TSqlitePassSQLTokenType = (...);
 
Values
  • ttKeyword:  
  • ttIdentifier:  
  • ttDatabaseIdentifier:  
  • ttTableIdentifier:  
  • ttFieldIdentifier:  
  • ttFunctionIdentifier:  
  • ttStar:  
  • ttNumber:  
  • ttQuote:  
  • ttWhitespace:  
  • ttComment:  
  • ttColon:  
  • ttSemiColon:  
  • ttEqual:  
  • ttNotEqual:  
  • ttGreater:  
  • ttGreaterOrEqual:  
  • ttLesser:  
  • ttLesserOrEqual:  
  • ttEOF:  
  • ttUnknown:  
TSqlitePassSynchronous = (...);

PRAGMA auto_vacuum = 0 | none | 1 | full | 2 | incremental

Values
  • Off:  
  • Normal:  
  • Full:  
TSqlitePassTempStore = (...);
 
Values
  • Default:  
  • ToFile:  
  • ToMemory:  
TSqlitePassTimeStorage = TSqlitePassDateStorage;
 
TSqlitePassVerboseLevel = vlSilent..vlLogAndShow;
 
TSqlitePassWriteMode = (...);
 
Values
  • wmDirect:  
  • wmPostponed:  

Constants

DefaultSQLiteLibrary = 'sqlitepass3.dll';
 
JulianEpoch = -2415018.5;
 
UnixEpoch = JulianEpoch + 2440587.5;
 

Authors

Created

2006

Last Modified

05.01.2009


Generated by PasDoc 0.11.0 on 2009-01-11 21:17:59