Skip to content

Instantly share code, notes, and snippets.

@amirrajan
Created October 7, 2017 15:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amirrajan/5c2b9185bf431403309f2fc61cb163b1 to your computer and use it in GitHub Desktop.
Save amirrajan/5c2b9185bf431403309f2fc61cb163b1 to your computer and use it in GitHub Desktop.
BridgeSupport differences between HighSierra sqlite3 vs Sierra
diff --git a/sqlitebs.xml b/sqlitebs.xml
index 4d086e4..55690fd 100644
--- a/sqlitebs.xml
+++ b/sqlitebs.xml
@@ -26,7 +26,7 @@
<arg const='true' declared_type='char*' type='*'/>
<arg declared_type='int' type='i'/>
<arg declared_type='void*' type='^v'/>
-<arg declared_type='int (*)(void *, int, char *, int, int, int)' name='xToken' type='^?'/>
+<arg declared_type='int (*)(void *, int, char *, int, int, int)' type='^?'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(Fts5Context *)' function_pointer='true' name='xPhraseCount' type='^?'>
@@ -53,7 +53,7 @@
</field>
<field declared_type='sqlite3_int64 (*)(Fts5Context *)' function_pointer='true' name='xRowid' type='^?'>
<arg declared_type='Fts5Context*' type='^{Fts5Context=}'/>
-<retval declared_type='long long' type='q'/>
+<retval declared_type='sqlite3_int64' type='q'/>
</field>
<field declared_type='int (*)(Fts5Context *, int, char **, int *)' function_pointer='true' name='xColumnText' type='^?'>
<arg declared_type='Fts5Context*' type='^{Fts5Context=}'/>
@@ -68,17 +68,17 @@
<arg declared_type='int*' type='^i'/>
<retval declared_type='int' type='i'/>
</field>
-<field declared_type='int (*)(Fts5Context *, int, void *, int (*)( Fts5ExtensionApi *, Fts5Context *, void *))' function_pointer='true' name='xQueryPhrase' type='^?'>
+<field declared_type='int (*)(Fts5Context *, int, void *, int (*)(Fts5ExtensionApi *, Fts5Context *, void *))' function_pointer='true' name='xQueryPhrase' type='^?'>
<arg declared_type='Fts5Context*' type='^{Fts5Context=}'/>
<arg declared_type='int' type='i'/>
<arg declared_type='void*' type='^v'/>
-<arg declared_type='int (*)( Fts5ExtensionApi *, Fts5Context *, void *)' type='^?'/>
+<arg declared_type='int (*)(Fts5ExtensionApi *, Fts5Context *, void *)' type='^?'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(Fts5Context *, void *, void (*)(void *))' function_pointer='true' name='xSetAuxdata' type='^?'>
<arg declared_type='Fts5Context*' type='^{Fts5Context=}'/>
<arg declared_type='void*' type='^v'/>
-<arg declared_type='void (*)(void *)' name='xDelete' type='^?'/>
+<arg declared_type='void (*)(void *)' type='^?'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='void *(*)(Fts5Context *, int)' function_pointer='true' name='xGetAuxdata' type='^?'>
@@ -115,7 +115,10 @@
<retval declared_type='void' type='v'/>
</field>
</struct>
-<struct name='Fts5PhraseIter' type='{Fts5PhraseIter=&quot;a&quot;*&quot;b&quot;*}'/>
+<struct name='Fts5PhraseIter' type='{Fts5PhraseIter=&quot;a&quot;*&quot;b&quot;*}'>
+<field const='true' declared_type='unsigned char*' name='a' type='*'/>
+<field const='true' declared_type='unsigned char*' name='b' type='*'/>
+</struct>
<struct name='fts5_api' type='{fts5_api=&quot;iVersion&quot;i&quot;xCreateTokenizer&quot;^?&quot;xFindTokenizer&quot;^?&quot;xCreateFunction&quot;^?}'>
<field declared_type='int' name='iVersion' type='i'/>
<field declared_type='int (*)(fts5_api *, char *, void *, fts5_tokenizer *, void (*)(void *))' function_pointer='true' name='xCreateTokenizer' type='^?'>
@@ -123,7 +126,7 @@
<arg const='true' declared_type='char*' type='*'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='fts5_tokenizer*' type='^{fts5_tokenizer=^?^?^?}'/>
-<arg declared_type='void (*)(void *)' name='xDestroy' type='^?'/>
+<arg declared_type='void (*)(void *)' type='^?'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(fts5_api *, char *, void **, fts5_tokenizer *)' function_pointer='true' name='xFindTokenizer' type='^?'>
@@ -137,8 +140,8 @@
<arg declared_type='fts5_api*' type='^{fts5_api=i^?^?^?}'/>
<arg const='true' declared_type='char*' type='*'/>
<arg declared_type='void*' type='^v'/>
-<arg declared_type='fts5_extension_function' name='xFunction' type='^?'/>
-<arg declared_type='void (*)(void *)' name='xDestroy' type='^?'/>
+<arg declared_type='fts5_extension_function' type='^?'/>
+<arg declared_type='void (*)(void *)' type='^?'/>
<retval declared_type='int' type='i'/>
</field>
</struct>
@@ -160,25 +163,21 @@
<arg declared_type='int' type='i'/>
<arg const='true' declared_type='char*' type='*'/>
<arg declared_type='int' type='i'/>
-<arg declared_type='int (*)(void *, int, char *, int, int, int)' name='xToken' type='^?'/>
+<arg declared_type='int (*)(void *, int, char *, int, int, int)' type='^?'/>
<retval declared_type='int' type='i'/>
</field>
</struct>
-<struct name='sqlite3_file' type='{sqlite3_file=&quot;pMethods&quot;^{sqlite3_io_methods}}'/>
-<struct name='sqlite3_index_constraint' type='{sqlite3_index_constraint=&quot;iColumn&quot;i&quot;op&quot;C&quot;usable&quot;C&quot;iTermOffset&quot;i}'>
-<field declared_type='int' name='iColumn' type='i'/>
-<field declared_type='unsigned char' name='op' type='C'/>
-<field declared_type='unsigned char' name='usable' type='C'/>
-<field declared_type='int' name='iTermOffset' type='i'/>
-</struct>
-<struct name='sqlite3_index_constraint_usage' type='{sqlite3_index_constraint_usage=&quot;argvIndex&quot;i&quot;omit&quot;C}'>
-<field declared_type='int' name='argvIndex' type='i'/>
-<field declared_type='unsigned char' name='omit' type='C'/>
+<struct name='sqlite3_file' type='{sqlite3_file=&quot;pMethods&quot;^{sqlite3_io_methods}}'>
+<field const='true' declared_type='struct sqlite3_io_methods*' name='pMethods' type='^{sqlite3_io_methods=i^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}'/>
</struct>
<struct name='sqlite3_index_info' type='{sqlite3_index_info=&quot;nConstraint&quot;i&quot;aConstraint&quot;^{sqlite3_index_constraint}&quot;nOrderBy&quot;i&quot;aOrderBy&quot;^{sqlite3_index_orderby}&quot;aConstraintUsage&quot;^{sqlite3_index_constraint_usage}&quot;idxNum&quot;i&quot;idxStr&quot;*&quot;needToFreeIdxStr&quot;i&quot;orderByConsumed&quot;i&quot;estimatedCost&quot;d&quot;estimatedRows&quot;q&quot;idxFlags&quot;i&quot;colUsed&quot;Q}'>
<field declared_type='int' name='nConstraint' type='i'/>
+<field declared_type='struct sqlite3_index_constraint*' name='aConstraint' type='^{sqlite3_index_constraint=iCCi}'/>
<field declared_type='int' name='nOrderBy' type='i'/>
+<field declared_type='struct sqlite3_index_orderby*' name='aOrderBy' type='^{sqlite3_index_orderby=iC}'/>
+<field declared_type='struct sqlite3_index_constraint_usage*' name='aConstraintUsage' type='^{sqlite3_index_constraint_usage=iC}'/>
<field declared_type='int' name='idxNum' type='i'/>
+<field declared_type='char*' name='idxStr' type='*'/>
<field declared_type='int' name='needToFreeIdxStr' type='i'/>
<field declared_type='int' name='orderByConsumed' type='i'/>
<field declared_type='double' name='estimatedCost' type='d'/>
@@ -186,10 +185,6 @@
<field declared_type='int' name='idxFlags' type='i'/>
<field declared_type='sqlite3_uint64' name='colUsed' type='Q'/>
</struct>
-<struct name='sqlite3_index_orderby' type='{sqlite3_index_orderby=&quot;iColumn&quot;i&quot;desc&quot;C}'>
-<field declared_type='int' name='iColumn' type='i'/>
-<field declared_type='unsigned char' name='desc' type='C'/>
-</struct>
<struct name='sqlite3_io_methods' type='{sqlite3_io_methods=&quot;iVersion&quot;i&quot;xClose&quot;^?&quot;xRead&quot;^?&quot;xWrite&quot;^?&quot;xTruncate&quot;^?&quot;xSync&quot;^?&quot;xFileSize&quot;^?&quot;xLock&quot;^?&quot;xUnlock&quot;^?&quot;xCheckReservedLock&quot;^?&quot;xFileControl&quot;^?&quot;xSectorSize&quot;^?&quot;xDeviceCharacteristics&quot;^?&quot;xShmMap&quot;^?&quot;xShmLock&quot;^?&quot;xShmBarrier&quot;^?&quot;xShmUnmap&quot;^?&quot;xFetch&quot;^?&quot;xUnfetch&quot;^?}'>
<field declared_type='int' name='iVersion' type='i'/>
<field declared_type='int (*)(sqlite3_file *)' function_pointer='true' name='xClose' type='^?'>
@@ -254,12 +249,12 @@
<arg declared_type='sqlite3_file*' type='^{sqlite3_file=^{sqlite3_io_methods}}'/>
<retval declared_type='int' type='i'/>
</field>
-<field declared_type='int (*)(sqlite3_file *, int, int, int, volatile void **)' function_pointer='true' name='xShmMap' type='^?'>
+<field declared_type='int (*)(sqlite3_file *, int, int, int, void volatile **)' function_pointer='true' name='xShmMap' type='^?'>
<arg declared_type='sqlite3_file*' type='^{sqlite3_file=^{sqlite3_io_methods}}'/>
<arg declared_type='int' type='i'/>
<arg declared_type='int' type='i'/>
<arg declared_type='int' type='i'/>
-<arg declared_type='volatile void**' type='^^v'/>
+<arg declared_type='void volatile**' type='^^v'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_file *, int, int, int)' function_pointer='true' name='xShmLock' type='^?'>
@@ -322,6 +317,7 @@
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</field>
+<field declared_type='void*' name='pAppData' type='^v'/>
</struct>
<struct name='sqlite3_module' type='{sqlite3_module=&quot;iVersion&quot;i&quot;xCreate&quot;^?&quot;xConnect&quot;^?&quot;xBestIndex&quot;^?&quot;xDisconnect&quot;^?&quot;xDestroy&quot;^?&quot;xOpen&quot;^?&quot;xClose&quot;^?&quot;xFilter&quot;^?&quot;xNext&quot;^?&quot;xEof&quot;^?&quot;xColumn&quot;^?&quot;xRowid&quot;^?&quot;xUpdate&quot;^?&quot;xBegin&quot;^?&quot;xSync&quot;^?&quot;xCommit&quot;^?&quot;xRollback&quot;^?&quot;xFindFunction&quot;^?&quot;xRename&quot;^?&quot;xSavepoint&quot;^?&quot;xRelease&quot;^?&quot;xRollbackTo&quot;^?}'>
<field declared_type='int' name='iVersion' type='i'/>
@@ -344,29 +340,29 @@
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, sqlite3_index_info *)' function_pointer='true' name='xBestIndex' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
-<arg declared_type='sqlite3_index_info*' type='^{sqlite3_index_info=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
+<arg declared_type='sqlite3_index_info*' type='^{sqlite3_index_info=i^{sqlite3_index_constraint}i^{sqlite3_index_orderby}^{sqlite3_index_constraint_usage}i*iidqiQ}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *)' function_pointer='true' name='xDisconnect' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *)' function_pointer='true' name='xDestroy' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, sqlite3_vtab_cursor **)' function_pointer='true' name='xOpen' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<arg declared_type='sqlite3_vtab_cursor**' type='^^{sqlite3_vtab_cursor}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab_cursor *)' function_pointer='true' name='xClose' type='^?'>
-<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=}'/>
+<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=^{sqlite3_vtab}}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab_cursor *, int, char *, int, sqlite3_value **)' function_pointer='true' name='xFilter' type='^?'>
-<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=}'/>
+<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=^{sqlite3_vtab}}'/>
<arg declared_type='int' type='i'/>
<arg const='true' declared_type='char*' type='*'/>
<arg declared_type='int' type='i'/>
@@ -374,49 +370,49 @@
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab_cursor *)' function_pointer='true' name='xNext' type='^?'>
-<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=}'/>
+<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=^{sqlite3_vtab}}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab_cursor *)' function_pointer='true' name='xEof' type='^?'>
-<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=}'/>
+<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=^{sqlite3_vtab}}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab_cursor *, sqlite3_context *, int)' function_pointer='true' name='xColumn' type='^?'>
-<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=}'/>
+<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=^{sqlite3_vtab}}'/>
<arg declared_type='sqlite3_context*' type='^{sqlite3_context=}'/>
<arg declared_type='int' type='i'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab_cursor *, sqlite3_int64 *)' function_pointer='true' name='xRowid' type='^?'>
-<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=}'/>
+<arg declared_type='sqlite3_vtab_cursor*' type='^{sqlite3_vtab_cursor=^{sqlite3_vtab}}'/>
<arg declared_type='sqlite3_int64*' type='^q'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *)' function_pointer='true' name='xUpdate' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<arg declared_type='int' type='i'/>
<arg declared_type='sqlite3_value**' type='^^{sqlite3_value}'/>
<arg declared_type='sqlite3_int64*' type='^q'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *)' function_pointer='true' name='xBegin' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *)' function_pointer='true' name='xSync' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *)' function_pointer='true' name='xCommit' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *)' function_pointer='true' name='xRollback' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, int, char *, void (**)(sqlite3_context *, int, sqlite3_value **), void **)' function_pointer='true' name='xFindFunction' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<arg declared_type='int' type='i'/>
<arg const='true' declared_type='char*' type='*'/>
<arg declared_type='void (**)(sqlite3_context *, int, sqlite3_value **)' type='^^?'/>
@@ -424,22 +420,22 @@
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, char *)' function_pointer='true' name='xRename' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<arg const='true' declared_type='char*' type='*'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, int)' function_pointer='true' name='xSavepoint' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<arg declared_type='int' type='i'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, int)' function_pointer='true' name='xRelease' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<arg declared_type='int' type='i'/>
<retval declared_type='int' type='i'/>
</field>
<field declared_type='int (*)(sqlite3_vtab *, int)' function_pointer='true' name='xRollbackTo' type='^?'>
-<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=}'/>
+<arg declared_type='sqlite3_vtab*' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
<arg declared_type='int' type='i'/>
<retval declared_type='int' type='i'/>
</field>
@@ -453,7 +449,7 @@
</field>
<field declared_type='sqlite3_mutex *(*)(int)' function_pointer='true' name='xMutexAlloc' type='^?'>
<arg declared_type='int' type='i'/>
-<retval declared_type='struct sqlite3_mutex*' type='^{sqlite3_mutex=}'/>
+<retval declared_type='sqlite3_mutex*' type='^{sqlite3_mutex=}'/>
</field>
<field declared_type='void (*)(sqlite3_mutex *)' function_pointer='true' name='xMutexFree' type='^?'>
<arg declared_type='sqlite3_mutex*' type='^{sqlite3_mutex=}'/>
@@ -481,6 +477,7 @@
</field>
</struct>
<struct name='sqlite3_pcache_methods' type='{sqlite3_pcache_methods=&quot;pArg&quot;^v&quot;xInit&quot;^?&quot;xShutdown&quot;^?&quot;xCreate&quot;^?&quot;xCachesize&quot;^?&quot;xPagecount&quot;^?&quot;xFetch&quot;^?&quot;xUnpin&quot;^?&quot;xRekey&quot;^?&quot;xTruncate&quot;^?&quot;xDestroy&quot;^?}'>
+<field declared_type='void*' name='pArg' type='^v'/>
<field declared_type='int (*)(void *)' function_pointer='true' name='xInit' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='int' type='i'/>
@@ -492,7 +489,7 @@
<field declared_type='sqlite3_pcache *(*)(int, int)' function_pointer='true' name='xCreate' type='^?'>
<arg declared_type='int' type='i'/>
<arg declared_type='int' type='i'/>
-<retval declared_type='struct sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
+<retval declared_type='sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
</field>
<field declared_type='void (*)(sqlite3_pcache *, int)' function_pointer='true' name='xCachesize' type='^?'>
<arg declared_type='sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
@@ -534,6 +531,7 @@
</struct>
<struct name='sqlite3_pcache_methods2' type='{sqlite3_pcache_methods2=&quot;iVersion&quot;i&quot;pArg&quot;^v&quot;xInit&quot;^?&quot;xShutdown&quot;^?&quot;xCreate&quot;^?&quot;xCachesize&quot;^?&quot;xPagecount&quot;^?&quot;xFetch&quot;^?&quot;xUnpin&quot;^?&quot;xRekey&quot;^?&quot;xTruncate&quot;^?&quot;xDestroy&quot;^?&quot;xShrink&quot;^?}'>
<field declared_type='int' name='iVersion' type='i'/>
+<field declared_type='void*' name='pArg' type='^v'/>
<field declared_type='int (*)(void *)' function_pointer='true' name='xInit' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='int' type='i'/>
@@ -546,7 +544,7 @@
<arg declared_type='int' type='i'/>
<arg declared_type='int' type='i'/>
<arg declared_type='int' type='i'/>
-<retval declared_type='struct sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
+<retval declared_type='sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
</field>
<field declared_type='void (*)(sqlite3_pcache *, int)' function_pointer='true' name='xCachesize' type='^?'>
<arg declared_type='sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
@@ -561,7 +559,7 @@
<arg declared_type='sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
<arg declared_type='unsigned int' type='I'/>
<arg declared_type='int' type='i'/>
-<retval declared_type='struct sqlite3_pcache_page*' type='^{sqlite3_pcache_page=^v^v}'/>
+<retval declared_type='sqlite3_pcache_page*' type='^{sqlite3_pcache_page=^v^v}'/>
</field>
<field declared_type='void (*)(sqlite3_pcache *, sqlite3_pcache_page *, int)' function_pointer='true' name='xUnpin' type='^?'>
<arg declared_type='sqlite3_pcache*' type='^{sqlite3_pcache=}'/>
@@ -590,20 +588,31 @@
<retval declared_type='void' type='v'/>
</field>
</struct>
-<struct name='sqlite3_pcache_page' type='{sqlite3_pcache_page=&quot;pBuf&quot;^v&quot;pExtra&quot;^v}'/>
+<struct name='sqlite3_pcache_page' type='{sqlite3_pcache_page=&quot;pBuf&quot;^v&quot;pExtra&quot;^v}'>
+<field declared_type='void*' name='pBuf' type='^v'/>
+<field declared_type='void*' name='pExtra' type='^v'/>
+</struct>
<struct name='sqlite3_rtree_geometry' type='{sqlite3_rtree_geometry=&quot;pContext&quot;^v&quot;nParam&quot;i&quot;aParam&quot;^d&quot;pUser&quot;^v&quot;xDelUser&quot;^?}'>
+<field declared_type='void*' name='pContext' type='^v'/>
<field declared_type='int' name='nParam' type='i'/>
+<field declared_type='sqlite3_rtree_dbl*' name='aParam' type='^d'/>
+<field declared_type='void*' name='pUser' type='^v'/>
<field declared_type='void (*)(void *)' function_pointer='true' name='xDelUser' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</field>
</struct>
<struct name='sqlite3_rtree_query_info' type='{sqlite3_rtree_query_info=&quot;pContext&quot;^v&quot;nParam&quot;i&quot;aParam&quot;^d&quot;pUser&quot;^v&quot;xDelUser&quot;^?&quot;aCoord&quot;^d&quot;anQueue&quot;^I&quot;nCoord&quot;i&quot;iLevel&quot;i&quot;mxLevel&quot;i&quot;iRowid&quot;q&quot;rParentScore&quot;d&quot;eParentWithin&quot;i&quot;eWithin&quot;i&quot;rScore&quot;d&quot;apSqlParam&quot;^^{sqlite3_value}}'>
+<field declared_type='void*' name='pContext' type='^v'/>
<field declared_type='int' name='nParam' type='i'/>
+<field declared_type='sqlite3_rtree_dbl*' name='aParam' type='^d'/>
+<field declared_type='void*' name='pUser' type='^v'/>
<field declared_type='void (*)(void *)' function_pointer='true' name='xDelUser' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</field>
+<field declared_type='sqlite3_rtree_dbl*' name='aCoord' type='^d'/>
+<field declared_type='unsigned int*' name='anQueue' type='^I'/>
<field declared_type='int' name='nCoord' type='i'/>
<field declared_type='int' name='iLevel' type='i'/>
<field declared_type='int' name='mxLevel' type='i'/>
@@ -612,11 +621,15 @@
<field declared_type='int' name='eParentWithin' type='i'/>
<field declared_type='int' name='eWithin' type='i'/>
<field declared_type='sqlite3_rtree_dbl' name='rScore' type='d'/>
+<field declared_type='sqlite3_value**' name='apSqlParam' type='^^{sqlite3_value}'/>
</struct>
<struct name='sqlite3_vfs' type='{sqlite3_vfs=&quot;iVersion&quot;i&quot;szOsFile&quot;i&quot;mxPathname&quot;i&quot;pNext&quot;^{sqlite3_vfs}&quot;zName&quot;*&quot;pAppData&quot;^v&quot;xOpen&quot;^?&quot;xDelete&quot;^?&quot;xAccess&quot;^?&quot;xFullPathname&quot;^?&quot;xDlOpen&quot;^?&quot;xDlError&quot;^?&quot;xDlSym&quot;^?&quot;xDlClose&quot;^?&quot;xRandomness&quot;^?&quot;xSleep&quot;^?&quot;xCurrentTime&quot;^?&quot;xGetLastError&quot;^?&quot;xCurrentTimeInt64&quot;^?&quot;xSetSystemCall&quot;^?&quot;xGetSystemCall&quot;^?&quot;xNextSystemCall&quot;^?}'>
<field declared_type='int' name='iVersion' type='i'/>
<field declared_type='int' name='szOsFile' type='i'/>
<field declared_type='int' name='mxPathname' type='i'/>
+<field declared_type='sqlite3_vfs*' name='pNext' type='^{sqlite3_vfs=iii^{sqlite3_vfs}*^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}'/>
+<field const='true' declared_type='char*' name='zName' type='*'/>
+<field declared_type='void*' name='pAppData' type='^v'/>
<field declared_type='int (*)(sqlite3_vfs *, char *, sqlite3_file *, int, int *)' function_pointer='true' name='xOpen' type='^?'>
<arg declared_type='sqlite3_vfs*' type='^{sqlite3_vfs=iii^{sqlite3_vfs}*^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}'/>
<arg const='true' declared_type='char*' type='*'/>
@@ -660,7 +673,9 @@
<arg declared_type='sqlite3_vfs*' type='^{sqlite3_vfs=iii^{sqlite3_vfs}*^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}'/>
<arg declared_type='void*' type='^v'/>
<arg const='true' declared_type='char*' type='*'/>
-<retval declared_type='void (*)(void)' type='^?'/>
+<retval declared_type='void (*)(void)' function_pointer='true' type='^?'>
+<retval declared_type='void' type='v'/>
+</retval>
</field>
<field declared_type='void (*)(sqlite3_vfs *, void *)' function_pointer='true' name='xDlClose' type='^?'>
<arg declared_type='sqlite3_vfs*' type='^{sqlite3_vfs=iii^{sqlite3_vfs}*^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}'/>
@@ -703,7 +718,7 @@
<field declared_type='sqlite3_syscall_ptr (*)(sqlite3_vfs *, char *)' function_pointer='true' name='xGetSystemCall' type='^?'>
<arg declared_type='sqlite3_vfs*' type='^{sqlite3_vfs=iii^{sqlite3_vfs}*^v^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}'/>
<arg const='true' declared_type='char*' type='*'/>
-<retval declared_type='void (*)(void)' function_pointer='true' type='^?'>
+<retval declared_type='sqlite3_syscall_ptr' function_pointer='true' type='^?'>
<retval declared_type='void' type='v'/>
</retval>
</field>
@@ -714,41 +729,401 @@
</field>
</struct>
<struct name='sqlite3_vtab' type='{sqlite3_vtab=&quot;pModule&quot;^{sqlite3_module}&quot;nRef&quot;i&quot;zErrMsg&quot;*}'>
+<field const='true' declared_type='sqlite3_module*' name='pModule' type='^{sqlite3_module=i^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?}'/>
<field declared_type='int' name='nRef' type='i'/>
+<field declared_type='char*' name='zErrMsg' type='*'/>
+</struct>
+<struct name='sqlite3_vtab_cursor' type='{sqlite3_vtab_cursor=&quot;pVtab&quot;^{sqlite3_vtab}}'>
+<field declared_type='sqlite3_vtab*' name='pVtab' type='^{sqlite3_vtab=^{sqlite3_module}i*}'/>
</struct>
-<struct name='sqlite3_vtab_cursor' type='{sqlite3_vtab_cursor=&quot;pVtab&quot;^{sqlite3_vtab}}'/>
<opaque name='Fts5Context' type='^{Fts5Context=}'/>
-<opaque name='Fts5ExtensionApi' type='^{Fts5ExtensionApi=}'/>
-<opaque name='Fts5PhraseIter' type='^{Fts5PhraseIter=}'/>
<opaque name='Fts5Tokenizer' type='^{Fts5Tokenizer=}'/>
-<opaque name='fts5_api' type='^{fts5_api=}'/>
-<opaque name='fts5_tokenizer' type='^{fts5_tokenizer=}'/>
<opaque name='sqlite3' type='^{sqlite3=}'/>
<opaque name='sqlite3_api_routines' type='^{sqlite3_api_routines=}'/>
<opaque name='sqlite3_backup' type='^{sqlite3_backup=}'/>
<opaque name='sqlite3_blob' type='^{sqlite3_blob=}'/>
<opaque name='sqlite3_context' type='^{sqlite3_context=}'/>
-<opaque name='sqlite3_file' type='^{sqlite3_file=}'/>
-<opaque name='sqlite3_index_info' type='^{sqlite3_index_info=}'/>
-<opaque name='sqlite3_io_methods' type='^{sqlite3_io_methods=}'/>
-<opaque name='sqlite3_mem_methods' type='^{sqlite3_mem_methods=}'/>
-<opaque name='sqlite3_module' type='^{sqlite3_module=}'/>
<opaque name='sqlite3_mutex' type='^{sqlite3_mutex=}'/>
-<opaque name='sqlite3_mutex_methods' type='^{sqlite3_mutex_methods=}'/>
<opaque name='sqlite3_pcache' type='^{sqlite3_pcache=}'/>
-<opaque name='sqlite3_pcache_methods' type='^{sqlite3_pcache_methods=}'/>
-<opaque name='sqlite3_pcache_methods2' type='^{sqlite3_pcache_methods2=}'/>
-<opaque name='sqlite3_pcache_page' type='^{sqlite3_pcache_page=}'/>
-<opaque name='sqlite3_rtree_geometry' type='^{sqlite3_rtree_geometry=}'/>
-<opaque name='sqlite3_rtree_query_info' type='^{sqlite3_rtree_query_info=}'/>
<opaque name='sqlite3_stmt' type='^{sqlite3_stmt=}'/>
<opaque name='sqlite3_value' type='^{sqlite3_value=}'/>
-<opaque name='sqlite3_vfs' type='^{sqlite3_vfs=}'/>
-<opaque name='sqlite3_vtab' type='^{sqlite3_vtab=}'/>
-<opaque name='sqlite3_vtab_cursor' type='^{sqlite3_vtab_cursor=}'/>
<constant declared_type='char*' name='sqlite3_data_directory' type='*'/>
<constant declared_type='char*' name='sqlite3_temp_directory' type='*'/>
<constant const='true' declared_type='char*' name='sqlite3_version' type='^c'/>
+<string_constant name='SQLITE_SOURCE_ID' value='2017-06-27 16:48:08 2b0954060fe10d6de6d479287dd88890f1bef6cc1beca11bc6cdb79f72e2377b'/>
+<string_constant name='SQLITE_VERSION' value='3.19.3'/>
+<enum name='FTS5_TOKENIZE_AUX' value='8'/>
+<enum name='FTS5_TOKENIZE_DOCUMENT' value='4'/>
+<enum name='FTS5_TOKENIZE_PREFIX' value='2'/>
+<enum name='FTS5_TOKENIZE_QUERY' value='1'/>
+<enum name='FTS5_TOKEN_COLOCATED' value='1'/>
+<enum name='FULLY_WITHIN' value='2'/>
+<enum name='NOT_WITHIN' value='0'/>
+<enum name='PARTLY_WITHIN' value='1'/>
+<enum name='SQLITE3_TEXT' value='3'/>
+<enum name='SQLITE_ABORT' value='4'/>
+<enum name='SQLITE_ABORT_ROLLBACK' value='516'/>
+<enum name='SQLITE_ACCESS_EXISTS' value='0'/>
+<enum name='SQLITE_ACCESS_READ' value='2'/>
+<enum name='SQLITE_ACCESS_READWRITE' value='1'/>
+<enum name='SQLITE_ALTER_TABLE' value='26'/>
+<enum name='SQLITE_ANALYZE' value='28'/>
+<enum name='SQLITE_ANY' value='5'/>
+<enum name='SQLITE_ATTACH' value='24'/>
+<enum name='SQLITE_AUTH' value='23'/>
+<enum name='SQLITE_AUTH_USER' value='279'/>
+<enum name='SQLITE_BLOB' value='4'/>
+<enum name='SQLITE_BUSY' value='5'/>
+<enum name='SQLITE_BUSY_RECOVERY' value='261'/>
+<enum name='SQLITE_BUSY_SNAPSHOT' value='517'/>
+<enum name='SQLITE_CANTOPEN' value='14'/>
+<enum name='SQLITE_CANTOPEN_CONVPATH' value='1038'/>
+<enum name='SQLITE_CANTOPEN_FULLPATH' value='782'/>
+<enum name='SQLITE_CANTOPEN_ISDIR' value='526'/>
+<enum name='SQLITE_CANTOPEN_NOTEMPDIR' value='270'/>
+<enum name='SQLITE_CHECKPOINT_FULL' value='1'/>
+<enum name='SQLITE_CHECKPOINT_PASSIVE' value='0'/>
+<enum name='SQLITE_CHECKPOINT_RESTART' value='2'/>
+<enum name='SQLITE_CHECKPOINT_TRUNCATE' value='3'/>
+<enum name='SQLITE_CONFIG_COVERING_INDEX_SCAN' value='20'/>
+<enum name='SQLITE_CONFIG_GETMALLOC' value='5'/>
+<enum name='SQLITE_CONFIG_GETMUTEX' value='11'/>
+<enum name='SQLITE_CONFIG_GETPCACHE' value='15'/>
+<enum name='SQLITE_CONFIG_GETPCACHE2' value='19'/>
+<enum name='SQLITE_CONFIG_HEAP' value='8'/>
+<enum name='SQLITE_CONFIG_LOG' value='16'/>
+<enum name='SQLITE_CONFIG_LOOKASIDE' value='13'/>
+<enum name='SQLITE_CONFIG_MALLOC' value='4'/>
+<enum name='SQLITE_CONFIG_MEMSTATUS' value='9'/>
+<enum name='SQLITE_CONFIG_MMAP_SIZE' value='22'/>
+<enum name='SQLITE_CONFIG_MULTITHREAD' value='2'/>
+<enum name='SQLITE_CONFIG_MUTEX' value='10'/>
+<enum name='SQLITE_CONFIG_PAGECACHE' value='7'/>
+<enum name='SQLITE_CONFIG_PCACHE' value='14'/>
+<enum name='SQLITE_CONFIG_PCACHE2' value='18'/>
+<enum name='SQLITE_CONFIG_PCACHE_HDRSZ' value='24'/>
+<enum name='SQLITE_CONFIG_PMASZ' value='25'/>
+<enum name='SQLITE_CONFIG_SCRATCH' value='6'/>
+<enum name='SQLITE_CONFIG_SERIALIZED' value='3'/>
+<enum name='SQLITE_CONFIG_SINGLETHREAD' value='1'/>
+<enum name='SQLITE_CONFIG_SQLLOG' value='21'/>
+<enum name='SQLITE_CONFIG_STMTJRNL_SPILL' value='26'/>
+<enum name='SQLITE_CONFIG_URI' value='17'/>
+<enum name='SQLITE_CONFIG_WIN32_HEAPSIZE' value='23'/>
+<enum name='SQLITE_CONSTRAINT' value='19'/>
+<enum name='SQLITE_CONSTRAINT_CHECK' value='275'/>
+<enum name='SQLITE_CONSTRAINT_COMMITHOOK' value='531'/>
+<enum name='SQLITE_CONSTRAINT_FOREIGNKEY' value='787'/>
+<enum name='SQLITE_CONSTRAINT_FUNCTION' value='1043'/>
+<enum name='SQLITE_CONSTRAINT_NOTNULL' value='1299'/>
+<enum name='SQLITE_CONSTRAINT_PRIMARYKEY' value='1555'/>
+<enum name='SQLITE_CONSTRAINT_ROWID' value='2579'/>
+<enum name='SQLITE_CONSTRAINT_TRIGGER' value='1811'/>
+<enum name='SQLITE_CONSTRAINT_UNIQUE' value='2067'/>
+<enum name='SQLITE_CONSTRAINT_VTAB' value='2323'/>
+<enum name='SQLITE_COPY' value='0'/>
+<enum name='SQLITE_CORRUPT' value='11'/>
+<enum name='SQLITE_CORRUPT_VTAB' value='267'/>
+<enum name='SQLITE_CREATE_INDEX' value='1'/>
+<enum name='SQLITE_CREATE_TABLE' value='2'/>
+<enum name='SQLITE_CREATE_TEMP_INDEX' value='3'/>
+<enum name='SQLITE_CREATE_TEMP_TABLE' value='4'/>
+<enum name='SQLITE_CREATE_TEMP_TRIGGER' value='5'/>
+<enum name='SQLITE_CREATE_TEMP_VIEW' value='6'/>
+<enum name='SQLITE_CREATE_TRIGGER' value='7'/>
+<enum name='SQLITE_CREATE_VIEW' value='8'/>
+<enum name='SQLITE_CREATE_VTABLE' value='29'/>
+<enum name='SQLITE_DBCONFIG_ENABLE_FKEY' value='1002'/>
+<enum name='SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER' value='1004'/>
+<enum name='SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION' value='1005'/>
+<enum name='SQLITE_DBCONFIG_ENABLE_TRIGGER' value='1003'/>
+<enum name='SQLITE_DBCONFIG_LOOKASIDE' value='1001'/>
+<enum name='SQLITE_DBCONFIG_MAINDBNAME' value='1000'/>
+<enum name='SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE' value='1006'/>
+<enum name='SQLITE_DBSTATUS_CACHE_HIT' value='7'/>
+<enum name='SQLITE_DBSTATUS_CACHE_MISS' value='8'/>
+<enum name='SQLITE_DBSTATUS_CACHE_USED' value='1'/>
+<enum name='SQLITE_DBSTATUS_CACHE_USED_SHARED' value='11'/>
+<enum name='SQLITE_DBSTATUS_CACHE_WRITE' value='9'/>
+<enum name='SQLITE_DBSTATUS_DEFERRED_FKS' value='10'/>
+<enum name='SQLITE_DBSTATUS_LOOKASIDE_HIT' value='4'/>
+<enum name='SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL' value='6'/>
+<enum name='SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE' value='5'/>
+<enum name='SQLITE_DBSTATUS_LOOKASIDE_USED' value='0'/>
+<enum name='SQLITE_DBSTATUS_MAX' value='11'/>
+<enum name='SQLITE_DBSTATUS_SCHEMA_USED' value='2'/>
+<enum name='SQLITE_DBSTATUS_STMT_USED' value='3'/>
+<enum name='SQLITE_DELETE' value='9'/>
+<enum name='SQLITE_DENY' value='1'/>
+<enum name='SQLITE_DETACH' value='25'/>
+<enum name='SQLITE_DETERMINISTIC' value='2048'/>
+<enum name='SQLITE_DONE' value='101'/>
+<enum name='SQLITE_DROP_INDEX' value='10'/>
+<enum name='SQLITE_DROP_TABLE' value='11'/>
+<enum name='SQLITE_DROP_TEMP_INDEX' value='12'/>
+<enum name='SQLITE_DROP_TEMP_TABLE' value='13'/>
+<enum name='SQLITE_DROP_TEMP_TRIGGER' value='14'/>
+<enum name='SQLITE_DROP_TEMP_VIEW' value='15'/>
+<enum name='SQLITE_DROP_TRIGGER' value='16'/>
+<enum name='SQLITE_DROP_VIEW' value='17'/>
+<enum name='SQLITE_DROP_VTABLE' value='30'/>
+<enum name='SQLITE_EMPTY' value='16'/>
+<enum name='SQLITE_ERROR' value='1'/>
+<enum name='SQLITE_FAIL' value='3'/>
+<enum name='SQLITE_FCNTL_BUSYHANDLER' value='15'/>
+<enum name='SQLITE_FCNTL_CHUNK_SIZE' value='6'/>
+<enum name='SQLITE_FCNTL_COMMIT_PHASETWO' value='22'/>
+<enum name='SQLITE_FCNTL_FILE_POINTER' value='7'/>
+<enum name='SQLITE_FCNTL_GET_LOCKPROXYFILE' value='2'/>
+<enum name='SQLITE_FCNTL_HAS_MOVED' value='20'/>
+<enum name='SQLITE_FCNTL_JOURNAL_POINTER' value='28'/>
+<enum name='SQLITE_FCNTL_LAST_ERRNO' value='4'/>
+<enum name='SQLITE_FCNTL_LOCKSTATE' value='1'/>
+<enum name='SQLITE_FCNTL_MMAP_SIZE' value='18'/>
+<enum name='SQLITE_FCNTL_OVERWRITE' value='11'/>
+<enum name='SQLITE_FCNTL_PDB' value='30'/>
+<enum name='SQLITE_FCNTL_PERSIST_WAL' value='10'/>
+<enum name='SQLITE_FCNTL_POWERSAFE_OVERWRITE' value='13'/>
+<enum name='SQLITE_FCNTL_PRAGMA' value='14'/>
+<enum name='SQLITE_FCNTL_RBU' value='26'/>
+<enum name='SQLITE_FCNTL_SET_LOCKPROXYFILE' value='3'/>
+<enum name='SQLITE_FCNTL_SIZE_HINT' value='5'/>
+<enum name='SQLITE_FCNTL_SYNC' value='21'/>
+<enum name='SQLITE_FCNTL_SYNC_OMITTED' value='8'/>
+<enum name='SQLITE_FCNTL_TEMPFILENAME' value='16'/>
+<enum name='SQLITE_FCNTL_TRACE' value='19'/>
+<enum name='SQLITE_FCNTL_VFSNAME' value='12'/>
+<enum name='SQLITE_FCNTL_VFS_POINTER' value='27'/>
+<enum name='SQLITE_FCNTL_WAL_BLOCK' value='24'/>
+<enum name='SQLITE_FCNTL_WIN32_AV_RETRY' value='9'/>
+<enum name='SQLITE_FCNTL_WIN32_GET_HANDLE' value='29'/>
+<enum name='SQLITE_FCNTL_WIN32_SET_HANDLE' value='23'/>
+<enum name='SQLITE_FCNTL_ZIPVFS' value='25'/>
+<enum name='SQLITE_FLOAT' value='2'/>
+<enum name='SQLITE_FORMAT' value='24'/>
+<enum name='SQLITE_FULL' value='13'/>
+<enum name='SQLITE_FUNCTION' value='31'/>
+<enum name='SQLITE_GET_LOCKPROXYFILE' value='2'/>
+<enum name='SQLITE_IGNORE' value='2'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_EQ' value='2'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_GE' value='32'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_GLOB' value='66'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_GT' value='4'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_LE' value='8'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_LIKE' value='65'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_LT' value='16'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_MATCH' value='64'/>
+<enum name='SQLITE_INDEX_CONSTRAINT_REGEXP' value='67'/>
+<enum name='SQLITE_INDEX_SCAN_UNIQUE' value='1'/>
+<enum name='SQLITE_INSERT' value='18'/>
+<enum name='SQLITE_INTEGER' value='1'/>
+<enum name='SQLITE_INTERNAL' value='2'/>
+<enum name='SQLITE_INTERRUPT' value='9'/>
+<enum name='SQLITE_IOCAP_ATOMIC' value='1'/>
+<enum name='SQLITE_IOCAP_ATOMIC16K' value='64'/>
+<enum name='SQLITE_IOCAP_ATOMIC1K' value='4'/>
+<enum name='SQLITE_IOCAP_ATOMIC2K' value='8'/>
+<enum name='SQLITE_IOCAP_ATOMIC32K' value='128'/>
+<enum name='SQLITE_IOCAP_ATOMIC4K' value='16'/>
+<enum name='SQLITE_IOCAP_ATOMIC512' value='2'/>
+<enum name='SQLITE_IOCAP_ATOMIC64K' value='256'/>
+<enum name='SQLITE_IOCAP_ATOMIC8K' value='32'/>
+<enum name='SQLITE_IOCAP_IMMUTABLE' value='8192'/>
+<enum name='SQLITE_IOCAP_POWERSAFE_OVERWRITE' value='4096'/>
+<enum name='SQLITE_IOCAP_SAFE_APPEND' value='512'/>
+<enum name='SQLITE_IOCAP_SEQUENTIAL' value='1024'/>
+<enum name='SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN' value='2048'/>
+<enum name='SQLITE_IOERR' value='10'/>
+<enum name='SQLITE_IOERR_ACCESS' value='3338'/>
+<enum name='SQLITE_IOERR_AUTH' value='7178'/>
+<enum name='SQLITE_IOERR_BLOCKED' value='2826'/>
+<enum name='SQLITE_IOERR_CHECKRESERVEDLOCK' value='3594'/>
+<enum name='SQLITE_IOERR_CLOSE' value='4106'/>
+<enum name='SQLITE_IOERR_CONVPATH' value='6666'/>
+<enum name='SQLITE_IOERR_DELETE' value='2570'/>
+<enum name='SQLITE_IOERR_DELETE_NOENT' value='5898'/>
+<enum name='SQLITE_IOERR_DIR_CLOSE' value='4362'/>
+<enum name='SQLITE_IOERR_DIR_FSYNC' value='1290'/>
+<enum name='SQLITE_IOERR_FSTAT' value='1802'/>
+<enum name='SQLITE_IOERR_FSYNC' value='1034'/>
+<enum name='SQLITE_IOERR_GETTEMPPATH' value='6410'/>
+<enum name='SQLITE_IOERR_LOCK' value='3850'/>
+<enum name='SQLITE_IOERR_MMAP' value='6154'/>
+<enum name='SQLITE_IOERR_NOMEM' value='3082'/>
+<enum name='SQLITE_IOERR_RDLOCK' value='2314'/>
+<enum name='SQLITE_IOERR_READ' value='266'/>
+<enum name='SQLITE_IOERR_SEEK' value='5642'/>
+<enum name='SQLITE_IOERR_SHMLOCK' value='5130'/>
+<enum name='SQLITE_IOERR_SHMMAP' value='5386'/>
+<enum name='SQLITE_IOERR_SHMOPEN' value='4618'/>
+<enum name='SQLITE_IOERR_SHMSIZE' value='4874'/>
+<enum name='SQLITE_IOERR_SHORT_READ' value='522'/>
+<enum name='SQLITE_IOERR_TRUNCATE' value='1546'/>
+<enum name='SQLITE_IOERR_UNLOCK' value='2058'/>
+<enum name='SQLITE_IOERR_VNODE' value='6922'/>
+<enum name='SQLITE_IOERR_WRITE' value='778'/>
+<enum name='SQLITE_LAST_ERRNO' value='4'/>
+<enum name='SQLITE_LIMIT_ATTACHED' value='7'/>
+<enum name='SQLITE_LIMIT_COLUMN' value='2'/>
+<enum name='SQLITE_LIMIT_COMPOUND_SELECT' value='4'/>
+<enum name='SQLITE_LIMIT_EXPR_DEPTH' value='3'/>
+<enum name='SQLITE_LIMIT_FUNCTION_ARG' value='6'/>
+<enum name='SQLITE_LIMIT_LENGTH' value='0'/>
+<enum name='SQLITE_LIMIT_LIKE_PATTERN_LENGTH' value='8'/>
+<enum name='SQLITE_LIMIT_SQL_LENGTH' value='1'/>
+<enum name='SQLITE_LIMIT_TRIGGER_DEPTH' value='10'/>
+<enum name='SQLITE_LIMIT_VARIABLE_NUMBER' value='9'/>
+<enum name='SQLITE_LIMIT_VDBE_OP' value='5'/>
+<enum name='SQLITE_LIMIT_WORKER_THREADS' value='11'/>
+<enum name='SQLITE_LOCKED' value='6'/>
+<enum name='SQLITE_LOCKED_SHAREDCACHE' value='262'/>
+<enum name='SQLITE_LOCK_EXCLUSIVE' value='4'/>
+<enum name='SQLITE_LOCK_NONE' value='0'/>
+<enum name='SQLITE_LOCK_PENDING' value='3'/>
+<enum name='SQLITE_LOCK_RESERVED' value='2'/>
+<enum name='SQLITE_LOCK_SHARED' value='1'/>
+<enum name='SQLITE_MISMATCH' value='20'/>
+<enum name='SQLITE_MISUSE' value='21'/>
+<enum name='SQLITE_MUTEX_FAST' value='0'/>
+<enum name='SQLITE_MUTEX_RECURSIVE' value='1'/>
+<enum name='SQLITE_MUTEX_STATIC_APP1' value='8'/>
+<enum name='SQLITE_MUTEX_STATIC_APP2' value='9'/>
+<enum name='SQLITE_MUTEX_STATIC_APP3' value='10'/>
+<enum name='SQLITE_MUTEX_STATIC_LRU' value='6'/>
+<enum name='SQLITE_MUTEX_STATIC_LRU2' value='7'/>
+<enum name='SQLITE_MUTEX_STATIC_MASTER' value='2'/>
+<enum name='SQLITE_MUTEX_STATIC_MEM' value='3'/>
+<enum name='SQLITE_MUTEX_STATIC_MEM2' value='4'/>
+<enum name='SQLITE_MUTEX_STATIC_OPEN' value='4'/>
+<enum name='SQLITE_MUTEX_STATIC_PMEM' value='7'/>
+<enum name='SQLITE_MUTEX_STATIC_PRNG' value='5'/>
+<enum name='SQLITE_MUTEX_STATIC_VFS1' value='11'/>
+<enum name='SQLITE_MUTEX_STATIC_VFS2' value='12'/>
+<enum name='SQLITE_MUTEX_STATIC_VFS3' value='13'/>
+<enum name='SQLITE_NOLFS' value='22'/>
+<enum name='SQLITE_NOMEM' value='7'/>
+<enum name='SQLITE_NOTADB' value='26'/>
+<enum name='SQLITE_NOTFOUND' value='12'/>
+<enum name='SQLITE_NOTICE' value='27'/>
+<enum name='SQLITE_NOTICE_RECOVER_ROLLBACK' value='539'/>
+<enum name='SQLITE_NOTICE_RECOVER_WAL' value='283'/>
+<enum name='SQLITE_NULL' value='5'/>
+<enum name='SQLITE_OK' value='0'/>
+<enum name='SQLITE_OK_LOAD_PERMANENTLY' value='256'/>
+<enum name='SQLITE_OPEN_AUTOPROXY' value='32'/>
+<enum name='SQLITE_OPEN_CREATE' value='4'/>
+<enum name='SQLITE_OPEN_DELETEONCLOSE' value='8'/>
+<enum name='SQLITE_OPEN_EXCLUSIVE' value='16'/>
+<enum name='SQLITE_OPEN_FILEPROTECTION_COMPLETE' value='1048576'/>
+<enum name='SQLITE_OPEN_FILEPROTECTION_COMPLETEUNLESSOPEN' value='2097152'/>
+<enum name='SQLITE_OPEN_FILEPROTECTION_COMPLETEUNTILFIRSTUSERAUTHENTICATION' value='3145728'/>
+<enum name='SQLITE_OPEN_FILEPROTECTION_MASK' value='7340032'/>
+<enum name='SQLITE_OPEN_FILEPROTECTION_NONE' value='4194304'/>
+<enum name='SQLITE_OPEN_FULLMUTEX' value='65536'/>
+<enum name='SQLITE_OPEN_MAIN_DB' value='256'/>
+<enum name='SQLITE_OPEN_MAIN_JOURNAL' value='2048'/>
+<enum name='SQLITE_OPEN_MASTER_JOURNAL' value='16384'/>
+<enum name='SQLITE_OPEN_MEMORY' value='128'/>
+<enum name='SQLITE_OPEN_NOMUTEX' value='32768'/>
+<enum name='SQLITE_OPEN_PRIVATECACHE' value='262144'/>
+<enum name='SQLITE_OPEN_READONLY' value='1'/>
+<enum name='SQLITE_OPEN_READWRITE' value='2'/>
+<enum name='SQLITE_OPEN_SHAREDCACHE' value='131072'/>
+<enum name='SQLITE_OPEN_SUBJOURNAL' value='8192'/>
+<enum name='SQLITE_OPEN_TEMP_DB' value='512'/>
+<enum name='SQLITE_OPEN_TEMP_JOURNAL' value='4096'/>
+<enum name='SQLITE_OPEN_TRANSIENT_DB' value='1024'/>
+<enum name='SQLITE_OPEN_URI' value='64'/>
+<enum name='SQLITE_OPEN_WAL' value='524288'/>
+<enum name='SQLITE_PERM' value='3'/>
+<enum name='SQLITE_PRAGMA' value='19'/>
+<enum name='SQLITE_PROTOCOL' value='15'/>
+<enum name='SQLITE_RANGE' value='25'/>
+<enum name='SQLITE_READ' value='20'/>
+<enum name='SQLITE_READONLY' value='8'/>
+<enum name='SQLITE_READONLY_CANTLOCK' value='520'/>
+<enum name='SQLITE_READONLY_DBMOVED' value='1032'/>
+<enum name='SQLITE_READONLY_RECOVERY' value='264'/>
+<enum name='SQLITE_READONLY_ROLLBACK' value='776'/>
+<enum name='SQLITE_RECURSIVE' value='33'/>
+<enum name='SQLITE_REINDEX' value='27'/>
+<enum name='SQLITE_REPLACE' value='5'/>
+<enum name='SQLITE_ROLLBACK' value='1'/>
+<enum name='SQLITE_ROW' value='100'/>
+<enum name='SQLITE_SAVEPOINT' value='32'/>
+<enum name='SQLITE_SCANSTAT_EST' value='2'/>
+<enum name='SQLITE_SCANSTAT_EXPLAIN' value='4'/>
+<enum name='SQLITE_SCANSTAT_NAME' value='3'/>
+<enum name='SQLITE_SCANSTAT_NLOOP' value='0'/>
+<enum name='SQLITE_SCANSTAT_NVISIT' value='1'/>
+<enum name='SQLITE_SCANSTAT_SELECTID' value='5'/>
+<enum name='SQLITE_SCHEMA' value='17'/>
+<enum name='SQLITE_SELECT' value='21'/>
+<enum name='SQLITE_SET_LOCKPROXYFILE' value='3'/>
+<enum name='SQLITE_SHM_EXCLUSIVE' value='8'/>
+<enum name='SQLITE_SHM_LOCK' value='2'/>
+<enum name='SQLITE_SHM_NLOCK' value='8'/>
+<enum name='SQLITE_SHM_SHARED' value='4'/>
+<enum name='SQLITE_SHM_UNLOCK' value='1'/>
+<enum name='SQLITE_STATUS_MALLOC_COUNT' value='9'/>
+<enum name='SQLITE_STATUS_MALLOC_SIZE' value='5'/>
+<enum name='SQLITE_STATUS_MEMORY_USED' value='0'/>
+<enum name='SQLITE_STATUS_PAGECACHE_OVERFLOW' value='2'/>
+<enum name='SQLITE_STATUS_PAGECACHE_SIZE' value='7'/>
+<enum name='SQLITE_STATUS_PAGECACHE_USED' value='1'/>
+<enum name='SQLITE_STATUS_PARSER_STACK' value='6'/>
+<enum name='SQLITE_STATUS_SCRATCH_OVERFLOW' value='4'/>
+<enum name='SQLITE_STATUS_SCRATCH_SIZE' value='8'/>
+<enum name='SQLITE_STATUS_SCRATCH_USED' value='3'/>
+<enum name='SQLITE_STMTSTATUS_AUTOINDEX' value='3'/>
+<enum name='SQLITE_STMTSTATUS_FULLSCAN_STEP' value='1'/>
+<enum name='SQLITE_STMTSTATUS_MEMUSED' value='5'/>
+<enum name='SQLITE_STMTSTATUS_SORT' value='2'/>
+<enum name='SQLITE_STMTSTATUS_VM_STEP' value='4'/>
+<enum name='SQLITE_SYNC_DATAONLY' value='16'/>
+<enum name='SQLITE_SYNC_FULL' value='3'/>
+<enum name='SQLITE_SYNC_NORMAL' value='2'/>
+<enum name='SQLITE_TESTCTRL_ALWAYS' value='13'/>
+<enum name='SQLITE_TESTCTRL_ASSERT' value='12'/>
+<enum name='SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS' value='10'/>
+<enum name='SQLITE_TESTCTRL_BITVEC_TEST' value='8'/>
+<enum name='SQLITE_TESTCTRL_BYTEORDER' value='22'/>
+<enum name='SQLITE_TESTCTRL_EXPLAIN_STMT' value='19'/>
+<enum name='SQLITE_TESTCTRL_FAULT_INSTALL' value='9'/>
+<enum name='SQLITE_TESTCTRL_FIRST' value='5'/>
+<enum name='SQLITE_TESTCTRL_IMPOSTER' value='25'/>
+<enum name='SQLITE_TESTCTRL_ISINIT' value='23'/>
+<enum name='SQLITE_TESTCTRL_ISKEYWORD' value='16'/>
+<enum name='SQLITE_TESTCTRL_LAST' value='25'/>
+<enum name='SQLITE_TESTCTRL_LOCALTIME_FAULT' value='18'/>
+<enum name='SQLITE_TESTCTRL_NEVER_CORRUPT' value='20'/>
+<enum name='SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD' value='19'/>
+<enum name='SQLITE_TESTCTRL_OPTIMIZATIONS' value='15'/>
+<enum name='SQLITE_TESTCTRL_PENDING_BYTE' value='11'/>
+<enum name='SQLITE_TESTCTRL_PRNG_RESET' value='7'/>
+<enum name='SQLITE_TESTCTRL_PRNG_RESTORE' value='6'/>
+<enum name='SQLITE_TESTCTRL_PRNG_SAVE' value='5'/>
+<enum name='SQLITE_TESTCTRL_RESERVE' value='14'/>
+<enum name='SQLITE_TESTCTRL_SCRATCHMALLOC' value='17'/>
+<enum name='SQLITE_TESTCTRL_SORTER_MMAP' value='24'/>
+<enum name='SQLITE_TESTCTRL_VDBE_COVERAGE' value='21'/>
+<enum name='SQLITE_TEXT' value='3'/>
+<enum name='SQLITE_TOOBIG' value='18'/>
+<enum name='SQLITE_TRACE_CLOSE' value='8'/>
+<enum name='SQLITE_TRACE_PROFILE' value='2'/>
+<enum name='SQLITE_TRACE_ROW' value='4'/>
+<enum name='SQLITE_TRACE_STMT' value='1'/>
+<enum name='SQLITE_TRANSACTION' value='22'/>
+<enum name='SQLITE_UPDATE' value='23'/>
+<enum name='SQLITE_UTF16' value='4'/>
+<enum name='SQLITE_UTF16BE' value='3'/>
+<enum name='SQLITE_UTF16LE' value='2'/>
+<enum name='SQLITE_UTF16_ALIGNED' value='8'/>
+<enum name='SQLITE_UTF8' value='1'/>
+<enum name='SQLITE_VERSION_NUMBER' value='3019003'/>
+<enum name='SQLITE_VTAB_CONSTRAINT_SUPPORT' value='1'/>
+<enum name='SQLITE_WARNING' value='28'/>
+<enum name='SQLITE_WARNING_AUTOINDEX' value='284'/>
<function name='sqlite3_aggregate_context'>
<arg declared_type='sqlite3_context*' type='^{sqlite3_context=}'/>
<arg declared_type='int' name='nBytes' type='i'/>
@@ -1779,7 +2154,7 @@
<arg declared_type='sqlite3*' name='db' type='^{sqlite3=}'/>
<arg const='true' declared_type='char*' name='zGeom' type='*'/>
<arg declared_type='int (*)(sqlite3_rtree_geometry *, int, sqlite3_rtree_dbl *, int *)' function_pointer='true' name='xGeom' type='^?'>
-<arg declared_type='sqlite3_rtree_geometry*' type='^{sqlite3_rtree_geometry=}'/>
+<arg declared_type='sqlite3_rtree_geometry*' type='^{sqlite3_rtree_geometry=^vi^d^v^?}'/>
<arg declared_type='int' type='i'/>
<arg declared_type='sqlite3_rtree_dbl*' type='^d'/>
<arg declared_type='int*' type='^i'/>
@@ -1792,7 +2167,7 @@
<arg declared_type='sqlite3*' name='db' type='^{sqlite3=}'/>
<arg const='true' declared_type='char*' name='zQueryFunc' type='*'/>
<arg declared_type='int (*)(sqlite3_rtree_query_info *)' function_pointer='true' name='xQueryFunc' type='^?'>
-<arg declared_type='sqlite3_rtree_query_info*' type='^{sqlite3_rtree_query_info=}'/>
+<arg declared_type='sqlite3_rtree_query_info*' type='^{sqlite3_rtree_query_info=^vi^d^v^?^d^Iiiiqdiid^^{sqlite3_value}}'/>
<retval declared_type='int' type='i'/>
</arg>
<arg declared_type='void*' name='pContext' type='^v'/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment