summaryrefslogtreecommitdiff
path: root/model
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--model/db.go13
-rw-r--r--model/models.go31
-rw-r--r--model/sexps.sql.go16
-rw-r--r--model/users.sql.go17
4 files changed, 36 insertions, 41 deletions
diff --git a/model/db.go b/model/db.go
index 2e42192..5b6feb0 100644
--- a/model/db.go
+++ b/model/db.go
@@ -6,14 +6,15 @@ package model
import (
"context"
- "database/sql"
+
+ "github.com/jackc/pgx/v5"
+ "github.com/jackc/pgx/v5/pgconn"
)
type DBTX interface {
- ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
- PrepareContext(context.Context, string) (*sql.Stmt, error)
- QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
- QueryRowContext(context.Context, string, ...interface{}) *sql.Row
+ Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
+ Query(context.Context, string, ...interface{}) (pgx.Rows, error)
+ QueryRow(context.Context, string, ...interface{}) pgx.Row
}
func New(db DBTX) *Queries {
@@ -24,7 +25,7 @@ type Queries struct {
db DBTX
}
-func (q *Queries) WithTx(tx *sql.Tx) *Queries {
+func (q *Queries) WithTx(tx pgx.Tx) *Queries {
return &Queries{
db: tx,
}
diff --git a/model/models.go b/model/models.go
index be09076..eba1207 100644
--- a/model/models.go
+++ b/model/models.go
@@ -5,36 +5,35 @@
package model
import (
- "database/sql"
- "time"
+ "github.com/jackc/pgx/v5/pgtype"
)
type Category struct {
ID int32
Name string
- ParentID sql.NullInt32
+ ParentID pgtype.Int4
UserID int32
}
type ConstExpense struct {
ID int32
- Description sql.NullString
- Expense string
- Months uint8
- Start time.Time
- End time.Time
- PrevID sql.NullInt32
+ Description pgtype.Text
+ Expense pgtype.Numeric
+ Months int16
+ Start pgtype.Date
+ End pgtype.Date
+ PrevID pgtype.Int4
CategoryID int32
UserID int32
}
type SingleExpense struct {
- ID int32
- Description sql.NullString
- Expense string
- Year uint16
- Month uint8
- Day uint8
+ ID int64
+ Description pgtype.Text
+ Expense pgtype.Numeric
+ Year int16
+ Month int16
+ Day int16
CategoryID int32
UserID int32
}
@@ -43,5 +42,5 @@ type User struct {
ID int32
Name string
Pwd string
- Description sql.NullString
+ Description pgtype.Text
}
diff --git a/model/sexps.sql.go b/model/sexps.sql.go
index 1108e55..8a54443 100644
--- a/model/sexps.sql.go
+++ b/model/sexps.sql.go
@@ -7,27 +7,28 @@ package model
import (
"context"
- "database/sql"
+
+ "github.com/jackc/pgx/v5/pgtype"
)
const getSingleExpenses = `-- name: GetSingleExpenses :many
SELECT id, description
FROM single_expenses
- WHERE user_id = ?
+ WHERE user_id = $1
`
type GetSingleExpensesRow struct {
- ID int32
- Description sql.NullString
+ ID int64
+ Description pgtype.Text
}
// GetSingleExpenses
//
// SELECT id, description
// FROM single_expenses
-// WHERE user_id = ?
+// WHERE user_id = $1
func (q *Queries) GetSingleExpenses(ctx context.Context, userID int32) ([]GetSingleExpensesRow, error) {
- rows, err := q.db.QueryContext(ctx, getSingleExpenses, userID)
+ rows, err := q.db.Query(ctx, getSingleExpenses, userID)
if err != nil {
return nil, err
}
@@ -40,9 +41,6 @@ func (q *Queries) GetSingleExpenses(ctx context.Context, userID int32) ([]GetSin
}
items = append(items, i)
}
- if err := rows.Close(); err != nil {
- return nil, err
- }
if err := rows.Err(); err != nil {
return nil, err
}
diff --git a/model/users.sql.go b/model/users.sql.go
index 87ae961..e63dacc 100644
--- a/model/users.sql.go
+++ b/model/users.sql.go
@@ -12,16 +12,16 @@ import (
const getUserById = `-- name: GetUserById :one
SELECT id, name, pwd, description
FROM users
- WHERE id = ?
+ WHERE id = $1
`
// GetUserById
//
// SELECT id, name, pwd, description
// FROM users
-// WHERE id = ?
+// WHERE id = $1
func (q *Queries) GetUserById(ctx context.Context, id int32) (User, error) {
- row := q.db.QueryRowContext(ctx, getUserById, id)
+ row := q.db.QueryRow(ctx, getUserById, id)
var i User
err := row.Scan(
&i.ID,
@@ -35,16 +35,16 @@ func (q *Queries) GetUserById(ctx context.Context, id int32) (User, error) {
const getUserByName = `-- name: GetUserByName :one
SELECT id, name, pwd, description
FROM users
- WHERE LOWER(name) = LOWER(?)
+ WHERE LOWER(name) = LOWER($1)
`
// GetUserByName
//
// SELECT id, name, pwd, description
// FROM users
-// WHERE LOWER(name) = LOWER(?)
+// WHERE LOWER(name) = LOWER($1)
func (q *Queries) GetUserByName(ctx context.Context, lower string) (User, error) {
- row := q.db.QueryRowContext(ctx, getUserByName, lower)
+ row := q.db.QueryRow(ctx, getUserByName, lower)
var i User
err := row.Scan(
&i.ID,
@@ -65,7 +65,7 @@ SELECT id, name, pwd, description
// SELECT id, name, pwd, description
// FROM users
func (q *Queries) GetUsers(ctx context.Context) ([]User, error) {
- rows, err := q.db.QueryContext(ctx, getUsers)
+ rows, err := q.db.Query(ctx, getUsers)
if err != nil {
return nil, err
}
@@ -83,9 +83,6 @@ func (q *Queries) GetUsers(ctx context.Context) ([]User, error) {
}
items = append(items, i)
}
- if err := rows.Close(); err != nil {
- return nil, err
- }
if err := rows.Err(); err != nil {
return nil, err
}