Documentation
¶
Index ¶
- type Adapter
- type Config
- type CreateConfigParams
- type CreateNarFileParams
- type DBTX
- type LinkNarInfoToNarFileParams
- type NarFile
- type NarInfo
- type NarinfoNarFile
- type Querier
- type Queries
- func (q *Queries) CreateConfig(ctx context.Context, arg CreateConfigParams) (sql.Result, error)
- func (q *Queries) CreateNarFile(ctx context.Context, arg CreateNarFileParams) (sql.Result, error)
- func (q *Queries) CreateNarInfo(ctx context.Context, hash string) (sql.Result, error)
- func (q *Queries) DeleteNarFileByHash(ctx context.Context, hash string) (int64, error)
- func (q *Queries) DeleteNarFileByID(ctx context.Context, id int64) (int64, error)
- func (q *Queries) DeleteNarInfoByHash(ctx context.Context, hash string) (int64, error)
- func (q *Queries) DeleteNarInfoByID(ctx context.Context, id int64) (int64, error)
- func (q *Queries) DeleteOrphanedNarFiles(ctx context.Context) (int64, error)
- func (q *Queries) DeleteOrphanedNarInfos(ctx context.Context) (int64, error)
- func (q *Queries) GetConfigByID(ctx context.Context, id int64) (Config, error)
- func (q *Queries) GetConfigByKey(ctx context.Context, key string) (Config, error)
- func (q *Queries) GetLeastUsedNarFiles(ctx context.Context, fileSize uint64) ([]NarFile, error)
- func (q *Queries) GetLeastUsedNarInfos(ctx context.Context, fileSize uint64) ([]NarInfo, error)
- func (q *Queries) GetNarFileByHash(ctx context.Context, hash string) (NarFile, error)
- func (q *Queries) GetNarFileByID(ctx context.Context, id int64) (NarFile, error)
- func (q *Queries) GetNarFileByNarInfoID(ctx context.Context, narinfoID int64) (NarFile, error)
- func (q *Queries) GetNarFileCount(ctx context.Context) (int64, error)
- func (q *Queries) GetNarInfoByHash(ctx context.Context, hash string) (NarInfo, error)
- func (q *Queries) GetNarInfoByID(ctx context.Context, id int64) (NarInfo, error)
- func (q *Queries) GetNarInfoCount(ctx context.Context) (int64, error)
- func (q *Queries) GetNarInfoHashesByNarFileID(ctx context.Context, narFileID int64) ([]string, error)
- func (q *Queries) GetNarTotalSize(ctx context.Context) (int64, error)
- func (q *Queries) GetOrphanedNarFiles(ctx context.Context) ([]NarFile, error)
- func (q *Queries) LinkNarInfoToNarFile(ctx context.Context, arg LinkNarInfoToNarFileParams) error
- func (q *Queries) SetConfig(ctx context.Context, arg SetConfigParams) error
- func (q *Queries) TouchNarFile(ctx context.Context, hash string) (int64, error)
- func (q *Queries) TouchNarInfo(ctx context.Context, hash string) (int64, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type SetConfigParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct {
*Queries
// contains filtered or unexported fields
}
Adapter wraps mysqldb.Queries and provides the DB() method.
type CreateConfigParams ¶
type CreateNarFileParams ¶
type NarinfoNarFile ¶
type Querier ¶
type Querier interface {
//CreateConfig
//
// INSERT INTO config (
// `key`, value
// ) VALUES (
// ?, ?
// )
CreateConfig(ctx context.Context, arg CreateConfigParams) (sql.Result, error)
//CreateNarFile
//
// INSERT INTO nar_files (
// hash, compression, `query`, file_size
// ) VALUES (
// ?, ?, ?, ?
// )
CreateNarFile(ctx context.Context, arg CreateNarFileParams) (sql.Result, error)
//CreateNarInfo
//
// INSERT INTO narinfos (
// hash
// ) VALUES (
// ?
// )
CreateNarInfo(ctx context.Context, hash string) (sql.Result, error)
//DeleteNarFileByHash
//
// DELETE FROM nar_files
// WHERE hash = ?
DeleteNarFileByHash(ctx context.Context, hash string) (int64, error)
//DeleteNarFileByID
//
// DELETE FROM nar_files
// WHERE id = ?
DeleteNarFileByID(ctx context.Context, id int64) (int64, error)
//DeleteNarInfoByHash
//
// DELETE FROM narinfos
// WHERE hash = ?
DeleteNarInfoByHash(ctx context.Context, hash string) (int64, error)
//DeleteNarInfoByID
//
// DELETE FROM narinfos
// WHERE id = ?
DeleteNarInfoByID(ctx context.Context, id int64) (int64, error)
//DeleteOrphanedNarFiles
//
// DELETE FROM nar_files
// WHERE id NOT IN (
// SELECT DISTINCT nar_file_id
// FROM narinfo_nar_files
// )
DeleteOrphanedNarFiles(ctx context.Context) (int64, error)
//DeleteOrphanedNarInfos
//
// DELETE FROM narinfos
// WHERE id NOT IN (
// SELECT DISTINCT narinfo_id
// FROM narinfo_nar_files
// )
DeleteOrphanedNarInfos(ctx context.Context) (int64, error)
//GetConfigByID
//
// SELECT id, `key`, value, created_at, updated_at
// FROM config
// WHERE id = ?
GetConfigByID(ctx context.Context, id int64) (Config, error)
//GetConfigByKey
//
// SELECT id, `key`, value, created_at, updated_at
// FROM config
// WHERE `key` = ?
GetConfigByKey(ctx context.Context, key string) (Config, error)
// NOTE: This query uses a correlated subquery which is not optimal for performance.
// The ideal implementation would use a window function (SUM OVER), but sqlc v1.30.0
// does not properly support filtering on window function results in subqueries.
//
// SELECT n1.id, n1.hash, n1.compression, n1.file_size, n1.query, n1.created_at, n1.updated_at, n1.last_accessed_at
// FROM nar_files n1
// WHERE (
// SELECT SUM(n2.file_size)
// FROM nar_files n2
// WHERE n2.last_accessed_at < n1.last_accessed_at
// OR (n2.last_accessed_at = n1.last_accessed_at AND n2.id <= n1.id)
// ) <= ?
GetLeastUsedNarFiles(ctx context.Context, fileSize uint64) ([]NarFile, error)
// NOTE: This query uses a correlated subquery which is not optimal for performance.
// The ideal implementation would use a window function (SUM OVER), but sqlc v1.30.0
// does not properly support filtering on window function results in subqueries.
// Gets the least-used narinfos up to a certain total file size (accounting for their nar_files).
//
// SELECT ni1.id, ni1.hash, ni1.created_at, ni1.updated_at, ni1.last_accessed_at
// FROM narinfos ni1
// WHERE (
// SELECT COALESCE(SUM(nf.file_size), 0)
// FROM nar_files nf
// WHERE nf.id IN (
// SELECT DISTINCT nnf.nar_file_id
// FROM narinfo_nar_files nnf
// INNER JOIN narinfos ni2 ON nnf.narinfo_id = ni2.id
// WHERE ni2.last_accessed_at < ni1.last_accessed_at
// OR (ni2.last_accessed_at = ni1.last_accessed_at AND ni2.id <= ni1.id)
// )
// ) <= ?
GetLeastUsedNarInfos(ctx context.Context, fileSize uint64) ([]NarInfo, error)
//GetNarFileByHash
//
// SELECT id, hash, compression, file_size, query, created_at, updated_at, last_accessed_at
// FROM nar_files
// WHERE hash = ?
GetNarFileByHash(ctx context.Context, hash string) (NarFile, error)
//GetNarFileByID
//
// SELECT id, hash, compression, file_size, query, created_at, updated_at, last_accessed_at
// FROM nar_files
// WHERE id = ?
GetNarFileByID(ctx context.Context, id int64) (NarFile, error)
//GetNarFileByNarInfoID
//
// SELECT nf.id, nf.hash, nf.compression, nf.file_size, nf.query, nf.created_at, nf.updated_at, nf.last_accessed_at
// FROM nar_files nf
// INNER JOIN narinfo_nar_files nnf ON nf.id = nnf.nar_file_id
// WHERE nnf.narinfo_id = ?
GetNarFileByNarInfoID(ctx context.Context, narinfoID int64) (NarFile, error)
//GetNarFileCount
//
// SELECT CAST(COUNT(*) AS SIGNED) AS count
// FROM nar_files
GetNarFileCount(ctx context.Context) (int64, error)
//GetNarInfoByHash
//
// SELECT id, hash, created_at, updated_at, last_accessed_at
// FROM narinfos
// WHERE hash = ?
GetNarInfoByHash(ctx context.Context, hash string) (NarInfo, error)
//GetNarInfoByID
//
// SELECT id, hash, created_at, updated_at, last_accessed_at
// FROM narinfos
// WHERE id = ?
GetNarInfoByID(ctx context.Context, id int64) (NarInfo, error)
//GetNarInfoCount
//
// SELECT CAST(COUNT(*) AS SIGNED) AS count
// FROM narinfos
GetNarInfoCount(ctx context.Context) (int64, error)
//GetNarInfoHashesByNarFileID
//
// SELECT ni.hash
// FROM narinfos ni
// INNER JOIN narinfo_nar_files nnf ON ni.id = nnf.narinfo_id
// WHERE nnf.nar_file_id = ?
GetNarInfoHashesByNarFileID(ctx context.Context, narFileID int64) ([]string, error)
//GetNarTotalSize
//
// SELECT CAST(COALESCE(SUM(file_size), 0) AS SIGNED) AS total_size
// FROM nar_files
GetNarTotalSize(ctx context.Context) (int64, error)
// Find files that have no relationship to any narinfo
//
// SELECT nf.id, nf.hash, nf.compression, nf.file_size, nf.query, nf.created_at, nf.updated_at, nf.last_accessed_at
// FROM nar_files nf
// LEFT JOIN narinfo_nar_files ninf ON nf.id = ninf.nar_file_id
// WHERE ninf.narinfo_id IS NULL
GetOrphanedNarFiles(ctx context.Context) ([]NarFile, error)
//LinkNarInfoToNarFile
//
// INSERT INTO narinfo_nar_files (
// narinfo_id, nar_file_id
// ) VALUES (
// ?, ?
// )
LinkNarInfoToNarFile(ctx context.Context, arg LinkNarInfoToNarFileParams) error
//SetConfig
//
// INSERT INTO config (
// `key`, value
// ) VALUES (
// ?, ?
// )
// ON DUPLICATE KEY UPDATE
// value = VALUES(value),
// updated_at = CURRENT_TIMESTAMP
SetConfig(ctx context.Context, arg SetConfigParams) error
//TouchNarFile
//
// UPDATE nar_files
// SET
// last_accessed_at = CURRENT_TIMESTAMP,
// updated_at = CURRENT_TIMESTAMP
// WHERE hash = ?
TouchNarFile(ctx context.Context, hash string) (int64, error)
//TouchNarInfo
//
// UPDATE narinfos
// SET
// last_accessed_at = CURRENT_TIMESTAMP,
// updated_at = CURRENT_TIMESTAMP
// WHERE hash = ?
TouchNarInfo(ctx context.Context, hash string) (int64, error)
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) CreateNarFile ¶
CreateNarFile
INSERT INTO nar_files (
hash, compression, `query`, file_size
) VALUES (
?, ?, ?, ?
)
func (*Queries) DeleteOrphanedNarFiles ¶
DeleteOrphanedNarFiles
DELETE FROM nar_files
WHERE id NOT IN (
SELECT DISTINCT nar_file_id
FROM narinfo_nar_files
)
func (*Queries) DeleteOrphanedNarInfos ¶
DeleteOrphanedNarInfos
DELETE FROM narinfos
WHERE id NOT IN (
SELECT DISTINCT narinfo_id
FROM narinfo_nar_files
)
func (*Queries) GetConfigByID ¶
GetConfigByID
SELECT id, `key`, value, created_at, updated_at FROM config WHERE id = ?
func (*Queries) GetConfigByKey ¶
GetConfigByKey
SELECT id, `key`, value, created_at, updated_at FROM config WHERE `key` = ?
func (*Queries) GetLeastUsedNarFiles ¶
NOTE: This query uses a correlated subquery which is not optimal for performance. The ideal implementation would use a window function (SUM OVER), but sqlc v1.30.0 does not properly support filtering on window function results in subqueries.
SELECT n1.id, n1.hash, n1.compression, n1.file_size, n1.query, n1.created_at, n1.updated_at, n1.last_accessed_at
FROM nar_files n1
WHERE (
SELECT SUM(n2.file_size)
FROM nar_files n2
WHERE n2.last_accessed_at < n1.last_accessed_at
OR (n2.last_accessed_at = n1.last_accessed_at AND n2.id <= n1.id)
) <= ?
func (*Queries) GetLeastUsedNarInfos ¶
NOTE: This query uses a correlated subquery which is not optimal for performance. The ideal implementation would use a window function (SUM OVER), but sqlc v1.30.0 does not properly support filtering on window function results in subqueries. Gets the least-used narinfos up to a certain total file size (accounting for their nar_files).
SELECT ni1.id, ni1.hash, ni1.created_at, ni1.updated_at, ni1.last_accessed_at
FROM narinfos ni1
WHERE (
SELECT COALESCE(SUM(nf.file_size), 0)
FROM nar_files nf
WHERE nf.id IN (
SELECT DISTINCT nnf.nar_file_id
FROM narinfo_nar_files nnf
INNER JOIN narinfos ni2 ON nnf.narinfo_id = ni2.id
WHERE ni2.last_accessed_at < ni1.last_accessed_at
OR (ni2.last_accessed_at = ni1.last_accessed_at AND ni2.id <= ni1.id)
)
) <= ?
func (*Queries) GetNarFileByHash ¶
GetNarFileByHash
SELECT id, hash, compression, file_size, query, created_at, updated_at, last_accessed_at FROM nar_files WHERE hash = ?
func (*Queries) GetNarFileByID ¶
GetNarFileByID
SELECT id, hash, compression, file_size, query, created_at, updated_at, last_accessed_at FROM nar_files WHERE id = ?
func (*Queries) GetNarFileByNarInfoID ¶
GetNarFileByNarInfoID
SELECT nf.id, nf.hash, nf.compression, nf.file_size, nf.query, nf.created_at, nf.updated_at, nf.last_accessed_at FROM nar_files nf INNER JOIN narinfo_nar_files nnf ON nf.id = nnf.nar_file_id WHERE nnf.narinfo_id = ?
func (*Queries) GetNarFileCount ¶ added in v0.7.1
GetNarFileCount
SELECT CAST(COUNT(*) AS SIGNED) AS count FROM nar_files
func (*Queries) GetNarInfoByHash ¶
GetNarInfoByHash
SELECT id, hash, created_at, updated_at, last_accessed_at FROM narinfos WHERE hash = ?
func (*Queries) GetNarInfoByID ¶
GetNarInfoByID
SELECT id, hash, created_at, updated_at, last_accessed_at FROM narinfos WHERE id = ?
func (*Queries) GetNarInfoCount ¶ added in v0.7.1
GetNarInfoCount
SELECT CAST(COUNT(*) AS SIGNED) AS count FROM narinfos
func (*Queries) GetNarInfoHashesByNarFileID ¶
func (q *Queries) GetNarInfoHashesByNarFileID(ctx context.Context, narFileID int64) ([]string, error)
GetNarInfoHashesByNarFileID
SELECT ni.hash FROM narinfos ni INNER JOIN narinfo_nar_files nnf ON ni.id = nnf.narinfo_id WHERE nnf.nar_file_id = ?
func (*Queries) GetNarTotalSize ¶
GetNarTotalSize
SELECT CAST(COALESCE(SUM(file_size), 0) AS SIGNED) AS total_size FROM nar_files
func (*Queries) GetOrphanedNarFiles ¶
Find files that have no relationship to any narinfo
SELECT nf.id, nf.hash, nf.compression, nf.file_size, nf.query, nf.created_at, nf.updated_at, nf.last_accessed_at FROM nar_files nf LEFT JOIN narinfo_nar_files ninf ON nf.id = ninf.nar_file_id WHERE ninf.narinfo_id IS NULL
func (*Queries) LinkNarInfoToNarFile ¶
func (q *Queries) LinkNarInfoToNarFile(ctx context.Context, arg LinkNarInfoToNarFileParams) error
LinkNarInfoToNarFile
INSERT INTO narinfo_nar_files (
narinfo_id, nar_file_id
) VALUES (
?, ?
)
func (*Queries) SetConfig ¶
func (q *Queries) SetConfig(ctx context.Context, arg SetConfigParams) error
SetConfig
INSERT INTO config (
`key`, value
) VALUES (
?, ?
)
ON DUPLICATE KEY UPDATE
value = VALUES(value),
updated_at = CURRENT_TIMESTAMP
func (*Queries) TouchNarFile ¶
TouchNarFile
UPDATE nar_files
SET
last_accessed_at = CURRENT_TIMESTAMP,
updated_at = CURRENT_TIMESTAMP
WHERE hash = ?
func (*Queries) TouchNarInfo ¶
TouchNarInfo
UPDATE narinfos
SET
last_accessed_at = CURRENT_TIMESTAMP,
updated_at = CURRENT_TIMESTAMP
WHERE hash = ?