// Code generated by ent, DO NOT EDIT.

package exectioninfo

import (
	"entgo.io/ent/dialect/sql"
	"entgo.io/ent/dialect/sql/sqlgraph"
	"github.com/buildbarn/bb-portal/ent/gen/ent/predicate"
)

// ID filters vertices based on their ID field.
func ID(id int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldID, id))
}

// IDEQ applies the EQ predicate on the ID field.
func IDEQ(id int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldID, id))
}

// IDNEQ applies the NEQ predicate on the ID field.
func IDNEQ(id int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNEQ(FieldID, id))
}

// IDIn applies the In predicate on the ID field.
func IDIn(ids ...int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIn(FieldID, ids...))
}

// IDNotIn applies the NotIn predicate on the ID field.
func IDNotIn(ids ...int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotIn(FieldID, ids...))
}

// IDGT applies the GT predicate on the ID field.
func IDGT(id int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGT(FieldID, id))
}

// IDGTE applies the GTE predicate on the ID field.
func IDGTE(id int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGTE(FieldID, id))
}

// IDLT applies the LT predicate on the ID field.
func IDLT(id int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLT(FieldID, id))
}

// IDLTE applies the LTE predicate on the ID field.
func IDLTE(id int) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLTE(FieldID, id))
}

// TimeoutSeconds applies equality check predicate on the "timeout_seconds" field. It's identical to TimeoutSecondsEQ.
func TimeoutSeconds(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldTimeoutSeconds, v))
}

// Strategy applies equality check predicate on the "strategy" field. It's identical to StrategyEQ.
func Strategy(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldStrategy, v))
}

// CachedRemotely applies equality check predicate on the "cached_remotely" field. It's identical to CachedRemotelyEQ.
func CachedRemotely(v bool) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldCachedRemotely, v))
}

// ExitCode applies equality check predicate on the "exit_code" field. It's identical to ExitCodeEQ.
func ExitCode(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldExitCode, v))
}

// Hostname applies equality check predicate on the "hostname" field. It's identical to HostnameEQ.
func Hostname(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldHostname, v))
}

// TimeoutSecondsEQ applies the EQ predicate on the "timeout_seconds" field.
func TimeoutSecondsEQ(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldTimeoutSeconds, v))
}

// TimeoutSecondsNEQ applies the NEQ predicate on the "timeout_seconds" field.
func TimeoutSecondsNEQ(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNEQ(FieldTimeoutSeconds, v))
}

// TimeoutSecondsIn applies the In predicate on the "timeout_seconds" field.
func TimeoutSecondsIn(vs ...int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIn(FieldTimeoutSeconds, vs...))
}

// TimeoutSecondsNotIn applies the NotIn predicate on the "timeout_seconds" field.
func TimeoutSecondsNotIn(vs ...int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotIn(FieldTimeoutSeconds, vs...))
}

// TimeoutSecondsGT applies the GT predicate on the "timeout_seconds" field.
func TimeoutSecondsGT(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGT(FieldTimeoutSeconds, v))
}

// TimeoutSecondsGTE applies the GTE predicate on the "timeout_seconds" field.
func TimeoutSecondsGTE(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGTE(FieldTimeoutSeconds, v))
}

// TimeoutSecondsLT applies the LT predicate on the "timeout_seconds" field.
func TimeoutSecondsLT(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLT(FieldTimeoutSeconds, v))
}

// TimeoutSecondsLTE applies the LTE predicate on the "timeout_seconds" field.
func TimeoutSecondsLTE(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLTE(FieldTimeoutSeconds, v))
}

// TimeoutSecondsIsNil applies the IsNil predicate on the "timeout_seconds" field.
func TimeoutSecondsIsNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIsNull(FieldTimeoutSeconds))
}

// TimeoutSecondsNotNil applies the NotNil predicate on the "timeout_seconds" field.
func TimeoutSecondsNotNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotNull(FieldTimeoutSeconds))
}

// StrategyEQ applies the EQ predicate on the "strategy" field.
func StrategyEQ(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldStrategy, v))
}

// StrategyNEQ applies the NEQ predicate on the "strategy" field.
func StrategyNEQ(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNEQ(FieldStrategy, v))
}

// StrategyIn applies the In predicate on the "strategy" field.
func StrategyIn(vs ...string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIn(FieldStrategy, vs...))
}

