package Ġcom . github . dev jn . github search . db čĊč Ċ import Ġorg . moe . nat j . general . ptr . Ptr č Ċ import Ġorg . moe . nat j . general . ptr . Void Ptr č Ċ import Ġorg . moe . nat j . general . ptr . impl . Ptr Factory č Ċ import Ġorg . sqlite . c . Globals čĊč Ċ class ĠSQLite Statement ( val Ġstatement : ĠString ?, Ġbind Args : ĠArray < Any ?> ?) Ġ{ čĊčĊĠĠĠ Ġprivate Ġval Ġbind Args : ĠArray < Any ?> čĊčĊĠĠĠ Ġinternal Ġvar Ġstmt Handle : čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠVoid Ptr ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġset čĊčĊĠĠĠ Ġinternal Ġvar Ġdb Handle : čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠVoid Ptr ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġset čĊčĊĠĠĠ Ġinternal Ġvar Ġlast Error : čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠString ? Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġprivate Ġset čĊčĊĠĠĠ Ġvar Ġaffected Count Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġprivate Ġset čĊčĊĠĠĠ Ġvar Ġlast Inserted ID : ĠLong Ġ= Ġ- 1 čĊĠĠĠĠĠĠĠ Ġprivate Ġset čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( statement Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġthis . bind Args Ġ= Ġbind Args Ġ?: ĠarrayOf Null s < Any >( 0 ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġprepare ( db Handle : ĠVoid Ptr ?): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( db Handle Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNullPointerException () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġthis . db Handle Ġ= Ġdb Handle čĊčĊĠĠĠĠĠĠĠ Ġ@ SuppressWarnings (" unchecked ") čĊĠĠĠĠĠĠĠ Ġval Ġstmt Ref Ġ= ĠPtr Factory . new Pointer Ptr ( Void :: class . java , Ġ 2 , Ġ 1 , Ġtrue , Ġfalse ) Ġas ĠPtr < Void Ptr > čĊĠĠĠĠĠĠĠ Ġvar Ġerr Ġ= ĠGlobals . sqlite 3 _ prepare _ v 2 ( db Handle , Ġstatement , Ġ- 1 , Ġstmt Ref , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ) čĊĠĠĠĠĠĠĠ Ġif Ġ( err Ġ!= Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Error Ġ= ĠGlobals . sqlite 3 _ err msg ( db Handle ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġstmt Handle Ġ= Ġstmt Ref . get () čĊĠĠĠĠĠĠĠ Ġvar Ġidx Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġfor Ġ( bind Ġin Ġbind Args ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġidx ++ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bind Ġis ĠString ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerr Ġ= ĠGlobals . sqlite 3 _ bind _ text ( stmt Handle , Ġidx , Ġbind Ġas ĠString ?, Ġ- 1 , Ġobject Ġ: ĠGlobals . Function _ sqlite 3 _ bind _ text Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall _ sqlite 3 _ bind _ text ( arg 0 : ĠVoid Ptr ) Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( bind Ġis ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerr Ġ= ĠGlobals . sqlite 3 _ bind _ int ( stmt Handle , Ġidx , Ġbind ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( bind Ġis ĠLong ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerr Ġ= ĠGlobals . sqlite 3 _ bind _ int 6 4 ( stmt Handle , Ġidx , Ġbind ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( bind Ġis ĠDouble ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerr Ġ= ĠGlobals . sqlite 3 _ bind _ double ( stmt Handle , Ġidx , Ġbind ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( bind Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerr Ġ= ĠGlobals . sqlite 3 _ bind _ null ( stmt Handle , Ġidx ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Error Ġ= Ġ" No Ġimplemented ĠSQLite 3 Ġbind Ġfunction Ġfound Ġfor Ġ" Ġ+ Ġbind . java Class . name čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( err Ġ!= Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Error Ġ= ĠGlobals . sqlite 3 _ err msg ( db Handle ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġexec (): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( stmt Handle Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" statement Ġhandle Ġis Ġclosed ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġval Ġerr Ġ= ĠGlobals . sqlite 3 _ step ( stmt Handle ) čĊĠĠĠĠĠĠĠ Ġif Ġ( err Ġ== Ġ 1 0 1 Ġ/* ĠSQL ITE _ DONE Ġ*/) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġaffected Count Ġ= ĠGlobals . sqlite 3 _ changes ( db Handle ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Inserted ID Ġ= ĠGlobals . sqlite 3 _ last _ insert _ row id ( db Handle ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġclose () čĊĠĠĠĠĠĠĠ Ġif Ġ( err Ġ!= Ġ 1 0 1 Ġ/* ĠSQL ITE _ DONE Ġ*/) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Error Ġ= ĠGlobals . sqlite 3 _ err msg ( db Handle ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġquery (): ĠSQLite Cursor Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠSQLite Cursor ( this ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġclose () Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( stmt Handle Ġ!= Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠGlobals . sqlite 3 _ finalize ( stmt Handle ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġstmt Handle Ġ= Ġnull čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġinternal Ġfun Ġstep (): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( stmt Handle Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" statement Ġhandle Ġis Ġclosed ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġval Ġerr Ġ= ĠGlobals . sqlite 3 _ step ( stmt Handle ) čĊĠĠĠĠĠĠĠ Ġif Ġ( err Ġ!= Ġ 1 0 0 Ġ/* ĠSQL ITE _ ROW Ġ*/) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Error Ġ= ĠGlobals . sqlite 3 _ err msg ( db Handle ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġinternal Ġfun Ġreset () Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( stmt Handle Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" statement Ġhandle Ġis Ġclosed ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ ĠGlobals . sqlite 3 _ reset ( stmt Handle ) čĊĠĠĠ Ġ} č Ċ }