65 lines
6.8 KiB
Plaintext
65 lines
6.8 KiB
Plaintext
# Database Connection Management - 20251123-104210
|
|
== Connection pool settings ==
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:190: db.SetMaxOpenConns(25)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:191: db.SetMaxIdleConns(5)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:192: db.SetConnMaxLifetime(5 * time.Minute)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/work-management-service/main.go:280: database.SetMaxOpenConns(25)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/work-management-service/main.go:281: database.SetMaxIdleConns(5)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/work-management-service/main.go:282: database.SetConnMaxLifetime(5 * time.Minute)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:490: database.SetMaxOpenConns(25) // Max open connections to DB
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:491: database.SetMaxIdleConns(5) // Max idle connections in pool
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:492: database.SetConnMaxLifetime(5 * time.Minute) // Max lifetime of a connection
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:210: db.SetMaxOpenConns(25)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:211: db.SetMaxIdleConns(5)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:212: db.SetConnMaxLifetime(5 * time.Minute)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/contact-service/main.go:243: db.SetMaxOpenConns(25)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/contact-service/main.go:244: db.SetMaxIdleConns(5)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/contact-service/main.go:245: db.SetConnMaxLifetime(5 * time.Minute)
|
|
|
|
== rows.Close() calls (resource cleanup) ==
|
|
21
|
|
rows.Close() calls found
|
|
|
|
== Missing defer rows.Close() (potential leak) ==
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:533: rows, err := db.Query(query, args...)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-534- if err != nil {
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-535- log.Println("Database error:", err)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-536- respondError(w, http.StatusInternalServerError, "Failed to fetch questions")
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-537- return
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-538- }
|
|
--
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:590: err = db.QueryRow(`SELECT id, title, content, author_id, author_name, tags, upvotes, downvotes,
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-591- answer_count, view_count, accepted_answer_id, status, created_at, updated_at
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-592- FROM forum_questions WHERE id = $1`, id).
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-593- Scan(&q.ID, &q.Title, &q.Content, &q.AuthorID, &q.AuthorName, &tags,
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-594- &q.Upvotes, &q.Downvotes, &q.AnswerCount, &q.ViewCount, &acceptedID, &q.Status,
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-595- &q.CreatedAt, &q.UpdatedAt)
|
|
--
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:611: rows, err := db.Query(`SELECT id, question_id, content, author_id, author_name, upvotes, downvotes,
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-612- is_accepted, is_verified, verified_by, verified_at, created_at, updated_at
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-613- FROM forum_answers WHERE question_id = $1 ORDER BY is_accepted DESC, (upvotes - downvotes) DESC, created_at ASC`, id)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-614- if err != nil {
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-615- respondError(w, http.StatusInternalServerError, "Failed to fetch answers")
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-616- return
|
|
--
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:666: err := db.QueryRow(`INSERT INTO forum_questions (title, content, author_id, author_name, tags)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-667- VALUES ($1, $2, $3, $4, $5) RETURNING id, created_at, updated_at`,
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-668- req.Title, req.Content, userID, userName, tagsToPostgres(req.Tags)).
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-669- Scan(&q.ID, &q.CreatedAt, &q.UpdatedAt)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-670- if err != nil {
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-671- log.Println("Database error:", err)
|
|
--
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:703: err = db.QueryRow("SELECT author_id FROM forum_questions WHERE id = $1", id).Scan(&authorID)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-704- if err == sql.ErrNoRows {
|
|
|
|
== Transaction handling ==
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:626: tx, err := db.Begin()
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:631: defer tx.Rollback()
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:669: if err = tx.Commit(); err != nil {
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:749: tx, err := db.Begin()
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:754: defer tx.Rollback()
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:792: if err = tx.Commit(); err != nil {
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2159: tx, err := db.Begin()
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2165: defer tx.Rollback()
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2211: if err = tx.Commit(); err != nil {
|