summaryrefslogtreecommitdiffhomepage
path: root/internal/db/db.go
diff options
context:
space:
mode:
authorKujtim Hoxha <[email protected]>2025-03-23 22:25:31 +0100
committerKujtim Hoxha <[email protected]>2025-03-23 22:25:31 +0100
commite7258e38aeb46281fda474b8b7fcc3eee35edd9f (patch)
tree0ae4a7558b3942519ff137aed7c3cd6a9b473bf5 /internal/db/db.go
parent8daa6e774a6e02698c90392e7b2008542f789594 (diff)
downloadopencode-e7258e38aeb46281fda474b8b7fcc3eee35edd9f.tar.gz
opencode-e7258e38aeb46281fda474b8b7fcc3eee35edd9f.zip
initial agent setup
Diffstat (limited to 'internal/db/db.go')
-rw-r--r--internal/db/db.go78
1 files changed, 64 insertions, 14 deletions
diff --git a/internal/db/db.go b/internal/db/db.go
index b97eb7108..e882106c4 100644
--- a/internal/db/db.go
+++ b/internal/db/db.go
@@ -24,15 +24,30 @@ func New(db DBTX) *Queries {
func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
q := Queries{db: db}
var err error
+ if q.createMessageStmt, err = db.PrepareContext(ctx, createMessage); err != nil {
+ return nil, fmt.Errorf("error preparing query CreateMessage: %w", err)
+ }
if q.createSessionStmt, err = db.PrepareContext(ctx, createSession); err != nil {
return nil, fmt.Errorf("error preparing query CreateSession: %w", err)
}
+ if q.deleteMessageStmt, err = db.PrepareContext(ctx, deleteMessage); err != nil {
+ return nil, fmt.Errorf("error preparing query DeleteMessage: %w", err)
+ }
if q.deleteSessionStmt, err = db.PrepareContext(ctx, deleteSession); err != nil {
return nil, fmt.Errorf("error preparing query DeleteSession: %w", err)
}
+ if q.deleteSessionMessagesStmt, err = db.PrepareContext(ctx, deleteSessionMessages); err != nil {
+ return nil, fmt.Errorf("error preparing query DeleteSessionMessages: %w", err)
+ }
+ if q.getMessageStmt, err = db.PrepareContext(ctx, getMessage); err != nil {
+ return nil, fmt.Errorf("error preparing query GetMessage: %w", err)
+ }
if q.getSessionByIDStmt, err = db.PrepareContext(ctx, getSessionByID); err != nil {
return nil, fmt.Errorf("error preparing query GetSessionByID: %w", err)
}
+ if q.listMessagesBySessionStmt, err = db.PrepareContext(ctx, listMessagesBySession); err != nil {
+ return nil, fmt.Errorf("error preparing query ListMessagesBySession: %w", err)
+ }
if q.listSessionsStmt, err = db.PrepareContext(ctx, listSessions); err != nil {
return nil, fmt.Errorf("error preparing query ListSessions: %w", err)
}
@@ -44,21 +59,46 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
func (q *Queries) Close() error {
var err error
+ if q.createMessageStmt != nil {
+ if cerr := q.createMessageStmt.Close(); cerr != nil {
+ err = fmt.Errorf("error closing createMessageStmt: %w", cerr)
+ }
+ }
if q.createSessionStmt != nil {
if cerr := q.createSessionStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing createSessionStmt: %w", cerr)
}
}
+ if q.deleteMessageStmt != nil {
+ if cerr := q.deleteMessageStmt.Close(); cerr != nil {
+ err = fmt.Errorf("error closing deleteMessageStmt: %w", cerr)
+ }
+ }
if q.deleteSessionStmt != nil {
if cerr := q.deleteSessionStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing deleteSessionStmt: %w", cerr)
}
}
+ if q.deleteSessionMessagesStmt != nil {
+ if cerr := q.deleteSessionMessagesStmt.Close(); cerr != nil {
+ err = fmt.Errorf("error closing deleteSessionMessagesStmt: %w", cerr)
+ }
+ }
+ if q.getMessageStmt != nil {
+ if cerr := q.getMessageStmt.Close(); cerr != nil {
+ err = fmt.Errorf("error closing getMessageStmt: %w", cerr)
+ }
+ }
if q.getSessionByIDStmt != nil {
if cerr := q.getSessionByIDStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getSessionByIDStmt: %w", cerr)
}
}
+ if q.listMessagesBySessionStmt != nil {
+ if cerr := q.listMessagesBySessionStmt.Close(); cerr != nil {
+ err = fmt.Errorf("error closing listMessagesBySessionStmt: %w", cerr)
+ }
+ }
if q.listSessionsStmt != nil {
if cerr := q.listSessionsStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing listSessionsStmt: %w", cerr)
@@ -106,23 +146,33 @@ func (q *Queries) queryRow(ctx context.Context, stmt *sql.Stmt, query string, ar
}
type Queries struct {
- db DBTX
- tx *sql.Tx
- createSessionStmt *sql.Stmt
- deleteSessionStmt *sql.Stmt
- getSessionByIDStmt *sql.Stmt
- listSessionsStmt *sql.Stmt
- updateSessionStmt *sql.Stmt
+ db DBTX
+ tx *sql.Tx
+ createMessageStmt *sql.Stmt
+ createSessionStmt *sql.Stmt
+ deleteMessageStmt *sql.Stmt
+ deleteSessionStmt *sql.Stmt
+ deleteSessionMessagesStmt *sql.Stmt
+ getMessageStmt *sql.Stmt
+ getSessionByIDStmt *sql.Stmt
+ listMessagesBySessionStmt *sql.Stmt
+ listSessionsStmt *sql.Stmt
+ updateSessionStmt *sql.Stmt
}
func (q *Queries) WithTx(tx *sql.Tx) *Queries {
return &Queries{
- db: tx,
- tx: tx,
- createSessionStmt: q.createSessionStmt,
- deleteSessionStmt: q.deleteSessionStmt,
- getSessionByIDStmt: q.getSessionByIDStmt,
- listSessionsStmt: q.listSessionsStmt,
- updateSessionStmt: q.updateSessionStmt,
+ db: tx,
+ tx: tx,
+ createMessageStmt: q.createMessageStmt,
+ createSessionStmt: q.createSessionStmt,
+ deleteMessageStmt: q.deleteMessageStmt,
+ deleteSessionStmt: q.deleteSessionStmt,
+ deleteSessionMessagesStmt: q.deleteSessionMessagesStmt,
+ getMessageStmt: q.getMessageStmt,
+ getSessionByIDStmt: q.getSessionByIDStmt,
+ listMessagesBySessionStmt: q.listMessagesBySessionStmt,
+ listSessionsStmt: q.listSessionsStmt,
+ updateSessionStmt: q.updateSessionStmt,
}
}