replaced raw *sql.DB parameters with appropriate interfaces in the tools/ package

quietlight
May 19, 2026, 2:21 AM
EBVWP6OGDMJZZOCALJU46LHFBF54MGNJADQ7ADJSZIQFNVPK7CFQC

Dependencies

Change contents

  • replacement in tools/sql.go at line 155
    [3.4434][3.4434:4543]()
    func executeSQLQuery(ctx context.Context, database *sql.DB, query string, params []any) (*sql.Rows, error) {
    [3.4434]
    [3.4543]
    func executeSQLQuery(ctx context.Context, q db.Querier, query string, params []any) (*sql.Rows, error) {
  • replacement in tools/sql.go at line 157
    [3.4565][3.4565:4619]()
    return database.QueryContext(ctx, query, params...)
    [3.4565]
    [3.4619]
    return q.QueryContext(ctx, query, params...)
  • replacement in tools/sql.go at line 159
    [3.4622][3.4622:4664]()
    return database.QueryContext(ctx, query)
    [3.4622]
    [3.4664]
    return q.QueryContext(ctx, query)
  • edit in tools/export.go at line 14
    [3.358068]
    [3.358068]
    // writer is the local interface for write operations in export.
    // Defined here per project convention: each consumer defines its own minimal interface.
    // Uses Context variants exclusively so interfaces compose as compatible subsets of *sql.DB.
    type writer interface {
    ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
    QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row
    }
  • replacement in tools/export.go at line 201
    [3.12599][3.12599:12718]()
    func getOrderedTableManifest(sourceDB *sql.DB) ([]TableRelationship, error) {
    fkOrder, err := db.GetFKOrder(sourceDB)
    [3.12599]
    [3.12718]
    func getOrderedTableManifest(q db.Querier) ([]TableRelationship, error) {
    fkOrder, err := db.GetFKOrder(q)
  • replacement in tools/export.go at line 210
    [3.12945][3.12945:13090]()
    func countAllTableRows(ctx context.Context, sourceDB *sql.DB, tables []TableRelationship, datasetID string, output *ExportDatasetOutput) error {
    [3.12945]
    [3.13090]
    func countAllTableRows(ctx context.Context, q db.Querier, tables []TableRelationship, datasetID string, output *ExportDatasetOutput) error {
  • replacement in tools/export.go at line 212
    [3.13119][3.13119:13180]()
    count, err := countTableRows(ctx, sourceDB, tr, datasetID)
    [3.13119]
    [3.13180]
    count, err := countTableRows(ctx, q, tr, datasetID)
  • replacement in tools/export.go at line 235
    [3.13759][2.2691:2916]()
    func copyDataToOutput(ctx context.Context, outputDB *sql.DB, tables []TableRelationship, datasetID string, sourceDBPath string) error {
    _, err := outputDB.ExecContext(ctx, fmt.Sprintf("ATTACH '%s' AS source", sourceDBPath))
    [3.13759]
    [3.13957]
    func copyDataToOutput(ctx context.Context, w writer, tables []TableRelationship, datasetID string, sourceDBPath string) error {
    _, err := w.ExecContext(ctx, fmt.Sprintf("ATTACH '%s' AS source", sourceDBPath))
  • replacement in tools/export.go at line 243
    [3.14101][3.14101:14149]()
    err = copyTableAsIs(ctx, outputDB, tr.Table)
    [3.14101]
    [3.14149]
    err = copyTableAsIs(ctx, w, tr.Table)
  • replacement in tools/export.go at line 245
    [3.14160][3.14160:14213]()
    err = copyTableData(ctx, outputDB, tr, datasetID)
    [3.14160]
    [3.14213]
    err = copyTableData(ctx, w, tr, datasetID)
  • replacement in tools/export.go at line 260
    [3.365004][3.365004:365101]()
    connStr := outputPath + "?access_mode=read_write"
    database, err := sql.Open("duckdb", connStr)
    [3.365004]
    [3.365101]
    database, err := db.OpenWriteableDB(outputPath)
  • replacement in tools/export.go at line 294
    [3.366188][3.366188:366268]()
    func copyTableAsIs(ctx context.Context, outputDB *sql.DB, table string) error {
    [3.366188]
    [3.366268]
    func copyTableAsIs(ctx context.Context, w writer, table string) error {
  • replacement in tools/export.go at line 296
    [3.366346][3.366346:366390]()
    _, err := outputDB.ExecContext(ctx, query)
    [3.366346]
    [3.366390]
    _, err := w.ExecContext(ctx, query)
  • replacement in tools/export.go at line 301
    [3.366465][3.366465:366571]()
    func copyTableData(ctx context.Context, outputDB *sql.DB, tr TableRelationship, datasetID string) error {
    [3.366465]
    [3.366571]
    func copyTableData(ctx context.Context, w writer, tr TableRelationship, datasetID string) error {
  • replacement in tools/export.go at line 321
    [3.367100][3.367100:367155]()
    _, err := outputDB.ExecContext(ctx, query, datasetID)
    [3.367100]
    [3.367155]
    _, err := w.ExecContext(ctx, query, datasetID)
  • replacement in tools/export.go at line 355
    [3.368441][3.368441:368551]()
    func countTableRows(ctx context.Context, db *sql.DB, tr TableRelationship, datasetID string) (int64, error) {
    [3.368441]
    [3.368551]
    func countTableRows(ctx context.Context, q db.Querier, tr TableRelationship, datasetID string) (int64, error) {
  • replacement in tools/export.go at line 375
    [3.368979][3.368979:369042]()
    err := db.QueryRowContext(ctx, query, datasetID).Scan(&count)
    [3.368979]
    [3.369042]
    err := q.QueryRowContext(ctx, query, datasetID).Scan(&count)
  • replacement in tools/cluster.go at line 86
    [3.381890][2.3354:3487]()
    err := db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(database *sql.DB, tx *db.LoggedTx) error {
    [3.381890]
    [3.19556]
    err := db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(_ *sql.DB, tx *db.LoggedTx) error {
  • replacement in tools/cluster.go at line 210
    [3.11113][3.11113:11184](),[3.11184][2.3578:3633]()
    func validateClusterActive(database *sql.DB, clusterID string) error {
    return db.ClusterExistsAndActive(database, clusterID)
    [3.11113]
    [3.8486]
    func validateClusterActive(q db.Querier, clusterID string) error {
    return db.ClusterExistsAndActive(q, clusterID)
  • replacement in tools/cluster.go at line 215
    [3.8573][3.8573:8653]()
    func validateClusterCyclicPattern(database *sql.DB, input ClusterInput) error {
    [3.8573]
    [3.8653]
    func validateClusterCyclicPattern(q db.Querier, input ClusterInput) error {
  • replacement in tools/cluster.go at line 223
    [3.8812][2.3634:3687]()
    return db.PatternExistsAndActive(database, trimmed)
    [3.8812]
    [3.11435]
    return db.PatternExistsAndActive(q, trimmed)
  • replacement in tools/cluster.go at line 297
    [3.12965][2.3688:3820](),[2.3820][3.20672:20741](),[3.20672][3.20672:20741]()
    err = db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(database *sql.DB, tx *db.LoggedTx) error {
    if err := validateClusterActive(database, clusterID); err != nil {
    [3.12965]
    [3.20741]
    err = db.WithWriteTx(ctx, resolveDBPath(input.DBPath), "create_or_update_cluster", func(_ *sql.DB, tx *db.LoggedTx) error {
    if err := validateClusterActive(tx, clusterID); err != nil {
  • replacement in tools/cluster.go at line 302
    [3.13577][3.20760:20832]()
    if err := validateClusterCyclicPattern(database, input); err != nil {
    [3.13577]
    [3.20832]
    if err := validateClusterCyclicPattern(tx, input); err != nil {
  • replacement in db/schema.go at line 4
    [3.1000229][3.1000229:1000245]()
    "database/sql"
    [3.1000229]
    [3.1000245]
    "context"
  • replacement in db/schema.go at line 157
    [3.1004330][3.1004330:1004378](),[3.1004378][3.7848:7904]()
    func GetFKOrder(db *sql.DB) ([]string, error) {
    dependsOnMe, tables, err := buildFKDependencyGraph(db)
    [3.1004330]
    [3.7904]
    func GetFKOrder(q Querier) ([]string, error) {
    dependsOnMe, tables, err := buildFKDependencyGraph(q)
  • replacement in db/schema.go at line 163
    [3.7943][3.7943:7997]()
    if err := collectAllTables(db, tables); err != nil {
    [3.7943]
    [3.7997]
    if err := collectAllTables(q, tables); err != nil {
  • replacement in db/schema.go at line 173
    [3.8269][3.8269:8357]()
    func buildFKDependencyGraph(db *sql.DB) (map[string][]string, map[string]bool, error) {
    [3.8269]
    [3.8357]
    func buildFKDependencyGraph(q Querier) (map[string][]string, map[string]bool, error) {
  • replacement in db/schema.go at line 177
    [3.8433][3.8433:8458]()
    rows, err := db.Query(`
    [3.8433]
    [3.1004458]
    rows, err := q.QueryContext(context.Background(), `
  • replacement in db/schema.go at line 205
    [3.8794][3.8794:8885]()
    func collectAllTables(db *sql.DB, tables map[string]bool) error {
    rows, err := db.Query(`
    [3.8794]
    [3.1005460]
    func collectAllTables(q Querier, tables map[string]bool) error {
    rows, err := q.QueryContext(context.Background(), `