16using System.Reflection;
17using System.Runtime.InteropServices;
18using System.Runtime.CompilerServices;
19using System.Collections.Generic;
20using System.Threading;
28 public partial class Sq3LiteC
33 private readonly
static ConstructorInfo ctor =
getCtor(typeof(Sq3LiteC));
34 private readonly
static ThreadLocal<Sq3LiteC> MK_NULL =
new ThreadLocal<Sq3LiteC>(() => {
42 private static Sq3LiteC Sq3LiteC_ObjCreate (IntPtr
hdl) {
46 private static IntPtr Sq3LiteC_SelfCreate (IntPtr
mkrt, IntPtr obj, IntPtr env) {
50 private static void Sq3LiteC_SelfUnlink (IntPtr
mkrt, IntPtr
self, IntPtr env) {
54 internal static void SetupThreadLITE (IntPtr
mkrt) {
55 Sq3.Sq3CsTypeUpdate(
mkrt, Sq3CsTypeLookupE.LITE, Sq3LiteC_SelfCreate, Sq3LiteC_SelfUnlink);
58 #if !META_STATIC_OVERWRITE
63 SetupThreadLITE(IntPtr.Zero);
69 internal Sq3LiteC (IntPtr objP) : base(objP) {
76 public partial class Sq3LiteC {
86 IntPtr __retVal__L = Sq3.Sq3LiteHandleResolve(IntPtr.Zero, netHdl);
98 public partial class Sq3LiteC {
108 IntPtr __retVal__L = Sq3.Sq3LiteNext(
hdl);
114 IntPtr __retVal__L = Sq3.Sq3LitePrev(
hdl);
122 IntPtr __retVal__L = Sq3.Sq3LiteInstances(IntPtr.Zero);
130 public partial class Sq3LiteC {
140 IntPtr __retVal__L = Sq3.Sq3LiteGetNull();
148 public partial class Sq3LiteC {
164 IntPtr zSQL_cstr = Marshal.StringToHGlobalAnsi(zSQL);
165 MkErrorE errVal = Sq3.Sq3LiteDeclareVtab(
hdl, zSQL_cstr);
166 Marshal.FreeHGlobal(zSQL_cstr);
172 MkErrorE errVal = Sq3.Sq3LiteExtendedResultCodes(
hdl, onoff);
178 MkErrorE errVal = Sq3.Sq3LiteLimit(
hdl,
id, newVal);
186 public partial class Sq3LiteC {
202 IntPtr __retVal__L = Sq3.Sq3LiteErrMsg(
hdl);
203 return Marshal.PtrToStringAnsi(__retVal__L);
228 IntPtr __retVal__L = Sq3.Sq3LiteErrStr(arg0);
229 return Marshal.PtrToStringAnsi(__retVal__L);
236 public partial class Sq3LiteC {
247 IntPtr sql_cstr = Marshal.StringToHGlobalAnsi(sql);
248 IntPtr callback_ptr = callback ==
null ? IntPtr.Zero : (IntPtr)GCHandle.Alloc(
new Sq3Call(
mkrt,callback));
249 if (callback_ptr == IntPtr.Zero) callback_call =
null;
250 MkErrorE errVal = Sq3.Sq3LiteExecV2(
mkrt,
hdl, sql_cstr, callback_call, callback_ptr);
251 Marshal.FreeHGlobal(sql_cstr);
258 IntPtr sql_cstr = Marshal.StringToHGlobalAnsi(sql);
259 IntPtr callback_ptr = callback ==
null ? IntPtr.Zero : (IntPtr)GCHandle.Alloc(
new Sq3Call(
mkrt,callback));
260 if (callback_ptr == IntPtr.Zero) callback_call =
null;
261 MkErrorE errVal = Sq3.Sq3LiteExecV2(
mkrt,
hdl, sql_cstr, callback_call, callback_ptr);
262 Marshal.FreeHGlobal(sql_cstr);
269 IntPtr sql_cstr = Marshal.StringToHGlobalAnsi(sql);
270 IntPtr callback_data_ptr = callback_data ==
null ? IntPtr.Zero : (IntPtr)GCHandle.Alloc(
new Sq3Call(
mkrt,callback_data));
271 if (callback_data_ptr == IntPtr.Zero) callback_call =
null;
272 MkErrorE errVal = Sq3.Sq3LiteExec(
hdl, sql_cstr, callback_call, callback_data_ptr);
273 Marshal.FreeHGlobal(sql_cstr);
280 IntPtr sql_cstr = Marshal.StringToHGlobalAnsi(sql);
281 IntPtr callback_data_ptr = callback_data ==
null ? IntPtr.Zero : (IntPtr)GCHandle.Alloc(
new Sq3Call(
mkrt,callback_data));
282 if (callback_data_ptr == IntPtr.Zero) callback_call =
null;
283 MkErrorE errVal = Sq3.Sq3LiteExec(
hdl, sql_cstr, callback_call, callback_data_ptr);
284 Marshal.FreeHGlobal(sql_cstr);
291 public static void Sleep (
int arg0) {
292 MkErrorE errVal = Sq3.Sq3LiteSleep(arg0);
300 public partial class Sq3LiteC {
310 Int32 __retVal__L = Sq3.Sq3LiteGetAutocommit(
hdl);
316 Int64 __retVal__L = Sq3.Sq3LiteLastInsertRowid(
hdl);
322 IntPtr zSchema_cstr = Marshal.StringToHGlobalAnsi(zSchema);
323 MkErrorE errVal = Sq3.Sq3LiteTxnState(
hdl, zSchema_cstr);
324 Marshal.FreeHGlobal(zSchema_cstr);
338 public partial class Sq3LiteC {
349 MkErrorE errVal = Sq3.Sq3LiteDbStatusBFL(
mkrt,
hdl, op, out val_out, resetFlg);
364 IntPtr zDbName_cstr = Marshal.StringToHGlobalAnsi(zDbName);
365 IntPtr __retVal__L = Sq3.Sq3LiteDbFilename(
hdl, zDbName_cstr);
366 Marshal.FreeHGlobal(zDbName_cstr);
367 return Marshal.PtrToStringAnsi(__retVal__L);
372 IntPtr __retVal__L = Sq3.Sq3LiteDbName(
hdl, N);
373 return Marshal.PtrToStringAnsi(__retVal__L);
378 IntPtr zDbName_cstr = Marshal.StringToHGlobalAnsi(zDbName);
379 MkErrorE errVal = Sq3.Sq3LiteDbReadonly(
hdl, zDbName_cstr);
380 Marshal.FreeHGlobal(zDbName_cstr);
392 IntPtr zSchema_cstr = Marshal.StringToHGlobalAnsi(zSchema);
393 var pData_size = Marshal.SizeOf(pData[0]) * pData.Length;
394 var pData_data = Marshal.AllocHGlobal(pData_size);
395 Marshal.Copy(pData,0,pData_data,pData_size);
397 MkErrorE errVal = Sq3.Sq3LiteDeserialize(
mkrt,
hdl, zSchema_cstr, pData_ref, mFlags);
398 Marshal.FreeHGlobal(zSchema_cstr);
404 IntPtr azKeepBfl_hdl =
MkBufferListC.getOBJ(
"MkBufferListC",azKeepBfl);
413 IntPtr zFuncName_cstr = Marshal.StringToHGlobalAnsi(zFuncName);
414 MkErrorE errVal = Sq3.Sq3LiteOverloadFunction(
hdl, zFuncName_cstr, nArg);
415 Marshal.FreeHGlobal(zFuncName_cstr);
421 IntPtr zSchema_cstr = Marshal.StringToHGlobalAnsi(zSchema);
422 Mk.MkBinaryR __retVal__L = Sq3.Sq3LiteSerialize(
hdl, zSchema_cstr, mFlags);
423 Marshal.FreeHGlobal(zSchema_cstr);
424 int __retVal__L_size = (int) __retVal__L.
size;
425 byte[] ____retVal__L__S =
new byte[__retVal__L_size];
426 Marshal.Copy(__retVal__L.
data,____retVal__L__S,0,(
int)__retVal__L_size);
427 return ____retVal__L__S;
436 MkErrorE errVal = Sq3.Sq3LiteDbStatus(
hdl, op, out pCur, out pHiwtr, resetFlg);
438 List<object> __retVal__L =
new List<object>();
439 __retVal__L.Add(pCur);
440 __retVal__L.Add(pHiwtr);
451 IntPtr zDbName_cstr = Marshal.StringToHGlobalAnsi(zDbName);
452 IntPtr zTableName_cstr = Marshal.StringToHGlobalAnsi(zTableName);
453 IntPtr zColumnName_cstr = Marshal.StringToHGlobalAnsi(zColumnName);
454 MkErrorE errVal = Sq3.Sq3LiteTableColumnMetadata(
hdl, zDbName_cstr, zTableName_cstr, zColumnName_cstr, out pzDataType, out pzCollSeq, out pNotNull, out pPrimaryKey, out pAutoinc);
455 Marshal.FreeHGlobal(zDbName_cstr);
456 Marshal.FreeHGlobal(zTableName_cstr);
457 Marshal.FreeHGlobal(zColumnName_cstr);
459 List<object> __retVal__L =
new List<object>();
460 __retVal__L.Add(pzDataType);
461 __retVal__L.Add(pzCollSeq);
462 __retVal__L.Add(pNotNull);
463 __retVal__L.Add(pPrimaryKey);
464 __retVal__L.Add(pAutoinc);
472 public partial class Sq3LiteC {
482 MkErrorE errVal = Sq3.Sq3LiteWalAutocheckpoint(
hdl, N);
492 IntPtr zDb_cstr = Marshal.StringToHGlobalAnsi(zDb);
493 MkErrorE errVal = Sq3.Sq3LiteWalCheckpointV2(
hdl, zDb_cstr, eMode, out pnLog, out pnCkpt);
494 Marshal.FreeHGlobal(zDb_cstr);
496 List<object> __retVal__L =
new List<object>();
497 __retVal__L.Add(pnLog);
498 __retVal__L.Add(pnCkpt);
506 public partial class Sq3LiteC {
516 Sq3.Sq3LiteInterrupt(
hdl);
521 bool __retVal__L = Sq3.Sq3LiteIsInterrupted(
hdl);
529 public partial class Sq3LiteC {
539 Int32 __retVal__L = Sq3.Sq3LiteChanges(
hdl);
545 Int64 __retVal__L = Sq3.Sq3LiteChanges64(
hdl);
551 Sq3.Sq3LiteSetLastInsertRowid(
hdl, arg1);
556 Int32 __retVal__L = Sq3.Sq3LiteTotalChanges(
hdl);
562 Int64 __retVal__L = Sq3.Sq3LiteTotalChanges64(
hdl);
581 IntPtr filename_cstr = Marshal.StringToHGlobalAnsi(filename);
582 IntPtr zVfs_cstr = Marshal.StringToHGlobalAnsi(zVfs);
583 MkErrorE errVal = Sq3.Sq3LiteOpenV2(filename_cstr, out ppDb, flags, zVfs_cstr);
584 Marshal.FreeHGlobal(filename_cstr);
585 Marshal.FreeHGlobal(zVfs_cstr);
596 IntPtr filename_cstr = Marshal.StringToHGlobalAnsi(filename);
597 IntPtr zVfs_cstr = Marshal.StringToHGlobalAnsi(zVfs);
598 MkErrorE errVal = Sq3.Sq3LiteOpenV2(filename_cstr, out ppDb, flags, zVfs_cstr);
599 Marshal.FreeHGlobal(filename_cstr);
600 Marshal.FreeHGlobal(zVfs_cstr);
602 return Sq3LiteC.Sq3LiteC_ObjCreate(ppDb);
610 IntPtr zSql_ref_cstr = Marshal.StringToHGlobalAnsi(zSql);
612 MkErrorE errVal = Sq3.Sq3LitePrepareV2(
hdl, zSql_ref, out ppStmt);
613 Marshal.FreeHGlobal(zSql_ref_cstr);
static MkBufferListC MkBufferListC_ObjNew(IntPtr hdl)
static void Check(IntPtr ctx, MkErrorE err)
static object atomObjNew(Type type, ConstructorInfo ctor, IntPtr obj)
static object atomObjCreate(Type type, ConstructorInfo ctor, IntPtr obj)
static void atomSelfUnlink(IntPtr self, IntPtr env)
static object atomSelfNull(ConstructorInfo ctor)
static ConstructorInfo getCtor(Type type)
static IntPtr atomSelfCreate(ConstructorInfo ctor, IntPtr obj, IntPtr env)
static Mk.MkBinaryR MkBinaryCreate(long size, IntPtr data)
static Mk.MkStringR MkStringCreate_1(IntPtr str)
Sq3LiteC - the class known as sq3lite or Lite defined by Sq3LiteS …
delegate void Sq3LiteExecV2CCB(MkBufferListC vals, MkBufferListC cols)
static Sq3LiteC Sq3LiteC_ObjNew(IntPtr hdl)
delegate void Sq3LiteExecCCB(string[] vals, string[] cols)
implements the cssq3lite API object: public version from LcConfigIncludeF as method
Sq3StmtC - the class known as sq3stmt or Statement defined by Sq3StmtS …
static Sq3StmtC Sq3StmtC_ObjNew(IntPtr hdl)
new static Sq3LiteC GetNull()
C#: [static] Sq3LiteC Sq3LiteC.GetNull() → C-API Null-Slot - return a Sq3LiteC typed NULL instan...
new Sq3LiteC Next()
C#: Sq3LiteC lite.Next() → C-API get next instance from linked-list of Sq3LiteS type
new Sq3LiteC Prev()
C#: Sq3LiteC lite.Prev() → C-API get previous instance from linked-list of Sq3LiteS type
new static Sq3LiteC HandleResolve(Int32 netHdl)
C#: [static] Sq3LiteC Sq3LiteC.HandleResolve(Int32 netHdl) → C-API Handle-Resolve-Slot - return ...
new static Sq3LiteC Instances()
C#: [static] Sq3LiteC Sq3LiteC.Instances() → C-API get head-instance from linked-list of Sq3Lite...
static SQ3_LITE Sq3Lite(MK_MNG mng)
cast a unknown-object into an Sq3LiteS pointer or NULL if not possible
void BusyTimeout(int ms)
C#: sq3lite.BusyTimeout(int ms) → C-API Set A Busy Timeout …
void DeclareVtab(string zSQL)
C#: sq3lite.DeclareVtab(string zSQL) → C-API Declare The Schema Of A Virtual Table …
void ExtendedResultCodes(int onoff)
C#: sq3lite.ExtendedResultCodes(int onoff) → C-API Enable Or Disable Extended Result Codes …
void Limit(Sq3LimitE id, int newVal)
C#: sq3lite.Limit(Sq3LimitE id, int newVal) → C-API Run-time Limits …
void SystemErrno()
C#: sq3lite.SystemErrno() → C-API Low-level system error code …
Sq3ExtendetResultCodesE ExtendetErrCode()
C#: Sq3ExtendetResultCodesE db.ExtendetErrCode() → C-API Error Codes And Messages …
string ErrMsg()
C#: string sq3lite.ErrMsg() → C-API Error Codes And Messages …
static string ErrStr(int arg0)
C#: [static] string Sq3LiteC.ErrStr(int arg0) → C-API Error Codes And Messages …
void ErrorOffset()
C#: db.ErrorOffset() → C-API Error Codes And Messages …
Sq3ErrorE ErrCode()
C#: Sq3ErrorE db.ErrCode() → C-API Error Codes And Messages …
void ExecV2(string sql, Sq3LiteExecV2CCB callback=null)
C#: sq3lite.ExecV2(string sql, Sq3LiteExecV2CCB|Sq3LiteExecV2IF callback = null) → C-API The Sq...
void Exec(string sql, Sq3LiteExecIF callback_data=null)
C#: sq3lite.Exec(string sql, Sq3LiteExecCCB|Sq3LiteExecIF callback_data = null) → C-API One-Ste...
void ExecV2(string sql, Sq3LiteExecV2IF callback=null)
C#: sq3lite.ExecV2(string sql, Sq3LiteExecV2CCB|Sq3LiteExecV2IF callback = null) → C-API The Sq...
static void Sleep(int arg0)
C#: [static] Sq3LiteC.Sleep(int arg0) → C-API Suspend Execution For A Short Time …
void Exec(string sql, Sq3LiteExecCCB callback_data=null)
C#: sq3lite.Exec(string sql, Sq3LiteExecCCB|Sq3LiteExecIF callback_data = null) → C-API One-Ste...
Sq3Fupu_Sq3LiteExec_callback_call_ret(* Sq3Fupu_Sq3LiteExec_callback_call)(Sq3Fupu_Sq3LiteExec_callback_call_args)
enum MkErrorE(* Sq3LiteExecV2CB)(MK_RT mkrt, MK_CBP callV2, MK_BFL vals, MK_BFL cols)
callback for Sq3LiteExecV2
void TxnState(string zSchema)
C#: sq3lite.TxnState(string zSchema) → C-API Determine the transaction state of a database …
int GetAutocommit()
C#: int sq3lite.GetAutocommit() → C-API Test For Auto-Commit Mode …
void VtabOnConflict()
C#: sq3lite.VtabOnConflict() → C-API Determine The Virtual Table Conflict Policy …
long LastInsertRowid()
C#: long sq3lite.LastInsertRowid() → C-API Last Insert Rowid …
List< object > DbStatus(Sq3DbStatusE op, bool resetFlg)
C#: {pCur:int pHiwtr:int} sq3lite.DbStatus(Sq3DbStatusE op, bool resetFlg) → C-API Database Con...
string DbFilename(string zDbName)
C#: string db.DbFilename(string zDbName) → C-API Return The Filename For A Database Connection ...
void Deserialize(string zSchema, byte[] pData, Sq3DeSerializeEF mFlags)
C#: sq3lite.Deserialize(string zSchema, byte[] pData, Sq3DeSerializeEF mFlags) → C-API Deseri...
string DbName(int N)
C#: string db.DbName(int N) → C-API Return The Schema Name For A Database Connection …
void OverloadFunction(string zFuncName, int nArg)
C#: sq3lite.OverloadFunction(string zFuncName, int nArg) → C-API Overload A Function For A Virt...
byte[] Serialize(string zSchema, Sq3SerializeE mFlags)
C#: byte[] sq3lite.Serialize(string zSchema, Sq3SerializeE mFlags) → C-API Serialize a databa...
List< object > TableColumnMetadata(string zDbName, string zTableName, string zColumnName)
C#: {pzDataType:string pzCollSeq:string pNotNull:int pPrimaryKey:int pAutoinc:int}...
void DbReleaseMemory()
C#: sq3lite.DbReleaseMemory() → C-API Free Memory Used By A Database Connection …
MkBufferListC DbStatusBFL(Sq3DbStatusE op, bool resetFlg)
C#: MkBufferListC sq3lite.DbStatusBFL(Sq3DbStatusE op, bool resetFlg) → C-API Database Connec...
void DropModules(MkBufferListC azKeepBfl)
C#: sq3lite.DropModules(MkBufferListC azKeepBfl) → C-API Remove Unnecessary Virtual Table Imp...
void DbReadonly(string zDbName)
C#: db.DbReadonly(string zDbName) → C-API Determine if a database is read-only …
void DbCacheflush()
C#: sq3lite.DbCacheflush() → C-API Flush caches to disk mid-transaction …
List< object > WalCheckpointV2(string zDb, int eMode)
C#: {pnLog:int pnCkpt:int} db.WalCheckpointV2(string zDb, int eMode) → C-API Checkpoint a datab...
void WalAutocheckpoint(int N)
C#: db.WalAutocheckpoint(int N) → C-API Configure an auto-checkpoint …
void Interrupt()
C#: sq3lite.Interrupt() → C-API Interrupt A Long-Running Query …
bool IsInterrupted()
C#: bool sq3lite.IsInterrupted() → C-API Interrupt A Long-Running Query …
void SetLastInsertRowid(long arg1)
C#: sq3lite.SetLastInsertRowid(long arg1) → C-API Set the Last Insert Rowid value …
long TotalChanges64()
C#: long sq3lite.TotalChanges64() → C-API Total Number Of Rows Modified …
int Changes()
C#: int sq3lite.Changes() → C-API Count The Number Of Rows Modified …
long Changes64()
C#: long sq3lite.Changes64() → C-API Count The Number Of Rows Modified …
int TotalChanges()
C#: int sq3lite.TotalChanges() → C-API Total Number Of Rows Modified …
void CloseV2()
C#: [destructor] sq3lite.CloseV2() → C-API Closing A Database Connection …
static Sq3LiteC OpenV2(string filename, Sq3OpenEF flags=Sq3OpenEF.READWRITE|Sq3OpenEF.CREATE, string zVfs=null)
C#: [constructor,static] Sq3LiteC Sq3LiteC.OpenV2(string filename, Sq3OpenEF flags = SQ3_OPEN_READWRI...
static IntPtr CTOR(string filename, Sq3OpenEF flags=Sq3OpenEF.READWRITE|Sq3OpenEF.CREATE, string zVfs=null)
C#: [constructor,static] Sq3LiteC Sq3LiteC.OpenV2(string filename, Sq3OpenEF flags = SQ3_OPEN_READWRI...
Sq3StmtC PrepareV2(string zSql)
C#: [constructor] Sq3StmtC db.PrepareV2(string zSql) → C-API Compiling An SQL Statement …
Sq3LiteC(string filename, Sq3OpenEF flags=Sq3OpenEF.READWRITE|Sq3OpenEF.CREATE, string zVfs=null)
CONSTRUCTOR.
Sq3ExtendetResultCodesE
→ C-API: Sq3ExtendetResultCodesE → C-API: Sq3ExtendetResultCodesE
Sq3SerializeE
→ C-API: Sq3SerializeE → C-API: Sq3SerializeE
Sq3ErrorE
→ C-API: Sq3ErrorE → C-API: Sq3ErrorE
Sq3LimitE
→ C-API: Sq3LimitE → C-API: Sq3LimitE
Sq3OpenEF
→ C-API: Sq3OpenEF → C-API: Sq3OpenEF
Sq3DbStatusE
→ C-API: Sq3DbStatusE → C-API: Sq3DbStatusE
Sq3DeSerializeEF
→ C-API: Sq3DeSerializeEF → C-API: Sq3DeSerializeEF