Files
codexis/db/queries.sql.go
2026-04-10 15:31:52 -04:00

133 lines
2.8 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: queries.sql
package db
import (
"context"
"database/sql"
"strings"
)
const deleteStaleFiles = `-- name: DeleteStaleFiles :exec
DELETE FROM files WHERE path NOT IN (/*SLICE:paths*/?)
`
func (q *Queries) DeleteStaleFiles(ctx context.Context, paths []string) error {
query := deleteStaleFiles
var queryParams []interface{}
if len(paths) > 0 {
for _, v := range paths {
queryParams = append(queryParams, v)
}
query = strings.Replace(query, "/*SLICE:paths*/?", strings.Repeat(",?", len(paths))[1:], 1)
} else {
query = strings.Replace(query, "/*SLICE:paths*/?", "NULL", 1)
}
_, err := q.db.ExecContext(ctx, query, queryParams...)
return err
}
const deleteSymbolsByFileID = `-- name: DeleteSymbolsByFileID :exec
DELETE FROM symbols WHERE file_id = ?
`
func (q *Queries) DeleteSymbolsByFileID(ctx context.Context, fileID int64) error {
_, err := q.db.ExecContext(ctx, deleteSymbolsByFileID, fileID)
return err
}
const getFileByPath = `-- name: GetFileByPath :one
SELECT id, path, language, package, hash, indexed_at
FROM files
WHERE path = ?
`
func (q *Queries) GetFileByPath(ctx context.Context, path string) (File, error) {
row := q.db.QueryRowContext(ctx, getFileByPath, path)
var i File
err := row.Scan(
&i.ID,
&i.Path,
&i.Language,
&i.Package,
&i.Hash,
&i.IndexedAt,
)
return i, err
}
const insertSymbol = `-- name: InsertSymbol :one
INSERT INTO symbols (file_id, name, kind, line, line_end, col, col_end, exported, parent_id)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
RETURNING id
`
type InsertSymbolParams struct {
FileID int64
Name string
Kind string
Line int64
LineEnd sql.NullInt64
Col sql.NullInt64
ColEnd sql.NullInt64
Exported sql.NullBool
ParentID sql.NullInt64
}
func (q *Queries) InsertSymbol(ctx context.Context, arg InsertSymbolParams) (int64, error) {
row := q.db.QueryRowContext(ctx, insertSymbol,
arg.FileID,
arg.Name,
arg.Kind,
arg.Line,
arg.LineEnd,
arg.Col,
arg.ColEnd,
arg.Exported,
arg.ParentID,
)
var id int64
err := row.Scan(&id)
return id, err
}
const upsertFile = `-- name: UpsertFile :one
INSERT INTO files (path, language, package, hash)
VALUES (?, ?, ?, ?)
ON CONFLICT(path) DO UPDATE SET
language = excluded.language,
package = excluded.package,
hash = excluded.hash,
indexed_at = CURRENT_TIMESTAMP
RETURNING id, path, language, package, hash, indexed_at
`
type UpsertFileParams struct {
Path string
Language string
Package sql.NullString
Hash string
}
func (q *Queries) UpsertFile(ctx context.Context, arg UpsertFileParams) (File, error) {
row := q.db.QueryRowContext(ctx, upsertFile,
arg.Path,
arg.Language,
arg.Package,
arg.Hash,
)
var i File
err := row.Scan(
&i.ID,
&i.Path,
&i.Language,
&i.Package,
&i.Hash,
&i.IndexedAt,
)
return i, err
}