Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/missionmatch / internal/platform/database/dbgen/skills.sql.go |
| Date | Not specified in source |
| Repository | Janady13/missionmatch |
| Revision | 39df94f92b2a33f852481fe1954dabed841524bb |
| Branch | w0-aedt-compliance |
| Path or archive member | internal/platform/database/dbgen/skills.sql.go |
| Original SHA-256 | 34ae1f1b201f0633a1ecec2fd39c97e3f1791b332e0624c9c1ac8af64da75ff2 |
| Git blob SHA | 2443f7a98c9b48d82da708a2cc4d31c4f0153ab3 |
| Reading-copy SHA-256 | 34ae1f1b201f0633a1ecec2fd39c97e3f1791b332e0624c9c1ac8af64da75ff2 |
Recovered source transcript
Download complete source text ↓132 lines · 3.1 KB
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: skills.sql
package dbgen
import (
"context"
"github.com/google/uuid"
pgvector "github.com/pgvector/pgvector-go"
)
const getSkillByName = `-- name: GetSkillByName :one
SELECT id, name, category, embedding, created_at FROM skills WHERE name = $1
`
func (q *Queries) GetSkillByName(ctx context.Context, name string) (Skill, error) {
row := q.db.QueryRow(ctx, getSkillByName, name)
var i Skill
err := row.Scan(
&i.ID,
&i.Name,
&i.Category,
&i.Embedding,
&i.CreatedAt,
)
return i, err
}
const listSkills = `-- name: ListSkills :many
SELECT id, name, category, embedding, created_at FROM skills ORDER BY name LIMIT $1 OFFSET $2
`
type ListSkillsParams struct {
Limit int32 `json:"limit"`
Offset int32 `json:"offset"`
}
func (q *Queries) ListSkills(ctx context.Context, arg ListSkillsParams) ([]Skill, error) {
rows, err := q.db.Query(ctx, listSkills, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
items := []Skill{}
for rows.Next() {
var i Skill
if err := rows.Scan(
&i.ID,
&i.Name,
&i.Category,
&i.Embedding,
&i.CreatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const searchSkillsSemantic = `-- name: SearchSkillsSemantic :many
SELECT id, name, (embedding <=> $1::vector)::float8 AS distance
FROM skills
WHERE embedding IS NOT NULL
ORDER BY embedding <=> $1::vector, name, id -- unique tiebreaker => deterministic [review SQLC-3]
LIMIT $2
`
type SearchSkillsSemanticParams struct {
Column1 pgvector.Vector `json:"column_1"`
Limit int32 `json:"limit"`
}
type SearchSkillsSemanticRow struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Distance float64 `json:"distance"`
}
// Cosine nearest-neighbor over the skills ontology (powers semantic skill adjacency).
func (q *Queries) SearchSkillsSemantic(ctx context.Context, arg SearchSkillsSemanticParams) ([]SearchSkillsSemanticRow, error) {
rows, err := q.db.Query(ctx, searchSkillsSemantic, arg.Column1, arg.Limit)
if err != nil {
return nil, err
}
defer rows.Close()
items := []SearchSkillsSemanticRow{}
for rows.Next() {
var i SearchSkillsSemanticRow
if err := rows.Scan(&i.ID, &i.Name, &i.Distance); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const upsertSkill = `-- name: UpsertSkill :one
INSERT INTO skills (name, category, embedding)
VALUES ($1,$2,$3)
ON CONFLICT (name) DO UPDATE SET category = EXCLUDED.category
RETURNING id, name, category, embedding, created_at
`
type UpsertSkillParams struct {
Name string `json:"name"`
Category *string `json:"category"`
Embedding *pgvector.Vector `json:"embedding"`
}
func (q *Queries) UpsertSkill(ctx context.Context, arg UpsertSkillParams) (Skill, error) {
row := q.db.QueryRow(ctx, upsertSkill, arg.Name, arg.Category, arg.Embedding)
var i Skill
err := row.Scan(
&i.ID,
&i.Name,
&i.Category,
&i.Embedding,
&i.CreatedAt,
)
return i, err
}