gitlab.com/CoiaPrant/sqlite3@v1.19.1/internal/mptest/main_freebsd_386.go (about)

     1  // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o internal/mptest/main_freebsd_386.go -trace-translation-units testdata/sqlite-src-3390300/mptest/mptest.c -Itestdata/sqlite-amalgamation-3390300 -l gitlab.com/CoiaPrant/sqlite3/lib -full-path-comments -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CORE -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_THREADSAFE=1 -DSQLITE_OS_UNIX=1', DO NOT EDIT.
     2  
     3  package main
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  	"gitlab.com/CoiaPrant/sqlite3/lib"
    14  )
    15  
    16  var _ = math.Pi
    17  var _ reflect.Kind
    18  var _ atomic.Value
    19  var _ unsafe.Pointer
    20  var _ *libc.TLS
    21  var _ types.Size_t
    22  
    23  func main() { libc.Start(main1) }
    24  
    25  const (
    26  	BIG_ENDIAN                            = 4321
    27  	BUFSIZ                                = 1024
    28  	BYTE_ORDER                            = 1234
    29  	CLOSE_RANGE_CLOEXEC                   = 4
    30  	DEFAULT_TIMEOUT                       = 10000
    31  	E2BIG                                 = 7
    32  	EACCES                                = 13
    33  	EADDRINUSE                            = 48
    34  	EADDRNOTAVAIL                         = 49
    35  	EAFNOSUPPORT                          = 47
    36  	EAGAIN                                = 35
    37  	EALREADY                              = 37
    38  	EAUTH                                 = 80
    39  	EBADF                                 = 9
    40  	EBADMSG                               = 89
    41  	EBADRPC                               = 72
    42  	EBUSY                                 = 16
    43  	ECANCELED                             = 85
    44  	ECAPMODE                              = 94
    45  	ECHILD                                = 10
    46  	ECONNABORTED                          = 53
    47  	ECONNREFUSED                          = 61
    48  	ECONNRESET                            = 54
    49  	EDEADLK                               = 11
    50  	EDESTADDRREQ                          = 39
    51  	EDOM                                  = 33
    52  	EDOOFUS                               = 88
    53  	EDQUOT                                = 69
    54  	EEXIST                                = 17
    55  	EFAULT                                = 14
    56  	EFBIG                                 = 27
    57  	EFTYPE                                = 79
    58  	EHOSTDOWN                             = 64
    59  	EHOSTUNREACH                          = 65
    60  	EIDRM                                 = 82
    61  	EILSEQ                                = 86
    62  	EINPROGRESS                           = 36
    63  	EINTEGRITY                            = 97
    64  	EINTR                                 = 4
    65  	EINVAL                                = 22
    66  	EIO                                   = 5
    67  	EISCONN                               = 56
    68  	EISDIR                                = 21
    69  	ELAST                                 = 97
    70  	ELOOP                                 = 62
    71  	EMFILE                                = 24
    72  	EMLINK                                = 31
    73  	EMSGSIZE                              = 40
    74  	EMULTIHOP                             = 90
    75  	ENAMETOOLONG                          = 63
    76  	ENEEDAUTH                             = 81
    77  	ENETDOWN                              = 50
    78  	ENETRESET                             = 52
    79  	ENETUNREACH                           = 51
    80  	ENFILE                                = 23
    81  	ENOATTR                               = 87
    82  	ENOBUFS                               = 55
    83  	ENODEV                                = 19
    84  	ENOENT                                = 2
    85  	ENOEXEC                               = 8
    86  	ENOLCK                                = 77
    87  	ENOLINK                               = 91
    88  	ENOMEM                                = 12
    89  	ENOMSG                                = 83
    90  	ENOPROTOOPT                           = 42
    91  	ENOSPC                                = 28
    92  	ENOSYS                                = 78
    93  	ENOTBLK                               = 15
    94  	ENOTCAPABLE                           = 93
    95  	ENOTCONN                              = 57
    96  	ENOTDIR                               = 20
    97  	ENOTEMPTY                             = 66
    98  	ENOTRECOVERABLE                       = 95
    99  	ENOTSOCK                              = 38
   100  	ENOTSUP                               = 45
   101  	ENOTTY                                = 25
   102  	ENXIO                                 = 6
   103  	EOF                                   = -1
   104  	EOPNOTSUPP                            = 45
   105  	EOVERFLOW                             = 84
   106  	EOWNERDEAD                            = 96
   107  	EPERM                                 = 1
   108  	EPFNOSUPPORT                          = 46
   109  	EPIPE                                 = 32
   110  	EPROCLIM                              = 67
   111  	EPROCUNAVAIL                          = 76
   112  	EPROGMISMATCH                         = 75
   113  	EPROGUNAVAIL                          = 74
   114  	EPROTO                                = 92
   115  	EPROTONOSUPPORT                       = 43
   116  	EPROTOTYPE                            = 41
   117  	ERANGE                                = 34
   118  	EREMOTE                               = 71
   119  	EROFS                                 = 30
   120  	ERPCMISMATCH                          = 73
   121  	ESHUTDOWN                             = 58
   122  	ESOCKTNOSUPPORT                       = 44
   123  	ESPIPE                                = 29
   124  	ESRCH                                 = 3
   125  	ESTALE                                = 70
   126  	ETIMEDOUT                             = 60
   127  	ETOOMANYREFS                          = 59
   128  	ETXTBSY                               = 26
   129  	EUSERS                                = 68
   130  	EWOULDBLOCK                           = 35
   131  	EXDEV                                 = 18
   132  	EXIT_FAILURE                          = 1
   133  	EXIT_SUCCESS                          = 0
   134  	FD_SETSIZE                            = 1024
   135  	FILENAME_MAX                          = 1024
   136  	FOPEN_MAX                             = 20
   137  	FTS5_TOKENIZE_AUX                     = 0x0008
   138  	FTS5_TOKENIZE_DOCUMENT                = 0x0004
   139  	FTS5_TOKENIZE_PREFIX                  = 0x0002
   140  	FTS5_TOKENIZE_QUERY                   = 0x0001
   141  	FTS5_TOKEN_COLOCATED                  = 0x0001
   142  	FULLY_WITHIN                          = 2
   143  	F_LOCK                                = 1
   144  	F_OK                                  = 0
   145  	F_TEST                                = 3
   146  	F_TLOCK                               = 2
   147  	F_ULOCK                               = 0
   148  	HAVE_USLEEP                           = 1
   149  	LITTLE_ENDIAN                         = 1234
   150  	L_INCR                                = 1
   151  	L_SET                                 = 0
   152  	L_XTND                                = 2
   153  	L_ctermid                             = 1024
   154  	L_cuserid                             = 17
   155  	L_tmpnam                              = 1024
   156  	MX_ARG                                = 2
   157  	NDEBUG                                = 1
   158  	NOT_WITHIN                            = 0
   159  	PARTLY_WITHIN                         = 1
   160  	PDP_ENDIAN                            = 3412
   161  	P_tmpdir                              = "/tmp/"
   162  	RAND_MAX                              = 0x7fffffff
   163  	RFCENVG                               = 2048
   164  	RFCFDG                                = 4096
   165  	RFCNAMEG                              = 1024
   166  	RFENVG                                = 2
   167  	RFFDG                                 = 4
   168  	RFFLAGS                               = 2416930932
   169  	RFHIGHPID                             = 262144
   170  	RFKERNELONLY                          = 268828672
   171  	RFLINUXTHPN                           = 65536
   172  	RFMEM                                 = 32
   173  	RFNAMEG                               = 1
   174  	RFNOTEG                               = 8
   175  	RFNOWAIT                              = 64
   176  	RFPPWAIT                              = 2147483648
   177  	RFPROC                                = 16
   178  	RFPROCDESC                            = 268435456
   179  	RFSIGSHARE                            = 16384
   180  	RFSPAWN                               = 2147483648
   181  	RFSTOPPED                             = 131072
   182  	RFTHREAD                              = 8192
   183  	RFTSIGMASK                            = 0xFF
   184  	RFTSIGSHIFT                           = 20
   185  	RFTSIGZMB                             = 524288
   186  	R_OK                                  = 0x04
   187  	SEEK_CUR                              = 1
   188  	SEEK_DATA                             = 3
   189  	SEEK_END                              = 2
   190  	SEEK_HOLE                             = 4
   191  	SEEK_SET                              = 0
   192  	SQLITE3_H                             = 0
   193  	SQLITE3_TEXT                          = 3
   194  	SQLITE_ABORT                          = 4
   195  	SQLITE_ABORT_ROLLBACK                 = 516
   196  	SQLITE_ACCESS_EXISTS                  = 0
   197  	SQLITE_ACCESS_READ                    = 2
   198  	SQLITE_ACCESS_READWRITE               = 1
   199  	SQLITE_ALTER_TABLE                    = 26
   200  	SQLITE_ANALYZE                        = 28
   201  	SQLITE_ANY                            = 5
   202  	SQLITE_API                            = 0
   203  	SQLITE_APICALL                        = 0
   204  	SQLITE_ATTACH                         = 24
   205  	SQLITE_AUTH                           = 23
   206  	SQLITE_AUTH_USER                      = 279
   207  	SQLITE_BLOB                           = 4
   208  	SQLITE_BUSY                           = 5
   209  	SQLITE_BUSY_RECOVERY                  = 261
   210  	SQLITE_BUSY_SNAPSHOT                  = 517
   211  	SQLITE_BUSY_TIMEOUT                   = 773
   212  	SQLITE_CALLBACK                       = 0
   213  	SQLITE_CANTOPEN                       = 14
   214  	SQLITE_CANTOPEN_CONVPATH              = 1038
   215  	SQLITE_CANTOPEN_DIRTYWAL              = 1294
   216  	SQLITE_CANTOPEN_FULLPATH              = 782
   217  	SQLITE_CANTOPEN_ISDIR                 = 526
   218  	SQLITE_CANTOPEN_NOTEMPDIR             = 270
   219  	SQLITE_CANTOPEN_SYMLINK               = 1550
   220  	SQLITE_CDECL                          = 0
   221  	SQLITE_CHANGESETAPPLY_INVERT          = 0x0002
   222  	SQLITE_CHANGESETAPPLY_NOSAVEPOINT     = 0x0001
   223  	SQLITE_CHANGESETSTART_INVERT          = 0x0002
   224  	SQLITE_CHANGESET_ABORT                = 2
   225  	SQLITE_CHANGESET_CONFLICT             = 3
   226  	SQLITE_CHANGESET_CONSTRAINT           = 4
   227  	SQLITE_CHANGESET_DATA                 = 1
   228  	SQLITE_CHANGESET_FOREIGN_KEY          = 5
   229  	SQLITE_CHANGESET_NOTFOUND             = 2
   230  	SQLITE_CHANGESET_OMIT                 = 0
   231  	SQLITE_CHANGESET_REPLACE              = 1
   232  	SQLITE_CHECKPOINT_FULL                = 1
   233  	SQLITE_CHECKPOINT_PASSIVE             = 0
   234  	SQLITE_CHECKPOINT_RESTART             = 2
   235  	SQLITE_CHECKPOINT_TRUNCATE            = 3
   236  	SQLITE_CONFIG_COVERING_INDEX_SCAN     = 20
   237  	SQLITE_CONFIG_GETMALLOC               = 5
   238  	SQLITE_CONFIG_GETMUTEX                = 11
   239  	SQLITE_CONFIG_GETPCACHE               = 15
   240  	SQLITE_CONFIG_GETPCACHE2              = 19
   241  	SQLITE_CONFIG_HEAP                    = 8
   242  	SQLITE_CONFIG_LOG                     = 16
   243  	SQLITE_CONFIG_LOOKASIDE               = 13
   244  	SQLITE_CONFIG_MALLOC                  = 4
   245  	SQLITE_CONFIG_MEMDB_MAXSIZE           = 29
   246  	SQLITE_CONFIG_MEMSTATUS               = 9
   247  	SQLITE_CONFIG_MMAP_SIZE               = 22
   248  	SQLITE_CONFIG_MULTITHREAD             = 2
   249  	SQLITE_CONFIG_MUTEX                   = 10
   250  	SQLITE_CONFIG_PAGECACHE               = 7
   251  	SQLITE_CONFIG_PCACHE                  = 14
   252  	SQLITE_CONFIG_PCACHE2                 = 18
   253  	SQLITE_CONFIG_PCACHE_HDRSZ            = 24
   254  	SQLITE_CONFIG_PMASZ                   = 25
   255  	SQLITE_CONFIG_SCRATCH                 = 6
   256  	SQLITE_CONFIG_SERIALIZED              = 3
   257  	SQLITE_CONFIG_SINGLETHREAD            = 1
   258  	SQLITE_CONFIG_SMALL_MALLOC            = 27
   259  	SQLITE_CONFIG_SORTERREF_SIZE          = 28
   260  	SQLITE_CONFIG_SQLLOG                  = 21
   261  	SQLITE_CONFIG_STMTJRNL_SPILL          = 26
   262  	SQLITE_CONFIG_URI                     = 17
   263  	SQLITE_CONFIG_WIN32_HEAPSIZE          = 23
   264  	SQLITE_CONSTRAINT                     = 19
   265  	SQLITE_CONSTRAINT_CHECK               = 275
   266  	SQLITE_CONSTRAINT_COMMITHOOK          = 531
   267  	SQLITE_CONSTRAINT_DATATYPE            = 3091
   268  	SQLITE_CONSTRAINT_FOREIGNKEY          = 787
   269  	SQLITE_CONSTRAINT_FUNCTION            = 1043
   270  	SQLITE_CONSTRAINT_NOTNULL             = 1299
   271  	SQLITE_CONSTRAINT_PINNED              = 2835
   272  	SQLITE_CONSTRAINT_PRIMARYKEY          = 1555
   273  	SQLITE_CONSTRAINT_ROWID               = 2579
   274  	SQLITE_CONSTRAINT_TRIGGER             = 1811
   275  	SQLITE_CONSTRAINT_UNIQUE              = 2067
   276  	SQLITE_CONSTRAINT_VTAB                = 2323
   277  	SQLITE_COPY                           = 0
   278  	SQLITE_CORE                           = 1
   279  	SQLITE_CORRUPT                        = 11
   280  	SQLITE_CORRUPT_INDEX                  = 779
   281  	SQLITE_CORRUPT_SEQUENCE               = 523
   282  	SQLITE_CORRUPT_VTAB                   = 267
   283  	SQLITE_CREATE_INDEX                   = 1
   284  	SQLITE_CREATE_TABLE                   = 2
   285  	SQLITE_CREATE_TEMP_INDEX              = 3
   286  	SQLITE_CREATE_TEMP_TABLE              = 4
   287  	SQLITE_CREATE_TEMP_TRIGGER            = 5
   288  	SQLITE_CREATE_TEMP_VIEW               = 6
   289  	SQLITE_CREATE_TRIGGER                 = 7
   290  	SQLITE_CREATE_VIEW                    = 8
   291  	SQLITE_CREATE_VTABLE                  = 29
   292  	SQLITE_DBCONFIG_DEFENSIVE             = 1010
   293  	SQLITE_DBCONFIG_DQS_DDL               = 1014
   294  	SQLITE_DBCONFIG_DQS_DML               = 1013
   295  	SQLITE_DBCONFIG_ENABLE_FKEY           = 1002
   296  	SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004
   297  	SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005
   298  	SQLITE_DBCONFIG_ENABLE_QPSG           = 1007
   299  	SQLITE_DBCONFIG_ENABLE_TRIGGER        = 1003
   300  	SQLITE_DBCONFIG_ENABLE_VIEW           = 1015
   301  	SQLITE_DBCONFIG_LEGACY_ALTER_TABLE    = 1012
   302  	SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    = 1016
   303  	SQLITE_DBCONFIG_LOOKASIDE             = 1001
   304  	SQLITE_DBCONFIG_MAINDBNAME            = 1000
   305  	SQLITE_DBCONFIG_MAX                   = 1017
   306  	SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE      = 1006
   307  	SQLITE_DBCONFIG_RESET_DATABASE        = 1009
   308  	SQLITE_DBCONFIG_TRIGGER_EQP           = 1008
   309  	SQLITE_DBCONFIG_TRUSTED_SCHEMA        = 1017
   310  	SQLITE_DBCONFIG_WRITABLE_SCHEMA       = 1011
   311  	SQLITE_DBSTATUS_CACHE_HIT             = 7
   312  	SQLITE_DBSTATUS_CACHE_MISS            = 8
   313  	SQLITE_DBSTATUS_CACHE_SPILL           = 12
   314  	SQLITE_DBSTATUS_CACHE_USED            = 1
   315  	SQLITE_DBSTATUS_CACHE_USED_SHARED     = 11
   316  	SQLITE_DBSTATUS_CACHE_WRITE           = 9
   317  	SQLITE_DBSTATUS_DEFERRED_FKS          = 10
   318  	SQLITE_DBSTATUS_LOOKASIDE_HIT         = 4
   319  	SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL   = 6
   320  	SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE   = 5
   321  	SQLITE_DBSTATUS_LOOKASIDE_USED        = 0
   322  	SQLITE_DBSTATUS_MAX                   = 12
   323  	SQLITE_DBSTATUS_SCHEMA_USED           = 2
   324  	SQLITE_DBSTATUS_STMT_USED             = 3
   325  	SQLITE_DELETE                         = 9
   326  	SQLITE_DENY                           = 1
   327  	SQLITE_DEPRECATED                     = 0
   328  	SQLITE_DESERIALIZE_FREEONCLOSE        = 1
   329  	SQLITE_DESERIALIZE_READONLY           = 4
   330  	SQLITE_DESERIALIZE_RESIZEABLE         = 2
   331  	SQLITE_DETACH                         = 25
   332  	SQLITE_DETERMINISTIC                  = 0x000000800
   333  	SQLITE_DIRECTONLY                     = 0x000080000
   334  	SQLITE_DONE                           = 101
   335  	SQLITE_DROP_INDEX                     = 10
   336  	SQLITE_DROP_TABLE                     = 11
   337  	SQLITE_DROP_TEMP_INDEX                = 12
   338  	SQLITE_DROP_TEMP_TABLE                = 13
   339  	SQLITE_DROP_TEMP_TRIGGER              = 14
   340  	SQLITE_DROP_TEMP_VIEW                 = 15
   341  	SQLITE_DROP_TRIGGER                   = 16
   342  	SQLITE_DROP_VIEW                      = 17
   343  	SQLITE_DROP_VTABLE                    = 30
   344  	SQLITE_EMPTY                          = 16
   345  	SQLITE_ENABLE_COLUMN_METADATA         = 1
   346  	SQLITE_ENABLE_FTS5                    = 1
   347  	SQLITE_ENABLE_GEOPOLY                 = 1
   348  	SQLITE_ENABLE_MATH_FUNCTIONS          = 1
   349  	SQLITE_ENABLE_MEMORY_MANAGEMENT       = 1
   350  	SQLITE_ENABLE_OFFSET_SQL_FUNC         = 1
   351  	SQLITE_ENABLE_PREUPDATE_HOOK          = 1
   352  	SQLITE_ENABLE_RBU                     = 1
   353  	SQLITE_ENABLE_RTREE                   = 1
   354  	SQLITE_ENABLE_SESSION                 = 1
   355  	SQLITE_ENABLE_SNAPSHOT                = 1
   356  	SQLITE_ENABLE_STAT4                   = 1
   357  	SQLITE_ENABLE_UNLOCK_NOTIFY           = 1
   358  	SQLITE_ERROR                          = 1
   359  	SQLITE_ERROR_MISSING_COLLSEQ          = 257
   360  	SQLITE_ERROR_RETRY                    = 513
   361  	SQLITE_ERROR_SNAPSHOT                 = 769
   362  	SQLITE_EXPERIMENTAL                   = 0
   363  	SQLITE_FAIL                           = 3
   364  	SQLITE_FCNTL_BEGIN_ATOMIC_WRITE       = 31
   365  	SQLITE_FCNTL_BUSYHANDLER              = 15
   366  	SQLITE_FCNTL_CHUNK_SIZE               = 6
   367  	SQLITE_FCNTL_CKPT_DONE                = 37
   368  	SQLITE_FCNTL_CKPT_START               = 39
   369  	SQLITE_FCNTL_CKSM_FILE                = 41
   370  	SQLITE_FCNTL_COMMIT_ATOMIC_WRITE      = 32
   371  	SQLITE_FCNTL_COMMIT_PHASETWO          = 22
   372  	SQLITE_FCNTL_DATA_VERSION             = 35
   373  	SQLITE_FCNTL_EXTERNAL_READER          = 40
   374  	SQLITE_FCNTL_FILE_POINTER             = 7
   375  	SQLITE_FCNTL_GET_LOCKPROXYFILE        = 2
   376  	SQLITE_FCNTL_HAS_MOVED                = 20
   377  	SQLITE_FCNTL_JOURNAL_POINTER          = 28
   378  	SQLITE_FCNTL_LAST_ERRNO               = 4
   379  	SQLITE_FCNTL_LOCKSTATE                = 1
   380  	SQLITE_FCNTL_LOCK_TIMEOUT             = 34
   381  	SQLITE_FCNTL_MMAP_SIZE                = 18
   382  	SQLITE_FCNTL_OVERWRITE                = 11
   383  	SQLITE_FCNTL_PDB                      = 30
   384  	SQLITE_FCNTL_PERSIST_WAL              = 10
   385  	SQLITE_FCNTL_POWERSAFE_OVERWRITE      = 13
   386  	SQLITE_FCNTL_PRAGMA                   = 14
   387  	SQLITE_FCNTL_RBU                      = 26
   388  	SQLITE_FCNTL_RESERVE_BYTES            = 38
   389  	SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE    = 33
   390  	SQLITE_FCNTL_SET_LOCKPROXYFILE        = 3
   391  	SQLITE_FCNTL_SIZE_HINT                = 5
   392  	SQLITE_FCNTL_SIZE_LIMIT               = 36
   393  	SQLITE_FCNTL_SYNC                     = 21
   394  	SQLITE_FCNTL_SYNC_OMITTED             = 8
   395  	SQLITE_FCNTL_TEMPFILENAME             = 16
   396  	SQLITE_FCNTL_TRACE                    = 19
   397  	SQLITE_FCNTL_VFSNAME                  = 12
   398  	SQLITE_FCNTL_VFS_POINTER              = 27
   399  	SQLITE_FCNTL_WAL_BLOCK                = 24
   400  	SQLITE_FCNTL_WIN32_AV_RETRY           = 9
   401  	SQLITE_FCNTL_WIN32_GET_HANDLE         = 29
   402  	SQLITE_FCNTL_WIN32_SET_HANDLE         = 23
   403  	SQLITE_FCNTL_ZIPVFS                   = 25
   404  	SQLITE_FLOAT                          = 2
   405  	SQLITE_FORMAT                         = 24
   406  	SQLITE_FULL                           = 13
   407  	SQLITE_FUNCTION                       = 31
   408  	SQLITE_GET_LOCKPROXYFILE              = 2
   409  	SQLITE_IGNORE                         = 2
   410  	SQLITE_INDEX_CONSTRAINT_EQ            = 2
   411  	SQLITE_INDEX_CONSTRAINT_FUNCTION      = 150
   412  	SQLITE_INDEX_CONSTRAINT_GE            = 32
   413  	SQLITE_INDEX_CONSTRAINT_GLOB          = 66
   414  	SQLITE_INDEX_CONSTRAINT_GT            = 4
   415  	SQLITE_INDEX_CONSTRAINT_IS            = 72
   416  	SQLITE_INDEX_CONSTRAINT_ISNOT         = 69
   417  	SQLITE_INDEX_CONSTRAINT_ISNOTNULL     = 70
   418  	SQLITE_INDEX_CONSTRAINT_ISNULL        = 71
   419  	SQLITE_INDEX_CONSTRAINT_LE            = 8
   420  	SQLITE_INDEX_CONSTRAINT_LIKE          = 65
   421  	SQLITE_INDEX_CONSTRAINT_LIMIT         = 73
   422  	SQLITE_INDEX_CONSTRAINT_LT            = 16
   423  	SQLITE_INDEX_CONSTRAINT_MATCH         = 64
   424  	SQLITE_INDEX_CONSTRAINT_NE            = 68
   425  	SQLITE_INDEX_CONSTRAINT_OFFSET        = 74
   426  	SQLITE_INDEX_CONSTRAINT_REGEXP        = 67
   427  	SQLITE_INDEX_SCAN_UNIQUE              = 1
   428  	SQLITE_INNOCUOUS                      = 0x000200000
   429  	SQLITE_INSERT                         = 18
   430  	SQLITE_INTEGER                        = 1
   431  	SQLITE_INTERNAL                       = 2
   432  	SQLITE_INTERRUPT                      = 9
   433  	SQLITE_IOCAP_ATOMIC                   = 0x00000001
   434  	SQLITE_IOCAP_ATOMIC16K                = 0x00000040
   435  	SQLITE_IOCAP_ATOMIC1K                 = 0x00000004
   436  	SQLITE_IOCAP_ATOMIC2K                 = 0x00000008
   437  	SQLITE_IOCAP_ATOMIC32K                = 0x00000080
   438  	SQLITE_IOCAP_ATOMIC4K                 = 0x00000010
   439  	SQLITE_IOCAP_ATOMIC512                = 0x00000002
   440  	SQLITE_IOCAP_ATOMIC64K                = 0x00000100
   441  	SQLITE_IOCAP_ATOMIC8K                 = 0x00000020
   442  	SQLITE_IOCAP_BATCH_ATOMIC             = 0x00004000
   443  	SQLITE_IOCAP_IMMUTABLE                = 0x00002000
   444  	SQLITE_IOCAP_POWERSAFE_OVERWRITE      = 0x00001000
   445  	SQLITE_IOCAP_SAFE_APPEND              = 0x00000200
   446  	SQLITE_IOCAP_SEQUENTIAL               = 0x00000400
   447  	SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN    = 0x00000800
   448  	SQLITE_IOERR                          = 10
   449  	SQLITE_IOERR_ACCESS                   = 3338
   450  	SQLITE_IOERR_AUTH                     = 7178
   451  	SQLITE_IOERR_BEGIN_ATOMIC             = 7434
   452  	SQLITE_IOERR_BLOCKED                  = 2826
   453  	SQLITE_IOERR_CHECKRESERVEDLOCK        = 3594
   454  	SQLITE_IOERR_CLOSE                    = 4106
   455  	SQLITE_IOERR_COMMIT_ATOMIC            = 7690
   456  	SQLITE_IOERR_CONVPATH                 = 6666
   457  	SQLITE_IOERR_CORRUPTFS                = 8458
   458  	SQLITE_IOERR_DATA                     = 8202
   459  	SQLITE_IOERR_DELETE                   = 2570
   460  	SQLITE_IOERR_DELETE_NOENT             = 5898
   461  	SQLITE_IOERR_DIR_CLOSE                = 4362
   462  	SQLITE_IOERR_DIR_FSYNC                = 1290
   463  	SQLITE_IOERR_FSTAT                    = 1802
   464  	SQLITE_IOERR_FSYNC                    = 1034
   465  	SQLITE_IOERR_GETTEMPPATH              = 6410
   466  	SQLITE_IOERR_LOCK                     = 3850
   467  	SQLITE_IOERR_MMAP                     = 6154
   468  	SQLITE_IOERR_NOMEM                    = 3082
   469  	SQLITE_IOERR_RDLOCK                   = 2314
   470  	SQLITE_IOERR_READ                     = 266
   471  	SQLITE_IOERR_ROLLBACK_ATOMIC          = 7946
   472  	SQLITE_IOERR_SEEK                     = 5642
   473  	SQLITE_IOERR_SHMLOCK                  = 5130
   474  	SQLITE_IOERR_SHMMAP                   = 5386
   475  	SQLITE_IOERR_SHMOPEN                  = 4618
   476  	SQLITE_IOERR_SHMSIZE                  = 4874
   477  	SQLITE_IOERR_SHORT_READ               = 522
   478  	SQLITE_IOERR_TRUNCATE                 = 1546
   479  	SQLITE_IOERR_UNLOCK                   = 2058
   480  	SQLITE_IOERR_VNODE                    = 6922
   481  	SQLITE_IOERR_WRITE                    = 778
   482  	SQLITE_LAST_ERRNO                     = 4
   483  	SQLITE_LIKE_DOESNT_MATCH_BLOBS        = 1
   484  	SQLITE_LIMIT_ATTACHED                 = 7
   485  	SQLITE_LIMIT_COLUMN                   = 2
   486  	SQLITE_LIMIT_COMPOUND_SELECT          = 4
   487  	SQLITE_LIMIT_EXPR_DEPTH               = 3
   488  	SQLITE_LIMIT_FUNCTION_ARG             = 6
   489  	SQLITE_LIMIT_LENGTH                   = 0
   490  	SQLITE_LIMIT_LIKE_PATTERN_LENGTH      = 8
   491  	SQLITE_LIMIT_SQL_LENGTH               = 1
   492  	SQLITE_LIMIT_TRIGGER_DEPTH            = 10
   493  	SQLITE_LIMIT_VARIABLE_NUMBER          = 9
   494  	SQLITE_LIMIT_VDBE_OP                  = 5
   495  	SQLITE_LIMIT_WORKER_THREADS           = 11
   496  	SQLITE_LOCKED                         = 6
   497  	SQLITE_LOCKED_SHAREDCACHE             = 262
   498  	SQLITE_LOCKED_VTAB                    = 518
   499  	SQLITE_LOCK_EXCLUSIVE                 = 4
   500  	SQLITE_LOCK_NONE                      = 0
   501  	SQLITE_LOCK_PENDING                   = 3
   502  	SQLITE_LOCK_RESERVED                  = 2
   503  	SQLITE_LOCK_SHARED                    = 1
   504  	SQLITE_MISMATCH                       = 20
   505  	SQLITE_MISUSE                         = 21
   506  	SQLITE_MUTEX_APPDEF                   = 1
   507  	SQLITE_MUTEX_FAST                     = 0
   508  	SQLITE_MUTEX_NOOP                     = 1
   509  	SQLITE_MUTEX_RECURSIVE                = 1
   510  	SQLITE_MUTEX_STATIC_APP1              = 8
   511  	SQLITE_MUTEX_STATIC_APP2              = 9
   512  	SQLITE_MUTEX_STATIC_APP3              = 10
   513  	SQLITE_MUTEX_STATIC_LRU               = 6
   514  	SQLITE_MUTEX_STATIC_LRU2              = 7
   515  	SQLITE_MUTEX_STATIC_MAIN              = 2
   516  	SQLITE_MUTEX_STATIC_MASTER            = 2
   517  	SQLITE_MUTEX_STATIC_MEM               = 3
   518  	SQLITE_MUTEX_STATIC_MEM2              = 4
   519  	SQLITE_MUTEX_STATIC_OPEN              = 4
   520  	SQLITE_MUTEX_STATIC_PMEM              = 7
   521  	SQLITE_MUTEX_STATIC_PRNG              = 5
   522  	SQLITE_MUTEX_STATIC_VFS1              = 11
   523  	SQLITE_MUTEX_STATIC_VFS2              = 12
   524  	SQLITE_MUTEX_STATIC_VFS3              = 13
   525  	SQLITE_NOLFS                          = 22
   526  	SQLITE_NOMEM                          = 7
   527  	SQLITE_NOTADB                         = 26
   528  	SQLITE_NOTFOUND                       = 12
   529  	SQLITE_NOTICE                         = 27
   530  	SQLITE_NOTICE_RECOVER_ROLLBACK        = 539
   531  	SQLITE_NOTICE_RECOVER_WAL             = 283
   532  	SQLITE_NULL                           = 5
   533  	SQLITE_OK                             = 0
   534  	SQLITE_OK_LOAD_PERMANENTLY            = 256
   535  	SQLITE_OK_SYMLINK                     = 512
   536  	SQLITE_OPEN_AUTOPROXY                 = 0x00000020
   537  	SQLITE_OPEN_CREATE                    = 0x00000004
   538  	SQLITE_OPEN_DELETEONCLOSE             = 0x00000008
   539  	SQLITE_OPEN_EXCLUSIVE                 = 0x00000010
   540  	SQLITE_OPEN_EXRESCODE                 = 0x02000000
   541  	SQLITE_OPEN_FULLMUTEX                 = 0x00010000
   542  	SQLITE_OPEN_MAIN_DB                   = 0x00000100
   543  	SQLITE_OPEN_MAIN_JOURNAL              = 0x00000800
   544  	SQLITE_OPEN_MASTER_JOURNAL            = 0x00004000
   545  	SQLITE_OPEN_MEMORY                    = 0x00000080
   546  	SQLITE_OPEN_NOFOLLOW                  = 0x01000000
   547  	SQLITE_OPEN_NOMUTEX                   = 0x00008000
   548  	SQLITE_OPEN_PRIVATECACHE              = 0x00040000
   549  	SQLITE_OPEN_READONLY                  = 0x00000001
   550  	SQLITE_OPEN_READWRITE                 = 0x00000002
   551  	SQLITE_OPEN_SHAREDCACHE               = 0x00020000
   552  	SQLITE_OPEN_SUBJOURNAL                = 0x00002000
   553  	SQLITE_OPEN_SUPER_JOURNAL             = 0x00004000
   554  	SQLITE_OPEN_TEMP_DB                   = 0x00000200
   555  	SQLITE_OPEN_TEMP_JOURNAL              = 0x00001000
   556  	SQLITE_OPEN_TRANSIENT_DB              = 0x00000400
   557  	SQLITE_OPEN_URI                       = 0x00000040
   558  	SQLITE_OPEN_WAL                       = 0x00080000
   559  	SQLITE_OS_UNIX                        = 1
   560  	SQLITE_PERM                           = 3
   561  	SQLITE_PRAGMA                         = 19
   562  	SQLITE_PREPARE_NORMALIZE              = 0x02
   563  	SQLITE_PREPARE_NO_VTAB                = 0x04
   564  	SQLITE_PREPARE_PERSISTENT             = 0x01
   565  	SQLITE_PROTOCOL                       = 15
   566  	SQLITE_RANGE                          = 25
   567  	SQLITE_READ                           = 20
   568  	SQLITE_READONLY                       = 8
   569  	SQLITE_READONLY_CANTINIT              = 1288
   570  	SQLITE_READONLY_CANTLOCK              = 520
   571  	SQLITE_READONLY_DBMOVED               = 1032
   572  	SQLITE_READONLY_DIRECTORY             = 1544
   573  	SQLITE_READONLY_RECOVERY              = 264
   574  	SQLITE_READONLY_ROLLBACK              = 776
   575  	SQLITE_RECURSIVE                      = 33
   576  	SQLITE_REINDEX                        = 27
   577  	SQLITE_REPLACE                        = 5
   578  	SQLITE_ROLLBACK                       = 1
   579  	SQLITE_ROW                            = 100
   580  	SQLITE_SAVEPOINT                      = 32
   581  	SQLITE_SCANSTAT_EST                   = 2
   582  	SQLITE_SCANSTAT_EXPLAIN               = 4
   583  	SQLITE_SCANSTAT_NAME                  = 3
   584  	SQLITE_SCANSTAT_NLOOP                 = 0
   585  	SQLITE_SCANSTAT_NVISIT                = 1
   586  	SQLITE_SCANSTAT_SELECTID              = 5
   587  	SQLITE_SCHEMA                         = 17
   588  	SQLITE_SELECT                         = 21
   589  	SQLITE_SERIALIZE_NOCOPY               = 0x001
   590  	SQLITE_SESSION_CONFIG_STRMSIZE        = 1
   591  	SQLITE_SESSION_OBJCONFIG_SIZE         = 1
   592  	SQLITE_SET_LOCKPROXYFILE              = 3
   593  	SQLITE_SHM_EXCLUSIVE                  = 8
   594  	SQLITE_SHM_LOCK                       = 2
   595  	SQLITE_SHM_NLOCK                      = 8
   596  	SQLITE_SHM_SHARED                     = 4
   597  	SQLITE_SHM_UNLOCK                     = 1
   598  	SQLITE_SOUNDEX                        = 1
   599  	SQLITE_SOURCE_ID                      = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8"
   600  	SQLITE_STATUS_MALLOC_COUNT            = 9
   601  	SQLITE_STATUS_MALLOC_SIZE             = 5
   602  	SQLITE_STATUS_MEMORY_USED             = 0
   603  	SQLITE_STATUS_PAGECACHE_OVERFLOW      = 2
   604  	SQLITE_STATUS_PAGECACHE_SIZE          = 7
   605  	SQLITE_STATUS_PAGECACHE_USED          = 1
   606  	SQLITE_STATUS_PARSER_STACK            = 6
   607  	SQLITE_STATUS_SCRATCH_OVERFLOW        = 4
   608  	SQLITE_STATUS_SCRATCH_SIZE            = 8
   609  	SQLITE_STATUS_SCRATCH_USED            = 3
   610  	SQLITE_STDCALL                        = 0
   611  	SQLITE_STMTSTATUS_AUTOINDEX           = 3
   612  	SQLITE_STMTSTATUS_FILTER_HIT          = 8
   613  	SQLITE_STMTSTATUS_FILTER_MISS         = 7
   614  	SQLITE_STMTSTATUS_FULLSCAN_STEP       = 1
   615  	SQLITE_STMTSTATUS_MEMUSED             = 99
   616  	SQLITE_STMTSTATUS_REPREPARE           = 5
   617  	SQLITE_STMTSTATUS_RUN                 = 6
   618  	SQLITE_STMTSTATUS_SORT                = 2
   619  	SQLITE_STMTSTATUS_VM_STEP             = 4
   620  	SQLITE_SUBTYPE                        = 0x000100000
   621  	SQLITE_SYNC_DATAONLY                  = 0x00010
   622  	SQLITE_SYNC_FULL                      = 0x00003
   623  	SQLITE_SYNC_NORMAL                    = 0x00002
   624  	SQLITE_SYSAPI                         = 0
   625  	SQLITE_TESTCTRL_ALWAYS                = 13
   626  	SQLITE_TESTCTRL_ASSERT                = 12
   627  	SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS   = 10
   628  	SQLITE_TESTCTRL_BITVEC_TEST           = 8
   629  	SQLITE_TESTCTRL_BYTEORDER             = 22
   630  	SQLITE_TESTCTRL_EXPLAIN_STMT          = 19
   631  	SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS   = 29
   632  	SQLITE_TESTCTRL_FAULT_INSTALL         = 9
   633  	SQLITE_TESTCTRL_FIRST                 = 5
   634  	SQLITE_TESTCTRL_IMPOSTER              = 25
   635  	SQLITE_TESTCTRL_INTERNAL_FUNCTIONS    = 17
   636  	SQLITE_TESTCTRL_ISINIT                = 23
   637  	SQLITE_TESTCTRL_ISKEYWORD             = 16
   638  	SQLITE_TESTCTRL_LAST                  = 33
   639  	SQLITE_TESTCTRL_LOCALTIME_FAULT       = 18
   640  	SQLITE_TESTCTRL_LOGEST                = 33
   641  	SQLITE_TESTCTRL_NEVER_CORRUPT         = 20
   642  	SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD  = 19
   643  	SQLITE_TESTCTRL_OPTIMIZATIONS         = 15
   644  	SQLITE_TESTCTRL_PARSER_COVERAGE       = 26
   645  	SQLITE_TESTCTRL_PENDING_BYTE          = 11
   646  	SQLITE_TESTCTRL_PRNG_RESET            = 7
   647  	SQLITE_TESTCTRL_PRNG_RESTORE          = 6
   648  	SQLITE_TESTCTRL_PRNG_SAVE             = 5
   649  	SQLITE_TESTCTRL_PRNG_SEED             = 28
   650  	SQLITE_TESTCTRL_RESERVE               = 14
   651  	SQLITE_TESTCTRL_RESULT_INTREAL        = 27
   652  	SQLITE_TESTCTRL_SCRATCHMALLOC         = 17
   653  	SQLITE_TESTCTRL_SEEK_COUNT            = 30
   654  	SQLITE_TESTCTRL_SORTER_MMAP           = 24
   655  	SQLITE_TESTCTRL_TRACEFLAGS            = 31
   656  	SQLITE_TESTCTRL_TUNE                  = 32
   657  	SQLITE_TESTCTRL_VDBE_COVERAGE         = 21
   658  	SQLITE_TEXT                           = 3
   659  	SQLITE_THREADSAFE                     = 1
   660  	SQLITE_TOOBIG                         = 18
   661  	SQLITE_TRACE_CLOSE                    = 0x08
   662  	SQLITE_TRACE_PROFILE                  = 0x02
   663  	SQLITE_TRACE_ROW                      = 0x04
   664  	SQLITE_TRACE_STMT                     = 0x01
   665  	SQLITE_TRANSACTION                    = 22
   666  	SQLITE_TXN_NONE                       = 0
   667  	SQLITE_TXN_READ                       = 1
   668  	SQLITE_TXN_WRITE                      = 2
   669  	SQLITE_UPDATE                         = 23
   670  	SQLITE_UTF16                          = 4
   671  	SQLITE_UTF16BE                        = 3
   672  	SQLITE_UTF16LE                        = 2
   673  	SQLITE_UTF16_ALIGNED                  = 8
   674  	SQLITE_UTF8                           = 1
   675  	SQLITE_VERSION                        = "3.39.3"
   676  	SQLITE_VERSION_NUMBER                 = 3039003
   677  	SQLITE_VTAB_CONSTRAINT_SUPPORT        = 1
   678  	SQLITE_VTAB_DIRECTONLY                = 3
   679  	SQLITE_VTAB_INNOCUOUS                 = 2
   680  	SQLITE_WARNING                        = 28
   681  	SQLITE_WARNING_AUTOINDEX              = 284
   682  	SQLITE_WIN32_DATA_DIRECTORY_TYPE      = 1
   683  	SQLITE_WIN32_TEMP_DIRECTORY_TYPE      = 2
   684  	STDERR_FILENO                         = 2
   685  	STDIN_FILENO                          = 0
   686  	STDOUT_FILENO                         = 1
   687  	SWAPOFF_FORCE                         = 0x00000001
   688  	TMP_MAX                               = 308915776
   689  	W_OK                                  = 0x02
   690  	X_OK                                  = 0x01
   691  	X_ACCMODE_T_DECLARED                  = 0
   692  	X_ASSERT_H_                           = 0
   693  	X_BIG_ENDIAN                          = 4321
   694  	X_BLKCNT_T_DECLARED                   = 0
   695  	X_BLKSIZE_T_DECLARED                  = 0
   696  	X_BYTE_ORDER                          = 1234
   697  	X_CACHED_RUNES                        = 256
   698  	X_CAP_IOCTL_T_DECLARED                = 0
   699  	X_CAP_RIGHTS_T_DECLARED               = 0
   700  	X_CLOCKID_T_DECLARED                  = 0
   701  	X_CLOCK_T_DECLARED                    = 0
   702  	X_CRMASK                              = -256
   703  	X_CS_PATH                             = 1
   704  	X_CS_POSIX_V6_ILP32_OFF32_CFLAGS      = 2
   705  	X_CS_POSIX_V6_ILP32_OFF32_LDFLAGS     = 3
   706  	X_CS_POSIX_V6_ILP32_OFF32_LIBS        = 4
   707  	X_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS     = 5
   708  	X_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS    = 6
   709  	X_CS_POSIX_V6_ILP32_OFFBIG_LIBS       = 7
   710  	X_CS_POSIX_V6_LP64_OFF64_CFLAGS       = 8
   711  	X_CS_POSIX_V6_LP64_OFF64_LDFLAGS      = 9
   712  	X_CS_POSIX_V6_LP64_OFF64_LIBS         = 10
   713  	X_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS     = 11
   714  	X_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS    = 12
   715  	X_CS_POSIX_V6_LPBIG_OFFBIG_LIBS       = 13
   716  	X_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS   = 14
   717  	X_CTYPE_A                             = 0x00000100
   718  	X_CTYPE_B                             = 0x00020000
   719  	X_CTYPE_C                             = 0x00000200
   720  	X_CTYPE_D                             = 0x00000400
   721  	X_CTYPE_G                             = 0x00000800
   722  	X_CTYPE_H_                            = 0
   723  	X_CTYPE_I                             = 0x00080000
   724  	X_CTYPE_L                             = 0x00001000
   725  	X_CTYPE_N                             = 0x00400000
   726  	X_CTYPE_P                             = 0x00002000
   727  	X_CTYPE_Q                             = 0x00200000
   728  	X_CTYPE_R                             = 0x00040000
   729  	X_CTYPE_S                             = 0x00004000
   730  	X_CTYPE_SW0                           = 0x20000000
   731  	X_CTYPE_SW1                           = 0x40000000
   732  	X_CTYPE_SW2                           = 0x80000000
   733  	X_CTYPE_SW3                           = 0xc0000000
   734  	X_CTYPE_SWM                           = 0xe0000000
   735  	X_CTYPE_SWS                           = 30
   736  	X_CTYPE_T                             = 0x00100000
   737  	X_CTYPE_U                             = 0x00008000
   738  	X_CTYPE_X                             = 0x00010000
   739  	X_DEV_T_DECLARED                      = 0
   740  	X_ERRNO_T_DEFINED                     = 0
   741  	X_FFLAGS_T_DECLARED                   = 0
   742  	X_FILE_OFFSET_BITS                    = 64
   743  	X_FSBLKCNT_T_DECLARED                 = 0
   744  	X_FSTDIO                              = 0
   745  	X_FTRUNCATE_DECLARED                  = 0
   746  	X_FTS5_H                              = 0
   747  	X_GETOPT_DECLARED                     = 0
   748  	X_GID_T_DECLARED                      = 0
   749  	X_ID_T_DECLARED                       = 0
   750  	X_ILP32                               = 1
   751  	X_INO_T_DECLARED                      = 0
   752  	X_INT16_T_DECLARED                    = 0
   753  	X_INT32_T_DECLARED                    = 0
   754  	X_INT64_T_DECLARED                    = 0
   755  	X_INT8_T_DECLARED                     = 0
   756  	X_INTMAX_T_DECLARED                   = 0
   757  	X_INTPTR_T_DECLARED                   = 0
   758  	X_IN_ADDR_T_DECLARED                  = 0
   759  	X_IN_PORT_T_DECLARED                  = 0
   760  	X_IOFBF                               = 0
   761  	X_IOLBF                               = 1
   762  	X_IONBF                               = 2
   763  	X_KEY_T_DECLARED                      = 0
   764  	X_LITTLE_ENDIAN                       = 1234
   765  	X_LOCALE_T_DEFINED                    = 0
   766  	X_LSEEK_DECLARED                      = 0
   767  	X_LWPID_T_DECLARED                    = 0
   768  	X_MACHINE_ENDIAN_H_                   = 0
   769  	X_MACHINE_STDARG_H_                   = 0
   770  	X_MACHINE__LIMITS_H_                  = 0
   771  	X_MACHINE__TYPES_H_                   = 0
   772  	X_MKDTEMP_DECLARED                    = 0
   773  	X_MKNOD_DECLARED                      = 0
   774  	X_MKSTEMP_DECLARED                    = 0
   775  	X_MKTEMP_DECLARED                     = 0
   776  	X_MMAP_DECLARED                       = 0
   777  	X_MODE_T_DECLARED                     = 0
   778  	X_MQD_T_DECLARED                      = 0
   779  	X_NLINK_T_DECLARED                    = 0
   780  	X_Nonnull                             = 0
   781  	X_Null_unspecified                    = 0
   782  	X_Nullable                            = 0
   783  	X_OFF64_T_DECLARED                    = 0
   784  	X_OFF_T_DECLARED                      = 0
   785  	X_OPTRESET_DECLARED                   = 0
   786  	X_PC_ACL_EXTENDED                     = 59
   787  	X_PC_ACL_NFS4                         = 64
   788  	X_PC_ACL_PATH_MAX                     = 60
   789  	X_PC_ALLOC_SIZE_MIN                   = 10
   790  	X_PC_ASYNC_IO                         = 53
   791  	X_PC_CAP_PRESENT                      = 61
   792  	X_PC_CHOWN_RESTRICTED                 = 7
   793  	X_PC_FILESIZEBITS                     = 12
   794  	X_PC_INF_PRESENT                      = 62
   795  	X_PC_LINK_MAX                         = 1
   796  	X_PC_MAC_PRESENT                      = 63
   797  	X_PC_MAX_CANON                        = 2
   798  	X_PC_MAX_INPUT                        = 3
   799  	X_PC_MIN_HOLE_SIZE                    = 21
   800  	X_PC_NAME_MAX                         = 4
   801  	X_PC_NO_TRUNC                         = 8
   802  	X_PC_PATH_MAX                         = 5
   803  	X_PC_PIPE_BUF                         = 6
   804  	X_PC_PRIO_IO                          = 54
   805  	X_PC_REC_INCR_XFER_SIZE               = 14
   806  	X_PC_REC_MAX_XFER_SIZE                = 15
   807  	X_PC_REC_MIN_XFER_SIZE                = 16
   808  	X_PC_REC_XFER_ALIGN                   = 17
   809  	X_PC_SYMLINK_MAX                      = 18
   810  	X_PC_SYNC_IO                          = 55
   811  	X_PC_VDISABLE                         = 9
   812  	X_PDP_ENDIAN                          = 3412
   813  	X_PID_T_DECLARED                      = 0
   814  	X_POSIX2_CHAR_TERM                    = 1
   815  	X_POSIX2_C_BIND                       = 200112
   816  	X_POSIX2_C_DEV                        = -1
   817  	X_POSIX2_FORT_DEV                     = -1
   818  	X_POSIX2_FORT_RUN                     = 200112
   819  	X_POSIX2_LOCALEDEF                    = -1
   820  	X_POSIX2_PBS                          = -1
   821  	X_POSIX2_PBS_ACCOUNTING               = -1
   822  	X_POSIX2_PBS_CHECKPOINT               = -1
   823  	X_POSIX2_PBS_LOCATE                   = -1
   824  	X_POSIX2_PBS_MESSAGE                  = -1
   825  	X_POSIX2_PBS_TRACK                    = -1
   826  	X_POSIX2_SW_DEV                       = -1
   827  	X_POSIX2_UPE                          = 200112
   828  	X_POSIX2_VERSION                      = 199212
   829  	X_POSIX_ADVISORY_INFO                 = 200112
   830  	X_POSIX_ASYNCHRONOUS_IO               = 200112
   831  	X_POSIX_BARRIERS                      = 200112
   832  	X_POSIX_CHOWN_RESTRICTED              = 1
   833  	X_POSIX_CLOCK_SELECTION               = -1
   834  	X_POSIX_CPUTIME                       = 200112
   835  	X_POSIX_FSYNC                         = 200112
   836  	X_POSIX_IPV6                          = 0
   837  	X_POSIX_JOB_CONTROL                   = 1
   838  	X_POSIX_MAPPED_FILES                  = 200112
   839  	X_POSIX_MEMLOCK                       = -1
   840  	X_POSIX_MEMLOCK_RANGE                 = 200112
   841  	X_POSIX_MEMORY_PROTECTION             = 200112
   842  	X_POSIX_MESSAGE_PASSING               = 200112
   843  	X_POSIX_MONOTONIC_CLOCK               = 200112
   844  	X_POSIX_NO_TRUNC                      = 1
   845  	X_POSIX_PRIORITIZED_IO                = -1
   846  	X_POSIX_PRIORITY_SCHEDULING           = 0
   847  	X_POSIX_RAW_SOCKETS                   = 200112
   848  	X_POSIX_READER_WRITER_LOCKS           = 200112
   849  	X_POSIX_REALTIME_SIGNALS              = 200112
   850  	X_POSIX_REGEXP                        = 1
   851  	X_POSIX_SEMAPHORES                    = 200112
   852  	X_POSIX_SHARED_MEMORY_OBJECTS         = 200112
   853  	X_POSIX_SHELL                         = 1
   854  	X_POSIX_SPAWN                         = 200112
   855  	X_POSIX_SPIN_LOCKS                    = 200112
   856  	X_POSIX_SPORADIC_SERVER               = -1
   857  	X_POSIX_SYNCHRONIZED_IO               = -1
   858  	X_POSIX_THREADS                       = 200112
   859  	X_POSIX_THREAD_ATTR_STACKADDR         = 200112
   860  	X_POSIX_THREAD_ATTR_STACKSIZE         = 200112
   861  	X_POSIX_THREAD_CPUTIME                = 200112
   862  	X_POSIX_THREAD_PRIORITY_SCHEDULING    = 200112
   863  	X_POSIX_THREAD_PRIO_INHERIT           = 200112
   864  	X_POSIX_THREAD_PRIO_PROTECT           = 200112
   865  	X_POSIX_THREAD_PROCESS_SHARED         = 200112
   866  	X_POSIX_THREAD_SAFE_FUNCTIONS         = -1
   867  	X_POSIX_THREAD_SPORADIC_SERVER        = -1
   868  	X_POSIX_TIMEOUTS                      = 200112
   869  	X_POSIX_TIMERS                        = 200112
   870  	X_POSIX_TRACE                         = -1
   871  	X_POSIX_TRACE_EVENT_FILTER            = -1
   872  	X_POSIX_TRACE_INHERIT                 = -1
   873  	X_POSIX_TRACE_LOG                     = -1
   874  	X_POSIX_TYPED_MEMORY_OBJECTS          = -1
   875  	X_POSIX_VDISABLE                      = 0xff
   876  	X_POSIX_VERSION                       = 200112
   877  	X_PTHREAD_T_DECLARED                  = 0
   878  	X_QUAD_HIGHWORD                       = 1
   879  	X_QUAD_LOWWORD                        = 0
   880  	X_RLIM_T_DECLARED                     = 0
   881  	X_RSIZE_T_DEFINED                     = 0
   882  	X_RUNETYPE_H_                         = 0
   883  	X_RUNE_MAGIC_1                        = "RuneMagi"
   884  	X_RUNE_T_DECLARED                     = 0
   885  	X_SC_2_CHAR_TERM                      = 20
   886  	X_SC_2_C_BIND                         = 18
   887  	X_SC_2_C_DEV                          = 19
   888  	X_SC_2_FORT_DEV                       = 21
   889  	X_SC_2_FORT_RUN                       = 22
   890  	X_SC_2_LOCALEDEF                      = 23
   891  	X_SC_2_PBS                            = 59
   892  	X_SC_2_PBS_ACCOUNTING                 = 60
   893  	X_SC_2_PBS_CHECKPOINT                 = 61
   894  	X_SC_2_PBS_LOCATE                     = 62
   895  	X_SC_2_PBS_MESSAGE                    = 63
   896  	X_SC_2_PBS_TRACK                      = 64
   897  	X_SC_2_SW_DEV                         = 24
   898  	X_SC_2_UPE                            = 25
   899  	X_SC_2_VERSION                        = 17
   900  	X_SC_ADVISORY_INFO                    = 65
   901  	X_SC_AIO_LISTIO_MAX                   = 42
   902  	X_SC_AIO_MAX                          = 43
   903  	X_SC_AIO_PRIO_DELTA_MAX               = 44
   904  	X_SC_ARG_MAX                          = 1
   905  	X_SC_ASYNCHRONOUS_IO                  = 28
   906  	X_SC_ATEXIT_MAX                       = 107
   907  	X_SC_BARRIERS                         = 66
   908  	X_SC_BC_BASE_MAX                      = 9
   909  	X_SC_BC_DIM_MAX                       = 10
   910  	X_SC_BC_SCALE_MAX                     = 11
   911  	X_SC_BC_STRING_MAX                    = 12
   912  	X_SC_CHILD_MAX                        = 2
   913  	X_SC_CLK_TCK                          = 3
   914  	X_SC_CLOCK_SELECTION                  = 67
   915  	X_SC_COLL_WEIGHTS_MAX                 = 13
   916  	X_SC_CPUSET_SIZE                      = 122
   917  	X_SC_CPUTIME                          = 68
   918  	X_SC_DELAYTIMER_MAX                   = 45
   919  	X_SC_EXPR_NEST_MAX                    = 14
   920  	X_SC_FILE_LOCKING                     = 69
   921  	X_SC_FSYNC                            = 38
   922  	X_SC_GETGR_R_SIZE_MAX                 = 70
   923  	X_SC_GETPW_R_SIZE_MAX                 = 71
   924  	X_SC_HOST_NAME_MAX                    = 72
   925  	X_SC_IOV_MAX                          = 56
   926  	X_SC_IPV6                             = 118
   927  	X_SC_JOB_CONTROL                      = 6
   928  	X_SC_LINE_MAX                         = 15
   929  	X_SC_LOGIN_NAME_MAX                   = 73
   930  	X_SC_MAPPED_FILES                     = 29
   931  	X_SC_MEMLOCK                          = 30
   932  	X_SC_MEMLOCK_RANGE                    = 31
   933  	X_SC_MEMORY_PROTECTION                = 32
   934  	X_SC_MESSAGE_PASSING                  = 33
   935  	X_SC_MONOTONIC_CLOCK                  = 74
   936  	X_SC_MQ_OPEN_MAX                      = 46
   937  	X_SC_MQ_PRIO_MAX                      = 75
   938  	X_SC_NGROUPS_MAX                      = 4
   939  	X_SC_NPROCESSORS_CONF                 = 57
   940  	X_SC_NPROCESSORS_ONLN                 = 58
   941  	X_SC_OPEN_MAX                         = 5
   942  	X_SC_PAGESIZE                         = 47
   943  	X_SC_PAGE_SIZE                        = 47
   944  	X_SC_PHYS_PAGES                       = 121
   945  	X_SC_PRIORITIZED_IO                   = 34
   946  	X_SC_PRIORITY_SCHEDULING              = 35
   947  	X_SC_RAW_SOCKETS                      = 119
   948  	X_SC_READER_WRITER_LOCKS              = 76
   949  	X_SC_REALTIME_SIGNALS                 = 36
   950  	X_SC_REGEXP                           = 77
   951  	X_SC_RE_DUP_MAX                       = 16
   952  	X_SC_RTSIG_MAX                        = 48
   953  	X_SC_SAVED_IDS                        = 7
   954  	X_SC_SEMAPHORES                       = 37
   955  	X_SC_SEM_NSEMS_MAX                    = 49
   956  	X_SC_SEM_VALUE_MAX                    = 50
   957  	X_SC_SHARED_MEMORY_OBJECTS            = 39
   958  	X_SC_SHELL                            = 78
   959  	X_SC_SIGQUEUE_MAX                     = 51
   960  	X_SC_SPAWN                            = 79
   961  	X_SC_SPIN_LOCKS                       = 80
   962  	X_SC_SPORADIC_SERVER                  = 81
   963  	X_SC_STREAM_MAX                       = 26
   964  	X_SC_SYMLOOP_MAX                      = 120
   965  	X_SC_SYNCHRONIZED_IO                  = 40
   966  	X_SC_THREADS                          = 96
   967  	X_SC_THREAD_ATTR_STACKADDR            = 82
   968  	X_SC_THREAD_ATTR_STACKSIZE            = 83
   969  	X_SC_THREAD_CPUTIME                   = 84
   970  	X_SC_THREAD_DESTRUCTOR_ITERATIONS     = 85
   971  	X_SC_THREAD_KEYS_MAX                  = 86
   972  	X_SC_THREAD_PRIORITY_SCHEDULING       = 89
   973  	X_SC_THREAD_PRIO_INHERIT              = 87
   974  	X_SC_THREAD_PRIO_PROTECT              = 88
   975  	X_SC_THREAD_PROCESS_SHARED            = 90
   976  	X_SC_THREAD_SAFE_FUNCTIONS            = 91
   977  	X_SC_THREAD_SPORADIC_SERVER           = 92
   978  	X_SC_THREAD_STACK_MIN                 = 93
   979  	X_SC_THREAD_THREADS_MAX               = 94
   980  	X_SC_TIMEOUTS                         = 95
   981  	X_SC_TIMERS                           = 41
   982  	X_SC_TIMER_MAX                        = 52
   983  	X_SC_TRACE                            = 97
   984  	X_SC_TRACE_EVENT_FILTER               = 98
   985  	X_SC_TRACE_INHERIT                    = 99
   986  	X_SC_TRACE_LOG                        = 100
   987  	X_SC_TTY_NAME_MAX                     = 101
   988  	X_SC_TYPED_MEMORY_OBJECTS             = 102
   989  	X_SC_TZNAME_MAX                       = 27
   990  	X_SC_V6_ILP32_OFF32                   = 103
   991  	X_SC_V6_ILP32_OFFBIG                  = 104
   992  	X_SC_V6_LP64_OFF64                    = 105
   993  	X_SC_V6_LPBIG_OFFBIG                  = 106
   994  	X_SC_VERSION                          = 8
   995  	X_SC_XOPEN_CRYPT                      = 108
   996  	X_SC_XOPEN_ENH_I18N                   = 109
   997  	X_SC_XOPEN_LEGACY                     = 110
   998  	X_SC_XOPEN_REALTIME                   = 111
   999  	X_SC_XOPEN_REALTIME_THREADS           = 112
  1000  	X_SC_XOPEN_SHM                        = 113
  1001  	X_SC_XOPEN_STREAMS                    = 114
  1002  	X_SC_XOPEN_UNIX                       = 115
  1003  	X_SC_XOPEN_VERSION                    = 116
  1004  	X_SC_XOPEN_XCU_VERSION                = 117
  1005  	X_SELECT_DECLARED                     = 0
  1006  	X_SIGSET_T_DECLARED                   = 0
  1007  	X_SIG_MAXSIG                          = 128
  1008  	X_SIG_WORDS                           = 4
  1009  	X_SIZE_T_DECLARED                     = 0
  1010  	X_SQLITE3RTREE_H_                     = 0
  1011  	X_SSIZE_T_DECLARED                    = 0
  1012  	X_STDFILE_DECLARED                    = 0
  1013  	X_STDIO_H_                            = 0
  1014  	X_STDLIB_H_                           = 0
  1015  	X_STDSTREAM_DECLARED                  = 0
  1016  	X_STRINGS_H_                          = 0
  1017  	X_STRING_H_                           = 0
  1018  	X_SUSECONDS_T_DECLARED                = 0
  1019  	X_SWAB_DECLARED                       = 0
  1020  	X_SYS_CDEFS_H_                        = 0
  1021  	X_SYS_ERRNO_H_                        = 0
  1022  	X_SYS_SELECT_H_                       = 0
  1023  	X_SYS_TIMESPEC_H_                     = 0
  1024  	X_SYS_TYPES_H_                        = 0
  1025  	X_SYS_UNISTD_H_                       = 0
  1026  	X_SYS__ENDIAN_H_                      = 0
  1027  	X_SYS__PTHREADTYPES_H_                = 0
  1028  	X_SYS__SIGSET_H_                      = 0
  1029  	X_SYS__STDARG_H_                      = 0
  1030  	X_SYS__STDINT_H_                      = 0
  1031  	X_SYS__TIMESPEC_H_                    = 0
  1032  	X_SYS__TIMEVAL_H_                     = 0
  1033  	X_SYS__TYPES_H_                       = 0
  1034  	X_TIMER_T_DECLARED                    = 0
  1035  	X_TIME_T_DECLARED                     = 0
  1036  	X_TRUNCATE_DECLARED                   = 0
  1037  	X_UID_T_DECLARED                      = 0
  1038  	X_UINT16_T_DECLARED                   = 0
  1039  	X_UINT32_T_DECLARED                   = 0
  1040  	X_UINT64_T_DECLARED                   = 0
  1041  	X_UINT8_T_DECLARED                    = 0
  1042  	X_UINTMAX_T_DECLARED                  = 0
  1043  	X_UINTPTR_T_DECLARED                  = 0
  1044  	X_UNISTD_H_                           = 0
  1045  	X_USECONDS_T_DECLARED                 = 0
  1046  	X_V6_ILP32_OFF32                      = -1
  1047  	X_V6_ILP32_OFFBIG                     = 0
  1048  	X_V6_LP64_OFF64                       = 0
  1049  	X_V6_LPBIG_OFFBIG                     = -1
  1050  	X_VA_LIST_DECLARED                    = 0
  1051  	X_WCHAR_T_DECLARED                    = 0
  1052  	X_XLOCALE_CTYPE_H                     = 0
  1053  	X_XLOCALE_RUN_FUNCTIONS_DEFINED       = 1
  1054  	X_XLOCALE_STRING1_H                   = 0
  1055  	X_XLOCALE_STRINGS1_H                  = 0
  1056  	X_XOPEN_CRYPT                         = -1
  1057  	X_XOPEN_ENH_I18N                      = -1
  1058  	X_XOPEN_LEGACY                        = -1
  1059  	X_XOPEN_REALTIME                      = -1
  1060  	X_XOPEN_REALTIME_THREADS              = -1
  1061  	X_XOPEN_SHM                           = 1
  1062  	X_XOPEN_STREAMS                       = -1
  1063  	X_XOPEN_UNIX                          = -1
  1064  	I386                                  = 1
  1065  	Unix                                  = 1
  1066  )
  1067  
  1068  type ptrdiff_t = int32
  1069  
  1070  type size_t = uint32
  1071  
  1072  type wchar_t = int32
  1073  
  1074  type va_list = uintptr
  1075  
  1076  type sqlite_int64 = int64
  1077  type sqlite_uint64 = uint64
  1078  type sqlite3_int64 = sqlite_int64
  1079  type sqlite3_uint64 = sqlite_uint64
  1080  
  1081  type sqlite3_callback = uintptr
  1082  
  1083  type sqlite3_file1 = struct{ pMethods uintptr }
  1084  
  1085  type sqlite3_file = sqlite3_file1
  1086  type sqlite3_io_methods1 = struct {
  1087  	iVersion               int32
  1088  	xClose                 uintptr
  1089  	xRead                  uintptr
  1090  	xWrite                 uintptr
  1091  	xTruncate              uintptr
  1092  	xSync                  uintptr
  1093  	xFileSize              uintptr
  1094  	xLock                  uintptr
  1095  	xUnlock                uintptr
  1096  	xCheckReservedLock     uintptr
  1097  	xFileControl           uintptr
  1098  	xSectorSize            uintptr
  1099  	xDeviceCharacteristics uintptr
  1100  	xShmMap                uintptr
  1101  	xShmLock               uintptr
  1102  	xShmBarrier            uintptr
  1103  	xShmUnmap              uintptr
  1104  	xFetch                 uintptr
  1105  	xUnfetch               uintptr
  1106  }
  1107  
  1108  type sqlite3_io_methods = sqlite3_io_methods1
  1109  
  1110  type sqlite3_vfs1 = struct {
  1111  	iVersion          int32
  1112  	szOsFile          int32
  1113  	mxPathname        int32
  1114  	pNext             uintptr
  1115  	zName             uintptr
  1116  	pAppData          uintptr
  1117  	xOpen             uintptr
  1118  	xDelete           uintptr
  1119  	xAccess           uintptr
  1120  	xFullPathname     uintptr
  1121  	xDlOpen           uintptr
  1122  	xDlError          uintptr
  1123  	xDlSym            uintptr
  1124  	xDlClose          uintptr
  1125  	xRandomness       uintptr
  1126  	xSleep            uintptr
  1127  	xCurrentTime      uintptr
  1128  	xGetLastError     uintptr
  1129  	xCurrentTimeInt64 uintptr
  1130  	xSetSystemCall    uintptr
  1131  	xGetSystemCall    uintptr
  1132  	xNextSystemCall   uintptr
  1133  }
  1134  
  1135  type sqlite3_vfs = sqlite3_vfs1
  1136  type sqlite3_syscall_ptr = uintptr
  1137  
  1138  type sqlite3_mem_methods1 = struct {
  1139  	xMalloc   uintptr
  1140  	xFree     uintptr
  1141  	xRealloc  uintptr
  1142  	xSize     uintptr
  1143  	xRoundup  uintptr
  1144  	xInit     uintptr
  1145  	xShutdown uintptr
  1146  	pAppData  uintptr
  1147  }
  1148  
  1149  type sqlite3_mem_methods = sqlite3_mem_methods1
  1150  
  1151  type sqlite3_destructor_type = uintptr
  1152  
  1153  type sqlite3_vtab1 = struct {
  1154  	pModule uintptr
  1155  	nRef    int32
  1156  	zErrMsg uintptr
  1157  }
  1158  
  1159  type sqlite3_vtab = sqlite3_vtab1
  1160  type sqlite3_index_info1 = struct {
  1161  	nConstraint      int32
  1162  	aConstraint      uintptr
  1163  	nOrderBy         int32
  1164  	aOrderBy         uintptr
  1165  	aConstraintUsage uintptr
  1166  	idxNum           int32
  1167  	idxStr           uintptr
  1168  	needToFreeIdxStr int32
  1169  	orderByConsumed  int32
  1170  	estimatedCost    float64
  1171  	estimatedRows    sqlite3_int64
  1172  	idxFlags         int32
  1173  	colUsed          sqlite3_uint64
  1174  }
  1175  
  1176  type sqlite3_index_info = sqlite3_index_info1
  1177  type sqlite3_vtab_cursor1 = struct{ pVtab uintptr }
  1178  
  1179  type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
  1180  type sqlite3_module1 = struct {
  1181  	iVersion      int32
  1182  	xCreate       uintptr
  1183  	xConnect      uintptr
  1184  	xBestIndex    uintptr
  1185  	xDisconnect   uintptr
  1186  	xDestroy      uintptr
  1187  	xOpen         uintptr
  1188  	xClose        uintptr
  1189  	xFilter       uintptr
  1190  	xNext         uintptr
  1191  	xEof          uintptr
  1192  	xColumn       uintptr
  1193  	xRowid        uintptr
  1194  	xUpdate       uintptr
  1195  	xBegin        uintptr
  1196  	xSync         uintptr
  1197  	xCommit       uintptr
  1198  	xRollback     uintptr
  1199  	xFindFunction uintptr
  1200  	xRename       uintptr
  1201  	xSavepoint    uintptr
  1202  	xRelease      uintptr
  1203  	xRollbackTo   uintptr
  1204  	xShadowName   uintptr
  1205  }
  1206  
  1207  type sqlite3_module = sqlite3_module1
  1208  
  1209  type sqlite3_index_constraint = struct {
  1210  	iColumn     int32
  1211  	op          uint8
  1212  	usable      uint8
  1213  	_           [2]byte
  1214  	iTermOffset int32
  1215  }
  1216  
  1217  type sqlite3_index_orderby = struct {
  1218  	iColumn int32
  1219  	desc    uint8
  1220  	_       [3]byte
  1221  }
  1222  
  1223  type sqlite3_index_constraint_usage = struct {
  1224  	argvIndex int32
  1225  	omit      uint8
  1226  	_         [3]byte
  1227  }
  1228  
  1229  type sqlite3_mutex_methods1 = struct {
  1230  	xMutexInit    uintptr
  1231  	xMutexEnd     uintptr
  1232  	xMutexAlloc   uintptr
  1233  	xMutexFree    uintptr
  1234  	xMutexEnter   uintptr
  1235  	xMutexTry     uintptr
  1236  	xMutexLeave   uintptr
  1237  	xMutexHeld    uintptr
  1238  	xMutexNotheld uintptr
  1239  }
  1240  
  1241  type sqlite3_mutex_methods = sqlite3_mutex_methods1
  1242  
  1243  type sqlite3_pcache_page1 = struct {
  1244  	pBuf   uintptr
  1245  	pExtra uintptr
  1246  }
  1247  
  1248  type sqlite3_pcache_page = sqlite3_pcache_page1
  1249  
  1250  type sqlite3_pcache_methods21 = struct {
  1251  	iVersion   int32
  1252  	pArg       uintptr
  1253  	xInit      uintptr
  1254  	xShutdown  uintptr
  1255  	xCreate    uintptr
  1256  	xCachesize uintptr
  1257  	xPagecount uintptr
  1258  	xFetch     uintptr
  1259  	xUnpin     uintptr
  1260  	xRekey     uintptr
  1261  	xTruncate  uintptr
  1262  	xDestroy   uintptr
  1263  	xShrink    uintptr
  1264  }
  1265  
  1266  type sqlite3_pcache_methods2 = sqlite3_pcache_methods21
  1267  
  1268  type sqlite3_pcache_methods1 = struct {
  1269  	pArg       uintptr
  1270  	xInit      uintptr
  1271  	xShutdown  uintptr
  1272  	xCreate    uintptr
  1273  	xCachesize uintptr
  1274  	xPagecount uintptr
  1275  	xFetch     uintptr
  1276  	xUnpin     uintptr
  1277  	xRekey     uintptr
  1278  	xTruncate  uintptr
  1279  	xDestroy   uintptr
  1280  }
  1281  
  1282  type sqlite3_pcache_methods = sqlite3_pcache_methods1
  1283  
  1284  type sqlite3_snapshot1 = struct{ hidden [48]uint8 }
  1285  
  1286  type sqlite3_snapshot = sqlite3_snapshot1
  1287  
  1288  type sqlite3_rtree_geometry1 = struct {
  1289  	pContext uintptr
  1290  	nParam   int32
  1291  	aParam   uintptr
  1292  	pUser    uintptr
  1293  	xDelUser uintptr
  1294  }
  1295  
  1296  type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
  1297  type sqlite3_rtree_query_info1 = struct {
  1298  	pContext      uintptr
  1299  	nParam        int32
  1300  	aParam        uintptr
  1301  	pUser         uintptr
  1302  	xDelUser      uintptr
  1303  	aCoord        uintptr
  1304  	anQueue       uintptr
  1305  	nCoord        int32
  1306  	iLevel        int32
  1307  	mxLevel       int32
  1308  	iRowid        sqlite3_int64
  1309  	rParentScore  sqlite3_rtree_dbl
  1310  	eParentWithin int32
  1311  	eWithin       int32
  1312  	rScore        sqlite3_rtree_dbl
  1313  	apSqlParam    uintptr
  1314  }
  1315  
  1316  type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
  1317  
  1318  type sqlite3_rtree_dbl = float64
  1319  
  1320  type Fts5ExtensionApi1 = struct {
  1321  	iVersion           int32
  1322  	xUserData          uintptr
  1323  	xColumnCount       uintptr
  1324  	xRowCount          uintptr
  1325  	xColumnTotalSize   uintptr
  1326  	xTokenize          uintptr
  1327  	xPhraseCount       uintptr
  1328  	xPhraseSize        uintptr
  1329  	xInstCount         uintptr
  1330  	xInst              uintptr
  1331  	xRowid             uintptr
  1332  	xColumnText        uintptr
  1333  	xColumnSize        uintptr
  1334  	xQueryPhrase       uintptr
  1335  	xSetAuxdata        uintptr
  1336  	xGetAuxdata        uintptr
  1337  	xPhraseFirst       uintptr
  1338  	xPhraseNext        uintptr
  1339  	xPhraseFirstColumn uintptr
  1340  	xPhraseNextColumn  uintptr
  1341  }
  1342  
  1343  type Fts5ExtensionApi = Fts5ExtensionApi1
  1344  type Fts5PhraseIter1 = struct {
  1345  	a uintptr
  1346  	b uintptr
  1347  }
  1348  
  1349  type Fts5PhraseIter = Fts5PhraseIter1
  1350  
  1351  type fts5_extension_function = uintptr
  1352  type fts5_tokenizer1 = struct {
  1353  	xCreate   uintptr
  1354  	xDelete   uintptr
  1355  	xTokenize uintptr
  1356  }
  1357  
  1358  type fts5_tokenizer = fts5_tokenizer1
  1359  
  1360  type fts5_api1 = struct {
  1361  	iVersion         int32
  1362  	xCreateTokenizer uintptr
  1363  	xFindTokenizer   uintptr
  1364  	xCreateFunction  uintptr
  1365  }
  1366  
  1367  type fts5_api = fts5_api1
  1368  
  1369  type fpos_t = int64
  1370  
  1371  type rsize_t = size_t
  1372  
  1373  type off_t = int64
  1374  type ssize_t = int32
  1375  
  1376  type off64_t = int64
  1377  
  1378  type __sbuf = struct {
  1379  	_base uintptr
  1380  	_size int32
  1381  }
  1382  
  1383  type __sFILE = struct {
  1384  	_p     uintptr
  1385  	_r     int32
  1386  	_w     int32
  1387  	_flags int16
  1388  	_file  int16
  1389  	_bf    struct {
  1390  		_base uintptr
  1391  		_size int32
  1392  	}
  1393  	_lbfsize int32
  1394  	_cookie  uintptr
  1395  	_close   uintptr
  1396  	_read    uintptr
  1397  	_seek    uintptr
  1398  	_write   uintptr
  1399  	_ub      struct {
  1400  		_base uintptr
  1401  		_size int32
  1402  	}
  1403  	_up   uintptr
  1404  	_ur   int32
  1405  	_ubuf [3]uint8
  1406  	_nbuf [1]uint8
  1407  	_lb   struct {
  1408  		_base uintptr
  1409  		_size int32
  1410  	}
  1411  	_blksize     int32
  1412  	_offset      fpos_t
  1413  	_fl_mutex    uintptr
  1414  	_fl_owner    uintptr
  1415  	_fl_count    int32
  1416  	_orientation int32
  1417  	_mbstate     struct {
  1418  		_          [0]uint32
  1419  		__mbstate8 [128]int8
  1420  	}
  1421  	_flags2 int32
  1422  }
  1423  
  1424  type FILE = __sFILE
  1425  type cookie_io_functions_t = struct {
  1426  	read  uintptr
  1427  	write uintptr
  1428  	seek  uintptr
  1429  	close uintptr
  1430  }
  1431  type pthread_once = struct {
  1432  	state int32
  1433  	mutex pthread_mutex_t
  1434  }
  1435  
  1436  type pthread_t = uintptr
  1437  type pthread_attr_t = uintptr
  1438  type pthread_mutex_t = uintptr
  1439  type pthread_mutexattr_t = uintptr
  1440  type pthread_cond_t = uintptr
  1441  type pthread_condattr_t = uintptr
  1442  type pthread_key_t = int32
  1443  type pthread_once_t = pthread_once
  1444  type pthread_rwlock_t = uintptr
  1445  type pthread_rwlockattr_t = uintptr
  1446  type pthread_barrier_t = uintptr
  1447  type pthread_barrierattr_t = uintptr
  1448  type pthread_spinlock_t = uintptr
  1449  
  1450  type pthread_addr_t = uintptr
  1451  type pthread_startroutine_t = uintptr
  1452  
  1453  type u_char = uint8
  1454  type u_short = uint16
  1455  type u_int = uint32
  1456  type u_long = uint32
  1457  type ushort = uint16
  1458  type uint = uint32
  1459  
  1460  type int8_t = int8
  1461  
  1462  type int16_t = int16
  1463  
  1464  type int32_t = int32
  1465  
  1466  type int64_t = int64
  1467  
  1468  type uint8_t = uint8
  1469  
  1470  type uint16_t = uint16
  1471  
  1472  type uint32_t = uint32
  1473  
  1474  type uint64_t = uint64
  1475  
  1476  type intptr_t = int32
  1477  type uintptr_t = uint32
  1478  type intmax_t = int64
  1479  type uintmax_t = uint64
  1480  
  1481  type u_int8_t = uint8
  1482  type u_int16_t = uint16
  1483  type u_int32_t = uint32
  1484  type u_int64_t = uint64
  1485  
  1486  type u_quad_t = uint64
  1487  type quad_t = int64
  1488  type qaddr_t = uintptr
  1489  
  1490  type caddr_t = uintptr
  1491  type c_caddr_t = uintptr
  1492  
  1493  type blksize_t = int32
  1494  
  1495  type cpuwhich_t = int32
  1496  type cpulevel_t = int32
  1497  type cpusetid_t = int32
  1498  
  1499  type blkcnt_t = int64
  1500  
  1501  type clock_t = uint32
  1502  
  1503  type clockid_t = int32
  1504  
  1505  type critical_t = int32
  1506  type daddr_t = int64
  1507  
  1508  type dev_t = uint64
  1509  
  1510  type fflags_t = uint32
  1511  
  1512  type fixpt_t = uint32
  1513  
  1514  type fsblkcnt_t = uint64
  1515  type fsfilcnt_t = uint64
  1516  
  1517  type gid_t = uint32
  1518  
  1519  type in_addr_t = uint32
  1520  
  1521  type in_port_t = uint16
  1522  
  1523  type id_t = int64
  1524  
  1525  type ino_t = uint64
  1526  
  1527  type key_t = int32
  1528  
  1529  type lwpid_t = int32
  1530  
  1531  type mode_t = uint16
  1532  
  1533  type accmode_t = int32
  1534  
  1535  type nlink_t = uint64
  1536  
  1537  type pid_t = int32
  1538  
  1539  type register_t = int32
  1540  
  1541  type rlim_t = int64
  1542  
  1543  type sbintime_t = int64
  1544  
  1545  type segsz_t = int32
  1546  
  1547  type suseconds_t = int32
  1548  
  1549  type time_t = int32
  1550  
  1551  type timer_t = uintptr
  1552  
  1553  type mqd_t = uintptr
  1554  
  1555  type u_register_t = uint32
  1556  
  1557  type uid_t = uint32
  1558  
  1559  type useconds_t = uint32
  1560  
  1561  type cap_ioctl_t = uint32
  1562  
  1563  type kpaddr_t = uint64
  1564  type kvaddr_t = uint64
  1565  type ksize_t = uint64
  1566  type kssize_t = int64
  1567  
  1568  type vm_offset_t = uint32
  1569  type vm_ooffset_t = uint64
  1570  type vm_paddr_t = uint64
  1571  type vm_pindex_t = uint64
  1572  type vm_size_t = uint32
  1573  
  1574  type rman_res_t = uint64
  1575  
  1576  func __bitcount32(tls *libc.TLS, _x uint32) uint32 {
  1577  	_x = _x&uint32(0x55555555) + _x&0xaaaaaaaa>>1
  1578  	_x = _x&uint32(0x33333333) + _x&0xcccccccc>>2
  1579  	_x = (_x + _x>>4) & uint32(0x0f0f0f0f)
  1580  	_x = _x + _x>>8
  1581  	_x = (_x + _x>>16) & uint32(0x000000ff)
  1582  	return _x
  1583  }
  1584  
  1585  type __sigset = struct{ __bits [4]uint32 }
  1586  
  1587  type timeval = struct {
  1588  	tv_sec  time_t
  1589  	tv_usec suseconds_t
  1590  }
  1591  
  1592  type timespec = struct {
  1593  	tv_sec  time_t
  1594  	tv_nsec int32
  1595  }
  1596  
  1597  type itimerspec = struct {
  1598  	it_interval struct {
  1599  		tv_sec  time_t
  1600  		tv_nsec int32
  1601  	}
  1602  	it_value struct {
  1603  		tv_sec  time_t
  1604  		tv_nsec int32
  1605  	}
  1606  }
  1607  
  1608  type fd_mask = uint32
  1609  
  1610  type sigset_t = __sigset
  1611  
  1612  type fd_set1 = struct{ __fds_bits [32]uint32 }
  1613  
  1614  type fd_set = fd_set1
  1615  
  1616  type crypt_data = struct {
  1617  	initialized int32
  1618  	__buf       [256]int8
  1619  }
  1620  
  1621  type errno_t = int32
  1622  
  1623  type rune_t = int32
  1624  
  1625  type div_t = struct {
  1626  	quot int32
  1627  	rem  int32
  1628  }
  1629  
  1630  type ldiv_t = struct {
  1631  	quot int32
  1632  	rem  int32
  1633  }
  1634  
  1635  type lldiv_t = struct {
  1636  	quot int64
  1637  	rem  int64
  1638  }
  1639  
  1640  type constraint_handler_t = uintptr
  1641  
  1642  type locale_t = uintptr
  1643  
  1644  type _RuneEntry = struct {
  1645  	__min   int32
  1646  	__max   int32
  1647  	__map   int32
  1648  	__types uintptr
  1649  }
  1650  
  1651  type _RuneRange = struct {
  1652  	__nranges int32
  1653  	__ranges  uintptr
  1654  }
  1655  
  1656  type _RuneLocale = struct {
  1657  	__magic        [8]int8
  1658  	__encoding     [32]int8
  1659  	__sgetrune     uintptr
  1660  	__sputrune     uintptr
  1661  	__invalid_rune int32
  1662  	__runetype     [256]uint32
  1663  	__maplower     [256]int32
  1664  	__mapupper     [256]int32
  1665  	__runetype_ext _RuneRange
  1666  	__maplower_ext _RuneRange
  1667  	__mapupper_ext _RuneRange
  1668  	__variable     uintptr
  1669  	__variable_len int32
  1670  }
  1671  
  1672  func __getCurrentRuneLocale(tls *libc.TLS) uintptr {
  1673  	if libc.X_ThreadRuneLocale != 0 {
  1674  		return libc.X_ThreadRuneLocale
  1675  	}
  1676  	return libc.X_CurrentRuneLocale
  1677  }
  1678  
  1679  func __maskrune(tls *libc.TLS, _c int32, _f uint32) int32 {
  1680  	return int32(func() uint32 {
  1681  		if _c < 0 || _c >= int32(1)<<8 {
  1682  			return libc.X___runetype(tls, _c)
  1683  		}
  1684  		return *(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4))
  1685  	}() & _f)
  1686  }
  1687  
  1688  func __sbmaskrune(tls *libc.TLS, _c int32, _f uint32) int32 {
  1689  	if _c < 0 || _c >= libc.X__mb_sb_limit {
  1690  		return 0
  1691  	}
  1692  	return int32(*(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4)) & _f)
  1693  }
  1694  
  1695  func __sbistype(tls *libc.TLS, _c int32, _f uint32) int32 {
  1696  	return libc.BoolInt32(!!(__sbmaskrune(tls, _c, _f) != 0))
  1697  }
  1698  
  1699  func __sbmaskrune_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 {
  1700  	bp := tls.Alloc(4)
  1701  	defer tls.Free(4)
  1702  
  1703  	var runes uintptr = libc.X__runes_for_locale(tls, __loc, bp)
  1704  	if __c < 0 || __c >= *(*int32)(unsafe.Pointer(bp)) {
  1705  		return 0
  1706  	}
  1707  	return int32(*(*uint32)(unsafe.Pointer(runes + 52 + uintptr(__c)*4)) & __f)
  1708  }
  1709  
  1710  func __sbistype_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 {
  1711  	return libc.BoolInt32(!!(__sbmaskrune_l(tls, __c, __f, __loc) != 0))
  1712  }
  1713  
  1714  type Global = struct {
  1715  	argv0            uintptr
  1716  	zVfs             uintptr
  1717  	zDbFile          uintptr
  1718  	db               uintptr
  1719  	zErrLog          uintptr
  1720  	pErrLog          uintptr
  1721  	zLog             uintptr
  1722  	pLog             uintptr
  1723  	zName            [32]int8
  1724  	taskId           int32
  1725  	iTrace           int32
  1726  	bSqlTrace        int32
  1727  	bIgnoreSqlErrors int32
  1728  	nError           int32
  1729  	nTest            int32
  1730  	iTimeout         int32
  1731  	bSync            int32
  1732  }
  1733  
  1734  var g Global
  1735  
  1736  func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) {
  1737  	bp := tls.Alloc(24)
  1738  	defer tls.Free(24)
  1739  
  1740  	for zMsg != 0 && *(*int8)(unsafe.Pointer(zMsg)) != 0 {
  1741  		var i int32
  1742  		for i = 0; *(*int8)(unsafe.Pointer(zMsg + uintptr(i))) != 0 && int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\n' && int32(*(*int8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\r'; i++ {
  1743  		}
  1744  		libc.Xfprintf(tls, pOut, ts, libc.VaList(bp, zPrefix, i, zMsg))
  1745  		zMsg += uintptr(i)
  1746  		for int32(*(*int8)(unsafe.Pointer(zMsg))) == '\n' || int32(*(*int8)(unsafe.Pointer(zMsg))) == '\r' {
  1747  			zMsg++
  1748  		}
  1749  	}
  1750  }
  1751  
  1752  func safe_strcmp(tls *libc.TLS, a uintptr, b uintptr) int32 {
  1753  	if a == b {
  1754  		return 0
  1755  	}
  1756  	if a == uintptr(0) {
  1757  		return -1
  1758  	}
  1759  	if b == uintptr(0) {
  1760  		return 1
  1761  	}
  1762  	return libc.Xstrcmp(tls, a, b)
  1763  }
  1764  
  1765  func strglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 {
  1766  	var c int32
  1767  	var c2 int32
  1768  	var invert int32
  1769  	var seen int32
  1770  
  1771  	for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) != 0 {
  1772  		if c == '*' {
  1773  			for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) == '*' || c == '?' {
  1774  				if c == '?' && int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1775  					return 0
  1776  				}
  1777  			}
  1778  			if c == 0 {
  1779  				return 1
  1780  			} else if c == '[' {
  1781  				for *(*int8)(unsafe.Pointer(z)) != 0 && strglob(tls, zGlob-uintptr(1), z) != 0 {
  1782  					z++
  1783  				}
  1784  				return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) != 0)
  1785  			}
  1786  			for libc.AssignInt32(&c2, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) != 0 {
  1787  				for c2 != c {
  1788  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1789  					if c2 == 0 {
  1790  						return 0
  1791  					}
  1792  				}
  1793  				if strglob(tls, zGlob, z) != 0 {
  1794  					return 1
  1795  				}
  1796  			}
  1797  			return 0
  1798  		} else if c == '?' {
  1799  			if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1800  				return 0
  1801  			}
  1802  		} else if c == '[' {
  1803  			var prior_c int32 = 0
  1804  			seen = 0
  1805  			invert = 0
  1806  			c = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1807  			if c == 0 {
  1808  				return 0
  1809  			}
  1810  			c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1811  			if c2 == '^' {
  1812  				invert = 1
  1813  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1814  			}
  1815  			if c2 == ']' {
  1816  				if c == ']' {
  1817  					seen = 1
  1818  				}
  1819  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1820  			}
  1821  			for c2 != 0 && c2 != ']' {
  1822  				if c2 == '-' && int32(*(*int8)(unsafe.Pointer(zGlob))) != ']' && int32(*(*int8)(unsafe.Pointer(zGlob))) != 0 && prior_c > 0 {
  1823  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1824  					if c >= prior_c && c <= c2 {
  1825  						seen = 1
  1826  					}
  1827  					prior_c = 0
  1828  				} else {
  1829  					if c == c2 {
  1830  						seen = 1
  1831  					}
  1832  					prior_c = c2
  1833  				}
  1834  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1835  			}
  1836  			if c2 == 0 || seen^invert == 0 {
  1837  				return 0
  1838  			}
  1839  		} else if c == '#' {
  1840  			if (int32(*(*int8)(unsafe.Pointer(z))) == '-' || int32(*(*int8)(unsafe.Pointer(z))) == '+') && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + 1)))), uint32(X_CTYPE_D)) != 0 {
  1841  				z++
  1842  			}
  1843  			if !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z)))), uint32(X_CTYPE_D)) != 0) {
  1844  				return 0
  1845  			}
  1846  			z++
  1847  			for __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z)))), uint32(X_CTYPE_D)) != 0 {
  1848  				z++
  1849  			}
  1850  		} else {
  1851  			if c != int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) {
  1852  				return 0
  1853  			}
  1854  		}
  1855  	}
  1856  	return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) == 0)
  1857  }
  1858  
  1859  func maybeClose(tls *libc.TLS, pOut uintptr) {
  1860  	if pOut != libc.X__stdoutp && pOut != libc.X__stderrp {
  1861  		libc.Xfclose(tls, pOut)
  1862  	}
  1863  }
  1864  
  1865  func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1866  	bp := tls.Alloc(38)
  1867  	defer tls.Free(38)
  1868  
  1869  	var ap va_list
  1870  	_ = ap
  1871  	var zMsg uintptr
  1872  
  1873  	ap = va
  1874  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1875  	_ = ap
  1876  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+8, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32))
  1877  	if g.pLog != 0 {
  1878  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1879  		libc.Xfflush(tls, g.pLog)
  1880  	}
  1881  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1882  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1883  		libc.Xfflush(tls, g.pErrLog)
  1884  	}
  1885  	sqlite3.Xsqlite3_free(tls, zMsg)
  1886  	g.nError++
  1887  }
  1888  
  1889  func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1890  	bp := tls.Alloc(38)
  1891  	defer tls.Free(38)
  1892  
  1893  	var ap va_list
  1894  	_ = ap
  1895  	var zMsg uintptr
  1896  
  1897  	ap = va
  1898  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1899  	_ = ap
  1900  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+19, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32))
  1901  	if g.pLog != 0 {
  1902  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1903  		libc.Xfflush(tls, g.pLog)
  1904  		maybeClose(tls, g.pLog)
  1905  	}
  1906  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1907  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1908  		libc.Xfflush(tls, g.pErrLog)
  1909  		maybeClose(tls, g.pErrLog)
  1910  	}
  1911  	sqlite3.Xsqlite3_free(tls, zMsg)
  1912  	if g.db != 0 {
  1913  		var nTry int32 = 0
  1914  		g.iTimeout = 0
  1915  		for trySql(tls, ts+30, 0) == SQLITE_BUSY &&
  1916  			libc.PostIncInt32(&nTry, 1) < 100 {
  1917  			sqlite3.Xsqlite3_sleep(tls, 10)
  1918  		}
  1919  	}
  1920  	sqlite3.Xsqlite3_close(tls, g.db)
  1921  	libc.Xexit(tls, 1)
  1922  }
  1923  
  1924  func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1925  	bp := tls.Alloc(38)
  1926  	defer tls.Free(38)
  1927  
  1928  	var ap va_list
  1929  	_ = ap
  1930  	var zMsg uintptr
  1931  
  1932  	ap = va
  1933  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1934  	_ = ap
  1935  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+60, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32))
  1936  	if g.pLog != 0 {
  1937  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1938  		libc.Xfflush(tls, g.pLog)
  1939  	}
  1940  	sqlite3.Xsqlite3_free(tls, zMsg)
  1941  }
  1942  
  1943  func clipLength(tls *libc.TLS, z uintptr) int32 {
  1944  	var n int32 = int32(libc.Xstrlen(tls, z))
  1945  	for n > 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n-1))))), uint32(X_CTYPE_S)) != 0 {
  1946  		n--
  1947  	}
  1948  	return n
  1949  }
  1950  
  1951  func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  1952  	bp := tls.Alloc(4)
  1953  	defer tls.Free(4)
  1954  
  1955  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  1956  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  1957  	_ = argc
  1958  	_ = argv
  1959  	sqlite3.Xsqlite3_file_control(tls, db, ts+65, SQLITE_FCNTL_VFSNAME, bp)
  1960  	if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  1961  		sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
  1962  	}
  1963  }
  1964  
  1965  func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 {
  1966  	bp := tls.Alloc(8)
  1967  	defer tls.Free(8)
  1968  
  1969  	_ = pCD
  1970  	if count*10 > g.iTimeout {
  1971  		if g.iTimeout > 0 {
  1972  			errorMessage(tls, ts+70, libc.VaList(bp, g.iTimeout))
  1973  		}
  1974  		return 0
  1975  	}
  1976  	sqlite3.Xsqlite3_sleep(tls, 10)
  1977  	return 1
  1978  }
  1979  
  1980  func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) {
  1981  	bp := tls.Alloc(16)
  1982  	defer tls.Free(16)
  1983  
  1984  	_ = NotUsed1
  1985  	logMessage(tls, ts+89, libc.VaList(bp, clipLength(tls, zSql), zSql))
  1986  }
  1987  
  1988  func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) {
  1989  	bp := tls.Alloc(24)
  1990  	defer tls.Free(24)
  1991  
  1992  	_ = pArg
  1993  	if iErrCode == SQLITE_ERROR && g.bIgnoreSqlErrors != 0 {
  1994  		return
  1995  	}
  1996  	if iErrCode&0xff == SQLITE_SCHEMA && g.iTrace < 3 {
  1997  		return
  1998  	}
  1999  	if g.iTimeout == 0 && iErrCode&0xff == SQLITE_BUSY && g.iTrace < 3 {
  2000  		return
  2001  	}
  2002  	if iErrCode&0xff == SQLITE_NOTICE {
  2003  		logMessage(tls, ts+96, libc.VaList(bp, zMsg))
  2004  	} else {
  2005  		errorMessage(tls, ts+106, libc.VaList(bp+8, iErrCode, zMsg))
  2006  	}
  2007  }
  2008  
  2009  func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
  2010  	bp := tls.Alloc(20)
  2011  	defer tls.Free(20)
  2012  
  2013  	var ap va_list
  2014  	_ = ap
  2015  	var zSql uintptr
  2016  	var rc int32
  2017  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
  2018  	ap = va
  2019  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2020  	_ = ap
  2021  	rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0))
  2022  	if rc != SQLITE_OK {
  2023  		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  2024  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  2025  	}
  2026  	sqlite3.Xsqlite3_free(tls, zSql)
  2027  	return *(*uintptr)(unsafe.Pointer(bp + 16))
  2028  }
  2029  
  2030  func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) {
  2031  	bp := tls.Alloc(16)
  2032  	defer tls.Free(16)
  2033  
  2034  	var ap va_list
  2035  	_ = ap
  2036  	var zSql uintptr
  2037  	var rc int32
  2038  	ap = va
  2039  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2040  	_ = ap
  2041  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  2042  	if rc != SQLITE_OK {
  2043  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  2044  	}
  2045  	sqlite3.Xsqlite3_free(tls, zSql)
  2046  }
  2047  
  2048  func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 {
  2049  	var ap va_list
  2050  	_ = ap
  2051  	var zSql uintptr
  2052  	var rc int32
  2053  	ap = va
  2054  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2055  	_ = ap
  2056  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  2057  	sqlite3.Xsqlite3_free(tls, zSql)
  2058  	return rc
  2059  }
  2060  
  2061  type String1 = struct {
  2062  	z      uintptr
  2063  	n      int32
  2064  	nAlloc int32
  2065  }
  2066  
  2067  type String = String1
  2068  
  2069  func stringFree(tls *libc.TLS, p uintptr) {
  2070  	if (*String)(unsafe.Pointer(p)).z != 0 {
  2071  		sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z)
  2072  	}
  2073  	libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(String{})))
  2074  }
  2075  
  2076  func stringAppend(tls *libc.TLS, p uintptr, z uintptr, n int32) {
  2077  	if n < 0 {
  2078  		n = int32(libc.Xstrlen(tls, z))
  2079  	}
  2080  	if (*String)(unsafe.Pointer(p)).n+n >= (*String)(unsafe.Pointer(p)).nAlloc {
  2081  		var nAlloc int32 = (*String)(unsafe.Pointer(p)).nAlloc*2 + n + 100
  2082  		var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc)
  2083  		if zNew == uintptr(0) {
  2084  			fatalError(tls, ts+129, 0)
  2085  		}
  2086  		(*String)(unsafe.Pointer(p)).z = zNew
  2087  		(*String)(unsafe.Pointer(p)).nAlloc = nAlloc
  2088  	}
  2089  	libc.Xmemcpy(tls, (*String)(unsafe.Pointer(p)).z+uintptr((*String)(unsafe.Pointer(p)).n), z, uint32(n))
  2090  	*(*int32)(unsafe.Pointer(p + 4)) += n
  2091  	*(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = int8(0)
  2092  }
  2093  
  2094  func stringReset(tls *libc.TLS, p uintptr) {
  2095  	if (*String)(unsafe.Pointer(p)).z == uintptr(0) {
  2096  		stringAppend(tls, p, ts+143, 1)
  2097  	}
  2098  	(*String)(unsafe.Pointer(p)).n = 0
  2099  	*(*int8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z)) = int8(0)
  2100  }
  2101  
  2102  func stringAppendTerm(tls *libc.TLS, p uintptr, z uintptr) {
  2103  	var i int32
  2104  	if (*String)(unsafe.Pointer(p)).n != 0 {
  2105  		stringAppend(tls, p, ts+143, 1)
  2106  	}
  2107  	if z == uintptr(0) {
  2108  		stringAppend(tls, p, ts+145, 3)
  2109  		return
  2110  	}
  2111  	for i = 0; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 && !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))), uint32(X_CTYPE_S)) != 0); i++ {
  2112  	}
  2113  	if i > 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == 0 {
  2114  		stringAppend(tls, p, z, i)
  2115  		return
  2116  	}
  2117  	stringAppend(tls, p, ts+149, 1)
  2118  	for *(*int8)(unsafe.Pointer(z)) != 0 {
  2119  		for i = 0; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != '\''; i++ {
  2120  		}
  2121  		if *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0 {
  2122  			stringAppend(tls, p, z, i+1)
  2123  			stringAppend(tls, p, ts+149, 1)
  2124  			z += uintptr(i + 1)
  2125  		} else {
  2126  			stringAppend(tls, p, z, i)
  2127  			break
  2128  		}
  2129  	}
  2130  	stringAppend(tls, p, ts+149, 1)
  2131  }
  2132  
  2133  func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 {
  2134  	var p uintptr = pCData
  2135  	var i int32
  2136  	_ = azCol
  2137  	for i = 0; i < argc; i++ {
  2138  		stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))
  2139  	}
  2140  	return 0
  2141  }
  2142  
  2143  func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 {
  2144  	bp := tls.Alloc(42)
  2145  	defer tls.Free(42)
  2146  
  2147  	var ap va_list
  2148  	_ = ap
  2149  	var zSql uintptr
  2150  	var rc int32
  2151  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  2152  	ap = va
  2153  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2154  	_ = ap
  2155  
  2156  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2157  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2158  	}{evalCallback})), p, bp+8)
  2159  	sqlite3.Xsqlite3_free(tls, zSql)
  2160  	if rc != 0 {
  2161  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+12, ts+151, libc.VaList(bp, rc))
  2162  		stringAppendTerm(tls, p, bp+12)
  2163  		if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  2164  			stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2165  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2166  		}
  2167  	}
  2168  	return rc
  2169  }
  2170  
  2171  func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  2172  	bp := tls.Alloc(16)
  2173  	defer tls.Free(16)
  2174  
  2175  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  2176  	var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2177  
  2178  	*(*uintptr)(unsafe.Pointer(bp + 12)) = uintptr(0)
  2179  	var rc int32
  2180  	_ = argc
  2181  	libc.Xmemset(tls, bp, 0, uint32(unsafe.Sizeof(String{})))
  2182  	rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2183  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2184  	}{evalCallback})), bp, bp+12)
  2185  	if *(*uintptr)(unsafe.Pointer(bp + 12)) != 0 {
  2186  		sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 12)), -1)
  2187  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
  2188  	} else if rc != 0 {
  2189  		sqlite3.Xsqlite3_result_error_code(tls, context, rc)
  2190  	} else {
  2191  		sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp)).z, -1, libc.UintptrFromInt32(-1))
  2192  	}
  2193  	stringFree(tls, bp)
  2194  }
  2195  
  2196  func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 {
  2197  	bp := tls.Alloc(80)
  2198  	defer tls.Free(80)
  2199  
  2200  	var pStmt uintptr = uintptr(0)
  2201  	var taskId int32
  2202  	var rc int32
  2203  	var totalTime int32 = 0
  2204  
  2205  	*(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0)
  2206  	g.iTimeout = 0
  2207  	for 1 != 0 {
  2208  		rc = trySql(tls, ts+161, 0)
  2209  		if rc == SQLITE_BUSY {
  2210  			sqlite3.Xsqlite3_sleep(tls, 10)
  2211  			totalTime = totalTime + 10
  2212  			continue
  2213  		}
  2214  		if rc != SQLITE_OK {
  2215  			fatalError(tls, ts+177, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2216  		}
  2217  		if g.nError != 0 || g.nTest != 0 {
  2218  			runSql(tls, ts+196,
  2219  				libc.VaList(bp+8, g.nError, g.nTest))
  2220  			g.nError = 0
  2221  			g.nTest = 0
  2222  		}
  2223  		pStmt = prepareSql(tls, ts+249, libc.VaList(bp+24, iClient))
  2224  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2225  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2226  		if rc == SQLITE_ROW {
  2227  			runSql(tls, ts+295, libc.VaList(bp+32, iClient))
  2228  			g.iTimeout = DEFAULT_TIMEOUT
  2229  			runSql(tls, ts+326, 0)
  2230  			return SQLITE_DONE
  2231  		}
  2232  		pStmt = prepareSql(tls,
  2233  			ts+346, libc.VaList(bp+40, iClient))
  2234  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2235  		if rc == SQLITE_ROW {
  2236  			var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0)
  2237  			*(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, n+1)
  2238  			libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0))
  2239  			*(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1))
  2240  			*(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2)))
  2241  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2242  			runSql(tls,
  2243  				ts+441, libc.VaList(bp+56, taskId))
  2244  			g.iTimeout = DEFAULT_TIMEOUT
  2245  			runSql(tls, ts+326, 0)
  2246  			return SQLITE_OK
  2247  		}
  2248  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2249  		if rc == SQLITE_DONE {
  2250  			if totalTime > 30000 {
  2251  				errorMessage(tls, ts+524, 0)
  2252  				runSql(tls, ts+573, libc.VaList(bp+64, iClient))
  2253  				sqlite3.Xsqlite3_close(tls, g.db)
  2254  				libc.Xexit(tls, 1)
  2255  			}
  2256  			for trySql(tls, ts+613, 0) == SQLITE_BUSY {
  2257  				sqlite3.Xsqlite3_sleep(tls, 10)
  2258  				totalTime = totalTime + 10
  2259  			}
  2260  			sqlite3.Xsqlite3_sleep(tls, 100)
  2261  			totalTime = totalTime + 100
  2262  			continue
  2263  		}
  2264  		fatalError(tls, ts+438, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2265  	}
  2266  	g.iTimeout = DEFAULT_TIMEOUT
  2267  	return int32(0)
  2268  }
  2269  
  2270  func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 {
  2271  	bp := tls.Alloc(16)
  2272  	defer tls.Free(16)
  2273  
  2274  	runSql(tls,
  2275  		ts+620, libc.VaList(bp, taskId))
  2276  	if bShutdown != 0 {
  2277  		runSql(tls, ts+295, libc.VaList(bp+8, iClient))
  2278  	}
  2279  	return SQLITE_OK
  2280  }
  2281  
  2282  func startClient(tls *libc.TLS, iClient int32) {
  2283  	bp := tls.Alloc(96)
  2284  	defer tls.Free(96)
  2285  
  2286  	runSql(tls, ts+701, libc.VaList(bp, iClient))
  2287  	if sqlite3.Xsqlite3_changes(tls, g.db) != 0 {
  2288  		var zSys uintptr
  2289  		var rc int32
  2290  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+743,
  2291  			libc.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace))
  2292  		if g.bSqlTrace != 0 {
  2293  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+774, libc.VaList(bp+40, zSys))
  2294  		}
  2295  		if g.bSync != 0 {
  2296  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+788, libc.VaList(bp+48, zSys))
  2297  		}
  2298  		if g.zVfs != 0 {
  2299  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+798, libc.VaList(bp+56, zSys, g.zVfs))
  2300  		}
  2301  		if g.iTrace >= 2 {
  2302  			logMessage(tls, ts+812, libc.VaList(bp+72, zSys))
  2303  		}
  2304  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+825, libc.VaList(bp+80, zSys))
  2305  		rc = libc.Xsystem(tls, zSys)
  2306  		if rc != 0 {
  2307  			errorMessage(tls, ts+830, libc.VaList(bp+88, rc))
  2308  		}
  2309  		sqlite3.Xsqlite3_free(tls, zSys)
  2310  	}
  2311  }
  2312  
  2313  func readFile(tls *libc.TLS, zFilename uintptr) uintptr {
  2314  	bp := tls.Alloc(8)
  2315  	defer tls.Free(8)
  2316  
  2317  	var in uintptr = libc.Xfopen(tls, zFilename, ts+864)
  2318  	var sz int32
  2319  	var z uintptr
  2320  	if in == uintptr(0) {
  2321  		fatalError(tls, ts+867, libc.VaList(bp, zFilename))
  2322  	}
  2323  	libc.Xfseek(tls, in, 0, SEEK_END)
  2324  	sz = libc.Xftell(tls, in)
  2325  	libc.Xrewind(tls, in)
  2326  	z = sqlite3.Xsqlite3_malloc(tls, sz+1)
  2327  	sz = int32(libc.Xfread(tls, z, uint32(1), uint32(sz), in))
  2328  	*(*int8)(unsafe.Pointer(z + uintptr(sz))) = int8(0)
  2329  	libc.Xfclose(tls, in)
  2330  	return z
  2331  }
  2332  
  2333  func tokenLength(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2334  	var n int32 = 0
  2335  	if __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z)))), uint32(X_CTYPE_S)) != 0 || int32(*(*int8)(unsafe.Pointer(z))) == '/' && int32(*(*int8)(unsafe.Pointer(z + 1))) == '*' {
  2336  		var inC int32 = 0
  2337  		var c int32
  2338  		if int32(*(*int8)(unsafe.Pointer(z))) == '/' {
  2339  			inC = 1
  2340  			n = 2
  2341  		}
  2342  		for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1)))))) != 0 {
  2343  			if c == '\n' {
  2344  				*(*int32)(unsafe.Pointer(pnLine))++
  2345  			}
  2346  			if __sbistype(tls, int32(uint8(c)), uint32(X_CTYPE_S)) != 0 {
  2347  				continue
  2348  			}
  2349  			if inC != 0 && c == '*' && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '/' {
  2350  				n++
  2351  				inC = 0
  2352  			} else if !(inC != 0) && c == '/' && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '*' {
  2353  				n++
  2354  				inC = 1
  2355  			} else if !(inC != 0) {
  2356  				break
  2357  			}
  2358  		}
  2359  		n--
  2360  	} else if int32(*(*int8)(unsafe.Pointer(z))) == '-' && int32(*(*int8)(unsafe.Pointer(z + 1))) == '-' {
  2361  		for n = 2; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) != '\n'; n++ {
  2362  		}
  2363  		if *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2364  			*(*int32)(unsafe.Pointer(pnLine))++
  2365  			n++
  2366  		}
  2367  	} else if int32(*(*int8)(unsafe.Pointer(z))) == '"' || int32(*(*int8)(unsafe.Pointer(z))) == '\'' {
  2368  		var delim int32 = int32(*(*int8)(unsafe.Pointer(z)))
  2369  		for n = 1; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ {
  2370  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == '\n' {
  2371  				*(*int32)(unsafe.Pointer(pnLine))++
  2372  			}
  2373  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n)))) == delim {
  2374  				n++
  2375  				if int32(*(*int8)(unsafe.Pointer(z + uintptr(n+1)))) != delim {
  2376  					break
  2377  				}
  2378  			}
  2379  		}
  2380  	} else {
  2381  		var c int32
  2382  		for n = 1; libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(z + uintptr(n))))) != 0 && !(__sbistype(tls, int32(uint8(c)), uint32(X_CTYPE_S)) != 0) && c != '"' && c != '\'' && c != ';'; n++ {
  2383  		}
  2384  	}
  2385  	return n
  2386  }
  2387  
  2388  func extractToken(tls *libc.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 {
  2389  	var i int32
  2390  	if nIn <= 0 {
  2391  		*(*int8)(unsafe.Pointer(zOut)) = int8(0)
  2392  		return 0
  2393  	}
  2394  	for i = 0; i < nIn && i < nOut-1 && !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zIn + uintptr(i))))), uint32(X_CTYPE_S)) != 0); i++ {
  2395  		*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(zIn + uintptr(i)))
  2396  	}
  2397  	*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = int8(0)
  2398  	return i
  2399  }
  2400  
  2401  func findEnd(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2402  	var n int32 = 0
  2403  	for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 && (libc.Xstrncmp(tls, z+uintptr(n), ts+896, uint32(5)) != 0 || !(__sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+5))))), uint32(X_CTYPE_S)) != 0)) {
  2404  		n = n + tokenLength(tls, z+uintptr(n), pnLine)
  2405  	}
  2406  	return n
  2407  }
  2408  
  2409  func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 {
  2410  	var n int32 = 0
  2411  	for *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2412  		var len int32 = tokenLength(tls, z+uintptr(n), pnLine)
  2413  		if libc.Xstrncmp(tls, z+uintptr(n), ts+902, uint32(7)) == 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+7))))), uint32(X_CTYPE_S)) != 0 ||
  2414  			stopAtElse != 0 && libc.Xstrncmp(tls, z+uintptr(n), ts+910, uint32(6)) == 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+6))))), uint32(X_CTYPE_S)) != 0 {
  2415  			return n + len
  2416  		}
  2417  		if libc.Xstrncmp(tls, z+uintptr(n), ts+917, uint32(4)) == 0 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n+4))))), uint32(X_CTYPE_S)) != 0 {
  2418  			var skip int32 = findEndif(tls, z+uintptr(n)+uintptr(len), 0, pnLine)
  2419  			n = n + (skip + len)
  2420  		} else {
  2421  			n = n + len
  2422  		}
  2423  	}
  2424  	return n
  2425  }
  2426  
  2427  func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) {
  2428  	bp := tls.Alloc(32)
  2429  	defer tls.Free(32)
  2430  
  2431  	var pStmt uintptr
  2432  	var rc int32
  2433  	if iClient > 0 {
  2434  		pStmt = prepareSql(tls,
  2435  			ts+922,
  2436  			libc.VaList(bp, iClient))
  2437  	} else {
  2438  		pStmt = prepareSql(tls,
  2439  			ts+1018, 0)
  2440  	}
  2441  	g.iTimeout = 0
  2442  	for (libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY || rc == SQLITE_ROW) &&
  2443  		iTimeout > 0 {
  2444  		sqlite3.Xsqlite3_reset(tls, pStmt)
  2445  		sqlite3.Xsqlite3_sleep(tls, 50)
  2446  		iTimeout = iTimeout - 50
  2447  	}
  2448  	sqlite3.Xsqlite3_finalize(tls, pStmt)
  2449  	g.iTimeout = DEFAULT_TIMEOUT
  2450  	if rc != SQLITE_DONE {
  2451  		if zErrPrefix == uintptr(0) {
  2452  			zErrPrefix = ts + 1099
  2453  		}
  2454  		if iClient > 0 {
  2455  			errorMessage(tls, ts+1100, libc.VaList(bp+8, zErrPrefix, iClient))
  2456  		} else {
  2457  			errorMessage(tls, ts+1132, libc.VaList(bp+24, zErrPrefix))
  2458  		}
  2459  	}
  2460  }
  2461  
  2462  func filenameTail(tls *libc.TLS, z uintptr) uintptr {
  2463  	var i int32
  2464  	var j int32
  2465  	for i = libc.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ {
  2466  		if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == '/' {
  2467  			j = i + 1
  2468  		}
  2469  	}
  2470  	return z + uintptr(j)
  2471  }
  2472  
  2473  func booleanValue(tls *libc.TLS, zArg uintptr) int32 {
  2474  	bp := tls.Alloc(8)
  2475  	defer tls.Free(8)
  2476  
  2477  	var i int32
  2478  	if zArg == uintptr(0) {
  2479  		return 0
  2480  	}
  2481  	for i = 0; int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'; i++ {
  2482  	}
  2483  	if i > 0 && int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i)))) == 0 {
  2484  		return libc.Xatoi(tls, zArg)
  2485  	}
  2486  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1166) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1169) == 0 {
  2487  		return 1
  2488  	}
  2489  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1173) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1177) == 0 {
  2490  		return 0
  2491  	}
  2492  	errorMessage(tls, ts+1180, libc.VaList(bp, zArg))
  2493  	return 0
  2494  }
  2495  
  2496  func test_breakpoint(tls *libc.TLS) {
  2497  	atomic.AddInt32(&cnt, 1)
  2498  }
  2499  
  2500  var cnt int32 = 0
  2501  
  2502  func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) {
  2503  	bp := tls.Alloc(1606)
  2504  	defer tls.Free(1606)
  2505  
  2506  	*(*int32)(unsafe.Pointer(bp + 372)) = 1
  2507  	var prevLine int32 = 1
  2508  	var ii int32 = 0
  2509  	var iBegin int32 = 0
  2510  	var n int32
  2511  	var c int32
  2512  	var j int32
  2513  	var len int32
  2514  	var nArg int32
  2515  
  2516  	libc.Xmemset(tls, bp+360, 0, uint32(unsafe.Sizeof(String{})))
  2517  	stringReset(tls, bp+360)
  2518  	for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii))))) != 0 {
  2519  		prevLine = *(*int32)(unsafe.Pointer(bp + 372))
  2520  		len = tokenLength(tls, zScript+uintptr(ii), bp+372)
  2521  		if __sbistype(tls, int32(uint8(c)), uint32(X_CTYPE_S)) != 0 || c == '/' && int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+1)))) == '*' {
  2522  			ii = ii + len
  2523  			continue
  2524  		}
  2525  		if c != '-' || int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+1)))) != '-' || !(__sbistype(tls, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+2)))), uint32(X_CTYPE_A)) != 0) {
  2526  			ii = ii + len
  2527  			continue
  2528  		}
  2529  
  2530  		if ii > iBegin {
  2531  			var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp, ii-iBegin, zScript+uintptr(iBegin)))
  2532  			evalSql(tls, bp+360, zSql, 0)
  2533  			sqlite3.Xsqlite3_free(tls, zSql)
  2534  			iBegin = ii + len
  2535  		}
  2536  
  2537  		if g.iTrace >= 2 {
  2538  			logMessage(tls, ts+1202, libc.VaList(bp+16, len, zScript+uintptr(ii)))
  2539  		}
  2540  		n = extractToken(tls, zScript+uintptr(ii)+uintptr(2), len-2, bp+376, int32(unsafe.Sizeof([30]int8{})))
  2541  		for nArg = 0; n < len-2 && nArg < MX_ARG; nArg++ {
  2542  			for n < len-2 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+2+n))))), uint32(X_CTYPE_S)) != 0 {
  2543  				n++
  2544  			}
  2545  			if n >= len-2 {
  2546  				break
  2547  			}
  2548  			n = n + extractToken(tls, zScript+uintptr(ii)+uintptr(2)+uintptr(n), len-2-n,
  2549  				bp+406+uintptr(nArg)*100, int32(unsafe.Sizeof([100]int8{})))
  2550  		}
  2551  		for j = nArg; j < MX_ARG; j++ {
  2552  			*(*int8)(unsafe.Pointer(bp + 406 + uintptr(libc.PostIncInt32(&j, 1))*100)) = int8(0)
  2553  		}
  2554  
  2555  		if libc.Xstrcmp(tls, bp+376, ts+1207) == 0 {
  2556  			sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, bp+406))
  2557  		} else if libc.Xstrcmp(tls, bp+376, ts+1213) == 0 {
  2558  			var rc int32 = libc.Xatoi(tls, bp+406)
  2559  			finishScript(tls, iClient, taskId, 1)
  2560  			if rc == 0 {
  2561  				sqlite3.Xsqlite3_close(tls, g.db)
  2562  			}
  2563  			libc.Xexit(tls, rc)
  2564  		} else if libc.Xstrcmp(tls, bp+376, ts+1218) == 0 {
  2565  			if g.iTrace == 1 {
  2566  				logMessage(tls, ts+1202, libc.VaList(bp+32, len-1, zScript+uintptr(ii)))
  2567  			}
  2568  			stringReset(tls, bp+360)
  2569  		} else if libc.Xstrcmp(tls, bp+376, ts+1227) == 0 && iClient > 0 {
  2570  			finishScript(tls, iClient, taskId, 1)
  2571  		} else if libc.Xstrcmp(tls, bp+376, ts+1234) == 0 {
  2572  			stringReset(tls, bp+360)
  2573  		} else if libc.Xstrcmp(tls, bp+376, ts+1240) == 0 {
  2574  			var jj int32
  2575  			var zAns uintptr = zScript + uintptr(ii)
  2576  			for jj = 7; jj < len-1 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))), uint32(X_CTYPE_S)) != 0; jj++ {
  2577  			}
  2578  			zAns += uintptr(jj)
  2579  			if len-jj-1 != (*String)(unsafe.Pointer(bp+360)).n || libc.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+360)).z, zAns, uint32(len-jj-1)) != 0 {
  2580  				errorMessage(tls, ts+1246,
  2581  					libc.VaList(bp+48, prevLine, zFilename, len-jj-1, zAns, (*String)(unsafe.Pointer(bp+360)).z))
  2582  			}
  2583  			g.nTest++
  2584  			stringReset(tls, bp+360)
  2585  		} else if libc.Xstrcmp(tls, bp+376, ts+1291) == 0 || libc.Xstrcmp(tls, bp+376, ts+1296) == 0 {
  2586  			var jj int32
  2587  			var zAns uintptr = zScript + uintptr(ii)
  2588  			var zCopy uintptr
  2589  			var isGlob int32 = libc.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 376))) == 'g')
  2590  			for jj = 9 - 3*isGlob; jj < len-1 && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj))))), uint32(X_CTYPE_S)) != 0; jj++ {
  2591  			}
  2592  			zAns += uintptr(jj)
  2593  			zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp+88, len-jj-1, zAns))
  2594  			if libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360)).z) == 0)^isGlob != 0 {
  2595  				errorMessage(tls, ts+1304,
  2596  					libc.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360)).z))
  2597  			}
  2598  			sqlite3.Xsqlite3_free(tls, zCopy)
  2599  			g.nTest++
  2600  			stringReset(tls, bp+360)
  2601  		} else if libc.Xstrcmp(tls, bp+376, ts+1347) == 0 {
  2602  			logMessage(tls, ts+438, libc.VaList(bp+136, (*String)(unsafe.Pointer(bp+360)).z))
  2603  		} else if libc.Xstrcmp(tls, bp+376, ts+1354) == 0 {
  2604  			var zNewFile uintptr
  2605  			var zNewScript uintptr
  2606  			var zToDel uintptr = uintptr(0)
  2607  			zNewFile = bp + 406
  2608  			if !(int32(*(*int8)(unsafe.Pointer(zNewFile))) == '/') {
  2609  				var k int32
  2610  				for k = int32(libc.Xstrlen(tls, zFilename)) - 1; k >= 0 && !(int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k)))) == '/'); k-- {
  2611  				}
  2612  				if k > 0 {
  2613  					zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1361, libc.VaList(bp+144, k, zFilename, zNewFile)))
  2614  				}
  2615  			}
  2616  			zNewScript = readFile(tls, zNewFile)
  2617  			if g.iTrace != 0 {
  2618  				logMessage(tls, ts+1369, libc.VaList(bp+168, zNewFile))
  2619  			}
  2620  			runScript(tls, 0, 0, zNewScript, zNewFile)
  2621  			sqlite3.Xsqlite3_free(tls, zNewScript)
  2622  			if g.iTrace != 0 {
  2623  				logMessage(tls, ts+1388, libc.VaList(bp+176, zNewFile))
  2624  			}
  2625  			sqlite3.Xsqlite3_free(tls, zToDel)
  2626  		} else if libc.Xstrcmp(tls, bp+376, ts+1405) == 0 {
  2627  			var jj int32
  2628  			for jj = 7; jj < len && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+jj))))), uint32(X_CTYPE_S)) != 0; jj++ {
  2629  			}
  2630  			logMessage(tls, ts+1202, libc.VaList(bp+184, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2631  		} else if libc.Xstrcmp(tls, bp+376, ts+1411) == 0 {
  2632  			var jj int32
  2633  			var rc int32
  2634  			var pStmt uintptr
  2635  			for jj = 4; jj < len && __sbistype(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(ii+jj))))), uint32(X_CTYPE_S)) != 0; jj++ {
  2636  			}
  2637  			pStmt = prepareSql(tls, ts+1414, libc.VaList(bp+200, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2638  			rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2639  			if rc != SQLITE_ROW || sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0 {
  2640  				ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 1, bp+372)
  2641  			}
  2642  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2643  		} else if libc.Xstrcmp(tls, bp+376, ts+1426) == 0 {
  2644  			ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 0, bp+372)
  2645  		} else if libc.Xstrcmp(tls, bp+376, ts+1431) == 0 {
  2646  		} else if libc.Xstrcmp(tls, bp+376, ts+1437) == 0 && iClient == 0 {
  2647  			var iNewClient int32 = libc.Xatoi(tls, bp+406)
  2648  			if iNewClient > 0 {
  2649  				startClient(tls, iNewClient)
  2650  			}
  2651  		} else if libc.Xstrcmp(tls, bp+376, ts+1443) == 0 && iClient == 0 {
  2652  			var iTimeout int32
  2653  			if nArg >= 2 {
  2654  				iTimeout = libc.Xatoi(tls, bp+406+1*100)
  2655  			} else {
  2656  				iTimeout = 10000
  2657  			}
  2658  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+606, ts+1448,
  2659  				libc.VaList(bp+216, prevLine, zFilename))
  2660  			waitForClient(tls, libc.Xatoi(tls, bp+406), iTimeout, bp+606)
  2661  		} else if libc.Xstrcmp(tls, bp+376, ts+1463) == 0 && iClient == 0 {
  2662  			var iTarget int32 = libc.Xatoi(tls, bp+406)
  2663  			var iEnd int32
  2664  			var zTask uintptr
  2665  			var zTName uintptr
  2666  			iEnd = findEnd(tls, zScript+uintptr(ii)+uintptr(len), bp+372)
  2667  			if iTarget < 0 {
  2668  				errorMessage(tls, ts+1468,
  2669  					libc.VaList(bp+232, prevLine, zFilename, iTarget))
  2670  			} else {
  2671  				zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp+256, iEnd, zScript+uintptr(ii)+uintptr(len)))
  2672  				if nArg > 1 {
  2673  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+272, bp+406+1*100))
  2674  				} else {
  2675  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1505, libc.VaList(bp+280, filenameTail(tls, zFilename), prevLine))
  2676  				}
  2677  				startClient(tls, iTarget)
  2678  				runSql(tls,
  2679  					ts+1511, libc.VaList(bp+296, iTarget, zTask, zTName))
  2680  				sqlite3.Xsqlite3_free(tls, zTask)
  2681  				sqlite3.Xsqlite3_free(tls, zTName)
  2682  			}
  2683  			iEnd = iEnd + tokenLength(tls, zScript+uintptr(ii)+uintptr(len)+uintptr(iEnd), bp+372)
  2684  			len = len + iEnd
  2685  			iBegin = ii + len
  2686  		} else if libc.Xstrcmp(tls, bp+376, ts+1567) == 0 {
  2687  			test_breakpoint(tls)
  2688  		} else if libc.Xstrcmp(tls, bp+376, ts+1578) == 0 {
  2689  			g.bIgnoreSqlErrors = func() int32 {
  2690  				if nArg >= 1 {
  2691  					return libc.BoolInt32(!(booleanValue(tls, bp+406) != 0))
  2692  				}
  2693  				return 1
  2694  			}()
  2695  		} else {
  2696  			errorMessage(tls, ts+1594,
  2697  				libc.VaList(bp+320, prevLine, zFilename, bp+376))
  2698  		}
  2699  		ii = ii + len
  2700  	}
  2701  	if iBegin < ii {
  2702  		var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1202, libc.VaList(bp+344, ii-iBegin, zScript+uintptr(iBegin)))
  2703  		runSql(tls, zSql, 0)
  2704  		sqlite3.Xsqlite3_free(tls, zSql)
  2705  	}
  2706  	stringFree(tls, bp+360)
  2707  }
  2708  
  2709  func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr {
  2710  	bp := tls.Alloc(8)
  2711  	defer tls.Free(8)
  2712  
  2713  	var i int32
  2714  	var j int32
  2715  	var zReturn uintptr = uintptr(0)
  2716  	var nArg int32 = *(*int32)(unsafe.Pointer(pnArg))
  2717  
  2718  	for i = 0; i < nArg; i++ {
  2719  		var z uintptr
  2720  		if i+hasArg >= nArg {
  2721  			break
  2722  		}
  2723  		z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4))
  2724  		if int32(*(*int8)(unsafe.Pointer(z))) != '-' {
  2725  			continue
  2726  		}
  2727  		z++
  2728  		if int32(*(*int8)(unsafe.Pointer(z))) == '-' {
  2729  			if int32(*(*int8)(unsafe.Pointer(z + 1))) == 0 {
  2730  				break
  2731  			}
  2732  			z++
  2733  		}
  2734  		if libc.Xstrcmp(tls, z, zOption) == 0 {
  2735  			if hasArg != 0 && i == nArg-1 {
  2736  				fatalError(tls, ts+1630, libc.VaList(bp, z))
  2737  			}
  2738  			if hasArg != 0 {
  2739  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
  2740  			} else {
  2741  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4))
  2742  			}
  2743  			j = i + 1 + libc.Bool32(hasArg != 0)
  2744  			for j < nArg {
  2745  				*(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&i, 1))*4)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&j, 1))*4))
  2746  			}
  2747  			*(*int32)(unsafe.Pointer(pnArg)) = i
  2748  			return zReturn
  2749  		}
  2750  	}
  2751  	return zReturn
  2752  }
  2753  
  2754  func usage(tls *libc.TLS, argv0 uintptr) {
  2755  	bp := tls.Alloc(8)
  2756  	defer tls.Free(8)
  2757  
  2758  	var i int32
  2759  	var zTail uintptr = argv0
  2760  	for i = 0; *(*int8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ {
  2761  		if int32(*(*int8)(unsafe.Pointer(argv0 + uintptr(i)))) == '/' {
  2762  			zTail = argv0 + uintptr(i) + uintptr(1)
  2763  		}
  2764  	}
  2765  	libc.Xfprintf(tls, libc.X__stderrp, ts+1678, libc.VaList(bp, zTail))
  2766  	libc.Xfprintf(tls, libc.X__stderrp,
  2767  		ts+1717, 0)
  2768  	libc.Xexit(tls, 1)
  2769  }
  2770  
  2771  func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) {
  2772  	bp := tls.Alloc(16)
  2773  	defer tls.Free(16)
  2774  
  2775  	var i int32
  2776  	libc.Xfprintf(tls, libc.X__stderrp, ts+2289, libc.VaList(bp, argv0))
  2777  	for i = 0; i < nArg; i++ {
  2778  		libc.Xfprintf(tls, libc.X__stderrp, ts+2317, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4))))
  2779  	}
  2780  	libc.Xfprintf(tls, libc.X__stderrp, ts+2321, 0)
  2781  	libc.Xexit(tls, 1)
  2782  }
  2783  
  2784  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
  2785  	bp := tls.Alloc(248)
  2786  	defer tls.Free(248)
  2787  
  2788  	var zClient uintptr
  2789  	var iClient int32
  2790  
  2791  	var i int32
  2792  	var openFlags int32 = SQLITE_OPEN_READWRITE
  2793  	var rc int32
  2794  
  2795  	var zTrace uintptr
  2796  	var zCOption uintptr
  2797  	var zJMode uintptr
  2798  	var zNRep uintptr
  2799  	var nRep int32 = 1
  2800  	var iRep int32
  2801  	var iTmout int32 = 0
  2802  	var zTmout uintptr
  2803  
  2804  	g.argv0 = *(*uintptr)(unsafe.Pointer(argv))
  2805  	g.iTrace = 1
  2806  	if argc < 2 {
  2807  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2808  	}
  2809  	g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + 1*4))
  2810  	if strglob(tls, ts+2323, g.zDbFile) != 0 {
  2811  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2812  	}
  2813  	if libc.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2330) != 0 {
  2814  		libc.Xfprintf(tls, libc.X__stderrp,
  2815  			ts+2415,
  2816  			libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2330))
  2817  		libc.Xexit(tls, 1)
  2818  	}
  2819  	*(*int32)(unsafe.Pointer(bp + 232)) = argc - 2
  2820  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+32, ts+2475, libc.VaList(bp+16, libc.Xgetpid(tls)))
  2821  	zJMode = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2487, 1)
  2822  	zNRep = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2499, 1)
  2823  	if zNRep != 0 {
  2824  		nRep = libc.Xatoi(tls, zNRep)
  2825  	}
  2826  	if nRep < 1 {
  2827  		nRep = 1
  2828  	}
  2829  	g.zVfs = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2506, 1)
  2830  	zClient = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2510, 1)
  2831  	g.zErrLog = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2517, 1)
  2832  	g.zLog = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2524, 1)
  2833  	zTrace = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2528, 1)
  2834  	if zTrace != 0 {
  2835  		g.iTrace = libc.Xatoi(tls, zTrace)
  2836  	}
  2837  	if findOption(tls, argv+uintptr(2)*4, bp+232, ts+2534, 0) != uintptr(0) {
  2838  		g.iTrace = 0
  2839  	}
  2840  	zTmout = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2540, 1)
  2841  	if zTmout != 0 {
  2842  		iTmout = libc.Xatoi(tls, zTmout)
  2843  	}
  2844  	g.bSqlTrace = libc.Bool32(findOption(tls, argv+uintptr(2)*4, bp+232, ts+2548, 0) != uintptr(0))
  2845  	g.bSync = libc.Bool32(findOption(tls, argv+uintptr(2)*4, bp+232, ts+2557, 0) != uintptr(0))
  2846  	if g.zErrLog != 0 {
  2847  		g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2562)
  2848  	} else {
  2849  		g.pErrLog = libc.X__stderrp
  2850  	}
  2851  	if g.zLog != 0 {
  2852  		g.pLog = libc.Xfopen(tls, g.zLog, ts+2562)
  2853  	} else {
  2854  		g.pLog = libc.X__stdoutp
  2855  	}
  2856  
  2857  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct {
  2858  		f func(*libc.TLS, uintptr, int32, uintptr)
  2859  	}{sqlErrorCallback})), 0))
  2860  	if zClient != 0 {
  2861  		iClient = libc.Xatoi(tls, zClient)
  2862  		if iClient < 1 {
  2863  			fatalError(tls, ts+2564, libc.VaList(bp+40, iClient))
  2864  		}
  2865  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+32, ts+2591,
  2866  			libc.VaList(bp+48, libc.Xgetpid(tls), iClient))
  2867  	} else {
  2868  		var nTry int32 = 0
  2869  		if g.iTrace > 0 {
  2870  			libc.Xprintf(tls, ts+2607, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv))))
  2871  			for i = 1; i < argc; i++ {
  2872  				libc.Xprintf(tls, ts+2317, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))
  2873  			}
  2874  			libc.Xprintf(tls, ts+2321, 0)
  2875  			libc.Xprintf(tls, ts+2617, 0)
  2876  			for i = 0; libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i)) != uintptr(0); i++ {
  2877  				libc.Xprintf(tls, ts+2722, libc.VaList(bp+80, zCOption))
  2878  			}
  2879  			libc.Xfflush(tls, libc.X__stdoutp)
  2880  		}
  2881  		iClient = 0
  2882  		for __ccgo := true; __ccgo; __ccgo = rc != 0 && libc.PreIncInt32(&nTry, 1) < 60 && sqlite3.Xsqlite3_sleep(tls, 1000) > 0 {
  2883  			if nTry%5 == 4 {
  2884  				libc.Xprintf(tls, ts+2735,
  2885  					libc.VaList(bp+88, func() uintptr {
  2886  						if nTry > 5 {
  2887  							return ts + 2764
  2888  						}
  2889  						return ts + 1099
  2890  					}(), g.zDbFile))
  2891  			}
  2892  			rc = libc.Xunlink(tls, g.zDbFile)
  2893  			if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
  2894  				rc = 0
  2895  			}
  2896  		}
  2897  		if rc != 0 {
  2898  			fatalError(tls, ts+2771,
  2899  				libc.VaList(bp+104, g.zDbFile, nTry))
  2900  		}
  2901  		openFlags = openFlags | SQLITE_OPEN_CREATE
  2902  	}
  2903  	rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, uintptr(unsafe.Pointer(&g))+12, openFlags, g.zVfs)
  2904  	if rc != 0 {
  2905  		fatalError(tls, ts+2812, libc.VaList(bp+120, g.zDbFile))
  2906  	}
  2907  	if iTmout > 0 {
  2908  		sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout)
  2909  	}
  2910  
  2911  	if zJMode != 0 {
  2912  		runSql(tls, ts+2829, libc.VaList(bp+128, zJMode))
  2913  	}
  2914  	if !(g.bSync != 0) {
  2915  		trySql(tls, ts+2853, 0)
  2916  	}
  2917  	sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1)
  2918  	sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2919  		f func(*libc.TLS, uintptr, int32) int32
  2920  	}{busyHandler})), uintptr(0))
  2921  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2876, 0, SQLITE_UTF8, uintptr(0),
  2922  		*(*uintptr)(unsafe.Pointer(&struct {
  2923  			f func(*libc.TLS, uintptr, int32, uintptr)
  2924  		}{vfsNameFunc})), uintptr(0), uintptr(0))
  2925  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2884, 1, SQLITE_UTF8, uintptr(0),
  2926  		*(*uintptr)(unsafe.Pointer(&struct {
  2927  			f func(*libc.TLS, uintptr, int32, uintptr)
  2928  		}{evalFunc})), uintptr(0), uintptr(0))
  2929  	g.iTimeout = DEFAULT_TIMEOUT
  2930  	if g.bSqlTrace != 0 {
  2931  		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2932  			f func(*libc.TLS, uintptr, uintptr)
  2933  		}{sqlTraceCallback})), uintptr(0))
  2934  	}
  2935  	if iClient > 0 {
  2936  		if *(*int32)(unsafe.Pointer(bp + 232)) > 0 {
  2937  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*4)
  2938  		}
  2939  		if g.iTrace != 0 {
  2940  			logMessage(tls, ts+2889, 0)
  2941  		}
  2942  		for 1 != 0 {
  2943  			*(*uintptr)(unsafe.Pointer(bp + 244)) = uintptr(0)
  2944  			rc = startScript(tls, iClient, bp+236, bp+240, bp+244)
  2945  			if rc == SQLITE_DONE {
  2946  				break
  2947  			}
  2948  			if g.iTrace != 0 {
  2949  				logMessage(tls, ts+2902, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 244)), *(*int32)(unsafe.Pointer(bp + 240))))
  2950  			}
  2951  			runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(bp + 236)), *(*uintptr)(unsafe.Pointer(bp + 244)))
  2952  			if g.iTrace != 0 {
  2953  				logMessage(tls, ts+2916, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(bp + 244)), *(*int32)(unsafe.Pointer(bp + 240))))
  2954  			}
  2955  			finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 240)), 0)
  2956  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 244)))
  2957  			sqlite3.Xsqlite3_sleep(tls, 10)
  2958  		}
  2959  		if g.iTrace != 0 {
  2960  			logMessage(tls, ts+2928, 0)
  2961  		}
  2962  	} else {
  2963  		var pStmt uintptr
  2964  		var iTimeout int32
  2965  		if *(*int32)(unsafe.Pointer(bp + 232)) == 0 {
  2966  			fatalError(tls, ts+2939, 0)
  2967  		}
  2968  		if *(*int32)(unsafe.Pointer(bp + 232)) > 1 {
  2969  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*4)
  2970  		}
  2971  		runSql(tls,
  2972  			ts+2963, 0)
  2973  		*(*uintptr)(unsafe.Pointer(bp + 236)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)))
  2974  		for iRep = 1; iRep <= nRep; iRep++ {
  2975  			if g.iTrace != 0 {
  2976  				logMessage(tls, ts+3399, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + 2*4)), iRep))
  2977  			}
  2978  			runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 236)), *(*uintptr)(unsafe.Pointer(argv + 2*4)))
  2979  			if g.iTrace != 0 {
  2980  				logMessage(tls, ts+3427, libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + 2*4)), iRep))
  2981  			}
  2982  		}
  2983  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 236)))
  2984  		waitForClient(tls, 0, 2000, ts+3453)
  2985  		trySql(tls, ts+3473, 0)
  2986  		sqlite3.Xsqlite3_sleep(tls, 10)
  2987  		g.iTimeout = 0
  2988  		iTimeout = 1000
  2989  		for (libc.AssignInt32(&rc, trySql(tls, ts+3502, 0)) == SQLITE_BUSY ||
  2990  			rc == SQLITE_ROW) && iTimeout > 0 {
  2991  			sqlite3.Xsqlite3_sleep(tls, 10)
  2992  			iTimeout = iTimeout - 10
  2993  		}
  2994  		sqlite3.Xsqlite3_sleep(tls, 100)
  2995  		pStmt = prepareSql(tls, ts+3523, 0)
  2996  		iTimeout = 1000
  2997  		for libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY && iTimeout > 0 {
  2998  			sqlite3.Xsqlite3_sleep(tls, 10)
  2999  			iTimeout = iTimeout - 10
  3000  		}
  3001  		if rc == SQLITE_ROW {
  3002  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 80)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 0)
  3003  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 84)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 1)
  3004  		}
  3005  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  3006  	}
  3007  	sqlite3.Xsqlite3_close(tls, g.db)
  3008  	maybeClose(tls, g.pLog)
  3009  	maybeClose(tls, g.pErrLog)
  3010  	if iClient == 0 {
  3011  		libc.Xprintf(tls, ts+3558, libc.VaList(bp+200, g.nError, g.nTest))
  3012  		libc.Xprintf(tls, ts+3594, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv))))
  3013  		for i = 1; i < argc; i++ {
  3014  			libc.Xprintf(tls, ts+2317, libc.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))
  3015  		}
  3016  		libc.Xprintf(tls, ts+2321, 0)
  3017  	}
  3018  	return libc.Bool32(g.nError > 0)
  3019  }
  3020  
  3021  var ts1 = "%s%.*s\n\x00%s:ERROR: \x00%s:FATAL: \x00UPDATE client SET wantHalt=1;\x00%s: \x00main\x00timeout after %dms\x00[%.*s]\x00(info) %s\x00(errcode=%d) %s\x00%s\n%s\n\x00out of memory\x00 \x00nil\x00'\x00error(%d)\x00BEGIN IMMEDIATE\x00in startScript: %s\x00UPDATE counters SET nError=nError+%d, nTest=nTest+%d\x00SELECT 1 FROM client WHERE id=%d AND wantHalt\x00DELETE FROM client WHERE id=%d\x00COMMIT TRANSACTION;\x00SELECT script, id, name FROM task WHERE client=%d AND starttime IS NULL ORDER BY id LIMIT 1\x00%s\x00UPDATE task   SET starttime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00Waited over 30 seconds with no work.  Giving up.\x00DELETE FROM client WHERE id=%d; COMMIT;\x00COMMIT\x00UPDATE task   SET endtime=strftime('%%Y-%%m-%%d %%H:%%M:%%f','now') WHERE id=%d;\x00INSERT OR IGNORE INTO client VALUES(%d,0)\x00%s \"%s\" --client %d --trace %d\x00%z --sqltrace\x00%z --sync\x00%z --vfs \"%s\"\x00system('%q')\x00%z &\x00system() fails with error code %d\x00rb\x00cannot open \"%s\" for reading\x00--end\x00--endif\x00--else\x00--if\x00SELECT 1 FROM task WHERE client=%d   AND client IN (SELECT id FROM client)  AND endtime IS NULL\x00SELECT 1 FROM task WHERE client IN (SELECT id FROM client)   AND endtime IS NULL\x00\x00%stimeout waiting for client %d\x00%stimeout waiting for all clients\x00on\x00yes\x00off\x00no\x00unknown boolean: [%s]\x00%.*s\x00sleep\x00exit\x00testcase\x00finish\x00reset\x00match\x00line %d of %s:\nExpected [%.*s]\n     Got [%s]\x00glob\x00notglob\x00line %d of %s:\nExpected [%s]\n     Got [%s]\x00output\x00source\x00%.*s/%s\x00begin script [%s]\n\x00end script [%s]\n\x00print\x00if\x00SELECT %.*s\x00else\x00endif\x00start\x00wait\x00line %d of %s\n\x00task\x00line %d of %s: bad client number: %d\x00%s:%d\x00INSERT INTO task(client,script,name) VALUES(%d,'%q',%Q)\x00breakpoint\x00show-sql-errors\x00line %d of %s: unknown command --%s\x00command-line option \"--%s\" requires an argument\x00Usage: %s DATABASE ?OPTIONS? ?SCRIPT?\n\x00Options:\n   --errlog FILENAME           Write errors to FILENAME\n   --journalmode MODE          Use MODE as the journal_mode\n   --log FILENAME              Log messages to FILENAME\n   --quiet                     Suppress unnecessary output\n   --vfs NAME                  Use NAME as the VFS\n   --repeat N                  Repeat the test N times\n   --sqltrace                  Enable SQL tracing\n   --sync                      Enable synchronous disk writes\n   --timeout MILLISEC          Busy timeout is MILLISEC\n   --trace BOOLEAN             Enable or disable tracing\n\x00%s: unrecognized arguments:\x00 %s\x00\n\x00*.test\x002022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\x00SQLite library and header mismatch\nLibrary: %s\nHeader:  %s\n\x00%05d.mptest\x00journalmode\x00repeat\x00vfs\x00client\x00errlog\x00log\x00trace\x00quiet\x00timeout\x00sqltrace\x00sync\x00a\x00illegal client number: %d\n\x00%05d.client%02d\x00BEGIN: %s\x00With SQLite 3.39.3 2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8\n\x00-DSQLITE_%s\n\x00... %strying to unlink '%s'\n\x00still \x00unable to unlink '%s' after %d attempts\n\x00cannot open [%s]\x00PRAGMA journal_mode=%Q;\x00PRAGMA synchronous=OFF\x00vfsname\x00eval\x00start-client\x00begin %s (%d)\x00end %s (%d)\x00end-client\x00missing script filename\x00DROP TABLE IF EXISTS task;\nDROP TABLE IF EXISTS counters;\nDROP TABLE IF EXISTS client;\nCREATE TABLE task(\n  id INTEGER PRIMARY KEY,\n  name TEXT,\n  client INTEGER,\n  starttime DATE,\n  endtime DATE,\n  script TEXT\n);CREATE INDEX task_i1 ON task(client, starttime);\nCREATE INDEX task_i2 ON task(client, endtime);\nCREATE TABLE counters(nError,nTest);\nINSERT INTO counters VALUES(0,0);\nCREATE TABLE client(id INTEGER PRIMARY KEY, wantHalt);\n\x00begin script [%s] cycle %d\n\x00end script [%s] cycle %d\n\x00during shutdown...\n\x00UPDATE client SET wantHalt=1\x00SELECT 1 FROM client\x00SELECT nError, nTest FROM counters\x00Summary: %d errors out of %d tests\n\x00END: %s\x00"
  3022  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data