theSq3Lite 10.0
Loading...
Searching...
No Matches
Sq3LiteC_sq3.h File Reference
#include "LibSq3Lite_sq3.h"
#include "Sq3LiteC_def_sq3.h"
+ Include dependency graph for Sq3LiteC_sq3.h:

Go to the source code of this file.

Namespaces

namespace  libsq3lite
 

Macros

#define Sq3Fupu_Sq3LiteBusyHandler_arg1_ret   MK_I32
 
#define Sq3Fupu_Sq3LiteBusyHandler_arg1_args   MK_PTR arg0, MK_I32 arg1
 
#define Sq3Fupu_Sq3LiteCommitHook_arg1_ret   MK_I32
 
#define Sq3Fupu_Sq3LiteCommitHook_arg1_args   MK_PTR arg0
 
#define Sq3Fupu_Sq3LiteRollbackHook_arg1_ret   void
 
#define Sq3Fupu_Sq3LiteRollbackHook_arg1_args   MK_PTR arg0
 
#define Sq3Fupu_Sq3LiteUpdateHook_arg1_ret   void
 
#define Sq3Fupu_Sq3LiteUpdateHook_arg1_args   MK_PTR arg0, MK_I32 arg1, MK_STRN arg2, MK_STRN arg3, sqlite3_int64 arg4
 
#define Sq3Fupu_Sq3LiteExec_callback_call_ret   MK_I32
 
#define Sq3Fupu_Sq3LiteExec_callback_call_args   MK_CBP callV1, MK_I32 num, MK_STR *vals, MK_STR *cols
 
#define Sq3Fupu_Sq3LiteAutovacuumPages_arg1_ret   MK_U32
 
#define Sq3Fupu_Sq3LiteAutovacuumPages_arg1_args   MK_PTR arg0, MK_STRN arg1, MK_U32 arg2, MK_U32 arg3, MK_U32 arg4
 
#define Sq3Fupu_Sq3LiteAutovacuumPages_arg3_ret   void
 
#define Sq3Fupu_Sq3LiteAutovacuumPages_arg3_args   MK_PTR arg0
 
#define Sq3Fupu_Sq3LiteCreateCollation_xCompare_ret   MK_I32
 
#define Sq3Fupu_Sq3LiteCreateCollation_xCompare_args   MK_PTR arg0, MK_I32 arg1, MK_PTRN arg2, MK_I32 arg3, MK_PTRN arg4
 
#define Sq3LiteVtabConfig(sq3lite, op, ...)
 
#define Sq3Fupu_Sq3LiteExec_callback_call_check
 
#define Sq3Fupu_Sq3LiteExecV2CB_callback_call_check
 
#define Sq3LiteExecV2CB_ret   enum MkErrorE
 
#define Sq3LiteExecV2CB_args   MK_RT_ARGS MK_CBP callV2, MK_BFL vals, MK_BFL cols
 

Typedefs

typedef Sq3Fupu_Sq3LiteBusyHandler_arg1_ret(* libsq3lite::Sq3Fupu_Sq3LiteBusyHandler_arg1) (Sq3Fupu_Sq3LiteBusyHandler_arg1_args)
 
typedef Sq3Fupu_Sq3LiteCommitHook_arg1_ret(* libsq3lite::Sq3Fupu_Sq3LiteCommitHook_arg1) (Sq3Fupu_Sq3LiteCommitHook_arg1_args)
 
typedef Sq3Fupu_Sq3LiteRollbackHook_arg1_ret(* libsq3lite::Sq3Fupu_Sq3LiteRollbackHook_arg1) (Sq3Fupu_Sq3LiteRollbackHook_arg1_args)
 
typedef Sq3Fupu_Sq3LiteUpdateHook_arg1_ret(* libsq3lite::Sq3Fupu_Sq3LiteUpdateHook_arg1) (Sq3Fupu_Sq3LiteUpdateHook_arg1_args)
 
typedef Sq3Fupu_Sq3LiteExec_callback_call_ret(* libsq3lite::Sq3Fupu_Sq3LiteExec_callback_call) (Sq3Fupu_Sq3LiteExec_callback_call_args)
 
typedef Sq3Fupu_Sq3LiteAutovacuumPages_arg1_ret(* libsq3lite::Sq3Fupu_Sq3LiteAutovacuumPages_arg1) (Sq3Fupu_Sq3LiteAutovacuumPages_arg1_args)
 
typedef Sq3Fupu_Sq3LiteAutovacuumPages_arg3_ret(* libsq3lite::Sq3Fupu_Sq3LiteAutovacuumPages_arg3) (Sq3Fupu_Sq3LiteAutovacuumPages_arg3_args)
 
typedef Sq3Fupu_Sq3LiteCreateCollation_xCompare_ret(* libsq3lite::Sq3Fupu_Sq3LiteCreateCollation_xCompare) (Sq3Fupu_Sq3LiteCreateCollation_xCompare_args)
 
typedef enum MkErrorE(* libsq3lite::Sq3LiteExecV2CB) (MK_RT mkrt, MK_CBP callV2, MK_BFL vals, MK_BFL cols)
 callback for Sq3LiteExecV2
 

Functions

void libsq3lite::Sq3LiteLog_RT (MK_RT mkrt, SQ3_LITEN const lite, MK_OBJN fmtobj, MK_DBG const debug, MK_STRN const callfunc, MK_I32 const lvl)
 log the lite
 
static enum MkErrorE libsq3lite::Sq3LiteBusyHandler (SQ3_LITE sq3lite, Sq3Fupu_Sq3LiteBusyHandler_arg1 arg1, MK_PTR arg2)
 Register A Callback To Handle SQLITE_BUSY Errors …
 
static enum MkErrorE libsq3lite::Sq3LiteBusyTimeout (SQ3_LITE sq3lite, MK_I32 ms)
 Set A Busy Timeout …
 
static MK_PTR libsq3lite::Sq3LiteCommitHook (SQ3_LITE sq3lite, Sq3Fupu_Sq3LiteCommitHook_arg1 arg1, MK_PTR arg2)
 Commit And Rollback Notification Callbacks …
 
static enum MkErrorE libsq3lite::Sq3LiteDeclareVtab (SQ3_LITE sq3lite, MK_STRN zSQL)
 Declare The Schema Of A Virtual Table …
 
static enum MkErrorE libsq3lite::Sq3LiteExtendedResultCodes (SQ3_LITE sq3lite, MK_I32 onoff)
 Enable Or Disable Extended Result Codes …
 
static enum MkErrorE libsq3lite::Sq3LiteLimit (SQ3_LITE sq3lite, enum Sq3LimitE id, MK_I32 newVal)
 Run-time Limits …
 
static MK_PTR libsq3lite::Sq3LiteRollbackHook (SQ3_LITE sq3lite, Sq3Fupu_Sq3LiteRollbackHook_arg1 arg1, MK_PTR arg2)
 Commit And Rollback Notification Callbacks …
 
static MK_PTR libsq3lite::Sq3LiteUpdateHook (SQ3_LITE sq3lite, Sq3Fupu_Sq3LiteUpdateHook_arg1 arg1, MK_PTR arg2)
 Data Change Notification Callbacks …
 
static enum Sq3ErrorE libsq3lite::Sq3LiteErrCode (SQ3_LITE db)
 Error Codes And Messages …
 
static MK_STRN libsq3lite::Sq3LiteErrMsg (SQ3_LITE sq3lite)
 Error Codes And Messages …
 
static enum MkErrorE libsq3lite::Sq3LiteErrorOffset (SQ3_LITE db)
 Error Codes And Messages …
 
static enum Sq3ExtendetResultCodesE libsq3lite::Sq3LiteExtendetErrCode (SQ3_LITE db)
 Error Codes And Messages …
 
static enum MkErrorE libsq3lite::Sq3LiteSystemErrno (SQ3_LITE sq3lite)
 Low-level system error code …
 
static MK_STRN libsq3lite::Sq3LiteErrStr (MK_I32 arg0)
 Error Codes And Messages …
 
static enum MkErrorE libsq3lite::Sq3LiteExec (SQ3_LITE sq3lite, MK_STRN sql, Sq3Fupu_Sq3LiteExec_callback_call callback_call, MK_CBP callback_data)
 One-Step Query Execution Interface …
 
static enum MkErrorE libsq3lite::Sq3LiteSleep (MK_I32 arg0)
 Suspend Execution For A Short Time …
 
static MK_I32 libsq3lite::Sq3LiteGetAutocommit (SQ3_LITE sq3lite)
 Test For Auto-Commit Mode …
 
static MK_I64 libsq3lite::Sq3LiteLastInsertRowid (SQ3_LITE sq3lite)
 Last Insert Rowid …
 
