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

     1  // Code generated by 'ccgo -export-defines "" -ignore-unsupported-alignment -o internal/mptest/main_freebsd_arm.go -trace-translation-units testdata/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                       = 1000000
    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__TYPES_H_                   = 0
   771  	X_MKDTEMP_DECLARED                    = 0
   772  	X_MKNOD_DECLARED                      = 0
   773  	X_MKSTEMP_DECLARED                    = 0
   774  	X_MKTEMP_DECLARED                     = 0
   775  	X_MMAP_DECLARED                       = 0
   776  	X_MODE_T_DECLARED                     = 0
   777  	X_MQD_T_DECLARED                      = 0
   778  	X_NLINK_T_DECLARED                    = 0
   779  	X_Nonnull                             = 0
   780  	X_Null_unspecified                    = 0
   781  	X_Nullable                            = 0
   782  	X_OFF64_T_DECLARED                    = 0
   783  	X_OFF_T_DECLARED                      = 0
   784  	X_OPTRESET_DECLARED                   = 0
   785  	X_PC_ACL_EXTENDED                     = 59
   786  	X_PC_ACL_NFS4                         = 64
   787  	X_PC_ACL_PATH_MAX                     = 60
   788  	X_PC_ALLOC_SIZE_MIN                   = 10
   789  	X_PC_ASYNC_IO                         = 53
   790  	X_PC_CAP_PRESENT                      = 61
   791  	X_PC_CHOWN_RESTRICTED                 = 7
   792  	X_PC_FILESIZEBITS                     = 12
   793  	X_PC_INF_PRESENT                      = 62
   794  	X_PC_LINK_MAX                         = 1
   795  	X_PC_MAC_PRESENT                      = 63
   796  	X_PC_MAX_CANON                        = 2
   797  	X_PC_MAX_INPUT                        = 3
   798  	X_PC_MIN_HOLE_SIZE                    = 21
   799  	X_PC_NAME_MAX                         = 4
   800  	X_PC_NO_TRUNC                         = 8
   801  	X_PC_PATH_MAX                         = 5
   802  	X_PC_PIPE_BUF                         = 6
   803  	X_PC_PRIO_IO                          = 54
   804  	X_PC_REC_INCR_XFER_SIZE               = 14
   805  	X_PC_REC_MAX_XFER_SIZE                = 15
   806  	X_PC_REC_MIN_XFER_SIZE                = 16
   807  	X_PC_REC_XFER_ALIGN                   = 17
   808  	X_PC_SYMLINK_MAX                      = 18
   809  	X_PC_SYNC_IO                          = 55
   810  	X_PC_VDISABLE                         = 9
   811  	X_PDP_ENDIAN                          = 3412
   812  	X_PID_T_DECLARED                      = 0
   813  	X_POSIX2_CHAR_TERM                    = 1
   814  	X_POSIX2_C_BIND                       = 200112
   815  	X_POSIX2_C_DEV                        = -1
   816  	X_POSIX2_FORT_DEV                     = -1
   817  	X_POSIX2_FORT_RUN                     = 200112
   818  	X_POSIX2_LOCALEDEF                    = -1
   819  	X_POSIX2_PBS                          = -1
   820  	X_POSIX2_PBS_ACCOUNTING               = -1
   821  	X_POSIX2_PBS_CHECKPOINT               = -1
   822  	X_POSIX2_PBS_LOCATE                   = -1
   823  	X_POSIX2_PBS_MESSAGE                  = -1
   824  	X_POSIX2_PBS_TRACK                    = -1
   825  	X_POSIX2_SW_DEV                       = -1
   826  	X_POSIX2_UPE                          = 200112
   827  	X_POSIX2_VERSION                      = 199212
   828  	X_POSIX_ADVISORY_INFO                 = 200112
   829  	X_POSIX_ASYNCHRONOUS_IO               = 200112
   830  	X_POSIX_BARRIERS                      = 200112
   831  	X_POSIX_CHOWN_RESTRICTED              = 1
   832  	X_POSIX_CLOCK_SELECTION               = -1
   833  	X_POSIX_CPUTIME                       = 200112
   834  	X_POSIX_FSYNC                         = 200112
   835  	X_POSIX_IPV6                          = 0
   836  	X_POSIX_JOB_CONTROL                   = 1
   837  	X_POSIX_MAPPED_FILES                  = 200112
   838  	X_POSIX_MEMLOCK                       = -1
   839  	X_POSIX_MEMLOCK_RANGE                 = 200112
   840  	X_POSIX_MEMORY_PROTECTION             = 200112
   841  	X_POSIX_MESSAGE_PASSING               = 200112
   842  	X_POSIX_MONOTONIC_CLOCK               = 200112
   843  	X_POSIX_NO_TRUNC                      = 1
   844  	X_POSIX_PRIORITIZED_IO                = -1
   845  	X_POSIX_PRIORITY_SCHEDULING           = 0
   846  	X_POSIX_RAW_SOCKETS                   = 200112
   847  	X_POSIX_READER_WRITER_LOCKS           = 200112
   848  	X_POSIX_REALTIME_SIGNALS              = 200112
   849  	X_POSIX_REGEXP                        = 1
   850  	X_POSIX_SEMAPHORES                    = 200112
   851  	X_POSIX_SHARED_MEMORY_OBJECTS         = 200112
   852  	X_POSIX_SHELL                         = 1
   853  	X_POSIX_SPAWN                         = 200112
   854  	X_POSIX_SPIN_LOCKS                    = 200112
   855  	X_POSIX_SPORADIC_SERVER               = -1
   856  	X_POSIX_SYNCHRONIZED_IO               = -1
   857  	X_POSIX_THREADS                       = 200112
   858  	X_POSIX_THREAD_ATTR_STACKADDR         = 200112
   859  	X_POSIX_THREAD_ATTR_STACKSIZE         = 200112
   860  	X_POSIX_THREAD_CPUTIME                = 200112
   861  	X_POSIX_THREAD_PRIORITY_SCHEDULING    = 200112
   862  	X_POSIX_THREAD_PRIO_INHERIT           = 200112
   863  	X_POSIX_THREAD_PRIO_PROTECT           = 200112
   864  	X_POSIX_THREAD_PROCESS_SHARED         = 200112
   865  	X_POSIX_THREAD_SAFE_FUNCTIONS         = -1
   866  	X_POSIX_THREAD_SPORADIC_SERVER        = -1
   867  	X_POSIX_TIMEOUTS                      = 200112
   868  	X_POSIX_TIMERS                        = 200112
   869  	X_POSIX_TRACE                         = -1
   870  	X_POSIX_TRACE_EVENT_FILTER            = -1
   871  	X_POSIX_TRACE_INHERIT                 = -1
   872  	X_POSIX_TRACE_LOG                     = -1
   873  	X_POSIX_TYPED_MEMORY_OBJECTS          = -1
   874  	X_POSIX_VDISABLE                      = 0xff
   875  	X_POSIX_VERSION                       = 200112
   876  	X_PTHREAD_T_DECLARED                  = 0
   877  	X_QUAD_HIGHWORD                       = 1
   878  	X_QUAD_LOWWORD                        = 0
   879  	X_RLIM_T_DECLARED                     = 0
   880  	X_RSIZE_T_DEFINED                     = 0
   881  	X_RUNETYPE_H_                         = 0
   882  	X_RUNE_MAGIC_1                        = "RuneMagi"
   883  	X_RUNE_T_DECLARED                     = 0
   884  	X_SC_2_CHAR_TERM                      = 20
   885  	X_SC_2_C_BIND                         = 18
   886  	X_SC_2_C_DEV                          = 19
   887  	X_SC_2_FORT_DEV                       = 21
   888  	X_SC_2_FORT_RUN                       = 22
   889  	X_SC_2_LOCALEDEF                      = 23
   890  	X_SC_2_PBS                            = 59
   891  	X_SC_2_PBS_ACCOUNTING                 = 60
   892  	X_SC_2_PBS_CHECKPOINT                 = 61
   893  	X_SC_2_PBS_LOCATE                     = 62
   894  	X_SC_2_PBS_MESSAGE                    = 63
   895  	X_SC_2_PBS_TRACK                      = 64
   896  	X_SC_2_SW_DEV                         = 24
   897  	X_SC_2_UPE                            = 25
   898  	X_SC_2_VERSION                        = 17
   899  	X_SC_ADVISORY_INFO                    = 65
   900  	X_SC_AIO_LISTIO_MAX                   = 42
   901  	X_SC_AIO_MAX                          = 43
   902  	X_SC_AIO_PRIO_DELTA_MAX               = 44
   903  	X_SC_ARG_MAX                          = 1
   904  	X_SC_ASYNCHRONOUS_IO                  = 28
   905  	X_SC_ATEXIT_MAX                       = 107
   906  	X_SC_BARRIERS                         = 66
   907  	X_SC_BC_BASE_MAX                      = 9
   908  	X_SC_BC_DIM_MAX                       = 10
   909  	X_SC_BC_SCALE_MAX                     = 11
   910  	X_SC_BC_STRING_MAX                    = 12
   911  	X_SC_CHILD_MAX                        = 2
   912  	X_SC_CLK_TCK                          = 3
   913  	X_SC_CLOCK_SELECTION                  = 67
   914  	X_SC_COLL_WEIGHTS_MAX                 = 13
   915  	X_SC_CPUSET_SIZE                      = 122
   916  	X_SC_CPUTIME                          = 68
   917  	X_SC_DELAYTIMER_MAX                   = 45
   918  	X_SC_EXPR_NEST_MAX                    = 14
   919  	X_SC_FILE_LOCKING                     = 69
   920  	X_SC_FSYNC                            = 38
   921  	X_SC_GETGR_R_SIZE_MAX                 = 70
   922  	X_SC_GETPW_R_SIZE_MAX                 = 71
   923  	X_SC_HOST_NAME_MAX                    = 72
   924  	X_SC_IOV_MAX                          = 56
   925  	X_SC_IPV6                             = 118
   926  	X_SC_JOB_CONTROL                      = 6
   927  	X_SC_LINE_MAX                         = 15
   928  	X_SC_LOGIN_NAME_MAX                   = 73
   929  	X_SC_MAPPED_FILES                     = 29
   930  	X_SC_MEMLOCK                          = 30
   931  	X_SC_MEMLOCK_RANGE                    = 31
   932  	X_SC_MEMORY_PROTECTION                = 32
   933  	X_SC_MESSAGE_PASSING                  = 33
   934  	X_SC_MONOTONIC_CLOCK                  = 74
   935  	X_SC_MQ_OPEN_MAX                      = 46
   936  	X_SC_MQ_PRIO_MAX                      = 75
   937  	X_SC_NGROUPS_MAX                      = 4
   938  	X_SC_NPROCESSORS_CONF                 = 57
   939  	X_SC_NPROCESSORS_ONLN                 = 58
   940  	X_SC_OPEN_MAX                         = 5
   941  	X_SC_PAGESIZE                         = 47
   942  	X_SC_PAGE_SIZE                        = 47
   943  	X_SC_PHYS_PAGES                       = 121
   944  	X_SC_PRIORITIZED_IO                   = 34
   945  	X_SC_PRIORITY_SCHEDULING              = 35
   946  	X_SC_RAW_SOCKETS                      = 119
   947  	X_SC_READER_WRITER_LOCKS              = 76
   948  	X_SC_REALTIME_SIGNALS                 = 36
   949  	X_SC_REGEXP                           = 77
   950  	X_SC_RE_DUP_MAX                       = 16
   951  	X_SC_RTSIG_MAX                        = 48
   952  	X_SC_SAVED_IDS                        = 7
   953  	X_SC_SEMAPHORES                       = 37
   954  	X_SC_SEM_NSEMS_MAX                    = 49
   955  	X_SC_SEM_VALUE_MAX                    = 50
   956  	X_SC_SHARED_MEMORY_OBJECTS            = 39
   957  	X_SC_SHELL                            = 78
   958  	X_SC_SIGQUEUE_MAX                     = 51
   959  	X_SC_SPAWN                            = 79
   960  	X_SC_SPIN_LOCKS                       = 80
   961  	X_SC_SPORADIC_SERVER                  = 81
   962  	X_SC_STREAM_MAX                       = 26
   963  	X_SC_SYMLOOP_MAX                      = 120
   964  	X_SC_SYNCHRONIZED_IO                  = 40
   965  	X_SC_THREADS                          = 96
   966  	X_SC_THREAD_ATTR_STACKADDR            = 82
   967  	X_SC_THREAD_ATTR_STACKSIZE            = 83
   968  	X_SC_THREAD_CPUTIME                   = 84
   969  	X_SC_THREAD_DESTRUCTOR_ITERATIONS     = 85
   970  	X_SC_THREAD_KEYS_MAX                  = 86
   971  	X_SC_THREAD_PRIORITY_SCHEDULING       = 89
   972  	X_SC_THREAD_PRIO_INHERIT              = 87
   973  	X_SC_THREAD_PRIO_PROTECT              = 88
   974  	X_SC_THREAD_PROCESS_SHARED            = 90
   975  	X_SC_THREAD_SAFE_FUNCTIONS            = 91
   976  	X_SC_THREAD_SPORADIC_SERVER           = 92
   977  	X_SC_THREAD_STACK_MIN                 = 93
   978  	X_SC_THREAD_THREADS_MAX               = 94
   979  	X_SC_TIMEOUTS                         = 95
   980  	X_SC_TIMERS                           = 41
   981  	X_SC_TIMER_MAX                        = 52
   982  	X_SC_TRACE                            = 97
   983  	X_SC_TRACE_EVENT_FILTER               = 98
   984  	X_SC_TRACE_INHERIT                    = 99
   985  	X_SC_TRACE_LOG                        = 100
   986  	X_SC_TTY_NAME_MAX                     = 101
   987  	X_SC_TYPED_MEMORY_OBJECTS             = 102
   988  	X_SC_TZNAME_MAX                       = 27
   989  	X_SC_V6_ILP32_OFF32                   = 103
   990  	X_SC_V6_ILP32_OFFBIG                  = 104
   991  	X_SC_V6_LP64_OFF64                    = 105
   992  	X_SC_V6_LPBIG_OFFBIG                  = 106
   993  	X_SC_VERSION                          = 8
   994  	X_SC_XOPEN_CRYPT                      = 108
   995  	X_SC_XOPEN_ENH_I18N                   = 109
   996  	X_SC_XOPEN_LEGACY                     = 110
   997  	X_SC_XOPEN_REALTIME                   = 111
   998  	X_SC_XOPEN_REALTIME_THREADS           = 112
   999  	X_SC_XOPEN_SHM                        = 113
  1000  	X_SC_XOPEN_STREAMS                    = 114
  1001  	X_SC_XOPEN_UNIX                       = 115
  1002  	X_SC_XOPEN_VERSION                    = 116
  1003  	X_SC_XOPEN_XCU_VERSION                = 117
  1004  	X_SELECT_DECLARED                     = 0
  1005  	X_SIGSET_T_DECLARED                   = 0
  1006  	X_SIG_MAXSIG                          = 128
  1007  	X_SIG_WORDS                           = 4
  1008  	X_SIZE_T_DECLARED                     = 0
  1009  	X_SQLITE3RTREE_H_                     = 0
  1010  	X_SSIZE_T_DECLARED                    = 0
  1011  	X_STDFILE_DECLARED                    = 0
  1012  	X_STDIO_H_                            = 0
  1013  	X_STDLIB_H_                           = 0
  1014  	X_STDSTREAM_DECLARED                  = 0
  1015  	X_STRINGS_H_                          = 0
  1016  	X_STRING_H_                           = 0
  1017  	X_SUSECONDS_T_DECLARED                = 0
  1018  	X_SWAB_DECLARED                       = 0
  1019  	X_SYS_CDEFS_H_                        = 0
  1020  	X_SYS_ERRNO_H_                        = 0
  1021  	X_SYS_SELECT_H_                       = 0
  1022  	X_SYS_TIMESPEC_H_                     = 0
  1023  	X_SYS_TYPES_H_                        = 0
  1024  	X_SYS_UNISTD_H_                       = 0
  1025  	X_SYS__ENDIAN_H_                      = 0
  1026  	X_SYS__PTHREADTYPES_H_                = 0
  1027  	X_SYS__SIGSET_H_                      = 0
  1028  	X_SYS__STDARG_H_                      = 0
  1029  	X_SYS__STDINT_H_                      = 0
  1030  	X_SYS__TIMESPEC_H_                    = 0
  1031  	X_SYS__TIMEVAL_H_                     = 0
  1032  	X_SYS__TYPES_H_                       = 0
  1033  	X_TIMER_T_DECLARED                    = 0
  1034  	X_TIME_T_DECLARED                     = 0
  1035  	X_TRUNCATE_DECLARED                   = 0
  1036  	X_UID_T_DECLARED                      = 0
  1037  	X_UINT16_T_DECLARED                   = 0
  1038  	X_UINT32_T_DECLARED                   = 0
  1039  	X_UINT64_T_DECLARED                   = 0
  1040  	X_UINT8_T_DECLARED                    = 0
  1041  	X_UINTMAX_T_DECLARED                  = 0
  1042  	X_UINTPTR_T_DECLARED                  = 0
  1043  	X_UNISTD_H_                           = 0
  1044  	X_USECONDS_T_DECLARED                 = 0
  1045  	X_V6_ILP32_OFF32                      = -1
  1046  	X_V6_ILP32_OFFBIG                     = 0
  1047  	X_V6_LP64_OFF64                       = 0
  1048  	X_V6_LPBIG_OFFBIG                     = -1
  1049  	X_VA_LIST_DECLARED                    = 0
  1050  	X_WCHAR_T_DECLARED                    = 0
  1051  	X_XLOCALE_CTYPE_H                     = 0
  1052  	X_XLOCALE_RUN_FUNCTIONS_DEFINED       = 1
  1053  	X_XLOCALE_STRING1_H                   = 0
  1054  	X_XLOCALE_STRINGS1_H                  = 0
  1055  	X_XOPEN_CRYPT                         = -1
  1056  	X_XOPEN_ENH_I18N                      = -1
  1057  	X_XOPEN_LEGACY                        = -1
  1058  	X_XOPEN_REALTIME                      = -1
  1059  	X_XOPEN_REALTIME_THREADS              = -1
  1060  	X_XOPEN_SHM                           = 1
  1061  	X_XOPEN_STREAMS                       = -1
  1062  	X_XOPEN_UNIX                          = -1
  1063  	Unix                                  = 1
  1064  )
  1065  
  1066  type ptrdiff_t = int32
  1067  
  1068  type size_t = uint32
  1069  
  1070  type wchar_t = uint32
  1071  
  1072  type va_list = uintptr
  1073  
  1074  type sqlite_int64 = int64
  1075  type sqlite_uint64 = uint64
  1076  type sqlite3_int64 = sqlite_int64
  1077  type sqlite3_uint64 = sqlite_uint64
  1078  
  1079  type sqlite3_callback = uintptr
  1080  
  1081  type sqlite3_file1 = struct{ pMethods uintptr }
  1082  
  1083  type sqlite3_file = sqlite3_file1
  1084  type sqlite3_io_methods1 = struct {
  1085  	iVersion               int32
  1086  	xClose                 uintptr
  1087  	xRead                  uintptr
  1088  	xWrite                 uintptr
  1089  	xTruncate              uintptr
  1090  	xSync                  uintptr
  1091  	xFileSize              uintptr
  1092  	xLock                  uintptr
  1093  	xUnlock                uintptr
  1094  	xCheckReservedLock     uintptr
  1095  	xFileControl           uintptr
  1096  	xSectorSize            uintptr
  1097  	xDeviceCharacteristics uintptr
  1098  	xShmMap                uintptr
  1099  	xShmLock               uintptr
  1100  	xShmBarrier            uintptr
  1101  	xShmUnmap              uintptr
  1102  	xFetch                 uintptr
  1103  	xUnfetch               uintptr
  1104  }
  1105  
  1106  type sqlite3_io_methods = sqlite3_io_methods1
  1107  
  1108  type sqlite3_vfs1 = struct {
  1109  	iVersion          int32
  1110  	szOsFile          int32
  1111  	mxPathname        int32
  1112  	pNext             uintptr
  1113  	zName             uintptr
  1114  	pAppData          uintptr
  1115  	xOpen             uintptr
  1116  	xDelete           uintptr
  1117  	xAccess           uintptr
  1118  	xFullPathname     uintptr
  1119  	xDlOpen           uintptr
  1120  	xDlError          uintptr
  1121  	xDlSym            uintptr
  1122  	xDlClose          uintptr
  1123  	xRandomness       uintptr
  1124  	xSleep            uintptr
  1125  	xCurrentTime      uintptr
  1126  	xGetLastError     uintptr
  1127  	xCurrentTimeInt64 uintptr
  1128  	xSetSystemCall    uintptr
  1129  	xGetSystemCall    uintptr
  1130  	xNextSystemCall   uintptr
  1131  }
  1132  
  1133  type sqlite3_vfs = sqlite3_vfs1
  1134  type sqlite3_syscall_ptr = uintptr
  1135  
  1136  type sqlite3_mem_methods1 = struct {
  1137  	xMalloc   uintptr
  1138  	xFree     uintptr
  1139  	xRealloc  uintptr
  1140  	xSize     uintptr
  1141  	xRoundup  uintptr
  1142  	xInit     uintptr
  1143  	xShutdown uintptr
  1144  	pAppData  uintptr
  1145  }
  1146  
  1147  type sqlite3_mem_methods = sqlite3_mem_methods1
  1148  
  1149  type sqlite3_destructor_type = uintptr
  1150  
  1151  type sqlite3_vtab1 = struct {
  1152  	pModule uintptr
  1153  	nRef    int32
  1154  	zErrMsg uintptr
  1155  }
  1156  
  1157  type sqlite3_vtab = sqlite3_vtab1
  1158  type sqlite3_index_info1 = struct {
  1159  	nConstraint      int32
  1160  	aConstraint      uintptr
  1161  	nOrderBy         int32
  1162  	aOrderBy         uintptr
  1163  	aConstraintUsage uintptr
  1164  	idxNum           int32
  1165  	idxStr           uintptr
  1166  	needToFreeIdxStr int32
  1167  	orderByConsumed  int32
  1168  	_                [4]byte
  1169  	estimatedCost    float64
  1170  	estimatedRows    sqlite3_int64
  1171  	idxFlags         int32
  1172  	_                [4]byte
  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  	_             [4]byte
  1315  }
  1316  
  1317  type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
  1318  
  1319  type sqlite3_rtree_dbl = float64
  1320  
  1321  type Fts5ExtensionApi1 = struct {
  1322  	iVersion           int32
  1323  	xUserData          uintptr
  1324  	xColumnCount       uintptr
  1325  	xRowCount          uintptr
  1326  	xColumnTotalSize   uintptr
  1327  	xTokenize          uintptr
  1328  	xPhraseCount       uintptr
  1329  	xPhraseSize        uintptr
  1330  	xInstCount         uintptr
  1331  	xInst              uintptr
  1332  	xRowid             uintptr
  1333  	xColumnText        uintptr
  1334  	xColumnSize        uintptr
  1335  	xQueryPhrase       uintptr
  1336  	xSetAuxdata        uintptr
  1337  	xGetAuxdata        uintptr
  1338  	xPhraseFirst       uintptr
  1339  	xPhraseNext        uintptr
  1340  	xPhraseFirstColumn uintptr
  1341  	xPhraseNextColumn  uintptr
  1342  }
  1343  
  1344  type Fts5ExtensionApi = Fts5ExtensionApi1
  1345  type Fts5PhraseIter1 = struct {
  1346  	a uintptr
  1347  	b uintptr
  1348  }
  1349  
  1350  type Fts5PhraseIter = Fts5PhraseIter1
  1351  
  1352  type fts5_extension_function = uintptr
  1353  type fts5_tokenizer1 = struct {
  1354  	xCreate   uintptr
  1355  	xDelete   uintptr
  1356  	xTokenize uintptr
  1357  }
  1358  
  1359  type fts5_tokenizer = fts5_tokenizer1
  1360  
  1361  type fts5_api1 = struct {
  1362  	iVersion         int32
  1363  	xCreateTokenizer uintptr
  1364  	xFindTokenizer   uintptr
  1365  	xCreateFunction  uintptr
  1366  }
  1367  
  1368  type fts5_api = fts5_api1
  1369  
  1370  type fpos_t = int64
  1371  
  1372  type rsize_t = size_t
  1373  
  1374  type off_t = int64
  1375  type ssize_t = int32
  1376  
  1377  type off64_t = int64
  1378  
  1379  type __sbuf = struct {
  1380  	_base uintptr
  1381  	_size int32
  1382  }
  1383  
  1384  type __sFILE = struct {
  1385  	_p     uintptr
  1386  	_r     int32
  1387  	_w     int32
  1388  	_flags int16
  1389  	_file  int16
  1390  	_bf    struct {
  1391  		_base uintptr
  1392  		_size int32
  1393  	}
  1394  	_lbfsize int32
  1395  	_cookie  uintptr
  1396  	_close   uintptr
  1397  	_read    uintptr
  1398  	_seek    uintptr
  1399  	_write   uintptr
  1400  	_ub      struct {
  1401  		_base uintptr
  1402  		_size int32
  1403  	}
  1404  	_up   uintptr
  1405  	_ur   int32
  1406  	_ubuf [3]uint8
  1407  	_nbuf [1]uint8
  1408  	_lb   struct {
  1409  		_base uintptr
  1410  		_size int32
  1411  	}
  1412  	_blksize     int32
  1413  	_offset      fpos_t
  1414  	_fl_mutex    uintptr
  1415  	_fl_owner    uintptr
  1416  	_fl_count    int32
  1417  	_orientation int32
  1418  	_mbstate     struct {
  1419  		_          [0]uint64
  1420  		__mbstate8 [128]uint8
  1421  	}
  1422  	_flags2 int32
  1423  	_       [4]byte
  1424  }
  1425  
  1426  type FILE = __sFILE
  1427  type cookie_io_functions_t = struct {
  1428  	read  uintptr
  1429  	write uintptr
  1430  	seek  uintptr
  1431  	close uintptr
  1432  }
  1433  type pthread_once = struct {
  1434  	state int32
  1435  	mutex pthread_mutex_t
  1436  }
  1437  
  1438  type pthread_t = uintptr
  1439  type pthread_attr_t = uintptr
  1440  type pthread_mutex_t = uintptr
  1441  type pthread_mutexattr_t = uintptr
  1442  type pthread_cond_t = uintptr
  1443  type pthread_condattr_t = uintptr
  1444  type pthread_key_t = int32
  1445  type pthread_once_t = pthread_once
  1446  type pthread_rwlock_t = uintptr
  1447  type pthread_rwlockattr_t = uintptr
  1448  type pthread_barrier_t = uintptr
  1449  type pthread_barrierattr_t = uintptr
  1450  type pthread_spinlock_t = uintptr
  1451  
  1452  type pthread_addr_t = uintptr
  1453  type pthread_startroutine_t = uintptr
  1454  
  1455  type u_char = uint8
  1456  type u_short = uint16
  1457  type u_int = uint32
  1458  type u_long = uint32
  1459  type ushort = uint16
  1460  type uint = uint32
  1461  
  1462  type int8_t = int8
  1463  
  1464  type int16_t = int16
  1465  
  1466  type int32_t = int32
  1467  
  1468  type int64_t = int64
  1469  
  1470  type uint8_t = uint8
  1471  
  1472  type uint16_t = uint16
  1473  
  1474  type uint32_t = uint32
  1475  
  1476  type uint64_t = uint64
  1477  
  1478  type intptr_t = int32
  1479  type uintptr_t = uint32
  1480  type intmax_t = int64
  1481  type uintmax_t = uint64
  1482  
  1483  type u_int8_t = uint8
  1484  type u_int16_t = uint16
  1485  type u_int32_t = uint32
  1486  type u_int64_t = uint64
  1487  
  1488  type u_quad_t = uint64
  1489  type quad_t = int64
  1490  type qaddr_t = uintptr
  1491  
  1492  type caddr_t = uintptr
  1493  type c_caddr_t = uintptr
  1494  
  1495  type blksize_t = int32
  1496  
  1497  type cpuwhich_t = int32
  1498  type cpulevel_t = int32
  1499  type cpusetid_t = int32
  1500  
  1501  type blkcnt_t = int64
  1502  
  1503  type clock_t = uint32
  1504  
  1505  type clockid_t = int32
  1506  
  1507  type critical_t = int32
  1508  type daddr_t = int64
  1509  
  1510  type dev_t = uint64
  1511  
  1512  type fflags_t = uint32
  1513  
  1514  type fixpt_t = uint32
  1515  
  1516  type fsblkcnt_t = uint64
  1517  type fsfilcnt_t = uint64
  1518  
  1519  type gid_t = uint32
  1520  
  1521  type in_addr_t = uint32
  1522  
  1523  type in_port_t = uint16
  1524  
  1525  type id_t = int64
  1526  
  1527  type ino_t = uint64
  1528  
  1529  type key_t = int32
  1530  
  1531  type lwpid_t = int32
  1532  
  1533  type mode_t = uint16
  1534  
  1535  type accmode_t = int32
  1536  
  1537  type nlink_t = uint64
  1538  
  1539  type pid_t = int32
  1540  
  1541  type register_t = int32
  1542  
  1543  type rlim_t = int64
  1544  
  1545  type sbintime_t = int64
  1546  
  1547  type segsz_t = int32
  1548  
  1549  type suseconds_t = int32
  1550  
  1551  type time_t = int64
  1552  
  1553  type timer_t = uintptr
  1554  
  1555  type mqd_t = uintptr
  1556  
  1557  type u_register_t = uint32
  1558  
  1559  type uid_t = uint32
  1560  
  1561  type useconds_t = uint32
  1562  
  1563  type cap_ioctl_t = uint32
  1564  
  1565  type kpaddr_t = uint64
  1566  type kvaddr_t = uint64
  1567  type ksize_t = uint64
  1568  type kssize_t = int64
  1569  
  1570  type vm_offset_t = uint32
  1571  type vm_ooffset_t = uint64
  1572  type vm_paddr_t = uint32
  1573  type vm_pindex_t = uint64
  1574  type vm_size_t = uint32
  1575  
  1576  type rman_res_t = uint64
  1577  
  1578  func __bitcount32(tls *libc.TLS, _x uint32) uint32 {
  1579  	_x = _x&uint32(0x55555555) + _x&0xaaaaaaaa>>1
  1580  	_x = _x&uint32(0x33333333) + _x&0xcccccccc>>2
  1581  	_x = (_x + _x>>4) & uint32(0x0f0f0f0f)
  1582  	_x = _x + _x>>8
  1583  	_x = (_x + _x>>16) & uint32(0x000000ff)
  1584  	return _x
  1585  }
  1586  
  1587  type __sigset = struct{ __bits [4]uint32 }
  1588  
  1589  type timeval = struct {
  1590  	tv_sec  time_t
  1591  	tv_usec suseconds_t
  1592  	_       [4]byte
  1593  }
  1594  
  1595  type timespec = struct {
  1596  	tv_sec  time_t
  1597  	tv_nsec int32
  1598  	_       [4]byte
  1599  }
  1600  
  1601  type itimerspec = struct {
  1602  	it_interval struct {
  1603  		tv_sec  time_t
  1604  		tv_nsec int32
  1605  		_       [4]byte
  1606  	}
  1607  	it_value struct {
  1608  		tv_sec  time_t
  1609  		tv_nsec int32
  1610  		_       [4]byte
  1611  	}
  1612  }
  1613  
  1614  type fd_mask = uint32
  1615  
  1616  type sigset_t = __sigset
  1617  
  1618  type fd_set1 = struct{ __fds_bits [32]uint32 }
  1619  
  1620  type fd_set = fd_set1
  1621  
  1622  type crypt_data = struct {
  1623  	initialized int32
  1624  	__buf       [256]uint8
  1625  }
  1626  
  1627  type errno_t = int32
  1628  
  1629  type rune_t = int32
  1630  
  1631  type div_t = struct {
  1632  	quot int32
  1633  	rem  int32
  1634  }
  1635  
  1636  type ldiv_t = struct {
  1637  	quot int32
  1638  	rem  int32
  1639  }
  1640  
  1641  type lldiv_t = struct {
  1642  	quot int64
  1643  	rem  int64
  1644  }
  1645  
  1646  type constraint_handler_t = uintptr
  1647  
  1648  type locale_t = uintptr
  1649  
  1650  type _RuneEntry = struct {
  1651  	__min   int32
  1652  	__max   int32
  1653  	__map   int32
  1654  	__types uintptr
  1655  }
  1656  
  1657  type _RuneRange = struct {
  1658  	__nranges int32
  1659  	__ranges  uintptr
  1660  }
  1661  
  1662  type _RuneLocale = struct {
  1663  	__magic        [8]uint8
  1664  	__encoding     [32]uint8
  1665  	__sgetrune     uintptr
  1666  	__sputrune     uintptr
  1667  	__invalid_rune int32
  1668  	__runetype     [256]uint32
  1669  	__maplower     [256]int32
  1670  	__mapupper     [256]int32
  1671  	__runetype_ext _RuneRange
  1672  	__maplower_ext _RuneRange
  1673  	__mapupper_ext _RuneRange
  1674  	__variable     uintptr
  1675  	__variable_len int32
  1676  }
  1677  
  1678  func __getCurrentRuneLocale(tls *libc.TLS) uintptr {
  1679  	if libc.X_ThreadRuneLocale != 0 {
  1680  		return libc.X_ThreadRuneLocale
  1681  	}
  1682  	return libc.X_CurrentRuneLocale
  1683  }
  1684  
  1685  func __maskrune(tls *libc.TLS, _c int32, _f uint32) int32 {
  1686  	return int32(func() uint32 {
  1687  		if _c < 0 || _c >= int32(1)<<8 {
  1688  			return libc.X___runetype(tls, _c)
  1689  		}
  1690  		return *(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4))
  1691  	}() & _f)
  1692  }
  1693  
  1694  func __sbmaskrune(tls *libc.TLS, _c int32, _f uint32) int32 {
  1695  	if _c < 0 || _c >= libc.X__mb_sb_limit {
  1696  		return 0
  1697  	}
  1698  	return int32(*(*uint32)(unsafe.Pointer(__getCurrentRuneLocale(tls) + 52 + uintptr(_c)*4)) & _f)
  1699  }
  1700  
  1701  func __sbistype(tls *libc.TLS, _c int32, _f uint32) int32 {
  1702  	return libc.BoolInt32(!!(__sbmaskrune(tls, _c, _f) != 0))
  1703  }
  1704  
  1705  func __sbmaskrune_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 {
  1706  	bp := tls.Alloc(4)
  1707  	defer tls.Free(4)
  1708  
  1709  	var runes uintptr = libc.X__runes_for_locale(tls, __loc, bp)
  1710  	if __c < 0 || __c >= *(*int32)(unsafe.Pointer(bp)) {
  1711  		return 0
  1712  	}
  1713  	return int32(*(*uint32)(unsafe.Pointer(runes + 52 + uintptr(__c)*4)) & __f)
  1714  }
  1715  
  1716  func __sbistype_l(tls *libc.TLS, __c int32, __f uint32, __loc locale_t) int32 {
  1717  	return libc.BoolInt32(!!(__sbmaskrune_l(tls, __c, __f, __loc) != 0))
  1718  }
  1719  
  1720  type Global = struct {
  1721  	argv0            uintptr
  1722  	zVfs             uintptr
  1723  	zDbFile          uintptr
  1724  	db               uintptr
  1725  	zErrLog          uintptr
  1726  	pErrLog          uintptr
  1727  	zLog             uintptr
  1728  	pLog             uintptr
  1729  	zName            [32]uint8
  1730  	taskId           int32
  1731  	iTrace           int32
  1732  	bSqlTrace        int32
  1733  	bIgnoreSqlErrors int32
  1734  	nError           int32
  1735  	nTest            int32
  1736  	iTimeout         int32
  1737  	bSync            int32
  1738  }
  1739  
  1740  var g Global
  1741  
  1742  func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) {
  1743  	bp := tls.Alloc(24)
  1744  	defer tls.Free(24)
  1745  
  1746  	for zMsg != 0 && *(*uint8)(unsafe.Pointer(zMsg)) != 0 {
  1747  		var i int32
  1748  		for i = 0; *(*uint8)(unsafe.Pointer(zMsg + uintptr(i))) != 0 && int32(*(*uint8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\n' && int32(*(*uint8)(unsafe.Pointer(zMsg + uintptr(i)))) != '\r'; i++ {
  1749  		}
  1750  		libc.Xfprintf(tls, pOut, ts, libc.VaList(bp, zPrefix, i, zMsg))
  1751  		zMsg += uintptr(i)
  1752  		for int32(*(*uint8)(unsafe.Pointer(zMsg))) == '\n' || int32(*(*uint8)(unsafe.Pointer(zMsg))) == '\r' {
  1753  			zMsg++
  1754  		}
  1755  	}
  1756  }
  1757  
  1758  func safe_strcmp(tls *libc.TLS, a uintptr, b uintptr) int32 {
  1759  	if a == b {
  1760  		return 0
  1761  	}
  1762  	if a == uintptr(0) {
  1763  		return -1
  1764  	}
  1765  	if b == uintptr(0) {
  1766  		return 1
  1767  	}
  1768  	return libc.Xstrcmp(tls, a, b)
  1769  }
  1770  
  1771  func strglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 {
  1772  	var c int32
  1773  	var c2 int32
  1774  	var invert int32
  1775  	var seen int32
  1776  
  1777  	for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) != 0 {
  1778  		if c == '*' {
  1779  			for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) == '*' || c == '?' {
  1780  				if c == '?' && int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1781  					return 0
  1782  				}
  1783  			}
  1784  			if c == 0 {
  1785  				return 1
  1786  			} else if c == '[' {
  1787  				for *(*uint8)(unsafe.Pointer(z)) != 0 && strglob(tls, zGlob-uintptr(1), z) != 0 {
  1788  					z++
  1789  				}
  1790  				return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(z))) != 0)
  1791  			}
  1792  			for libc.AssignInt32(&c2, int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) != 0 {
  1793  				for c2 != c {
  1794  					c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1795  					if c2 == 0 {
  1796  						return 0
  1797  					}
  1798  				}
  1799  				if strglob(tls, zGlob, z) != 0 {
  1800  					return 1
  1801  				}
  1802  			}
  1803  			return 0
  1804  		} else if c == '?' {
  1805  			if int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
  1806  				return 0
  1807  			}
  1808  		} else if c == '[' {
  1809  			var prior_c int32 = 0
  1810  			seen = 0
  1811  			invert = 0
  1812  			c = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
  1813  			if c == 0 {
  1814  				return 0
  1815  			}
  1816  			c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1817  			if c2 == '^' {
  1818  				invert = 1
  1819  				c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1820  			}
  1821  			if c2 == ']' {
  1822  				if c == ']' {
  1823  					seen = 1
  1824  				}
  1825  				c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1826  			}
  1827  			for c2 != 0 && c2 != ']' {
  1828  				if c2 == '-' && int32(*(*uint8)(unsafe.Pointer(zGlob))) != ']' && int32(*(*uint8)(unsafe.Pointer(zGlob))) != 0 && prior_c > 0 {
  1829  					c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1830  					if c >= prior_c && c <= c2 {
  1831  						seen = 1
  1832  					}
  1833  					prior_c = 0
  1834  				} else {
  1835  					if c == c2 {
  1836  						seen = 1
  1837  					}
  1838  					prior_c = c2
  1839  				}
  1840  				c2 = int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
  1841  			}
  1842  			if c2 == 0 || seen^invert == 0 {
  1843  				return 0
  1844  			}
  1845  		} else if c == '#' {
  1846  			if (int32(*(*uint8)(unsafe.Pointer(z))) == '-' || int32(*(*uint8)(unsafe.Pointer(z))) == '+') && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z + 1))), uint32(X_CTYPE_D)) != 0 {
  1847  				z++
  1848  			}
  1849  			if !(__sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z))), uint32(X_CTYPE_D)) != 0) {
  1850  				return 0
  1851  			}
  1852  			z++
  1853  			for __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z))), uint32(X_CTYPE_D)) != 0 {
  1854  				z++
  1855  			}
  1856  		} else {
  1857  			if c != int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) {
  1858  				return 0
  1859  			}
  1860  		}
  1861  	}
  1862  	return libc.Bool32(int32(*(*uint8)(unsafe.Pointer(z))) == 0)
  1863  }
  1864  
  1865  func maybeClose(tls *libc.TLS, pOut uintptr) {
  1866  	if pOut != libc.X__stdoutp && pOut != libc.X__stderrp {
  1867  		libc.Xfclose(tls, pOut)
  1868  	}
  1869  }
  1870  
  1871  func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1872  	bp := tls.Alloc(38)
  1873  	defer tls.Free(38)
  1874  
  1875  	var ap va_list
  1876  	_ = ap
  1877  	var zMsg uintptr
  1878  
  1879  	ap = va
  1880  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1881  	_ = ap
  1882  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+8, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32))
  1883  	if g.pLog != 0 {
  1884  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1885  		libc.Xfflush(tls, g.pLog)
  1886  	}
  1887  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1888  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1889  		libc.Xfflush(tls, g.pErrLog)
  1890  	}
  1891  	sqlite3.Xsqlite3_free(tls, zMsg)
  1892  	g.nError++
  1893  }
  1894  
  1895  func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1896  	bp := tls.Alloc(38)
  1897  	defer tls.Free(38)
  1898  
  1899  	var ap va_list
  1900  	_ = ap
  1901  	var zMsg uintptr
  1902  
  1903  	ap = va
  1904  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1905  	_ = ap
  1906  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+19, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32))
  1907  	if g.pLog != 0 {
  1908  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1909  		libc.Xfflush(tls, g.pLog)
  1910  		maybeClose(tls, g.pLog)
  1911  	}
  1912  	if g.pErrLog != 0 && safe_strcmp(tls, g.zErrLog, g.zLog) != 0 {
  1913  		printWithPrefix(tls, g.pErrLog, bp+8, zMsg)
  1914  		libc.Xfflush(tls, g.pErrLog)
  1915  		maybeClose(tls, g.pErrLog)
  1916  	}
  1917  	sqlite3.Xsqlite3_free(tls, zMsg)
  1918  	if g.db != 0 {
  1919  		var nTry int32 = 0
  1920  		g.iTimeout = 0
  1921  		for trySql(tls, ts+30, 0) == SQLITE_BUSY &&
  1922  			libc.PostIncInt32(&nTry, 1) < 100 {
  1923  			sqlite3.Xsqlite3_sleep(tls, 10)
  1924  		}
  1925  	}
  1926  	sqlite3.Xsqlite3_close(tls, g.db)
  1927  	libc.Xexit(tls, 1)
  1928  }
  1929  
  1930  func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) {
  1931  	bp := tls.Alloc(38)
  1932  	defer tls.Free(38)
  1933  
  1934  	var ap va_list
  1935  	_ = ap
  1936  	var zMsg uintptr
  1937  
  1938  	ap = va
  1939  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  1940  	_ = ap
  1941  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+8, ts+60, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+32))
  1942  	if g.pLog != 0 {
  1943  		printWithPrefix(tls, g.pLog, bp+8, zMsg)
  1944  		libc.Xfflush(tls, g.pLog)
  1945  	}
  1946  	sqlite3.Xsqlite3_free(tls, zMsg)
  1947  }
  1948  
  1949  func clipLength(tls *libc.TLS, z uintptr) int32 {
  1950  	var n int32 = int32(libc.Xstrlen(tls, z))
  1951  	for n > 0 && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(n-1)))), uint32(X_CTYPE_S)) != 0 {
  1952  		n--
  1953  	}
  1954  	return n
  1955  }
  1956  
  1957  func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  1958  	bp := tls.Alloc(4)
  1959  	defer tls.Free(4)
  1960  
  1961  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  1962  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  1963  	_ = argc
  1964  	_ = argv
  1965  	sqlite3.Xsqlite3_file_control(tls, db, ts+65, SQLITE_FCNTL_VFSNAME, bp)
  1966  	if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  1967  		sqlite3.Xsqlite3_result_text(tls, context, *(*uintptr)(unsafe.Pointer(bp)), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
  1968  	}
  1969  }
  1970  
  1971  func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 {
  1972  	bp := tls.Alloc(8)
  1973  	defer tls.Free(8)
  1974  
  1975  	_ = pCD
  1976  	if count*10 > g.iTimeout {
  1977  		if g.iTimeout > 0 {
  1978  			errorMessage(tls, ts+70, libc.VaList(bp, g.iTimeout))
  1979  		}
  1980  		return 0
  1981  	}
  1982  	sqlite3.Xsqlite3_sleep(tls, 10)
  1983  	return 1
  1984  }
  1985  
  1986  func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) {
  1987  	bp := tls.Alloc(16)
  1988  	defer tls.Free(16)
  1989  
  1990  	_ = NotUsed1
  1991  	logMessage(tls, ts+89, libc.VaList(bp, clipLength(tls, zSql), zSql))
  1992  }
  1993  
  1994  func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) {
  1995  	bp := tls.Alloc(24)
  1996  	defer tls.Free(24)
  1997  
  1998  	_ = pArg
  1999  	if iErrCode == SQLITE_ERROR && g.bIgnoreSqlErrors != 0 {
  2000  		return
  2001  	}
  2002  	if iErrCode&0xff == SQLITE_SCHEMA && g.iTrace < 3 {
  2003  		return
  2004  	}
  2005  	if g.iTimeout == 0 && iErrCode&0xff == SQLITE_BUSY && g.iTrace < 3 {
  2006  		return
  2007  	}
  2008  	if iErrCode&0xff == SQLITE_NOTICE {
  2009  		logMessage(tls, ts+96, libc.VaList(bp, zMsg))
  2010  	} else {
  2011  		errorMessage(tls, ts+106, libc.VaList(bp+8, iErrCode, zMsg))
  2012  	}
  2013  }
  2014  
  2015  func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr {
  2016  	bp := tls.Alloc(20)
  2017  	defer tls.Free(20)
  2018  
  2019  	var ap va_list
  2020  	_ = ap
  2021  	var zSql uintptr
  2022  	var rc int32
  2023  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
  2024  	ap = va
  2025  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2026  	_ = ap
  2027  	rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16, uintptr(0))
  2028  	if rc != SQLITE_OK {
  2029  		sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  2030  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  2031  	}
  2032  	sqlite3.Xsqlite3_free(tls, zSql)
  2033  	return *(*uintptr)(unsafe.Pointer(bp + 16))
  2034  }
  2035  
  2036  func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) {
  2037  	bp := tls.Alloc(16)
  2038  	defer tls.Free(16)
  2039  
  2040  	var ap va_list
  2041  	_ = ap
  2042  	var zSql uintptr
  2043  	var rc int32
  2044  	ap = va
  2045  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2046  	_ = ap
  2047  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  2048  	if rc != SQLITE_OK {
  2049  		fatalError(tls, ts+122, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql))
  2050  	}
  2051  	sqlite3.Xsqlite3_free(tls, zSql)
  2052  }
  2053  
  2054  func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 {
  2055  	var ap va_list
  2056  	_ = ap
  2057  	var zSql uintptr
  2058  	var rc int32
  2059  	ap = va
  2060  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2061  	_ = ap
  2062  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0))
  2063  	sqlite3.Xsqlite3_free(tls, zSql)
  2064  	return rc
  2065  }
  2066  
  2067  type String1 = struct {
  2068  	z      uintptr
  2069  	n      int32
  2070  	nAlloc int32
  2071  }
  2072  
  2073  type String = String1
  2074  
  2075  func stringFree(tls *libc.TLS, p uintptr) {
  2076  	if (*String)(unsafe.Pointer(p)).z != 0 {
  2077  		sqlite3.Xsqlite3_free(tls, (*String)(unsafe.Pointer(p)).z)
  2078  	}
  2079  	libc.Xmemset(tls, p, 0, uint32(unsafe.Sizeof(String{})))
  2080  }
  2081  
  2082  func stringAppend(tls *libc.TLS, p uintptr, z uintptr, n int32) {
  2083  	if n < 0 {
  2084  		n = int32(libc.Xstrlen(tls, z))
  2085  	}
  2086  	if (*String)(unsafe.Pointer(p)).n+n >= (*String)(unsafe.Pointer(p)).nAlloc {
  2087  		var nAlloc int32 = (*String)(unsafe.Pointer(p)).nAlloc*2 + n + 100
  2088  		var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*String)(unsafe.Pointer(p)).z, nAlloc)
  2089  		if zNew == uintptr(0) {
  2090  			fatalError(tls, ts+129, 0)
  2091  		}
  2092  		(*String)(unsafe.Pointer(p)).z = zNew
  2093  		(*String)(unsafe.Pointer(p)).nAlloc = nAlloc
  2094  	}
  2095  	libc.Xmemcpy(tls, (*String)(unsafe.Pointer(p)).z+uintptr((*String)(unsafe.Pointer(p)).n), z, uint32(n))
  2096  	*(*int32)(unsafe.Pointer(p + 4)) += n
  2097  	*(*uint8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z + uintptr((*String)(unsafe.Pointer(p)).n))) = uint8(0)
  2098  }
  2099  
  2100  func stringReset(tls *libc.TLS, p uintptr) {
  2101  	if (*String)(unsafe.Pointer(p)).z == uintptr(0) {
  2102  		stringAppend(tls, p, ts+143, 1)
  2103  	}
  2104  	(*String)(unsafe.Pointer(p)).n = 0
  2105  	*(*uint8)(unsafe.Pointer((*String)(unsafe.Pointer(p)).z)) = uint8(0)
  2106  }
  2107  
  2108  func stringAppendTerm(tls *libc.TLS, p uintptr, z uintptr) {
  2109  	var i int32
  2110  	if (*String)(unsafe.Pointer(p)).n != 0 {
  2111  		stringAppend(tls, p, ts+143, 1)
  2112  	}
  2113  	if z == uintptr(0) {
  2114  		stringAppend(tls, p, ts+145, 3)
  2115  		return
  2116  	}
  2117  	for i = 0; *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 && !(__sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))), uint32(X_CTYPE_S)) != 0); i++ {
  2118  	}
  2119  	if i > 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == 0 {
  2120  		stringAppend(tls, p, z, i)
  2121  		return
  2122  	}
  2123  	stringAppend(tls, p, ts+149, 1)
  2124  	for *(*uint8)(unsafe.Pointer(z)) != 0 {
  2125  		for i = 0; *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) != '\''; i++ {
  2126  		}
  2127  		if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 {
  2128  			stringAppend(tls, p, z, i+1)
  2129  			stringAppend(tls, p, ts+149, 1)
  2130  			z += uintptr(i + 1)
  2131  		} else {
  2132  			stringAppend(tls, p, z, i)
  2133  			break
  2134  		}
  2135  	}
  2136  	stringAppend(tls, p, ts+149, 1)
  2137  }
  2138  
  2139  func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol uintptr) int32 {
  2140  	var p uintptr = pCData
  2141  	var i int32
  2142  	_ = azCol
  2143  	for i = 0; i < argc; i++ {
  2144  		stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4)))
  2145  	}
  2146  	return 0
  2147  }
  2148  
  2149  func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 {
  2150  	bp := tls.Alloc(42)
  2151  	defer tls.Free(42)
  2152  
  2153  	var ap va_list
  2154  	_ = ap
  2155  	var zSql uintptr
  2156  	var rc int32
  2157  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  2158  	ap = va
  2159  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
  2160  	_ = ap
  2161  
  2162  	rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2163  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2164  	}{evalCallback})), p, bp+8)
  2165  	sqlite3.Xsqlite3_free(tls, zSql)
  2166  	if rc != 0 {
  2167  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]uint8{})), bp+12, ts+151, libc.VaList(bp, rc))
  2168  		stringAppendTerm(tls, p, bp+12)
  2169  		if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  2170  			stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2171  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  2172  		}
  2173  	}
  2174  	return rc
  2175  }
  2176  
  2177  func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
  2178  	bp := tls.Alloc(16)
  2179  	defer tls.Free(16)
  2180  
  2181  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
  2182  	var zSql uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2183  
  2184  	*(*uintptr)(unsafe.Pointer(bp + 12)) = uintptr(0)
  2185  	var rc int32
  2186  	_ = argc
  2187  	libc.Xmemset(tls, bp, 0, uint32(unsafe.Sizeof(String{})))
  2188  	rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
  2189  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
  2190  	}{evalCallback})), bp, bp+12)
  2191  	if *(*uintptr)(unsafe.Pointer(bp + 12)) != 0 {
  2192  		sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 12)), -1)
  2193  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 12)))
  2194  	} else if rc != 0 {
  2195  		sqlite3.Xsqlite3_result_error_code(tls, context, rc)
  2196  	} else {
  2197  		sqlite3.Xsqlite3_result_text(tls, context, (*String)(unsafe.Pointer(bp)).z, -1, libc.UintptrFromInt32(-1))
  2198  	}
  2199  	stringFree(tls, bp)
  2200  }
  2201  
  2202  func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 {
  2203  	bp := tls.Alloc(80)
  2204  	defer tls.Free(80)
  2205  
  2206  	var pStmt uintptr = uintptr(0)
  2207  	var taskId int32
  2208  	var rc int32
  2209  	var totalTime int32 = 0
  2210  
  2211  	*(*uintptr)(unsafe.Pointer(pzScript)) = uintptr(0)
  2212  	g.iTimeout = 0
  2213  	for 1 != 0 {
  2214  		rc = trySql(tls, ts+161, 0)
  2215  		if rc == SQLITE_BUSY {
  2216  			sqlite3.Xsqlite3_sleep(tls, 10)
  2217  			totalTime = totalTime + 10
  2218  			continue
  2219  		}
  2220  		if rc != SQLITE_OK {
  2221  			fatalError(tls, ts+177, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2222  		}
  2223  		if g.nError != 0 || g.nTest != 0 {
  2224  			runSql(tls, ts+196,
  2225  				libc.VaList(bp+8, g.nError, g.nTest))
  2226  			g.nError = 0
  2227  			g.nTest = 0
  2228  		}
  2229  		pStmt = prepareSql(tls, ts+249, libc.VaList(bp+24, iClient))
  2230  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2231  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2232  		if rc == SQLITE_ROW {
  2233  			runSql(tls, ts+295, libc.VaList(bp+32, iClient))
  2234  			g.iTimeout = DEFAULT_TIMEOUT
  2235  			runSql(tls, ts+326, 0)
  2236  			return SQLITE_DONE
  2237  		}
  2238  		pStmt = prepareSql(tls,
  2239  			ts+346, libc.VaList(bp+40, iClient))
  2240  		rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2241  		if rc == SQLITE_ROW {
  2242  			var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0)
  2243  			*(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, n+1)
  2244  			libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0))
  2245  			*(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1))
  2246  			*(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2)))
  2247  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2248  			runSql(tls,
  2249  				ts+441, libc.VaList(bp+56, taskId))
  2250  			g.iTimeout = DEFAULT_TIMEOUT
  2251  			runSql(tls, ts+326, 0)
  2252  			return SQLITE_OK
  2253  		}
  2254  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  2255  		if rc == SQLITE_DONE {
  2256  			if totalTime > 3000000 {
  2257  				errorMessage(tls, ts+524, 0)
  2258  				runSql(tls, ts+575, libc.VaList(bp+64, iClient))
  2259  				sqlite3.Xsqlite3_close(tls, g.db)
  2260  				libc.Xexit(tls, 1)
  2261  			}
  2262  			for trySql(tls, ts+615, 0) == SQLITE_BUSY {
  2263  				sqlite3.Xsqlite3_sleep(tls, 10)
  2264  				totalTime = totalTime + 10
  2265  			}
  2266  			sqlite3.Xsqlite3_sleep(tls, 100)
  2267  			totalTime = totalTime + 100
  2268  			continue
  2269  		}
  2270  		fatalError(tls, ts+438, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db)))
  2271  	}
  2272  	g.iTimeout = DEFAULT_TIMEOUT
  2273  	return int32(0)
  2274  }
  2275  
  2276  func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 {
  2277  	bp := tls.Alloc(16)
  2278  	defer tls.Free(16)
  2279  
  2280  	runSql(tls,
  2281  		ts+622, libc.VaList(bp, taskId))
  2282  	if bShutdown != 0 {
  2283  		runSql(tls, ts+295, libc.VaList(bp+8, iClient))
  2284  	}
  2285  	return SQLITE_OK
  2286  }
  2287  
  2288  func startClient(tls *libc.TLS, iClient int32) {
  2289  	bp := tls.Alloc(96)
  2290  	defer tls.Free(96)
  2291  
  2292  	runSql(tls, ts+703, libc.VaList(bp, iClient))
  2293  	if sqlite3.Xsqlite3_changes(tls, g.db) != 0 {
  2294  		var zSys uintptr
  2295  		var rc int32
  2296  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+745,
  2297  			libc.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace))
  2298  		if g.bSqlTrace != 0 {
  2299  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+776, libc.VaList(bp+40, zSys))
  2300  		}
  2301  		if g.bSync != 0 {
  2302  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+790, libc.VaList(bp+48, zSys))
  2303  		}
  2304  		if g.zVfs != 0 {
  2305  			zSys = sqlite3.Xsqlite3_mprintf(tls, ts+800, libc.VaList(bp+56, zSys, g.zVfs))
  2306  		}
  2307  		if g.iTrace >= 2 {
  2308  			logMessage(tls, ts+814, libc.VaList(bp+72, zSys))
  2309  		}
  2310  		zSys = sqlite3.Xsqlite3_mprintf(tls, ts+827, libc.VaList(bp+80, zSys))
  2311  		rc = libc.Xsystem(tls, zSys)
  2312  		if rc != 0 {
  2313  			errorMessage(tls, ts+832, libc.VaList(bp+88, rc))
  2314  		}
  2315  		sqlite3.Xsqlite3_free(tls, zSys)
  2316  	}
  2317  }
  2318  
  2319  func readFile(tls *libc.TLS, zFilename uintptr) uintptr {
  2320  	bp := tls.Alloc(8)
  2321  	defer tls.Free(8)
  2322  
  2323  	var in uintptr = libc.Xfopen(tls, zFilename, ts+866)
  2324  	var sz int32
  2325  	var z uintptr
  2326  	if in == uintptr(0) {
  2327  		fatalError(tls, ts+869, libc.VaList(bp, zFilename))
  2328  	}
  2329  	libc.Xfseek(tls, in, 0, SEEK_END)
  2330  	sz = libc.Xftell(tls, in)
  2331  	libc.Xrewind(tls, in)
  2332  	z = sqlite3.Xsqlite3_malloc(tls, sz+1)
  2333  	sz = int32(libc.Xfread(tls, z, uint32(1), uint32(sz), in))
  2334  	*(*uint8)(unsafe.Pointer(z + uintptr(sz))) = uint8(0)
  2335  	libc.Xfclose(tls, in)
  2336  	return z
  2337  }
  2338  
  2339  func tokenLength(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2340  	var n int32 = 0
  2341  	if __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z))), uint32(X_CTYPE_S)) != 0 || int32(*(*uint8)(unsafe.Pointer(z))) == '/' && int32(*(*uint8)(unsafe.Pointer(z + 1))) == '*' {
  2342  		var inC int32 = 0
  2343  		var c int32
  2344  		if int32(*(*uint8)(unsafe.Pointer(z))) == '/' {
  2345  			inC = 1
  2346  			n = 2
  2347  		}
  2348  		for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1)))))) != 0 {
  2349  			if c == '\n' {
  2350  				*(*int32)(unsafe.Pointer(pnLine))++
  2351  			}
  2352  			if __sbistype(tls, int32(uint8(c)), uint32(X_CTYPE_S)) != 0 {
  2353  				continue
  2354  			}
  2355  			if inC != 0 && c == '*' && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '/' {
  2356  				n++
  2357  				inC = 0
  2358  			} else if !(inC != 0) && c == '/' && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '*' {
  2359  				n++
  2360  				inC = 1
  2361  			} else if !(inC != 0) {
  2362  				break
  2363  			}
  2364  		}
  2365  		n--
  2366  	} else if int32(*(*uint8)(unsafe.Pointer(z))) == '-' && int32(*(*uint8)(unsafe.Pointer(z + 1))) == '-' {
  2367  		for n = 2; *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) != '\n'; n++ {
  2368  		}
  2369  		if *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2370  			*(*int32)(unsafe.Pointer(pnLine))++
  2371  			n++
  2372  		}
  2373  	} else if int32(*(*uint8)(unsafe.Pointer(z))) == '"' || int32(*(*uint8)(unsafe.Pointer(z))) == '\'' {
  2374  		var delim int32 = int32(*(*uint8)(unsafe.Pointer(z)))
  2375  		for n = 1; *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0; n++ {
  2376  			if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == '\n' {
  2377  				*(*int32)(unsafe.Pointer(pnLine))++
  2378  			}
  2379  			if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n)))) == delim {
  2380  				n++
  2381  				if int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+1)))) != delim {
  2382  					break
  2383  				}
  2384  			}
  2385  		}
  2386  	} else {
  2387  		var c int32
  2388  		for n = 1; libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(n))))) != 0 && !(__sbistype(tls, int32(uint8(c)), uint32(X_CTYPE_S)) != 0) && c != '"' && c != '\'' && c != ';'; n++ {
  2389  		}
  2390  	}
  2391  	return n
  2392  }
  2393  
  2394  func extractToken(tls *libc.TLS, zIn uintptr, nIn int32, zOut uintptr, nOut int32) int32 {
  2395  	var i int32
  2396  	if nIn <= 0 {
  2397  		*(*uint8)(unsafe.Pointer(zOut)) = uint8(0)
  2398  		return 0
  2399  	}
  2400  	for i = 0; i < nIn && i < nOut-1 && !(__sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))), uint32(X_CTYPE_S)) != 0); i++ {
  2401  		*(*uint8)(unsafe.Pointer(zOut + uintptr(i))) = *(*uint8)(unsafe.Pointer(zIn + uintptr(i)))
  2402  	}
  2403  	*(*uint8)(unsafe.Pointer(zOut + uintptr(i))) = uint8(0)
  2404  	return i
  2405  }
  2406  
  2407  func findEnd(tls *libc.TLS, z uintptr, pnLine uintptr) int32 {
  2408  	var n int32 = 0
  2409  	for *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 && (libc.Xstrncmp(tls, z+uintptr(n), ts+898, uint32(5)) != 0 || !(__sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+5)))), uint32(X_CTYPE_S)) != 0)) {
  2410  		n = n + tokenLength(tls, z+uintptr(n), pnLine)
  2411  	}
  2412  	return n
  2413  }
  2414  
  2415  func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 {
  2416  	var n int32 = 0
  2417  	for *(*uint8)(unsafe.Pointer(z + uintptr(n))) != 0 {
  2418  		var len int32 = tokenLength(tls, z+uintptr(n), pnLine)
  2419  		if libc.Xstrncmp(tls, z+uintptr(n), ts+904, uint32(7)) == 0 && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+7)))), uint32(X_CTYPE_S)) != 0 ||
  2420  			stopAtElse != 0 && libc.Xstrncmp(tls, z+uintptr(n), ts+912, uint32(6)) == 0 && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+6)))), uint32(X_CTYPE_S)) != 0 {
  2421  			return n + len
  2422  		}
  2423  		if libc.Xstrncmp(tls, z+uintptr(n), ts+919, uint32(4)) == 0 && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(z + uintptr(n+4)))), uint32(X_CTYPE_S)) != 0 {
  2424  			var skip int32 = findEndif(tls, z+uintptr(n)+uintptr(len), 0, pnLine)
  2425  			n = n + (skip + len)
  2426  		} else {
  2427  			n = n + len
  2428  		}
  2429  	}
  2430  	return n
  2431  }
  2432  
  2433  func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) {
  2434  	bp := tls.Alloc(32)
  2435  	defer tls.Free(32)
  2436  
  2437  	var pStmt uintptr
  2438  	var rc int32
  2439  	if iClient > 0 {
  2440  		pStmt = prepareSql(tls,
  2441  			ts+924,
  2442  			libc.VaList(bp, iClient))
  2443  	} else {
  2444  		pStmt = prepareSql(tls,
  2445  			ts+1020, 0)
  2446  	}
  2447  	g.iTimeout = 0
  2448  	for (libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY || rc == SQLITE_ROW) &&
  2449  		iTimeout > 0 {
  2450  		sqlite3.Xsqlite3_reset(tls, pStmt)
  2451  		sqlite3.Xsqlite3_sleep(tls, 50)
  2452  		iTimeout = iTimeout - 50
  2453  	}
  2454  	sqlite3.Xsqlite3_finalize(tls, pStmt)
  2455  	g.iTimeout = DEFAULT_TIMEOUT
  2456  	if rc != SQLITE_DONE {
  2457  		if zErrPrefix == uintptr(0) {
  2458  			zErrPrefix = ts + 1101
  2459  		}
  2460  		if iClient > 0 {
  2461  			errorMessage(tls, ts+1102, libc.VaList(bp+8, zErrPrefix, iClient))
  2462  		} else {
  2463  			errorMessage(tls, ts+1134, libc.VaList(bp+24, zErrPrefix))
  2464  		}
  2465  	}
  2466  }
  2467  
  2468  func filenameTail(tls *libc.TLS, z uintptr) uintptr {
  2469  	var i int32
  2470  	var j int32
  2471  	for i = libc.AssignInt32(&j, 0); *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ {
  2472  		if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == '/' {
  2473  			j = i + 1
  2474  		}
  2475  	}
  2476  	return z + uintptr(j)
  2477  }
  2478  
  2479  func booleanValue(tls *libc.TLS, zArg uintptr) int32 {
  2480  	bp := tls.Alloc(8)
  2481  	defer tls.Free(8)
  2482  
  2483  	var i int32
  2484  	if zArg == uintptr(0) {
  2485  		return 0
  2486  	}
  2487  	for i = 0; int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) <= '9'; i++ {
  2488  	}
  2489  	if i > 0 && int32(*(*uint8)(unsafe.Pointer(zArg + uintptr(i)))) == 0 {
  2490  		return libc.Xatoi(tls, zArg)
  2491  	}
  2492  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1168) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1171) == 0 {
  2493  		return 1
  2494  	}
  2495  	if sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1175) == 0 || sqlite3.Xsqlite3_stricmp(tls, zArg, ts+1179) == 0 {
  2496  		return 0
  2497  	}
  2498  	errorMessage(tls, ts+1182, libc.VaList(bp, zArg))
  2499  	return 0
  2500  }
  2501  
  2502  func test_breakpoint(tls *libc.TLS) {
  2503  	atomic.AddInt32(&cnt, 1)
  2504  }
  2505  
  2506  var cnt int32 = 0
  2507  
  2508  func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) {
  2509  	bp := tls.Alloc(1606)
  2510  	defer tls.Free(1606)
  2511  
  2512  	*(*int32)(unsafe.Pointer(bp + 372)) = 1
  2513  	var prevLine int32 = 1
  2514  	var ii int32 = 0
  2515  	var iBegin int32 = 0
  2516  	var n int32
  2517  	var c int32
  2518  	var j int32
  2519  	var len int32
  2520  	var nArg int32
  2521  
  2522  	libc.Xmemset(tls, bp+360, 0, uint32(unsafe.Sizeof(String{})))
  2523  	stringReset(tls, bp+360)
  2524  	for libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii))))) != 0 {
  2525  		prevLine = *(*int32)(unsafe.Pointer(bp + 372))
  2526  		len = tokenLength(tls, zScript+uintptr(ii), bp+372)
  2527  		if __sbistype(tls, int32(uint8(c)), uint32(X_CTYPE_S)) != 0 || c == '/' && int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+1)))) == '*' {
  2528  			ii = ii + len
  2529  			continue
  2530  		}
  2531  		if c != '-' || int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+1)))) != '-' || !(__sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+2)))), uint32(X_CTYPE_A)) != 0) {
  2532  			ii = ii + len
  2533  			continue
  2534  		}
  2535  
  2536  		if ii > iBegin {
  2537  			var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp, ii-iBegin, zScript+uintptr(iBegin)))
  2538  			evalSql(tls, bp+360, zSql, 0)
  2539  			sqlite3.Xsqlite3_free(tls, zSql)
  2540  			iBegin = ii + len
  2541  		}
  2542  
  2543  		if g.iTrace >= 2 {
  2544  			logMessage(tls, ts+1204, libc.VaList(bp+16, len, zScript+uintptr(ii)))
  2545  		}
  2546  		n = extractToken(tls, zScript+uintptr(ii)+uintptr(2), len-2, bp+376, int32(unsafe.Sizeof([30]uint8{})))
  2547  		for nArg = 0; n < len-2 && nArg < MX_ARG; nArg++ {
  2548  			for n < len-2 && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+2+n)))), uint32(X_CTYPE_S)) != 0 {
  2549  				n++
  2550  			}
  2551  			if n >= len-2 {
  2552  				break
  2553  			}
  2554  			n = n + extractToken(tls, zScript+uintptr(ii)+uintptr(2)+uintptr(n), len-2-n,
  2555  				bp+406+uintptr(nArg)*100, int32(unsafe.Sizeof([100]uint8{})))
  2556  		}
  2557  		for j = nArg; j < MX_ARG; j++ {
  2558  			*(*uint8)(unsafe.Pointer(bp + 406 + uintptr(libc.PostIncInt32(&j, 1))*100)) = uint8(0)
  2559  		}
  2560  
  2561  		if libc.Xstrcmp(tls, bp+376, ts+1209) == 0 {
  2562  			sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, bp+406))
  2563  		} else if libc.Xstrcmp(tls, bp+376, ts+1215) == 0 {
  2564  			var rc int32 = libc.Xatoi(tls, bp+406)
  2565  			finishScript(tls, iClient, taskId, 1)
  2566  			if rc == 0 {
  2567  				sqlite3.Xsqlite3_close(tls, g.db)
  2568  			}
  2569  			libc.Xexit(tls, rc)
  2570  		} else if libc.Xstrcmp(tls, bp+376, ts+1220) == 0 {
  2571  			if g.iTrace == 1 {
  2572  				logMessage(tls, ts+1204, libc.VaList(bp+32, len-1, zScript+uintptr(ii)))
  2573  			}
  2574  			stringReset(tls, bp+360)
  2575  		} else if libc.Xstrcmp(tls, bp+376, ts+1229) == 0 && iClient > 0 {
  2576  			finishScript(tls, iClient, taskId, 1)
  2577  		} else if libc.Xstrcmp(tls, bp+376, ts+1236) == 0 {
  2578  			stringReset(tls, bp+360)
  2579  		} else if libc.Xstrcmp(tls, bp+376, ts+1242) == 0 {
  2580  			var jj int32
  2581  			var zAns uintptr = zScript + uintptr(ii)
  2582  			for jj = 7; jj < len-1 && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zAns + uintptr(jj)))), uint32(X_CTYPE_S)) != 0; jj++ {
  2583  			}
  2584  			zAns += uintptr(jj)
  2585  			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 {
  2586  				errorMessage(tls, ts+1248,
  2587  					libc.VaList(bp+48, prevLine, zFilename, len-jj-1, zAns, (*String)(unsafe.Pointer(bp+360)).z))
  2588  			}
  2589  			g.nTest++
  2590  			stringReset(tls, bp+360)
  2591  		} else if libc.Xstrcmp(tls, bp+376, ts+1293) == 0 || libc.Xstrcmp(tls, bp+376, ts+1298) == 0 {
  2592  			var jj int32
  2593  			var zAns uintptr = zScript + uintptr(ii)
  2594  			var zCopy uintptr
  2595  			var isGlob int32 = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(bp + 376))) == 'g')
  2596  			for jj = 9 - 3*isGlob; jj < len-1 && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zAns + uintptr(jj)))), uint32(X_CTYPE_S)) != 0; jj++ {
  2597  			}
  2598  			zAns += uintptr(jj)
  2599  			zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+88, len-jj-1, zAns))
  2600  			if libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360)).z) == 0)^isGlob != 0 {
  2601  				errorMessage(tls, ts+1306,
  2602  					libc.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360)).z))
  2603  			}
  2604  			sqlite3.Xsqlite3_free(tls, zCopy)
  2605  			g.nTest++
  2606  			stringReset(tls, bp+360)
  2607  		} else if libc.Xstrcmp(tls, bp+376, ts+1349) == 0 {
  2608  			logMessage(tls, ts+438, libc.VaList(bp+136, (*String)(unsafe.Pointer(bp+360)).z))
  2609  		} else if libc.Xstrcmp(tls, bp+376, ts+1356) == 0 {
  2610  			var zNewFile uintptr
  2611  			var zNewScript uintptr
  2612  			var zToDel uintptr = uintptr(0)
  2613  			zNewFile = bp + 406
  2614  			if !(int32(*(*uint8)(unsafe.Pointer(zNewFile))) == '/') {
  2615  				var k int32
  2616  				for k = int32(libc.Xstrlen(tls, zFilename)) - 1; k >= 0 && !(int32(*(*uint8)(unsafe.Pointer(zFilename + uintptr(k)))) == '/'); k-- {
  2617  				}
  2618  				if k > 0 {
  2619  					zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1363, libc.VaList(bp+144, k, zFilename, zNewFile)))
  2620  				}
  2621  			}
  2622  			zNewScript = readFile(tls, zNewFile)
  2623  			if g.iTrace != 0 {
  2624  				logMessage(tls, ts+1371, libc.VaList(bp+168, zNewFile))
  2625  			}
  2626  			runScript(tls, 0, 0, zNewScript, zNewFile)
  2627  			sqlite3.Xsqlite3_free(tls, zNewScript)
  2628  			if g.iTrace != 0 {
  2629  				logMessage(tls, ts+1390, libc.VaList(bp+176, zNewFile))
  2630  			}
  2631  			sqlite3.Xsqlite3_free(tls, zToDel)
  2632  		} else if libc.Xstrcmp(tls, bp+376, ts+1407) == 0 {
  2633  			var jj int32
  2634  			for jj = 7; jj < len && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+jj)))), uint32(X_CTYPE_S)) != 0; jj++ {
  2635  			}
  2636  			logMessage(tls, ts+1204, libc.VaList(bp+184, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2637  		} else if libc.Xstrcmp(tls, bp+376, ts+1413) == 0 {
  2638  			var jj int32
  2639  			var rc int32
  2640  			var pStmt uintptr
  2641  			for jj = 4; jj < len && __sbistype(tls, int32(*(*uint8)(unsafe.Pointer(zScript + uintptr(ii+jj)))), uint32(X_CTYPE_S)) != 0; jj++ {
  2642  			}
  2643  			pStmt = prepareSql(tls, ts+1416, libc.VaList(bp+200, len-jj, zScript+uintptr(ii)+uintptr(jj)))
  2644  			rc = sqlite3.Xsqlite3_step(tls, pStmt)
  2645  			if rc != SQLITE_ROW || sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0 {
  2646  				ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 1, bp+372)
  2647  			}
  2648  			sqlite3.Xsqlite3_finalize(tls, pStmt)
  2649  		} else if libc.Xstrcmp(tls, bp+376, ts+1428) == 0 {
  2650  			ii = ii + findEndif(tls, zScript+uintptr(ii)+uintptr(len), 0, bp+372)
  2651  		} else if libc.Xstrcmp(tls, bp+376, ts+1433) == 0 {
  2652  		} else if libc.Xstrcmp(tls, bp+376, ts+1439) == 0 && iClient == 0 {
  2653  			var iNewClient int32 = libc.Xatoi(tls, bp+406)
  2654  			if iNewClient > 0 {
  2655  				startClient(tls, iNewClient)
  2656  			}
  2657  		} else if libc.Xstrcmp(tls, bp+376, ts+1445) == 0 && iClient == 0 {
  2658  			var iTimeout int32
  2659  			if nArg >= 2 {
  2660  				iTimeout = libc.Xatoi(tls, bp+406+1*100)
  2661  			} else {
  2662  				iTimeout = DEFAULT_TIMEOUT
  2663  			}
  2664  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]uint8{})), bp+606, ts+1450,
  2665  				libc.VaList(bp+216, prevLine, zFilename))
  2666  			waitForClient(tls, libc.Xatoi(tls, bp+406), iTimeout, bp+606)
  2667  		} else if libc.Xstrcmp(tls, bp+376, ts+1465) == 0 && iClient == 0 {
  2668  			var iTarget int32 = libc.Xatoi(tls, bp+406)
  2669  			var iEnd int32
  2670  			var zTask uintptr
  2671  			var zTName uintptr
  2672  			iEnd = findEnd(tls, zScript+uintptr(ii)+uintptr(len), bp+372)
  2673  			if iTarget < 0 {
  2674  				errorMessage(tls, ts+1470,
  2675  					libc.VaList(bp+232, prevLine, zFilename, iTarget))
  2676  			} else {
  2677  				zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+256, iEnd, zScript+uintptr(ii)+uintptr(len)))
  2678  				if nArg > 1 {
  2679  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438, libc.VaList(bp+272, bp+406+1*100))
  2680  				} else {
  2681  					zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1507, libc.VaList(bp+280, filenameTail(tls, zFilename), prevLine))
  2682  				}
  2683  				startClient(tls, iTarget)
  2684  				runSql(tls,
  2685  					ts+1513, libc.VaList(bp+296, iTarget, zTask, zTName))
  2686  				sqlite3.Xsqlite3_free(tls, zTask)
  2687  				sqlite3.Xsqlite3_free(tls, zTName)
  2688  			}
  2689  			iEnd = iEnd + tokenLength(tls, zScript+uintptr(ii)+uintptr(len)+uintptr(iEnd), bp+372)
  2690  			len = len + iEnd
  2691  			iBegin = ii + len
  2692  		} else if libc.Xstrcmp(tls, bp+376, ts+1569) == 0 {
  2693  			test_breakpoint(tls)
  2694  		} else if libc.Xstrcmp(tls, bp+376, ts+1580) == 0 {
  2695  			g.bIgnoreSqlErrors = func() int32 {
  2696  				if nArg >= 1 {
  2697  					return libc.BoolInt32(!(booleanValue(tls, bp+406) != 0))
  2698  				}
  2699  				return 1
  2700  			}()
  2701  		} else {
  2702  			errorMessage(tls, ts+1596,
  2703  				libc.VaList(bp+320, prevLine, zFilename, bp+376))
  2704  		}
  2705  		ii = ii + len
  2706  	}
  2707  	if iBegin < ii {
  2708  		var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1204, libc.VaList(bp+344, ii-iBegin, zScript+uintptr(iBegin)))
  2709  		runSql(tls, zSql, 0)
  2710  		sqlite3.Xsqlite3_free(tls, zSql)
  2711  	}
  2712  	stringFree(tls, bp+360)
  2713  }
  2714  
  2715  func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr {
  2716  	bp := tls.Alloc(8)
  2717  	defer tls.Free(8)
  2718  
  2719  	var i int32
  2720  	var j int32
  2721  	var zReturn uintptr = uintptr(0)
  2722  	var nArg int32 = *(*int32)(unsafe.Pointer(pnArg))
  2723  
  2724  	for i = 0; i < nArg; i++ {
  2725  		var z uintptr
  2726  		if i+hasArg >= nArg {
  2727  			break
  2728  		}
  2729  		z = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4))
  2730  		if int32(*(*uint8)(unsafe.Pointer(z))) != '-' {
  2731  			continue
  2732  		}
  2733  		z++
  2734  		if int32(*(*uint8)(unsafe.Pointer(z))) == '-' {
  2735  			if int32(*(*uint8)(unsafe.Pointer(z + 1))) == 0 {
  2736  				break
  2737  			}
  2738  			z++
  2739  		}
  2740  		if libc.Xstrcmp(tls, z, zOption) == 0 {
  2741  			if hasArg != 0 && i == nArg-1 {
  2742  				fatalError(tls, ts+1632, libc.VaList(bp, z))
  2743  			}
  2744  			if hasArg != 0 {
  2745  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i+1)*4))
  2746  			} else {
  2747  				zReturn = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4))
  2748  			}
  2749  			j = i + 1 + libc.Bool32(hasArg != 0)
  2750  			for j < nArg {
  2751  				*(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&i, 1))*4)) = *(*uintptr)(unsafe.Pointer(azArg + uintptr(libc.PostIncInt32(&j, 1))*4))
  2752  			}
  2753  			*(*int32)(unsafe.Pointer(pnArg)) = i
  2754  			return zReturn
  2755  		}
  2756  	}
  2757  	return zReturn
  2758  }
  2759  
  2760  func usage(tls *libc.TLS, argv0 uintptr) {
  2761  	bp := tls.Alloc(8)
  2762  	defer tls.Free(8)
  2763  
  2764  	var i int32
  2765  	var zTail uintptr = argv0
  2766  	for i = 0; *(*uint8)(unsafe.Pointer(argv0 + uintptr(i))) != 0; i++ {
  2767  		if int32(*(*uint8)(unsafe.Pointer(argv0 + uintptr(i)))) == '/' {
  2768  			zTail = argv0 + uintptr(i) + uintptr(1)
  2769  		}
  2770  	}
  2771  	libc.Xfprintf(tls, libc.X__stderrp, ts+1680, libc.VaList(bp, zTail))
  2772  	libc.Xfprintf(tls, libc.X__stderrp,
  2773  		ts+1719, 0)
  2774  	libc.Xexit(tls, 1)
  2775  }
  2776  
  2777  func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) {
  2778  	bp := tls.Alloc(16)
  2779  	defer tls.Free(16)
  2780  
  2781  	var i int32
  2782  	libc.Xfprintf(tls, libc.X__stderrp, ts+2291, libc.VaList(bp, argv0))
  2783  	for i = 0; i < nArg; i++ {
  2784  		libc.Xfprintf(tls, libc.X__stderrp, ts+2319, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*4))))
  2785  	}
  2786  	libc.Xfprintf(tls, libc.X__stderrp, ts+2323, 0)
  2787  	libc.Xexit(tls, 1)
  2788  }
  2789  
  2790  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
  2791  	bp := tls.Alloc(248)
  2792  	defer tls.Free(248)
  2793  
  2794  	var zClient uintptr
  2795  	var iClient int32
  2796  
  2797  	var i int32
  2798  	var openFlags int32 = SQLITE_OPEN_READWRITE
  2799  	var rc int32
  2800  
  2801  	var zTrace uintptr
  2802  	var zCOption uintptr
  2803  	var zJMode uintptr
  2804  	var zNRep uintptr
  2805  	var nRep int32 = 1
  2806  	var iRep int32
  2807  	var iTmout int32 = 0
  2808  	var zTmout uintptr
  2809  
  2810  	g.argv0 = *(*uintptr)(unsafe.Pointer(argv))
  2811  	g.iTrace = 1
  2812  	if argc < 2 {
  2813  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2814  	}
  2815  	g.zDbFile = *(*uintptr)(unsafe.Pointer(argv + 1*4))
  2816  	if strglob(tls, ts+2325, g.zDbFile) != 0 {
  2817  		usage(tls, *(*uintptr)(unsafe.Pointer(argv)))
  2818  	}
  2819  	if libc.Xstrcmp(tls, sqlite3.Xsqlite3_sourceid(tls), ts+2332) != 0 {
  2820  		libc.Xfprintf(tls, libc.X__stderrp,
  2821  			ts+2417,
  2822  			libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2332))
  2823  		libc.Xexit(tls, 1)
  2824  	}
  2825  	*(*int32)(unsafe.Pointer(bp + 232)) = argc - 2
  2826  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]uint8{})), uintptr(unsafe.Pointer(&g))+32, ts+2477, libc.VaList(bp+16, libc.Xgetpid(tls)))
  2827  	zJMode = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2489, 1)
  2828  	zNRep = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2501, 1)
  2829  	if zNRep != 0 {
  2830  		nRep = libc.Xatoi(tls, zNRep)
  2831  	}
  2832  	if nRep < 1 {
  2833  		nRep = 1
  2834  	}
  2835  	g.zVfs = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2508, 1)
  2836  	zClient = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2512, 1)
  2837  	g.zErrLog = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2519, 1)
  2838  	g.zLog = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2526, 1)
  2839  	zTrace = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2530, 1)
  2840  	if zTrace != 0 {
  2841  		g.iTrace = libc.Xatoi(tls, zTrace)
  2842  	}
  2843  	if findOption(tls, argv+uintptr(2)*4, bp+232, ts+2536, 0) != uintptr(0) {
  2844  		g.iTrace = 0
  2845  	}
  2846  	zTmout = findOption(tls, argv+uintptr(2)*4, bp+232, ts+2542, 1)
  2847  	if zTmout != 0 {
  2848  		iTmout = libc.Xatoi(tls, zTmout)
  2849  	}
  2850  	g.bSqlTrace = libc.Bool32(findOption(tls, argv+uintptr(2)*4, bp+232, ts+2550, 0) != uintptr(0))
  2851  	g.bSync = libc.Bool32(findOption(tls, argv+uintptr(2)*4, bp+232, ts+2559, 0) != uintptr(0))
  2852  	if g.zErrLog != 0 {
  2853  		g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2564)
  2854  	} else {
  2855  		g.pErrLog = libc.X__stderrp
  2856  	}
  2857  	if g.zLog != 0 {
  2858  		g.pLog = libc.Xfopen(tls, g.zLog, ts+2564)
  2859  	} else {
  2860  		g.pLog = libc.X__stdoutp
  2861  	}
  2862  
  2863  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct {
  2864  		f func(*libc.TLS, uintptr, int32, uintptr)
  2865  	}{sqlErrorCallback})), 0))
  2866  	if zClient != 0 {
  2867  		iClient = libc.Xatoi(tls, zClient)
  2868  		if iClient < 1 {
  2869  			fatalError(tls, ts+2566, libc.VaList(bp+40, iClient))
  2870  		}
  2871  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]uint8{})), uintptr(unsafe.Pointer(&g))+32, ts+2593,
  2872  			libc.VaList(bp+48, libc.Xgetpid(tls), iClient))
  2873  	} else {
  2874  		var nTry int32 = 0
  2875  		if g.iTrace > 0 {
  2876  			libc.Xprintf(tls, ts+2609, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv))))
  2877  			for i = 1; i < argc; i++ {
  2878  				libc.Xprintf(tls, ts+2319, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))
  2879  			}
  2880  			libc.Xprintf(tls, ts+2323, 0)
  2881  			libc.Xprintf(tls, ts+2619, 0)
  2882  			for i = 0; libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i)) != uintptr(0); i++ {
  2883  				libc.Xprintf(tls, ts+2724, libc.VaList(bp+80, zCOption))
  2884  			}
  2885  			libc.Xfflush(tls, libc.X__stdoutp)
  2886  		}
  2887  		iClient = 0
  2888  		for __ccgo := true; __ccgo; __ccgo = rc != 0 && libc.PreIncInt32(&nTry, 1) < 60 && sqlite3.Xsqlite3_sleep(tls, 1000) > 0 {
  2889  			if nTry%5 == 4 {
  2890  				libc.Xprintf(tls, ts+2737,
  2891  					libc.VaList(bp+88, func() uintptr {
  2892  						if nTry > 5 {
  2893  							return ts + 2766
  2894  						}
  2895  						return ts + 1101
  2896  					}(), g.zDbFile))
  2897  			}
  2898  			rc = libc.Xunlink(tls, g.zDbFile)
  2899  			if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__error(tls))) == ENOENT {
  2900  				rc = 0
  2901  			}
  2902  		}
  2903  		if rc != 0 {
  2904  			fatalError(tls, ts+2773,
  2905  				libc.VaList(bp+104, g.zDbFile, nTry))
  2906  		}
  2907  		openFlags = openFlags | SQLITE_OPEN_CREATE
  2908  	}
  2909  	rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, uintptr(unsafe.Pointer(&g))+12, openFlags, g.zVfs)
  2910  	if rc != 0 {
  2911  		fatalError(tls, ts+2814, libc.VaList(bp+120, g.zDbFile))
  2912  	}
  2913  	if iTmout > 0 {
  2914  		sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout)
  2915  	}
  2916  
  2917  	if zJMode != 0 {
  2918  		runSql(tls, ts+2831, libc.VaList(bp+128, zJMode))
  2919  	}
  2920  	if !(g.bSync != 0) {
  2921  		trySql(tls, ts+2855, 0)
  2922  	}
  2923  	sqlite3.Xsqlite3_enable_load_extension(tls, g.db, 1)
  2924  	sqlite3.Xsqlite3_busy_handler(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2925  		f func(*libc.TLS, uintptr, int32) int32
  2926  	}{busyHandler})), uintptr(0))
  2927  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2878, 0, SQLITE_UTF8, uintptr(0),
  2928  		*(*uintptr)(unsafe.Pointer(&struct {
  2929  			f func(*libc.TLS, uintptr, int32, uintptr)
  2930  		}{vfsNameFunc})), uintptr(0), uintptr(0))
  2931  	sqlite3.Xsqlite3_create_function(tls, g.db, ts+2886, 1, SQLITE_UTF8, uintptr(0),
  2932  		*(*uintptr)(unsafe.Pointer(&struct {
  2933  			f func(*libc.TLS, uintptr, int32, uintptr)
  2934  		}{evalFunc})), uintptr(0), uintptr(0))
  2935  	g.iTimeout = DEFAULT_TIMEOUT
  2936  	if g.bSqlTrace != 0 {
  2937  		sqlite3.Xsqlite3_trace(tls, g.db, *(*uintptr)(unsafe.Pointer(&struct {
  2938  			f func(*libc.TLS, uintptr, uintptr)
  2939  		}{sqlTraceCallback})), uintptr(0))
  2940  	}
  2941  	if iClient > 0 {
  2942  		if *(*int32)(unsafe.Pointer(bp + 232)) > 0 {
  2943  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*4)
  2944  		}
  2945  		if g.iTrace != 0 {
  2946  			logMessage(tls, ts+2891, 0)
  2947  		}
  2948  		for 1 != 0 {
  2949  			*(*uintptr)(unsafe.Pointer(bp + 244)) = uintptr(0)
  2950  			rc = startScript(tls, iClient, bp+236, bp+240, bp+244)
  2951  			if rc == SQLITE_DONE {
  2952  				break
  2953  			}
  2954  			if g.iTrace != 0 {
  2955  				logMessage(tls, ts+2904, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 244)), *(*int32)(unsafe.Pointer(bp + 240))))
  2956  			}
  2957  			runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 240)), *(*uintptr)(unsafe.Pointer(bp + 236)), *(*uintptr)(unsafe.Pointer(bp + 244)))
  2958  			if g.iTrace != 0 {
  2959  				logMessage(tls, ts+2918, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(bp + 244)), *(*int32)(unsafe.Pointer(bp + 240))))
  2960  			}
  2961  			finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 240)), 0)
  2962  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 244)))
  2963  			sqlite3.Xsqlite3_sleep(tls, 10)
  2964  		}
  2965  		if g.iTrace != 0 {
  2966  			logMessage(tls, ts+2930, 0)
  2967  		}
  2968  	} else {
  2969  		var pStmt uintptr
  2970  		var iTimeout int32
  2971  		if *(*int32)(unsafe.Pointer(bp + 232)) == 0 {
  2972  			fatalError(tls, ts+2941, 0)
  2973  		}
  2974  		if *(*int32)(unsafe.Pointer(bp + 232)) > 1 {
  2975  			unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 232)), argv+uintptr(2)*4)
  2976  		}
  2977  		runSql(tls,
  2978  			ts+2965, 0)
  2979  		*(*uintptr)(unsafe.Pointer(bp + 236)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*4)))
  2980  		for iRep = 1; iRep <= nRep; iRep++ {
  2981  			if g.iTrace != 0 {
  2982  				logMessage(tls, ts+3401, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + 2*4)), iRep))
  2983  			}
  2984  			runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 236)), *(*uintptr)(unsafe.Pointer(argv + 2*4)))
  2985  			if g.iTrace != 0 {
  2986  				logMessage(tls, ts+3429, libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + 2*4)), iRep))
  2987  			}
  2988  		}
  2989  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 236)))
  2990  		waitForClient(tls, 0, 2000, ts+3455)
  2991  		trySql(tls, ts+3475, 0)
  2992  		sqlite3.Xsqlite3_sleep(tls, 10)
  2993  		g.iTimeout = 0
  2994  		iTimeout = 1000
  2995  		for (libc.AssignInt32(&rc, trySql(tls, ts+3504, 0)) == SQLITE_BUSY ||
  2996  			rc == SQLITE_ROW) && iTimeout > 0 {
  2997  			sqlite3.Xsqlite3_sleep(tls, 10)
  2998  			iTimeout = iTimeout - 10
  2999  		}
  3000  		sqlite3.Xsqlite3_sleep(tls, 100)
  3001  		pStmt = prepareSql(tls, ts+3525, 0)
  3002  		iTimeout = 1000
  3003  		for libc.AssignInt32(&rc, sqlite3.Xsqlite3_step(tls, pStmt)) == SQLITE_BUSY && iTimeout > 0 {
  3004  			sqlite3.Xsqlite3_sleep(tls, 10)
  3005  			iTimeout = iTimeout - 10
  3006  		}
  3007  		if rc == SQLITE_ROW {
  3008  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 80)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 0)
  3009  			*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g)) + 84)) += sqlite3.Xsqlite3_column_int(tls, pStmt, 1)
  3010  		}
  3011  		sqlite3.Xsqlite3_finalize(tls, pStmt)
  3012  	}
  3013  	sqlite3.Xsqlite3_close(tls, g.db)
  3014  	maybeClose(tls, g.pLog)
  3015  	maybeClose(tls, g.pErrLog)
  3016  	if iClient == 0 {
  3017  		libc.Xprintf(tls, ts+3560, libc.VaList(bp+200, g.nError, g.nTest))
  3018  		libc.Xprintf(tls, ts+3596, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv))))
  3019  		for i = 1; i < argc; i++ {
  3020  			libc.Xprintf(tls, ts+2319, libc.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*4))))
  3021  		}
  3022  		libc.Xprintf(tls, ts+2323, 0)
  3023  	}
  3024  	return libc.Bool32(g.nError > 0)
  3025  }
  3026  
  3027  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 3000 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"
  3028  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data