db

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IntConvert

func IntConvert[From, To ~int | ~int8 | ~int16 | ~int32 | ~int64 |
	~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 |
	~float32 | ~float64](src From) To

func IntPtrConvert

func IntPtrConvert[From, To ~int | ~int32 | ~int64 | ~float32 | ~float64](src *From) *To

example: IntPtrConvert[int64, int32](dbRow.Age)

func NullBoolToPtr

func NullBoolToPtr(n sql.NullBool) *bool

func NullBytesToPtr

func NullBytesToPtr(b []byte) *[]byte

--- Bytes Converters ---

func NullFloat64ToPtr

func NullFloat64ToPtr(n sql.NullFloat64) *float64

func NullInt32ToPtr

func NullInt32ToPtr(n sql.NullInt32) *int32

--- Nullable SQL Type Converters ---

func NullInt64ToPtr

func NullInt64ToPtr(n sql.NullInt64) *int64

func NullStringToPtr

func NullStringToPtr(n sql.NullString) *string

func NullTimeToProto

func NullTimeToProto(n sql.NullTime) *timestamppb.Timestamp

--- Time Converters ---

func OptionalWithFallback

func OptionalWithFallback[T any](val *T, fallback T) T

OptionalWithFallback chooses fallback if optional value is nil

func ProtoToNullTime

func ProtoToNullTime(t *timestamppb.Timestamp) sql.NullTime

func ProtoToTime

func ProtoToTime(t *timestamppb.Timestamp) time.Time

A nil pointer returns a zero time.Time{}

func PtrBytesToNullString

func PtrBytesToNullString(p *[]byte) sql.NullString

PtrBytesToNullString converts *[]byte to sql.NullString for MySQL compatibility

func PtrToNullBool

func PtrToNullBool(p *bool) sql.NullBool

func PtrToNullBytes

func PtrToNullBytes(b *[]byte) []byte

func PtrToNullFloat64

func PtrToNullFloat64(p *float64) sql.NullFloat64

func PtrToNullInt32

func PtrToNullInt32(p *int32) sql.NullInt32

func PtrToNullInt64

func PtrToNullInt64(p *int64) sql.NullInt64

func PtrToNullString

func PtrToNullString(p *string) sql.NullString

func SQLiteBoolPtrToInt64Ptr

func SQLiteBoolPtrToInt64Ptr(b *bool) *int64

SQLiteBoolPtrToInt64Ptr converts *bool to *int64 for nullable columns via sqlc.narg

func SQLiteBoolToInt

func SQLiteBoolToInt(b bool) int64

func SQLiteInt64PtrToBoolPtr

func SQLiteInt64PtrToBoolPtr(i *int64) *bool

SQLiteInt64PtrToBoolPtr is the inverse of SQLiteBoolPtrToInt64Ptr.

func SQLiteIntToBool

func SQLiteIntToBool(i int64) bool

--- SQLite bool converters ---

func TimeToProto

func TimeToProto(t time.Time) *timestamppb.Timestamp

TimeToProto converts time.Time to timestamppb.Timestamp pointer

Types

type BranchDurationsRow

type BranchDurationsRow struct {
	Branch        string
	SumDurationMs int64
}

type Build

type Build struct {
	ID          int32     `json:"id"`
	CommitSha   string    `json:"commit_sha"`
	Branch      string    `json:"branch"`
	Env         string    `json:"env"`
	Status      string    `json:"status"`
	Author      string    `json:"author"`
	Message     string    `json:"message"`
	DurationMs  int64     `json:"duration_ms"`
	StartedAt   time.Time `json:"started_at"`
	FailedTests *int32    `json:"failed_tests"`
}

func BuildFromSQL

func BuildFromSQL(db *internal.Build) *Build

func (*Build) BuildToSQL

func (m *Build) BuildToSQL() *internal.Build

func (*Build) ToProto

func (m *Build) ToProto() *pb.Build

ToProto converts Build to proto format

type BuildTotalsRow

type BuildTotalsRow struct {
	SumDurationMs  int64
	AvgDurationMs  float64
	MaxFailedTests int64
}

type CreateBuildParams

type CreateBuildParams struct {
	CommitSha   string    `json:"commit_sha"`
	Branch      string    `json:"branch"`
	Env         string    `json:"env"`
	Status      string    `json:"status"`
	Author      string    `json:"author"`
	Message     string    `json:"message"`
	DurationMs  int64     `json:"duration_ms"`
	StartedAt   time.Time `json:"started_at"`
	FailedTests *int32    `json:"failed_tests"`
}

type CreateBulkBuildParams