// StrategyNotIn applies the NotIn predicate on the "strategy" field.
func StrategyNotIn(vs ...string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotIn(FieldStrategy, vs...))
}

// StrategyGT applies the GT predicate on the "strategy" field.
func StrategyGT(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGT(FieldStrategy, v))
}

// StrategyGTE applies the GTE predicate on the "strategy" field.
func StrategyGTE(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGTE(FieldStrategy, v))
}

// StrategyLT applies the LT predicate on the "strategy" field.
func StrategyLT(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLT(FieldStrategy, v))
}

// StrategyLTE applies the LTE predicate on the "strategy" field.
func StrategyLTE(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLTE(FieldStrategy, v))
}

// StrategyContains applies the Contains predicate on the "strategy" field.
func StrategyContains(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldContains(FieldStrategy, v))
}

// StrategyHasPrefix applies the HasPrefix predicate on the "strategy" field.
func StrategyHasPrefix(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldHasPrefix(FieldStrategy, v))
}

// StrategyHasSuffix applies the HasSuffix predicate on the "strategy" field.
func StrategyHasSuffix(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldHasSuffix(FieldStrategy, v))
}

// StrategyIsNil applies the IsNil predicate on the "strategy" field.
func StrategyIsNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIsNull(FieldStrategy))
}

// StrategyNotNil applies the NotNil predicate on the "strategy" field.
func StrategyNotNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotNull(FieldStrategy))
}

// StrategyEqualFold applies the EqualFold predicate on the "strategy" field.
func StrategyEqualFold(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEqualFold(FieldStrategy, v))
}

// StrategyContainsFold applies the ContainsFold predicate on the "strategy" field.
func StrategyContainsFold(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldContainsFold(FieldStrategy, v))
}

// CachedRemotelyEQ applies the EQ predicate on the "cached_remotely" field.
func CachedRemotelyEQ(v bool) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldCachedRemotely, v))
}

// CachedRemotelyNEQ applies the NEQ predicate on the "cached_remotely" field.
func CachedRemotelyNEQ(v bool) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNEQ(FieldCachedRemotely, v))
}

// CachedRemotelyIsNil applies the IsNil predicate on the "cached_remotely" field.
func CachedRemotelyIsNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIsNull(FieldCachedRemotely))
}

// CachedRemotelyNotNil applies the NotNil predicate on the "cached_remotely" field.
func CachedRemotelyNotNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotNull(FieldCachedRemotely))
}

// ExitCodeEQ applies the EQ predicate on the "exit_code" field.
func ExitCodeEQ(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldExitCode, v))
}

// ExitCodeNEQ applies the NEQ predicate on the "exit_code" field.
func ExitCodeNEQ(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNEQ(FieldExitCode, v))
}

// ExitCodeIn applies the In predicate on the "exit_code" field.
func ExitCodeIn(vs ...int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIn(FieldExitCode, vs...))
}

// ExitCodeNotIn applies the NotIn predicate on the "exit_code" field.
func ExitCodeNotIn(vs ...int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotIn(FieldExitCode, vs...))
}

// ExitCodeGT applies the GT predicate on the "exit_code" field.
func ExitCodeGT(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGT(FieldExitCode, v))
}

// ExitCodeGTE applies the GTE predicate on the "exit_code" field.
func ExitCodeGTE(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGTE(FieldExitCode, v))
}

// ExitCodeLT applies the LT predicate on the "exit_code" field.
func ExitCodeLT(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLT(FieldExitCode, v))
}

// ExitCodeLTE applies the LTE predicate on the "exit_code" field.
func ExitCodeLTE(v int32) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLTE(FieldExitCode, v))
}

// ExitCodeIsNil applies the IsNil predicate on the "exit_code" field.
func ExitCodeIsNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIsNull(FieldExitCode))
}

// ExitCodeNotNil applies the NotNil predicate on the "exit_code" field.
func ExitCodeNotNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotNull(FieldExitCode))
}

// HostnameEQ applies the EQ predicate on the "hostname" field.
func HostnameEQ(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEQ(FieldHostname, v))
}

// HostnameNEQ applies the NEQ predicate on the "hostname" field.
func HostnameNEQ(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNEQ(FieldHostname, v))
}

