sqlite3 driver for go using database/sql
This report summarizes scanner evidence for mattn/go-sqlite3, a C project with 9,266 GitHub stars. SynthScan examined 32,640 lines of code across 98 source files, recording 94 pattern matches distributed across 1 syntactic category. The legacy adjusted pattern signal is 2.9 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 94 finding(s).
Are imports declared and package/API names verified? 0 finding(s).
Are wrappers, guards, and repeated structures necessary? 0 finding(s).
Which changes need focused human review? 94 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 94 distinct pattern matches across 1 syntactic category. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sqlite3_context.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3_opt_unlock_notify.c | 1 | // Copyright (C) 2018 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3_trace.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | callback.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3_libsqlite3.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3_opt_icu.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3-binding.h | 81 | #ifndef SQLITE_APICALL | COMMENT |
| LOW | sqlite3-binding.h | 461 | #define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */ | COMMENT |
| LOW | sqlite3-binding.h | 501 | #define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8)) | COMMENT |
| LOW | sqlite3-binding.h | 521 | #define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) | COMMENT |
| LOW | sqlite3-binding.h | 541 | #define SQLITE_IOERR_BADKEY (SQLITE_IOERR | (35<<8)) | COMMENT |
| LOW | sqlite3-binding.h | 561 | #define SQLITE_READONLY_CANTINIT (SQLITE_READONLY | (5<<8)) | COMMENT |
| LOW | sqlite3-binding.h | 601 | ** [sqlite3_open_v2()] has historically been a no-op and might become an | COMMENT |
| LOW | sqlite3-binding.h | 1241 | ** options are used to enable it. | COMMENT |
| LOW | sqlite3-binding.h | 1261 | #define SQLITE_FCNTL_TRACE 19 | COMMENT |
| LOW | sqlite3-binding.h | 2221 | #define SQLITE_CONFIG_PAGECACHE 7 /* void*, int sz, int N */ | COMMENT |
| LOW | sqlite3-binding.h | 2701 | #define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ | COMMENT |
| LOW | sqlite3-binding.h | 3501 | ** the access attempt or NULL if this access attempt is directly from | COMMENT |
| LOW | sqlite3-binding.h | 3521 | #define SQLITE_DROP_VIEW 17 /* View Name NULL */ | COMMENT |
| LOW | sqlite3-binding.h | 4401 | ** [[SQLITE_LIMIT_TRIGGER_DEPTH]] ^(<dt>SQLITE_LIMIT_TRIGGER_DEPTH</dt> | COMMENT |
| LOW | sqlite3-binding.h | 8581 | ** prepared to accommodate additional static mutexes. | COMMENT |
| LOW | sqlite3-binding.h | 8681 | ** These constants are the valid operation code parameters used | COMMENT |
| LOW | sqlite3-binding.h | 8701 | #define SQLITE_TESTCTRL_JSON_SELFCHECK 14 | COMMENT |
| LOW | sqlite3-binding.h | 9201 | #define SQLITE_DBSTATUS_LOOKASIDE_HIT 4 | COMMENT |
| LOW | sqlite3-binding.h | 11341 | */ | COMMENT |
| LOW | sqlite3-binding.h | 14341 | *************************************************************************/ | COMMENT |
| LOW | sqlite3_windows.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3_other.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3_opt_unlock_notify.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3_usleep_windows.go | 1 | // Copyright (C) 2018 G.J.R. Timmer <gjr.timmer@gmail.com>. | COMMENT |
| LOW | sqlite3_opt_preupdate_omit.go | 1 | // Copyright (C) 2019 G.J.R. Timmer <gjr.timmer@gmail.com>. | COMMENT |
| LOW | sqlite3_load_extension.go | 1 | // Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>. | COMMENT |
| LOW | sqlite3ext.h | 401 | ** (part of the main SQLite library - not an extension) so that | COMMENT |
| LOW | sqlite3ext.h | 421 | #define sqlite3_bind_text16 sqlite3_api->bind_text16 | COMMENT |
| LOW | sqlite3ext.h | 441 | #define sqlite3_column_name16 sqlite3_api->column_name16 | COMMENT |
| LOW | sqlite3ext.h | 461 | #define sqlite3_declare_vtab sqlite3_api->declare_vtab | COMMENT |
| LOW | sqlite3ext.h | 481 | #define sqlite3_libversion sqlite3_api->libversion | COMMENT |
| LOW | sqlite3ext.h | 501 | #define sqlite3_result_null sqlite3_api->result_null | COMMENT |
| LOW | sqlite3ext.h | 521 | #define sqlite3_value_blob sqlite3_api->value_blob | COMMENT |
| LOW | sqlite3ext.h | 541 | #define sqlite3_blob_close sqlite3_api->blob_close | COMMENT |
| LOW | sqlite3ext.h | 561 | #define sqlite3_vfs_register sqlite3_api->vfs_register | COMMENT |
| LOW | sqlite3ext.h | 581 | #define sqlite3_create_function_v2 sqlite3_api->create_function_v2 | COMMENT |
| LOW | sqlite3ext.h | 601 | #define sqlite3_db_readonly sqlite3_api->db_readonly | COMMENT |
| LOW | sqlite3ext.h | 621 | #define sqlite3_reset_auto_extension sqlite3_api->reset_auto_extension | COMMENT |
| LOW | sqlite3ext.h | 641 | #define sqlite3_expanded_sql sqlite3_api->expanded_sql | COMMENT |
| LOW | sqlite3ext.h | 661 | #define sqlite3_str_vappendf sqlite3_api->str_vappendf | COMMENT |
| LOW | sqlite3ext.h | 681 | #define sqlite3_filename_database sqlite3_api->filename_database | COMMENT |
| LOW | sqlite3ext.h | 701 | #define sqlite3_vtab_in_next sqlite3_api->vtab_in_next | COMMENT |
| LOW | sqlite3ext.h | 721 | #define sqlite3_db_status64 sqlite3_api->db_status64 | COMMENT |
| LOW | sqlite3ext.h | 741 | # define SQLITE_EXTENSION_INIT3 /*no-op*/ | COMMENT |
| LOW | sqlite3_func_crypt.go | 1 | // Copyright (C) 2018 G.J.R. Timmer <gjr.timmer@gmail.com>. | COMMENT |
| LOW | sqlite3_func_crypt.go | 21 | // | COMMENT |
| LOW | sqlite3_func_crypt.go | 41 | // The built-in version of of sqlite_crypt() uses a simple Caesar-cypher which | COMMENT |
| LOW | sqlite3_opt_column_metadata.go | 1 | //go:build sqlite_column_metadata | COMMENT |
| LOW | sqlite3_opt_userauth.go | 1 | // Copyright (C) 2018 G.J.R. Timmer <gjr.timmer@gmail.com>. | COMMENT |
| LOW | sqlite3_opt_userauth.go | 41 | // | COMMENT |
| LOW | sqlite3_opt_userauth.go | 61 | return 1 | COMMENT |
| LOW | sqlite3_opt_userauth.go | 81 | // | COMMENT |
| LOW | sqlite3_opt_userauth.go | 101 | } | COMMENT |
| LOW | sqlite3_opt_userauth.go | 121 | return 1 | COMMENT |
| 34 more matches not shown… | ||||