// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: history.sql package db import ( "context" "database/sql" ) const AddOrUpdateHistory = `-- name: AddOrUpdateHistory :exec INSERT INTO history (url, title) VALUES (?, ?) ON CONFLICT(url) DO UPDATE SET visit_count = visit_count + 1, last_visited = CURRENT_TIMESTAMP, title = EXCLUDED.title ` func (q *Queries) AddOrUpdateHistory(ctx context.Context, url string, title sql.NullString) error { _, err := q.db.ExecContext(ctx, AddOrUpdateHistory, url, title) return err } const DeleteHistory = `-- name: DeleteHistory :exec DELETE FROM history WHERE id = ? ` func (q *Queries) DeleteHistory(ctx context.Context, id int64) error { _, err := q.db.ExecContext(ctx, DeleteHistory, id) return err } const GetHistory = `-- name: GetHistory :many SELECT id, url, title, visit_count, last_visited, created_at, favicon_url FROM history ORDER BY last_visited DESC LIMIT ? ` func (q *Queries) GetHistory(ctx context.Context, limit int64) ([]History, error) { rows, err := q.db.QueryContext(ctx, GetHistory, limit) if err != nil { return nil, err } defer rows.Close() items := []History{} for rows.Next() { var i History if err := rows.Scan( &i.ID, &i.Url, &i.Title, &i.VisitCount, &i.LastVisited, &i.CreatedAt, &i.FaviconUrl, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const GetHistoryEntry = `-- name: GetHistoryEntry :one SELECT id, url, title, visit_count, last_visited, created_at, favicon_url FROM history WHERE url = ? LIMIT 1 ` func (q *Queries) GetHistoryEntry(ctx context.Context, url string) (History, error) { row := q.db.QueryRowContext(ctx, GetHistoryEntry, url) var i History err := row.Scan( &i.ID, &i.Url, &i.Title, &i.VisitCount, &i.LastVisited, &i.CreatedAt, &i.FaviconUrl, ) return i, err } const GetHistoryWithOffset = `-- name: GetHistoryWithOffset :many SELECT id, url, title, visit_count, last_visited, created_at, favicon_url FROM history ORDER BY last_visited DESC LIMIT ? OFFSET ? ` func (q *Queries) GetHistoryWithOffset(ctx context.Context, limit int64, offset int64) ([]History, error) { rows, err := q.db.QueryContext(ctx, GetHistoryWithOffset, limit, offset) if err != nil { return nil, err } defer rows.Close() items := []History{} for rows.Next() { var i History if err := rows.Scan( &i.ID, &i.Url, &i.Title, &i.VisitCount, &i.LastVisited, &i.CreatedAt, &i.FaviconUrl, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const SearchHistory = `-- name: SearchHistory :many SELECT id, url, title, visit_count, last_visited, created_at, favicon_url FROM history WHERE url LIKE '%' || ? || '%' OR title LIKE '%' || ? || '%' ORDER BY visit_count DESC, last_visited DESC LIMIT ? ` func (q *Queries) SearchHistory(ctx context.Context, column1 sql.NullString, column2 sql.NullString, limit int64) ([]History, error) { rows, err := q.db.QueryContext(ctx, SearchHistory, column1, column2, limit) if err != nil { return nil, err } defer rows.Close() items := []History{} for rows.Next() { var i History if err := rows.Scan( &i.ID, &i.Url, &i.Title, &i.VisitCount, &i.LastVisited, &i.CreatedAt, &i.FaviconUrl, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const UpdateHistoryFavicon = `-- name: UpdateHistoryFavicon :exec UPDATE history SET favicon_url = ? WHERE url = ? ` func (q *Queries) UpdateHistoryFavicon(ctx context.Context, faviconUrl sql.NullString, url string) error { _, err := q.db.ExecContext(ctx, UpdateHistoryFavicon, faviconUrl, url) return err }