static enum MkErrorE libsq3lite::Sq3LiteTxnState (SQ3_LITE sq3lite, MK_STRN zSchema)
 Determine the transaction state of a database …
 
static enum MkErrorE libsq3lite::Sq3LiteVtabOnConflict (SQ3_LITE sq3lite)
 Determine The Virtual Table Conflict Policy …
 
static enum MkErrorE libsq3lite::Sq3LiteAutovacuumPages (SQ3_LITE db, Sq3Fupu_Sq3LiteAutovacuumPages_arg1 arg1, MK_PTR arg2, Sq3Fupu_Sq3LiteAutovacuumPages_arg3 arg3)
 Autovacuum Compaction Amount Callback …
 
static enum MkErrorE libsq3lite::Sq3LiteCreateCollation (SQ3_LITE sq3lite, MK_STRN zName, MK_I32 eTextRep, MK_PTR pArg, Sq3Fupu_Sq3LiteCreateCollation_xCompare xCompare)
 Define New Collating Sequences …
 
static enum MkErrorE libsq3lite::Sq3LiteDbCacheflush (SQ3_LITE sq3lite)
 Flush caches to disk mid-transaction …
 
static SQ3_FILENAME libsq3lite::Sq3LiteDbFilename (SQ3_LITE db, MK_STRN zDbName)
 Return The Filename For A Database Connection …
 
static MK_STRN libsq3lite::Sq3LiteDbName (SQ3_LITE db, MK_I32 N)
 Return The Schema Name For A Database Connection …
 
static enum MkErrorE libsq3lite::Sq3LiteDbReadonly (SQ3_LITE db, MK_STRN zDbName)
 Determine if a database is read-only …
 
static enum MkErrorE libsq3lite::Sq3LiteDbReleaseMemory (SQ3_LITE sq3lite)
 Free Memory Used By A Database Connection …
 
static enum MkErrorE libsq3lite::Sq3LiteDeserializeHide (SQ3_LITE db, MK_STRN zSchema, MK_BIN pData, MK_I64 szDb, MK_I64 szBuf, enum Sq3DeSerializeEF mFlags)
 Deserialize a database …
 
static enum MkErrorE libsq3lite::Sq3LiteDropModulesHide (SQ3_LITE db, MK_STRN *azKeep)
 Remove Unnecessary Virtual Table Implementations …
 
static enum MkErrorE libsq3lite::Sq3LiteFileControl (SQ3_LITE sq3lite, MK_STRN zDbName, enum Sq3TestCtrlE op, MK_PTR arg3)
 Low-Level Control Of Database Files …
 
static enum MkErrorE libsq3lite::Sq3LiteOverloadFunction (SQ3_LITE sq3lite, MK_STRN zFuncName, MK_I32 nArg)
 Overload A Function For A Virtual Table …
 
static enum MkErrorE libsq3lite::Sq3LiteDbStatus (SQ3_LITE sq3lite, enum Sq3DbStatusE op, MK_I32 *pCur, MK_I32 *pHiwtr, MK_BOOL resetFlg)
 Database Connection Status …
 
static MK_BIN libsq3lite::Sq3LiteSerializeHide (SQ3_LITE db, MK_STRN zSchema, MK_I64 *piSize, enum Sq3SerializeE mFlags)
 Serialize a database …
 
static enum MkErrorE libsq3lite::Sq3LiteTableColumnMetadata (SQ3_LITE db, MK_STRN zDbName, MK_STRN zTableName, MK_STRN zColumnName, MK_STRN *pzDataType, MK_STRN *pzCollSeq, MK_I32 *pNotNull, MK_I32 *pPrimaryKey, MK_I32 *pAutoinc)
 Extract Metadata About A Column Of A Table …
 
static enum MkErrorE libsq3lite::Sq3LiteWalAutocheckpoint (SQ3_LITE db, MK_I32 N)
 Configure an auto-checkpoint …
 
static enum MkErrorE libsq3lite::Sq3LiteWalCheckpointV2 (SQ3_LITE db, MK_STRN zDb, MK_I32 eMode, MK_I32 *pnLog, MK_I32 *pnCkpt)
 Checkpoint a database …
 
static void libsq3lite::Sq3LiteInterrupt (SQ3_LITE sq3lite)
 Interrupt A Long-Running Query …
 
static MK_BOOL libsq3lite::Sq3LiteIsInterrupted (SQ3_LITE sq3lite)
 Interrupt A Long-Running Query …
 