// HostnameIn applies the In predicate on the "hostname" field.
func HostnameIn(vs ...string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIn(FieldHostname, vs...))
}

// HostnameNotIn applies the NotIn predicate on the "hostname" field.
func HostnameNotIn(vs ...string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotIn(FieldHostname, vs...))
}

// HostnameGT applies the GT predicate on the "hostname" field.
func HostnameGT(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGT(FieldHostname, v))
}

// HostnameGTE applies the GTE predicate on the "hostname" field.
func HostnameGTE(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldGTE(FieldHostname, v))
}

// HostnameLT applies the LT predicate on the "hostname" field.
func HostnameLT(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLT(FieldHostname, v))
}

// HostnameLTE applies the LTE predicate on the "hostname" field.
func HostnameLTE(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldLTE(FieldHostname, v))
}

// HostnameContains applies the Contains predicate on the "hostname" field.
func HostnameContains(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldContains(FieldHostname, v))
}

// HostnameHasPrefix applies the HasPrefix predicate on the "hostname" field.
func HostnameHasPrefix(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldHasPrefix(FieldHostname, v))
}

// HostnameHasSuffix applies the HasSuffix predicate on the "hostname" field.
func HostnameHasSuffix(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldHasSuffix(FieldHostname, v))
}

// HostnameIsNil applies the IsNil predicate on the "hostname" field.
func HostnameIsNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldIsNull(FieldHostname))
}

// HostnameNotNil applies the NotNil predicate on the "hostname" field.
func HostnameNotNil() predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldNotNull(FieldHostname))
}

// HostnameEqualFold applies the EqualFold predicate on the "hostname" field.
func HostnameEqualFold(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldEqualFold(FieldHostname, v))
}

// HostnameContainsFold applies the ContainsFold predicate on the "hostname" field.
func HostnameContainsFold(v string) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.FieldContainsFold(FieldHostname, v))
}

// HasTestResult applies the HasEdge predicate on the "test_result" edge.
func HasTestResult() predicate.ExectionInfo {
	return predicate.ExectionInfo(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2O, true, TestResultTable, TestResultColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasTestResultWith applies the HasEdge predicate on the "test_result" edge with a given conditions (other predicates).
func HasTestResultWith(preds ...predicate.TestResultBES) predicate.ExectionInfo {
	return predicate.ExectionInfo(func(s *sql.Selector) {
		step := newTestResultStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasTimingBreakdown applies the HasEdge predicate on the "timing_breakdown" edge.
func HasTimingBreakdown() predicate.ExectionInfo {
	return predicate.ExectionInfo(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2O, false, TimingBreakdownTable, TimingBreakdownColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasTimingBreakdownWith applies the HasEdge predicate on the "timing_breakdown" edge with a given conditions (other predicates).
func HasTimingBreakdownWith(preds ...predicate.TimingBreakdown) predicate.ExectionInfo {
	return predicate.ExectionInfo(func(s *sql.Selector) {
		step := newTimingBreakdownStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// HasResourceUsage applies the HasEdge predicate on the "resource_usage" edge.
func HasResourceUsage() predicate.ExectionInfo {
	return predicate.ExectionInfo(func(s *sql.Selector) {
		step := sqlgraph.NewStep(
			sqlgraph.From(Table, FieldID),
			sqlgraph.Edge(sqlgraph.O2M, false, ResourceUsageTable, ResourceUsageColumn),
		)
		sqlgraph.HasNeighbors(s, step)
	})
}

// HasResourceUsageWith applies the HasEdge predicate on the "resource_usage" edge with a given conditions (other predicates).
func HasResourceUsageWith(preds ...predicate.ResourceUsage) predicate.ExectionInfo {
	return predicate.ExectionInfo(func(s *sql.Selector) {
		step := newResourceUsageStep()
		sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) {
			for _, p := range preds {
				p(s)
			}
		})
	})
}

// And groups predicates with the AND operator between them.
func And(predicates ...predicate.ExectionInfo) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.AndPredicates(predicates...))
}

// Or groups predicates with the OR operator between them.
func Or(predicates ...predicate.ExectionInfo) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.OrPredicates(predicates...))
}

// Not applies the not operator on the given predicate.
func Not(p predicate.ExectionInfo) predicate.ExectionInfo {
	return predicate.ExectionInfo(sql.NotPredicates(p))
}