type CreateBulkBuildParams struct {
	CommitSha   string    `json:"commit_sha"`
	Branch      string    `json:"branch"`
	Env         string    `json:"env"`
	Status      string    `json:"status"`
	Author      string    `json:"author"`
	Message     string    `json:"message"`
	DurationMs  int64     `json:"duration_ms"`
	StartedAt   time.Time `json:"started_at"`
	FailedTests *int32    `json:"failed_tests"`
}

type DBTX

type DBTX = internal.DBTX

type ListBranchStatusHistoryParams

type ListBranchStatusHistoryParams struct {
	Branch string `json:"branch"`
	Status string `json:"status"`
}

type ListBranchStatusesRow

type ListBranchStatusesRow struct {
	Branch string
	Status string
}

type ListBuildsForCleanupParams

type ListBuildsForCleanupParams struct {
	MinStartedAt time.Time `json:"min_started_at"`
	MaxStartedAt time.Time `json:"max_started_at"`
}

type ListEnvBranchDurationsRow

type ListEnvBranchDurationsRow struct {
	Branch        string
	SumDurationMs int64
	AvgDurationMs float64
}

type Queries

type Queries internal.Queries

func New

func New(db DBTX) *Queries

func (*Queries) BranchDurations

func (q *Queries) BranchDurations(ctx context.Context) ([]BranchDurationsRow, error)

func (*Queries) BuildTotals

func (q *Queries) BuildTotals(ctx context.Context) (BuildTotalsRow, error)

func (*Queries) CreateBuild

func (q *Queries) CreateBuild(ctx context.Context, arg CreateBuildParams) (int32, error)

func (*Queries) CreateBulkBuild

func (q *Queries) CreateBulkBuild(ctx context.Context, args []CreateBulkBuildParams) ([]int32, error)

func (*Queries) DeleteAllBuild

func (q *Queries) DeleteAllBuild(ctx context.Context) error

func (*Queries) DeleteBuild

func (q *Queries) DeleteBuild(ctx context.Context, id int32) error

func (*Queries) GetBuildByCommitSha

func (q *Queries) GetBuildByCommitSha(ctx context.Context, commitSha string) (*Build, error)

func (*Queries) GetBuildById

func (q *Queries) GetBuildById(ctx context.Context, id int32) (*Build, error)

func (*Queries) ListAllBuild

func (q *Queries) ListAllBuild(ctx context.Context) ([]*Build, error)

func (*Queries) ListBranchStatusHistory

func (q *Queries) ListBranchStatusHistory(ctx context.Context, arg ListBranchStatusHistoryParams) ([]*Build, error)

func (*Queries) ListBranchStatuses

func (q *Queries) ListBranchStatuses(ctx context.Context) ([]ListBranchStatusesRow, error)

func (*Queries) ListBranches

func (q *Queries) ListBranches(ctx context.Context) ([]string, error)

func (*Queries) ListBuildByBranch

func (q *Queries) ListBuildByBranch(ctx context.Context, branch string) ([]*Build, error)

func (*Queries) ListBuildsForCleanup

func (q *Queries) ListBuildsForCleanup(ctx context.Context, arg ListBuildsForCleanupParams) ([]*Build, error)

func (*Queries) ListEnvBranchDurations

func (q *Queries) ListEnvBranchDurations(ctx context.Context, env string) ([]ListEnvBranchDurationsRow, error)

func (*Queries) ListEnvBranches

func (q *Queries) ListEnvBranches(ctx context.Context, env string) ([]string, error)

func (*Queries) ListLatestBuilds

func (q *Queries) ListLatestBuilds(ctx context.Context, branch string) ([]*Build, error)

func (*Queries) SearchBuilds

func (q *Queries) SearchBuilds(ctx context.Context, arg SearchBuildsParams) ([]*Build, int64, error)

func (*Queries) UpdateBuild

func (q *Queries) UpdateBuild(ctx context.Context, arg UpdateBuildParams) (*Build, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type SearchBuildsParams

type SearchBuildsParams struct {
	Env          string    `json:"env"`
	MinStartedAt time.Time `json:"min_started_at"`
	MaxStartedAt time.Time `json:"max_started_at"`
	Message      string    `json:"message"`
	Status       string    `json:"status"`
	Offset       int32     `json:"offset"`
	Limit        int32     `json:"limit"`
}

type SearchBuildsRow

type SearchBuildsRow = internal.SearchBuildsRow

type UpdateBuildParams

type UpdateBuildParams struct {
	CommitSha   string    `json:"commit_sha"`
	Branch      string    `json:"branch"`
	Env         string    `json:"env"`
	Status      string    `json:"status"`
	Author      string    `json:"author"`
	Message     string    `json:"message"`
	DurationMs  int64     `json:"duration_ms"`
	StartedAt   time.Time `json:"started_at"`
	FailedTests *int32    `json:"failed_tests"`
	ID          int32     `json:"id"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL