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 TSqlitePassCustomFieldDef is used by TSqlitePassDatabaseDataTypeOptions when you need to define your own fieldtype translations
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
record TSqlitePassDataReader  
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 TSqlitePassFieldFilter  
Class TSqlitePassFieldFilterExp  
Class TSqlitePassFieldFilters A list of defined Filters matching Fields List
Class TSqlitePassFieldTypesTranslationRules TSqlitePassFieldTypesTranslationRules
Class TSqlitePassFieldTypeTranslationRule TSqlitePassFieldTypeTranslationRule.
Class TSqlitePassGenericFieldDef TSqlitePassGenericFieldDef is a generic class used to store information on fields presents in the database tables.
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 TSqlitePassSelectStmtFieldDefs is a collection of TSqlitePassSelectStmtFieldDef
Class TSqlitePassSelectStmtTableDef TSqlitePassSelectStmtTableDef : When a SQL select statement is executed, a TSqlitePassSelectStmtTableDef is generated for each table used in the SQL statement.
Class TSqlitePassSelectStmtTableDefs TSqlitePassSelectStmtTableDefs : represents a collection of TSqlitePassSelectStmtTableDef.
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 TSqlitePassTableFieldDef is mainly used to get information on fields presents in the database tables and to build a static schema of the database
Class TSqlitePassTableFieldDefs TSqlitePassTableFieldDefs is a collection of TSqlitePassTableFieldDef
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

Functions and Procedures

function AcceptDoubleValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptDoubleValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptDoubleValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptDoubleValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptDoubleValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptDoubleValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptDummyValue(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptInt64ValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptInt64ValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptInt64ValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptInt64ValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptInt64ValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptInt64ValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptIntegerValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptIntegerValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptIntegerValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptIntegerValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptIntegerValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptIntegerValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpAnywhere(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpEndWith(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextCsValueCmpStartWith(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpAnywhere(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpEndWith(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptTextValueCmpStartWith(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptValueCmpNotNull(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptValueCmpNull(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptWordBoolValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
function AcceptWordBoolValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
procedure BindBlobToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindDateTimeToSqliteValueAsJulianDateTime (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindDateTimeToSqliteValueAsMacDateTime (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindDateTimeToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindDateTimeToSqliteValueAsUnixDateTime (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindDateToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindDoubleToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindDummyToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindInt64ToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindIntegerToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindStringToSqliteValueAsUTF16 (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindStringToSqliteValueAsUTF8 (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindTimeToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindWideStringToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindWordBoolToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure BindWordBoolToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
procedure SqliteValueDateTimeTextToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueJulianDateTimeToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueMacDateTimeToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueTextToDate (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueTextToTime (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueTextToWordBool (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToAnsiString (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToBlob (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToDummy (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToInt64 (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToInteger (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToWideString (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueToWordBool (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
procedure SqliteValueUnixDateTimeToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;

Types

PRecBufferList = ˆTRecBufferList;
PSqlitePassExecCallBackTSqlitePassExecCallBack;
StmtType = (...);
TConnectEvent = procedure(Database: TSqlitePassDatabase) of object;
TDataTypeConversion = procedure (Database: TSqlitePassDatabase; TableDef: TSqlitePassTableDef; FiedDef: TSqlitePassTableFieldDef) of object;
TFieldFilterExpAcceptValueFunc = function(FieldValue, FilterValue: Pointer):Boolean;
TRecBufferList = array[0..MaxListSize - 1] of PRecBuffer;
TSqlitePassAutoVacuumType = 0..2;
TSqlitePassAvailableOperations = set of (aoRead, aoInsert, aoUpdate, aoDelete);
TSqlitePassBooleanStorage = (...);
TSqlitePassBufferToSqliteValue = procedure (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer);
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:ppAnsiChar):integer of object;
TSqlitePassFilterComparisonOperators = (...);
TSqlitePassFilterLogicalOperators = (...);
TSqlitePassFilterMode = (...);
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);
TSqlitePassSqliteValueToBuffer = procedure(Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer);
TSqlitePassSQLTokenizerCleanOptions = set of TSqlitePassSQLTokenType;
TSqlitePassSQLTokenizerOptions = set of (toClean, toUpperCase);
TSqlitePassSQLTokenType = (...);
TSqlitePassSynchronous = (...);
TSqlitePassSystemEncoding = (...);
TSqlitePassTempStore = (...);
TSqlitePassTimeStorage = TSqlitePassDateStorage;
TSqlitePassUnicodeEncoding = (...);
TSqlitePassVerboseLevel = vlSilent..vlLogAndShow;
TSqlitePassWriteMode = (...);

Description

Functions and Procedures

function AcceptDoubleValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptDoubleValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptDoubleValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptDoubleValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptDoubleValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptDoubleValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptDummyValue(FieldValue, FilterValue: Pointer):Boolean; inline;

Filter functions

function AcceptInt64ValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptInt64ValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptInt64ValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptInt64ValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptInt64ValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptInt64ValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptIntegerValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptIntegerValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptIntegerValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptIntegerValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptIntegerValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptIntegerValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpAnywhere(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpEndWith(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;

Case Sensitive

function AcceptTextCsValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextCsValueCmpStartWith(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpAnywhere(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpEndWith(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;

Not Case Sensitive

function AcceptTextValueCmpGreater(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpGreaterOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpLesser(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpLesserOrEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptTextValueCmpStartWith(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptValueCmpNotNull(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptValueCmpNull(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptWordBoolValueCmpEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
function AcceptWordBoolValueCmpNotEqual(FieldValue, FilterValue: Pointer):Boolean; inline;
 
procedure BindBlobToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindDateTimeToSqliteValueAsJulianDateTime (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindDateTimeToSqliteValueAsMacDateTime (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindDateTimeToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindDateTimeToSqliteValueAsUnixDateTime (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindDateToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindDoubleToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindDummyToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;

Translates a value from internal buffer to a sqlite value. Then binds this value to parameter in INSERT - UPDATE - DELETE SQL statement StmtFieldNo is 1 based, FieldIndex is Zero based

procedure BindInt64ToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindIntegerToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindStringToSqliteValueAsUTF16 (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindStringToSqliteValueAsUTF8 (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindTimeToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindWideStringToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindWordBoolToSqliteValue (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure BindWordBoolToSqliteValueAsText (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer); inline;
 
procedure SqliteValueDateTimeTextToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueJulianDateTimeToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueMacDateTimeToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueTextToDate (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueTextToTime (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueTextToWordBool (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueToAnsiString (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueToBlob (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueToDummy (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;

Data Reader - Translate functions

procedure SqliteValueToInt64 (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueToInteger (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueToWideString (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueToWordBool (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 
procedure SqliteValueUnixDateTimeToDouble (Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer); inline;
 

Types

PRecBufferList = ˆTRecBufferList;

TSqlitePassRecordset

PSqlitePassExecCallBackTSqlitePassExecCallBack;
 
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;
 
TFieldFilterExpAcceptValueFunc = function(FieldValue, FilterValue: Pointer):Boolean;
 
TRecBufferList = array[0..MaxListSize - 1] of PRecBuffer;
 
TSqlitePassAutoVacuumType = 0..2;
 
TSqlitePassAvailableOperations = set of (aoRead, aoInsert, aoUpdate, aoDelete);
 
TSqlitePassBooleanStorage = (...);

Datatypes detection and conversion

Values
  • asInteger:  
  • asText:  
TSqlitePassBufferToSqliteValue = procedure (Const Recordset: TSqlitePassRecordset; Const RecordIndex: Integer; Const RecordFieldIndex: Integer; Const PreparedStmt: Pointer; Const PreparedStmtFieldNo: Integer);

TSqlitePassSelectStmtFieldDef is used to store information on fields returned by a SELECT Statement database. The fields definitions are mainly retrieved from the database schema.

Setting the field Datatype property will also define how the field will interact with the database for reading, writing, sorting and filtering.

See also
TSqlitePassTableFieldDef
TSqlitePassTableFieldDef is mainly used to get information on fields presents in the database tables and to build a static schema of the database
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
  • UTF8:  
  • UTF16:  
  • UTF16le:  
  • UTF16be:  
TSqlitePassExecCallBack = function(acolumns: Integer; aColumnValues, aColumnNames:ppAnsiChar):integer of object;
 
TSqlitePassFilterComparisonOperators = (...);
 
Values
  • CmpUnknown:  
  • CmpEqual:  
  • CmpNotEqual:  
  • CmpGreater:  
  • CmpGreateOrEqual:  
  • CmpLesserOrEqual:  
  • CmpLesser:  
  • CmpNull:  
  • CmpNotNull:  
TSqlitePassFilterLogicalOperators = (...);
 
Values
  • opNone:  
  • opAnd:  
  • opOr:  
TSqlitePassFilterMode = (...);
 
Values
  • fmDirect:  
  • fmSQL:  
  • fmSQLDirect:  
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
  • smDirect:  
  • smSQL:  
TSqlitePassSQLChanges = set of (scSelect, scWhere, scGroupBy, scHaving, scOrderBy, scLimit, scRefresh);
 
TSqlitePassSqliteValueToBuffer = procedure(Const FRecordset: TSqlitePassRecordset; Const Buffer: PRecBuffer; Const PreparedStmt: Pointer; Const ColumnIndex: Integer);

TSqlitePassFieldAccessor

TSqlitePassSQLTokenizerCleanOptions = set of TSqlitePassSQLTokenType;
 
TSqlitePassSQLTokenizerOptions = set of (toClean, toUpperCase);
 
TSqlitePassSQLTokenType = (...);
 
Values
  • ttKeyword:  
  • ttIdentifier:  
  • ttDatabaseIdentifier:  
  • ttTableIdentifier:  
  • ttFieldIdentifier:  
  • ttFunctionIdentifier:  
  • ttStar:  
  • ttNumber:  
  • ttDateTime:  
  • ttSingleQuote:  
  • ttDoubleQuote:  
  • ttHash:  
  • ttBraceOpen:  
  • ttBraceClose:  
  • ttSquareOpen:  
  • ttSquareClose:  
  • ttRoundOpen:  
  • ttRoundClose:  
  • ttWhitespace:  
  • ttComment:  
  • ttComma:  
  • ttColon:  
  • ttSemiColon:  
  • ttEqual:  
  • ttNotEqual:  
  • ttGreater:  
  • ttGreaterOrEqual:  
  • ttLesser:  
  • ttLesserOrEqual:  
  • ttNull:  
  • ttNotNull:  
  • ttPlus:  
  • ttMinus:  
  • ttAnd:  
  • ttOr:  
  • ttPoint:  
  • ttSlash:  
  • ttSeparator:  
  • ttEOF:  
  • ttUnknown:  
TSqlitePassSynchronous = (...);

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

Values
  • Off:  
  • Normal:  
  • Full:  
TSqlitePassSystemEncoding = (...);
 
Values
  • sysUTF8:  
  • sysUTF16:  
TSqlitePassTempStore = (...);
 
Values
  • Default:  
  • ToFile:  
  • ToMemory:  
TSqlitePassTimeStorage = TSqlitePassDateStorage;
 
TSqlitePassUnicodeEncoding = (...);
 
Values
  • ueAuto:  
  • ueUTF8:  
  • ueUTF16:  
  • ueRawText:  
TSqlitePassVerboseLevel = vlSilent..vlLogAndShow;
 
TSqlitePassWriteMode = (...);
 
Values
  • wmDirect:  
  • wmPostponed:  

Authors

Created

2006

Last Modified

10.09.2009


Generated by PasDoc 0.11.0 on 2009-10-08 22:34:50