# Database Connection Management - 20251123-092506 == Connection pool settings == No pool configuration found - using defaults (potential issue) == rows.Close() calls (resource cleanup) == 20 rows.Close() calls found == Missing defer rows.Close() (potential leak) == /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:453: rows, err := db.Query(query, args...) /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-454- if err != nil { /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-455- log.Println("Database error:", err) /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-456- respondError(w, http.StatusInternalServerError, "Failed to fetch questions") /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-457- return /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-458- } -- /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:510: 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-511- answer_count, view_count, accepted_answer_id, status, created_at, updated_at /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-512- FROM forum_questions WHERE id = $1`, id). /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-513- Scan(&q.ID, &q.Title, &q.Content, &q.AuthorID, &q.AuthorName, &tags, /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-514- &q.Upvotes, &q.Downvotes, &q.AnswerCount, &q.ViewCount, &acceptedID, &q.Status, /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-515- &q.CreatedAt, &q.UpdatedAt) -- /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:531: 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-532- is_accepted, is_verified, verified_by, verified_at, created_at, updated_at /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-533- 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-534- if err != nil { /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-535- respondError(w, http.StatusInternalServerError, "Failed to fetch answers") /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-536- return -- /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:586: 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-587- VALUES ($1, $2, $3, $4, $5) RETURNING id, created_at, updated_at`, /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-588- req.Title, req.Content, userID, userName, tagsToPostgres(req.Tags)). /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-589- Scan(&q.ID, &q.CreatedAt, &q.UpdatedAt) /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-590- if err != nil { /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go-591- log.Println("Database error:", err) -- /home/administrator/projects/coppertone.tech/backend/functions/forum-service/main.go:623: 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-624- if err == sql.ErrNoRows { == Transaction handling == /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:563: tx, err := db.Begin() /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:568: defer tx.Rollback() /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:606: if err = tx.Commit(); err != nil { /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:686: tx, err := db.Begin() /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:691: defer tx.Rollback() /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:729: if err = tx.Commit(); err != nil { /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1863: tx, err := db.Begin() /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1869: defer tx.Rollback() /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1915: if err = tx.Commit(); err != nil {