경로 통일

This commit is contained in:
Lectom C Han
2025-12-10 10:46:21 +09:00
parent b1a9204e22
commit 199bc29115
11 changed files with 612 additions and 359 deletions

View File

@@ -0,0 +1,35 @@
package importer
import (
"context"
"database/sql"
"fmt"
"github.com/jackc/pgx/v5"
)
// LatestID returns the maximum id in the replica table.
func LatestID(ctx context.Context, conn *pgx.Conn, schema, table string) (int64, error) {
var id sql.NullInt64
query := fmt.Sprintf("SELECT MAX(id) FROM %s", pgx.Identifier{schema, table}.Sanitize())
if err := conn.QueryRow(ctx, query).Scan(&id); err != nil {
return 0, err
}
if !id.Valid {
return 0, nil
}
return id.Int64, nil
}
// CountUpToID returns the number of rows with id <= maxID.
func CountUpToID(ctx context.Context, conn *pgx.Conn, schema, table string, maxID int64) (int64, error) {
var count sql.NullInt64
query := fmt.Sprintf("SELECT COUNT(*) FROM %s WHERE id <= $1", pgx.Identifier{schema, table}.Sanitize())
if err := conn.QueryRow(ctx, query, maxID).Scan(&count); err != nil {
return 0, err
}
if !count.Valid {
return 0, nil
}
return count.Int64, nil
}