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

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