static MK_I32 libsq3lite::Sq3LiteChanges (SQ3_LITE sq3lite)
 Count The Number Of Rows Modified …
 
static MK_I64 libsq3lite::Sq3LiteChanges64 (SQ3_LITE sq3lite)
 Count The Number Of Rows Modified …
 
static void libsq3lite::Sq3LiteSetLastInsertRowid (SQ3_LITE sq3lite, MK_I64 arg1)
 Set the Last Insert Rowid value …
 
static MK_I32 libsq3lite::Sq3LiteTotalChanges (SQ3_LITE sq3lite)
 Total Number Of Rows Modified …
 
static MK_I64 libsq3lite::Sq3LiteTotalChanges64 (SQ3_LITE sq3lite)
 Total Number Of Rows Modified …
 
static enum MkErrorE libsq3lite::Sq3LiteOpenV2 (MK_STRN filename, SQ3_LITE *ppDb, enum Sq3OpenEF flags, MK_STRN zVfs)
 Opening A New Database Connection …
 
static enum MkErrorE libsq3lite::Sq3LiteCloseV2 (SQ3_LITE sq3lite)
 Closing A Database Connection …
 
static MkBinaryR libsq3lite::Sq3LiteSerialize (SQ3_LITE sq3lite, MK_STRN zSchema, enum Sq3SerializeE mFlags)
 Serialize a database …
 
static enum MkErrorE libsq3lite::Sq3LiteDeserialize_RT (MK_RT mkrt, SQ3_LITE sq3lite, MK_STRN zSchema, MkBinaryR pData, enum Sq3DeSerializeEF mFlags)
 Deserialize a database …
 
enum MkErrorE libsq3lite::Sq3LiteVtabConfig (SQ3_LITE sq3lite, Sq3VtabE op,...)
 This function may be called by either the [xConnect] or [xCreate] method of a [virtual table] implementation to configure various facets of the virtual table interface.
 
static enum MkErrorE libsq3lite::Sq3LiteDbStatusBFL_RT (MK_RT mkrt, SQ3_LITE sq3lite, enum Sq3DbStatusE op, MK_BFL *val_out, MK_BOOL resetFlg)
 Database Connection Status …
 
enum MkErrorE libsq3lite::Sq3LiteDropModules_RT (MK_RT mkrt, SQ3_LITE sq3lite, MK_BFL azKeepBfl)
 Remove Unnecessary Virtual Table Implementations …
 
static enum MkErrorE libsq3lite::Sq3LitePrepareV2 (SQ3_LITE db, MkStringR zSql, SQ3_STMT *ppStmt)
 Compiling An SQL Statement …
 
enum MkErrorE libsq3lite::Sq3LiteExecV2_RT (MK_RT mkrt, SQ3_LITE sq3lite, MK_STRN sql, Sq3LiteExecV2CB callback_call, MK_CBP callback)
 The Sq3LiteExecV2() interface is a convenience wrapper around Sq3StmtPrepareV2(), Sq3StmtStep(), and Sq3StmtFinalize(), that allows an application to run multiple statements of SQL without having to use a lot of C code.
 

Macro Definition Documentation

◆ Sq3LiteVtabConfig

#define Sq3LiteVtabConfig ( sq3lite,
op,
... )
Value:
({ \
Sq3ErrorE errVal = sqlite3_vtab_config(sq3lite->nat, op, __VA_ARGS__); \
Sq3ErrorE_Check_Macro(sq3lite,errVal); \
if (unlikely(Sq3ErrorCheckI(errVal))) { \
Sq3LiteErrorToMQ(MkOBJ(sq3lite), __func__,__FILE__,__LINE__); \
MK_ERROR; \
} else { \
MK_OK; \
} \
})
#define unlikely(x)
#define MkOBJ(x)

Definition at line 632 of file Sq3LiteC_sq3.h.

632#define Sq3LiteVtabConfig(sq3lite, op, ...) ({ \
633 Sq3ErrorE errVal = sqlite3_vtab_config(sq3lite->nat, op, __VA_ARGS__); \
634 Sq3ErrorE_Check_Macro(sq3lite,errVal); \
635 if (unlikely(Sq3ErrorCheckI(errVal))) { \
636 Sq3LiteErrorToMQ(MkOBJ(sq3lite), __func__,__FILE__,__LINE__); \
637 MK_ERROR; \
638 } else { \
639 MK_OK; \
640 } \
641})