// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: post_stats.sql package sqlc import ( "context" "net/netip" ) const incrementPostStatsView = `-- name: IncrementPostStatsView :exec WITH visitor AS ( INSERT INTO post_viewers ( post_id, ip, last_viewed_at ) VALUES ( $1, $2, NOW() ) ON CONFLICT (post_id, ip) DO UPDATE SET last_viewed_at = NOW() WHERE post_viewers.last_viewed_at < NOW() - INTERVAL '30 minutes' RETURNING post_id ) INSERT INTO post_stats ( post_id, view_count ) SELECT post_id, 1 FROM visitor ON CONFLICT (post_id) DO UPDATE SET view_count = post_stats.view_count + 1 ` type IncrementPostStatsViewParams struct { PostID int32 `json:"post_id"` Ip netip.Addr `json:"ip"` } func (q *Queries) IncrementPostStatsView(ctx context.Context, arg IncrementPostStatsViewParams) error { _, err := q.db.Exec(ctx, incrementPostStatsView, arg.PostID, arg.Ip) return err }