tests

package
v1.3.5 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2018 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Code generated by https://github.com/src-d/go-kallax. DO NOT EDIT. Please, do not touch the code below, and if you do, do it under your own risk. Take into account that all the code you write here will be completely erased from earth the next time you generate the kallax models.

Index

Constants

This section is empty.

Variables

View Source
var Schema = &schema{
	A: &schemaA{
		BaseSchema: kallax.NewBaseSchema(
			"a",
			"__a",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"B": kallax.NewForeignKey("a_id", false),
			},
			func() kallax.Record {
				return new(A)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
	},
	B: &schemaB{
		BaseSchema: kallax.NewBaseSchema(
			"b",
			"__b",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"A": kallax.NewForeignKey("a_id", true),
				"C": kallax.NewForeignKey("b_id", false),
			},
			func() kallax.Record {
				return new(B)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
			kallax.NewSchemaField("a_id"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
		AFK:  kallax.NewSchemaField("a_id"),
	},
	Brand: &schemaBrand{
		BaseSchema: kallax.NewBaseSchema(
			"brands",
			"__brand",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(Brand)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
	},
	C: &schemaC{
		BaseSchema: kallax.NewBaseSchema(
			"c",
			"__c",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"B": kallax.NewForeignKey("b_id", true),
			},
			func() kallax.Record {
				return new(C)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
			kallax.NewSchemaField("b_id"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
		BFK:  kallax.NewSchemaField("b_id"),
	},
	Car: &schemaCar{
		BaseSchema: kallax.NewBaseSchema(
			"cars",
			"__car",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Owner": kallax.NewForeignKey("owner_id", true),
				"Brand": kallax.NewForeignKey("brand_id", true),
			},
			func() kallax.Record {
				return new(Car)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("owner_id"),
			kallax.NewSchemaField("model_name"),
			kallax.NewSchemaField("brand_id"),
		),
		ID:        kallax.NewSchemaField("id"),
		OwnerFK:   kallax.NewSchemaField("owner_id"),
		ModelName: kallax.NewSchemaField("model_name"),
		BrandFK:   kallax.NewSchemaField("brand_id"),
	},
	Child: &schemaChild{
		BaseSchema: kallax.NewBaseSchema(
			"children",
			"__child",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(Child)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
			kallax.NewSchemaField("parent_id"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
	},
	EventsAllFixture: &schemaEventsAllFixture{
		BaseSchema: kallax.NewBaseSchema(
			"event",
			"__eventsallfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(EventsAllFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("checks"),
			kallax.NewSchemaField("must_fail_before"),
			kallax.NewSchemaField("must_fail_after"),
		),
		ID:             kallax.NewSchemaField("id"),
		Checks:         kallax.NewSchemaField("checks"),
		MustFailBefore: kallax.NewSchemaField("must_fail_before"),
		MustFailAfter:  kallax.NewSchemaField("must_fail_after"),
	},
	EventsFixture: &schemaEventsFixture{
		BaseSchema: kallax.NewBaseSchema(
			"event",
			"__eventsfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(EventsFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("checks"),
			kallax.NewSchemaField("must_fail_before"),
			kallax.NewSchemaField("must_fail_after"),
		),
		ID:             kallax.NewSchemaField("id"),
		Checks:         kallax.NewSchemaField("checks"),
		MustFailBefore: kallax.NewSchemaField("must_fail_before"),
		MustFailAfter:  kallax.NewSchemaField("must_fail_after"),
	},
	EventsSaveFixture: &schemaEventsSaveFixture{
		BaseSchema: kallax.NewBaseSchema(
			"event",
			"__eventssavefixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(EventsSaveFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("checks"),
			kallax.NewSchemaField("must_fail_before"),
			kallax.NewSchemaField("must_fail_after"),
		),
		ID:             kallax.NewSchemaField("id"),
		Checks:         kallax.NewSchemaField("checks"),
		MustFailBefore: kallax.NewSchemaField("must_fail_before"),
		MustFailAfter:  kallax.NewSchemaField("must_fail_after"),
	},
	JSONModel: &schemaJSONModel{
		BaseSchema: kallax.NewBaseSchema(
			"jsons",
			"__jsonmodel",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(JSONModel)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("foo"),
			kallax.NewSchemaField("bar"),
			kallax.NewSchemaField("baz_slice"),
			kallax.NewSchemaField("baz"),
		),
		ID:  kallax.NewSchemaField("id"),
		Foo: kallax.NewSchemaField("foo"),
		Bar: &schemaJSONModelBar{
			BaseSchemaField: kallax.NewSchemaField("bar").(*kallax.BaseSchemaField),
			Qux: &schemaJSONModelBarQux{
				JSONSchemaArray: kallax.NewJSONSchemaArray("bar", "Qux"),
				Schnooga:        kallax.NewJSONSchemaKey(kallax.JSONText, "bar", "Qux", "Schnooga"),
				Balooga:         kallax.NewJSONSchemaKey(kallax.JSONInt, "bar", "Qux", "Balooga"),
				Boo:             kallax.NewJSONSchemaKey(kallax.JSONFloat, "bar", "Qux", "Boo"),
			},
			Mux: kallax.NewJSONSchemaKey(kallax.JSONText, "bar", "Mux"),
		},
		BazSlice: &schemaJSONModelBazSlice{
			BaseSchemaField: kallax.NewSchemaField("baz_slice").(*kallax.BaseSchemaField),
			Mux:             kallax.NewJSONSchemaKey(kallax.JSONText, "baz_slice", "Mux"),
		},
		Baz: kallax.NewSchemaField("baz"),
	},
	MultiKeySortFixture: &schemaMultiKeySortFixture{
		BaseSchema: kallax.NewBaseSchema(
			"query",
			"__multikeysortfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(MultiKeySortFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
			kallax.NewSchemaField("start"),
			kallax.NewSchemaField("_end"),
		),
		ID:    kallax.NewSchemaField("id"),
		Name:  kallax.NewSchemaField("name"),
		Start: kallax.NewSchemaField("start"),
		End:   kallax.NewSchemaField("_end"),
	},
	Nullable: &schemaNullable{
		BaseSchema: kallax.NewBaseSchema(
			"nullable",
			"__nullable",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(Nullable)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("t"),
			kallax.NewSchemaField("some_json"),
			kallax.NewSchemaField("scanner"),
		),
		ID: kallax.NewSchemaField("id"),
		T:  kallax.NewSchemaField("t"),
		SomeJSON: &schemaNullableSomeJSON{
			BaseSchemaField: kallax.NewSchemaField("some_json").(*kallax.BaseSchemaField),
			Foo:             kallax.NewJSONSchemaKey(kallax.JSONInt, "some_json", "Foo"),
		},
		Scanner: kallax.NewSchemaField("scanner"),
	},
	Parent: &schemaParent{
		BaseSchema: kallax.NewBaseSchema(
			"parents",
			"__parent",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Children": kallax.NewForeignKey("parent_id", false),
			},
			func() kallax.Record {
				return new(Parent)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
	},
	ParentNoPtr: &schemaParentNoPtr{
		BaseSchema: kallax.NewBaseSchema(
			"parents",
			"__parentnoptr",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Children": kallax.NewForeignKey("parent_id", false),
			},
			func() kallax.Record {
				return new(ParentNoPtr)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
	},
	Person: &schemaPerson{
		BaseSchema: kallax.NewBaseSchema(
			"persons",
			"__person",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Pets": kallax.NewForeignKey("owner_id", false),
				"Car":  kallax.NewForeignKey("owner_id", false),
			},
			func() kallax.Record {
				return new(Person)
			},
			true,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
		),
		ID:   kallax.NewSchemaField("id"),
		Name: kallax.NewSchemaField("name"),
	},
	Pet: &schemaPet{
		BaseSchema: kallax.NewBaseSchema(
			"pets",
			"__pet",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Owner": kallax.NewForeignKey("owner_id", true),
			},
			func() kallax.Record {
				return new(Pet)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
			kallax.NewSchemaField("kind"),
			kallax.NewSchemaField("owner_id"),
		),
		ID:      kallax.NewSchemaField("id"),
		Name:    kallax.NewSchemaField("name"),
		Kind:    kallax.NewSchemaField("kind"),
		OwnerFK: kallax.NewSchemaField("owner_id"),
	},
	QueryFixture: &schemaQueryFixture{
		BaseSchema: kallax.NewBaseSchema(
			"query",
			"__queryfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Relation":  kallax.NewForeignKey("owner_id", false),
				"Inverse":   kallax.NewForeignKey("inverse_id", true),
				"NRelation": kallax.NewForeignKey("owner_id", false),
			},
			func() kallax.Record {
				return new(QueryFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("inverse_id"),
			kallax.NewSchemaField("embedded"),
			kallax.NewSchemaField("inline"),
			kallax.NewSchemaField("map_of_string"),
			kallax.NewSchemaField("map_of_interface"),
			kallax.NewSchemaField("map_of_some_type"),
			kallax.NewSchemaField("foo"),
			kallax.NewSchemaField("string_property"),
			kallax.NewSchemaField("integer"),
			kallax.NewSchemaField("integer64"),
			kallax.NewSchemaField("float32"),
			kallax.NewSchemaField("boolean"),
			kallax.NewSchemaField("array_param"),
			kallax.NewSchemaField("slice_param"),
			kallax.NewSchemaField("alias_array_param"),
			kallax.NewSchemaField("alias_slice_param"),
			kallax.NewSchemaField("alias_string_param"),
			kallax.NewSchemaField("alias_int_param"),
			kallax.NewSchemaField("dummy_param"),
			kallax.NewSchemaField("alias_dummy_param"),
			kallax.NewSchemaField("slice_dummy_param"),
			kallax.NewSchemaField("idproperty_param"),
			kallax.NewSchemaField("interface_prop_param"),
			kallax.NewSchemaField("urlparam"),
			kallax.NewSchemaField("time_param"),
			kallax.NewSchemaField("alias_arr_alias_string_param"),
			kallax.NewSchemaField("alias_here_array_param"),
			kallax.NewSchemaField("array_alias_here_string_param"),
			kallax.NewSchemaField("scanner_valuer_param"),
		),
		ID:                        kallax.NewSchemaField("id"),
		InverseFK:                 kallax.NewSchemaField("inverse_id"),
		Embedded:                  kallax.NewSchemaField("embedded"),
		Inline:                    kallax.NewSchemaField("inline"),
		MapOfString:               kallax.NewSchemaField("map_of_string"),
		MapOfInterface:            kallax.NewSchemaField("map_of_interface"),
		MapOfSomeType:             kallax.NewSchemaField("map_of_some_type"),
		Foo:                       kallax.NewSchemaField("foo"),
		StringProperty:            kallax.NewSchemaField("string_property"),
		Integer:                   kallax.NewSchemaField("integer"),
		Integer64:                 kallax.NewSchemaField("integer64"),
		Float32:                   kallax.NewSchemaField("float32"),
		Boolean:                   kallax.NewSchemaField("boolean"),
		ArrayParam:                kallax.NewSchemaField("array_param"),
		SliceParam:                kallax.NewSchemaField("slice_param"),
		AliasArrayParam:           kallax.NewSchemaField("alias_array_param"),
		AliasSliceParam:           kallax.NewSchemaField("alias_slice_param"),
		AliasStringParam:          kallax.NewSchemaField("alias_string_param"),
		AliasIntParam:             kallax.NewSchemaField("alias_int_param"),
		DummyParam:                kallax.NewSchemaField("dummy_param"),
		AliasDummyParam:           kallax.NewSchemaField("alias_dummy_param"),
		SliceDummyParam:           kallax.NewSchemaField("slice_dummy_param"),
		IDPropertyParam:           kallax.NewSchemaField("idproperty_param"),
		InterfacePropParam:        kallax.NewSchemaField("interface_prop_param"),
		URLParam:                  kallax.NewSchemaField("urlparam"),
		TimeParam:                 kallax.NewSchemaField("time_param"),
		AliasArrAliasStringParam:  kallax.NewSchemaField("alias_arr_alias_string_param"),
		AliasHereArrayParam:       kallax.NewSchemaField("alias_here_array_param"),
		ArrayAliasHereStringParam: kallax.NewSchemaField("array_alias_here_string_param"),
		ScannerValuerParam:        kallax.NewSchemaField("scanner_valuer_param"),
	},
	QueryRelationFixture: &schemaQueryRelationFixture{
		BaseSchema: kallax.NewBaseSchema(
			"query_relation",
			"__queryrelationfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Owner": kallax.NewForeignKey("owner_id", true),
			},
			func() kallax.Record {
				return new(QueryRelationFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("name"),
			kallax.NewSchemaField("owner_id"),
		),
		ID:      kallax.NewSchemaField("id"),
		Name:    kallax.NewSchemaField("name"),
		OwnerFK: kallax.NewSchemaField("owner_id"),
	},
	ResultSetFixture: &schemaResultSetFixture{
		BaseSchema: kallax.NewBaseSchema(
			"resultset",
			"__resultsetfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(ResultSetFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("foo"),
		),
		ID:  kallax.NewSchemaField("id"),
		Foo: kallax.NewSchemaField("foo"),
	},
	SchemaFixture: &schemaSchemaFixture{
		BaseSchema: kallax.NewBaseSchema(
			"schema",
			"__schemafixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{
				"Nested":  kallax.NewForeignKey("schema_fixture_id", false),
				"Inverse": kallax.NewForeignKey("rel_id", true),
			},
			func() kallax.Record {
				return new(SchemaFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("string"),
			kallax.NewSchemaField("int"),
			kallax.NewSchemaField("inline"),
			kallax.NewSchemaField("map_of_string"),
			kallax.NewSchemaField("map_of_interface"),
			kallax.NewSchemaField("map_of_some_type"),
			kallax.NewSchemaField("rel_id"),
		),
		ID:             kallax.NewSchemaField("id"),
		String:         kallax.NewSchemaField("string"),
		Int:            kallax.NewSchemaField("int"),
		Inline:         kallax.NewSchemaField("inline"),
		MapOfString:    kallax.NewSchemaField("map_of_string"),
		MapOfInterface: kallax.NewSchemaField("map_of_interface"),
		MapOfSomeType:  kallax.NewSchemaField("map_of_some_type"),
		InverseFK:      kallax.NewSchemaField("rel_id"),
	},
	SchemaRelationshipFixture: &schemaSchemaRelationshipFixture{
		BaseSchema: kallax.NewBaseSchema(
			"relationship",
			"__schemarelationshipfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(SchemaRelationshipFixture)
			},
			false,
			kallax.NewSchemaField("id"),
		),
		ID: kallax.NewSchemaField("id"),
	},
	StoreFixture: &schemaStoreFixture{
		BaseSchema: kallax.NewBaseSchema(
			"store",
			"__storefixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(StoreFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("foo"),
			kallax.NewSchemaField("slice_prop"),
			kallax.NewSchemaField("alias_slice_prop"),
		),
		ID:             kallax.NewSchemaField("id"),
		Foo:            kallax.NewSchemaField("foo"),
		SliceProp:      kallax.NewSchemaField("slice_prop"),
		AliasSliceProp: kallax.NewSchemaField("alias_slice_prop"),
	},
	StoreWithConstructFixture: &schemaStoreWithConstructFixture{
		BaseSchema: kallax.NewBaseSchema(
			"store_construct",
			"__storewithconstructfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(StoreWithConstructFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("foo"),
		),
		ID:  kallax.NewSchemaField("id"),
		Foo: kallax.NewSchemaField("foo"),
	},
	StoreWithNewFixture: &schemaStoreWithNewFixture{
		BaseSchema: kallax.NewBaseSchema(
			"store_new",
			"__storewithnewfixture",
			kallax.NewSchemaField("id"),
			kallax.ForeignKeys{},
			func() kallax.Record {
				return new(StoreWithNewFixture)
			},
			false,
			kallax.NewSchemaField("id"),
			kallax.NewSchemaField("foo"),
			kallax.NewSchemaField("bar"),
		),
		ID:  kallax.NewSchemaField("id"),
		Foo: kallax.NewSchemaField("foo"),
		Bar: kallax.NewSchemaField("bar"),
	},
}

Functions

This section is empty.

Types

type A added in v1.3.0

type A struct {
	kallax.Model `table:"a" pk:"id,autoincr"`
	ID           int64
	Name         string
	B            *B
}

func NewA added in v1.3.0

func NewA(name string) (record *A)

NewA returns a new instance of A.

func (*A) ColumnAddress added in v1.3.0

func (r *A) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*A) GetID added in v1.3.0

func (r *A) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*A) NewRelationshipRecord added in v1.3.0

func (r *A) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*A) SetRelationship added in v1.3.0

func (r *A) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*A) Value added in v1.3.0

func (r *A) Value(col string) (interface{}, error)

Value returns the value of the given column.

type AQuery added in v1.3.0

type AQuery struct {
	*kallax.BaseQuery
}

AQuery is the object used to create queries for the A entity.

func NewAQuery added in v1.3.0

func NewAQuery() *AQuery

NewAQuery returns a new instance of AQuery.

func (*AQuery) BatchSize added in v1.3.0

func (q *AQuery) BatchSize(size uint64) *AQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*AQuery) Copy added in v1.3.0

func (q *AQuery) Copy() *AQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*AQuery) FindByID added in v1.3.0

func (q *AQuery) FindByID(v ...int64) *AQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*AQuery) FindByName added in v1.3.0

func (q *AQuery) FindByName(v string) *AQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*AQuery) Limit added in v1.3.0

func (q *AQuery) Limit(n uint64) *AQuery

Limit sets the max number of items to retrieve.

func (*AQuery) Offset added in v1.3.0

func (q *AQuery) Offset(n uint64) *AQuery

Offset sets the number of items to skip from the result set of items.

func (*AQuery) Order added in v1.3.0

func (q *AQuery) Order(cols ...kallax.ColumnOrder) *AQuery

Order adds order clauses to the query for the given columns.

func (*AQuery) Select added in v1.3.0

func (q *AQuery) Select(columns ...kallax.SchemaField) *AQuery

Select adds columns to select in the query.

func (*AQuery) SelectNot added in v1.3.0

func (q *AQuery) SelectNot(columns ...kallax.SchemaField) *AQuery

SelectNot excludes columns from being selected in the query.

func (*AQuery) Where added in v1.3.0

func (q *AQuery) Where(cond kallax.Condition) *AQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*AQuery) WithB added in v1.3.0

func (q *AQuery) WithB() *AQuery

type AResultSet added in v1.3.0

type AResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

AResultSet is the set of results returned by a query to the database.

func NewAResultSet added in v1.3.0

func NewAResultSet(rs kallax.ResultSet) *AResultSet

NewAResultSet creates a new result set for rows of the type A.

func (*AResultSet) All added in v1.3.0

func (rs *AResultSet) All() ([]*A, error)

All returns all records on the result set and closes the result set.

func (*AResultSet) Close added in v1.3.0

func (rs *AResultSet) Close() error

Close closes the result set.

func (*AResultSet) Err added in v1.3.0

func (rs *AResultSet) Err() error

Err returns the last error occurred.

func (*AResultSet) ForEach added in v1.3.0

func (rs *AResultSet) ForEach(fn func(*A) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*AResultSet) Get added in v1.3.0

func (rs *AResultSet) Get() (*A, error)

Get retrieves the last fetched item from the result set and the last error.

func (*AResultSet) Next added in v1.3.0

func (rs *AResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*AResultSet) One added in v1.3.0

func (rs *AResultSet) One() (*A, error)

One returns the first record on the result set and closes the result set.

type AStore added in v1.3.0

type AStore struct {
	*kallax.Store
}

AStore is the entity to access the records of the type A in the database.

func NewAStore added in v1.3.0

func NewAStore(db *sql.DB) *AStore

NewAStore creates a new instance of AStore using a SQL database.

func (*AStore) Count added in v1.3.0

func (s *AStore) Count(q *AQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*AStore) Debug added in v1.3.0

func (s *AStore) Debug() *AStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*AStore) DebugWith added in v1.3.0

func (s *AStore) DebugWith(logger kallax.LoggerFunc) *AStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*AStore) Delete added in v1.3.0

func (s *AStore) Delete(record *A) error

Delete removes the given record from the database.

func (*AStore) DisableCacher added in v1.3.4

func (s *AStore) DisableCacher() *AStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*AStore) Find added in v1.3.0

func (s *AStore) Find(q *AQuery) (*AResultSet, error)

Find returns the set of results for the given query.

func (*AStore) FindAll added in v1.3.0

func (s *AStore) FindAll(q *AQuery) ([]*A, error)

FindAll returns a list of all the rows returned by the given query.

func (*AStore) FindOne added in v1.3.0

func (s *AStore) FindOne(q *AQuery) (*A, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*AStore) GenericStore added in v1.3.0

func (s *AStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*AStore) Insert added in v1.3.0

func (s *AStore) Insert(record *A) error

Insert inserts a A in the database. A non-persisted object is required for this operation.

func (*AStore) MustCount added in v1.3.0

func (s *AStore) MustCount(q *AQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*AStore) MustFind added in v1.3.0

func (s *AStore) MustFind(q *AQuery) *AResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*AStore) MustFindOne added in v1.3.0

func (s *AStore) MustFindOne(q *AQuery) *A

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*AStore) Reload added in v1.3.0

func (s *AStore) Reload(record *A) error

Reload refreshes the A with the data in the database and makes it writable.

func (*AStore) RemoveB added in v1.3.0

func (s *AStore) RemoveB(record *A) error

RemoveB removes from the database the given relationship of the model. It also resets the field B of the model.

func (*AStore) Save added in v1.3.0

func (s *AStore) Save(record *A) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*AStore) SetGenericStore added in v1.3.0

func (s *AStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*AStore) Transaction added in v1.3.0

func (s *AStore) Transaction(callback func(*AStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*AStore) Update added in v1.3.0

func (s *AStore) Update(record *A, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type AliasHereArray

type AliasHereArray [3]string

type AliasHereString

type AliasHereString string

type AliasID

type AliasID kallax.ULID

type AliasSliceString

type AliasSliceString []string

type B added in v1.3.0

type B struct {
	kallax.Model `table:"b" pk:"id,autoincr"`
	ID           int64
	Name         string
	A            *A `fk:",inverse"`
	C            *C
}

func NewB added in v1.3.0

func NewB(name string, a *A) (record *B)

NewB returns a new instance of B.

func (*B) ColumnAddress added in v1.3.0

func (r *B) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*B) GetID added in v1.3.0

func (r *B) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*B) NewRelationshipRecord added in v1.3.0

func (r *B) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*B) SetRelationship added in v1.3.0

func (r *B) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*B) Value added in v1.3.0

func (r *B) Value(col string) (interface{}, error)

Value returns the value of the given column.

type BQuery added in v1.3.0

type BQuery struct {
	*kallax.BaseQuery
}

BQuery is the object used to create queries for the B entity.

func NewBQuery added in v1.3.0

func NewBQuery() *BQuery

NewBQuery returns a new instance of BQuery.

func (*BQuery) BatchSize added in v1.3.0

func (q *BQuery) BatchSize(size uint64) *BQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*BQuery) Copy added in v1.3.0

func (q *BQuery) Copy() *BQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*BQuery) FindByA added in v1.3.0

func (q *BQuery) FindByA(v int64) *BQuery

FindByA adds a new filter to the query that will require that the foreign key of A is equal to the passed value.

func (*BQuery) FindByID added in v1.3.0

func (q *BQuery) FindByID(v ...int64) *BQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*BQuery) FindByName added in v1.3.0

func (q *BQuery) FindByName(v string) *BQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*BQuery) Limit added in v1.3.0

func (q *BQuery) Limit(n uint64) *BQuery

Limit sets the max number of items to retrieve.

func (*BQuery) Offset added in v1.3.0

func (q *BQuery) Offset(n uint64) *BQuery

Offset sets the number of items to skip from the result set of items.

func (*BQuery) Order added in v1.3.0

func (q *BQuery) Order(cols ...kallax.ColumnOrder) *BQuery

Order adds order clauses to the query for the given columns.

func (*BQuery) Select added in v1.3.0

func (q *BQuery) Select(columns ...kallax.SchemaField) *BQuery

Select adds columns to select in the query.

func (*BQuery) SelectNot added in v1.3.0

func (q *BQuery) SelectNot(columns ...kallax.SchemaField) *BQuery

SelectNot excludes columns from being selected in the query.

func (*BQuery) Where added in v1.3.0

func (q *BQuery) Where(cond kallax.Condition) *BQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*BQuery) WithA added in v1.3.0

func (q *BQuery) WithA() *BQuery

func (*BQuery) WithC added in v1.3.0

func (q *BQuery) WithC() *BQuery

type BResultSet added in v1.3.0

type BResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

BResultSet is the set of results returned by a query to the database.

func NewBResultSet added in v1.3.0

func NewBResultSet(rs kallax.ResultSet) *BResultSet

NewBResultSet creates a new result set for rows of the type B.

func (*BResultSet) All added in v1.3.0

func (rs *BResultSet) All() ([]*B, error)

All returns all records on the result set and closes the result set.

func (*BResultSet) Close added in v1.3.0

func (rs *BResultSet) Close() error

Close closes the result set.

func (*BResultSet) Err added in v1.3.0

func (rs *BResultSet) Err() error

Err returns the last error occurred.

func (*BResultSet) ForEach added in v1.3.0

func (rs *BResultSet) ForEach(fn func(*B) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*BResultSet) Get added in v1.3.0

func (rs *BResultSet) Get() (*B, error)

Get retrieves the last fetched item from the result set and the last error.

func (*BResultSet) Next added in v1.3.0

func (rs *BResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*BResultSet) One added in v1.3.0

func (rs *BResultSet) One() (*B, error)

One returns the first record on the result set and closes the result set.

type BStore added in v1.3.0

type BStore struct {
	*kallax.Store
}

BStore is the entity to access the records of the type B in the database.

func NewBStore added in v1.3.0

func NewBStore(db *sql.DB) *BStore

NewBStore creates a new instance of BStore using a SQL database.

func (*BStore) Count added in v1.3.0

func (s *BStore) Count(q *BQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*BStore) Debug added in v1.3.0

func (s *BStore) Debug() *BStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*BStore) DebugWith added in v1.3.0

func (s *BStore) DebugWith(logger kallax.LoggerFunc) *BStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*BStore) Delete added in v1.3.0

func (s *BStore) Delete(record *B) error

Delete removes the given record from the database.

func (*BStore) DisableCacher added in v1.3.4

func (s *BStore) DisableCacher() *BStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*BStore) Find added in v1.3.0

func (s *BStore) Find(q *BQuery) (*BResultSet, error)

Find returns the set of results for the given query.

func (*BStore) FindAll added in v1.3.0

func (s *BStore) FindAll(q *BQuery) ([]*B, error)

FindAll returns a list of all the rows returned by the given query.

func (*BStore) FindOne added in v1.3.0

func (s *BStore) FindOne(q *BQuery) (*B, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*BStore) GenericStore added in v1.3.0

func (s *BStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*BStore) Insert added in v1.3.0

func (s *BStore) Insert(record *B) error

Insert inserts a B in the database. A non-persisted object is required for this operation.

func (*BStore) MustCount added in v1.3.0

func (s *BStore) MustCount(q *BQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*BStore) MustFind added in v1.3.0

func (s *BStore) MustFind(q *BQuery) *BResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*BStore) MustFindOne added in v1.3.0

func (s *BStore) MustFindOne(q *BQuery) *B

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*BStore) Reload added in v1.3.0

func (s *BStore) Reload(record *B) error

Reload refreshes the B with the data in the database and makes it writable.

func (*BStore) RemoveC added in v1.3.0

func (s *BStore) RemoveC(record *B) error

RemoveC removes from the database the given relationship of the model. It also resets the field C of the model.

func (*BStore) Save added in v1.3.0

func (s *BStore) Save(record *B) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*BStore) SetGenericStore added in v1.3.0

func (s *BStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*BStore) Transaction added in v1.3.0

func (s *BStore) Transaction(callback func(*BStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*BStore) Update added in v1.3.0

func (s *BStore) Update(record *B, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Bar

type Bar struct {
	Qux []Qux
	Mux string
}

type Baz

type Baz struct {
	Mux string
}

type Brand added in v1.3.0

type Brand struct {
	kallax.Model `table:"brands"`
	ID           kallax.ULID `pk:""`
	Name         string
}

func NewBrand added in v1.3.0

func NewBrand(name string) (record *Brand)

NewBrand returns a new instance of Brand.

func (*Brand) ColumnAddress added in v1.3.0

func (r *Brand) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*Brand) GetID added in v1.3.0

func (r *Brand) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*Brand) NewRelationshipRecord added in v1.3.0

func (r *Brand) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*Brand) SetRelationship added in v1.3.0

func (r *Brand) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*Brand) Value added in v1.3.0

func (r *Brand) Value(col string) (interface{}, error)

Value returns the value of the given column.

type BrandQuery added in v1.3.0

type BrandQuery struct {
	*kallax.BaseQuery
}

BrandQuery is the object used to create queries for the Brand entity.

func NewBrandQuery added in v1.3.0

func NewBrandQuery() *BrandQuery

NewBrandQuery returns a new instance of BrandQuery.

func (*BrandQuery) BatchSize added in v1.3.0

func (q *BrandQuery) BatchSize(size uint64) *BrandQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*BrandQuery) Copy added in v1.3.0

func (q *BrandQuery) Copy() *BrandQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*BrandQuery) FindByID added in v1.3.0

func (q *BrandQuery) FindByID(v ...kallax.ULID) *BrandQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*BrandQuery) FindByName added in v1.3.0

func (q *BrandQuery) FindByName(v string) *BrandQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*BrandQuery) Limit added in v1.3.0

func (q *BrandQuery) Limit(n uint64) *BrandQuery

Limit sets the max number of items to retrieve.

func (*BrandQuery) Offset added in v1.3.0

func (q *BrandQuery) Offset(n uint64) *BrandQuery

Offset sets the number of items to skip from the result set of items.

func (*BrandQuery) Order added in v1.3.0

func (q *BrandQuery) Order(cols ...kallax.ColumnOrder) *BrandQuery

Order adds order clauses to the query for the given columns.

func (*BrandQuery) Select added in v1.3.0

func (q *BrandQuery) Select(columns ...kallax.SchemaField) *BrandQuery

Select adds columns to select in the query.

func (*BrandQuery) SelectNot added in v1.3.0

func (q *BrandQuery) SelectNot(columns ...kallax.SchemaField) *BrandQuery

SelectNot excludes columns from being selected in the query.

func (*BrandQuery) Where added in v1.3.0

func (q *BrandQuery) Where(cond kallax.Condition) *BrandQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type BrandResultSet added in v1.3.0

type BrandResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

BrandResultSet is the set of results returned by a query to the database.

func NewBrandResultSet added in v1.3.0

func NewBrandResultSet(rs kallax.ResultSet) *BrandResultSet

NewBrandResultSet creates a new result set for rows of the type Brand.

func (*BrandResultSet) All added in v1.3.0

func (rs *BrandResultSet) All() ([]*Brand, error)

All returns all records on the result set and closes the result set.

func (*BrandResultSet) Close added in v1.3.0

func (rs *BrandResultSet) Close() error

Close closes the result set.

func (*BrandResultSet) Err added in v1.3.0

func (rs *BrandResultSet) Err() error

Err returns the last error occurred.

func (*BrandResultSet) ForEach added in v1.3.0

func (rs *BrandResultSet) ForEach(fn func(*Brand) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*BrandResultSet) Get added in v1.3.0

func (rs *BrandResultSet) Get() (*Brand, error)

Get retrieves the last fetched item from the result set and the last error.

func (*BrandResultSet) Next added in v1.3.0

func (rs *BrandResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*BrandResultSet) One added in v1.3.0

func (rs *BrandResultSet) One() (*Brand, error)

One returns the first record on the result set and closes the result set.

type BrandStore added in v1.3.0

type BrandStore struct {
	*kallax.Store
}

BrandStore is the entity to access the records of the type Brand in the database.

func NewBrandStore added in v1.3.0

func NewBrandStore(db *sql.DB) *BrandStore

NewBrandStore creates a new instance of BrandStore using a SQL database.

func (*BrandStore) Count added in v1.3.0

func (s *BrandStore) Count(q *BrandQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*BrandStore) Debug added in v1.3.0

func (s *BrandStore) Debug() *BrandStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*BrandStore) DebugWith added in v1.3.0

func (s *BrandStore) DebugWith(logger kallax.LoggerFunc) *BrandStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*BrandStore) Delete added in v1.3.0

func (s *BrandStore) Delete(record *Brand) error

Delete removes the given record from the database.

func (*BrandStore) DisableCacher added in v1.3.4

func (s *BrandStore) DisableCacher() *BrandStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*BrandStore) Find added in v1.3.0

func (s *BrandStore) Find(q *BrandQuery) (*BrandResultSet, error)

Find returns the set of results for the given query.

func (*BrandStore) FindAll added in v1.3.0

func (s *BrandStore) FindAll(q *BrandQuery) ([]*Brand, error)

FindAll returns a list of all the rows returned by the given query.

func (*BrandStore) FindOne added in v1.3.0

func (s *BrandStore) FindOne(q *BrandQuery) (*Brand, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*BrandStore) GenericStore added in v1.3.0

func (s *BrandStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*BrandStore) Insert added in v1.3.0

func (s *BrandStore) Insert(record *Brand) error

Insert inserts a Brand in the database. A non-persisted object is required for this operation.

func (*BrandStore) MustCount added in v1.3.0

func (s *BrandStore) MustCount(q *BrandQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*BrandStore) MustFind added in v1.3.0

func (s *BrandStore) MustFind(q *BrandQuery) *BrandResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*BrandStore) MustFindOne added in v1.3.0

func (s *BrandStore) MustFindOne(q *BrandQuery) *Brand

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*BrandStore) Reload added in v1.3.0

func (s *BrandStore) Reload(record *Brand) error

Reload refreshes the Brand with the data in the database and makes it writable.

func (*BrandStore) Save added in v1.3.0

func (s *BrandStore) Save(record *Brand) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*BrandStore) SetGenericStore added in v1.3.0

func (s *BrandStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*BrandStore) Transaction added in v1.3.0

func (s *BrandStore) Transaction(callback func(*BrandStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*BrandStore) Update added in v1.3.0

func (s *BrandStore) Update(record *Brand, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type C added in v1.3.0

type C struct {
	kallax.Model `table:"c" pk:"id,autoincr"`
	ID           int64
	Name         string
	B            *B `fk:",inverse"`
}

func NewC added in v1.3.0

func NewC(name string, b *B) (record *C)

NewC returns a new instance of C.

func (*C) ColumnAddress added in v1.3.0

func (r *C) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*C) GetID added in v1.3.0

func (r *C) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*C) NewRelationshipRecord added in v1.3.0

func (r *C) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*C) SetRelationship added in v1.3.0

func (r *C) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*C) Value added in v1.3.0

func (r *C) Value(col string) (interface{}, error)

Value returns the value of the given column.

type CQuery added in v1.3.0

type CQuery struct {
	*kallax.BaseQuery
}

CQuery is the object used to create queries for the C entity.

func NewCQuery added in v1.3.0

func NewCQuery() *CQuery

NewCQuery returns a new instance of CQuery.

func (*CQuery) BatchSize added in v1.3.0

func (q *CQuery) BatchSize(size uint64) *CQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*CQuery) Copy added in v1.3.0

func (q *CQuery) Copy() *CQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*CQuery) FindByB added in v1.3.0

func (q *CQuery) FindByB(v int64) *CQuery

FindByB adds a new filter to the query that will require that the foreign key of B is equal to the passed value.

func (*CQuery) FindByID added in v1.3.0

func (q *CQuery) FindByID(v ...int64) *CQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*CQuery) FindByName added in v1.3.0

func (q *CQuery) FindByName(v string) *CQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*CQuery) Limit added in v1.3.0

func (q *CQuery) Limit(n uint64) *CQuery

Limit sets the max number of items to retrieve.

func (*CQuery) Offset added in v1.3.0

func (q *CQuery) Offset(n uint64) *CQuery

Offset sets the number of items to skip from the result set of items.

func (*CQuery) Order added in v1.3.0

func (q *CQuery) Order(cols ...kallax.ColumnOrder) *CQuery

Order adds order clauses to the query for the given columns.

func (*CQuery) Select added in v1.3.0

func (q *CQuery) Select(columns ...kallax.SchemaField) *CQuery

Select adds columns to select in the query.

func (*CQuery) SelectNot added in v1.3.0

func (q *CQuery) SelectNot(columns ...kallax.SchemaField) *CQuery

SelectNot excludes columns from being selected in the query.

func (*CQuery) Where added in v1.3.0

func (q *CQuery) Where(cond kallax.Condition) *CQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*CQuery) WithB added in v1.3.0

func (q *CQuery) WithB() *CQuery

type CResultSet added in v1.3.0

type CResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

CResultSet is the set of results returned by a query to the database.

func NewCResultSet added in v1.3.0

func NewCResultSet(rs kallax.ResultSet) *CResultSet

NewCResultSet creates a new result set for rows of the type C.

func (*CResultSet) All added in v1.3.0

func (rs *CResultSet) All() ([]*C, error)

All returns all records on the result set and closes the result set.

func (*CResultSet) Close added in v1.3.0

func (rs *CResultSet) Close() error

Close closes the result set.

func (*CResultSet) Err added in v1.3.0

func (rs *CResultSet) Err() error

Err returns the last error occurred.

func (*CResultSet) ForEach added in v1.3.0

func (rs *CResultSet) ForEach(fn func(*C) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*CResultSet) Get added in v1.3.0

func (rs *CResultSet) Get() (*C, error)

Get retrieves the last fetched item from the result set and the last error.

func (*CResultSet) Next added in v1.3.0

func (rs *CResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*CResultSet) One added in v1.3.0

func (rs *CResultSet) One() (*C, error)

One returns the first record on the result set and closes the result set.

type CStore added in v1.3.0

type CStore struct {
	*kallax.Store
}

CStore is the entity to access the records of the type C in the database.

func NewCStore added in v1.3.0

func NewCStore(db *sql.DB) *CStore

NewCStore creates a new instance of CStore using a SQL database.

func (*CStore) Count added in v1.3.0

func (s *CStore) Count(q *CQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*CStore) Debug added in v1.3.0

func (s *CStore) Debug() *CStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*CStore) DebugWith added in v1.3.0

func (s *CStore) DebugWith(logger kallax.LoggerFunc) *CStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*CStore) Delete added in v1.3.0

func (s *CStore) Delete(record *C) error

Delete removes the given record from the database.

func (*CStore) DisableCacher added in v1.3.4

func (s *CStore) DisableCacher() *CStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*CStore) Find added in v1.3.0

func (s *CStore) Find(q *CQuery) (*CResultSet, error)

Find returns the set of results for the given query.

func (*CStore) FindAll added in v1.3.0

func (s *CStore) FindAll(q *CQuery) ([]*C, error)

FindAll returns a list of all the rows returned by the given query.

func (*CStore) FindOne added in v1.3.0

func (s *CStore) FindOne(q *CQuery) (*C, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*CStore) GenericStore added in v1.3.0

func (s *CStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*CStore) Insert added in v1.3.0

func (s *CStore) Insert(record *C) error

Insert inserts a C in the database. A non-persisted object is required for this operation.

func (*CStore) MustCount added in v1.3.0

func (s *CStore) MustCount(q *CQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*CStore) MustFind added in v1.3.0

func (s *CStore) MustFind(q *CQuery) *CResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*CStore) MustFindOne added in v1.3.0

func (s *CStore) MustFindOne(q *CQuery) *C

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*CStore) Reload added in v1.3.0

func (s *CStore) Reload(record *C) error

Reload refreshes the C with the data in the database and makes it writable.

func (*CStore) Save added in v1.3.0

func (s *CStore) Save(record *C) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*CStore) SetGenericStore added in v1.3.0

func (s *CStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*CStore) Transaction added in v1.3.0

func (s *CStore) Transaction(callback func(*CStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*CStore) Update added in v1.3.0

func (s *CStore) Update(record *C, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Car

type Car struct {
	kallax.Model `table:"cars"`
	ID           kallax.ULID `pk:""`
	Owner        *Person     `fk:"owner_id,inverse"`
	ModelName    string
	Brand        Brand `fk:"brand_id,inverse"`
	// contains filtered or unexported fields
}

func NewCar

func NewCar(model string, owner *Person) (record *Car)

NewCar returns a new instance of Car.

func (*Car) AfterDelete

func (c *Car) AfterDelete() error

func (*Car) AfterSave

func (c *Car) AfterSave() error

func (*Car) BeforeDelete

func (c *Car) BeforeDelete() error

func (*Car) BeforeSave

func (c *Car) BeforeSave() error

func (*Car) ColumnAddress

func (r *Car) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*Car) GetID

func (r *Car) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*Car) NewRelationshipRecord

func (r *Car) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*Car) SetRelationship

func (r *Car) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*Car) Value

func (r *Car) Value(col string) (interface{}, error)

Value returns the value of the given column.

type CarQuery

type CarQuery struct {
	*kallax.BaseQuery
}

CarQuery is the object used to create queries for the Car entity.

func NewCarQuery

func NewCarQuery() *CarQuery

NewCarQuery returns a new instance of CarQuery.

func (*CarQuery) BatchSize

func (q *CarQuery) BatchSize(size uint64) *CarQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*CarQuery) Copy

func (q *CarQuery) Copy() *CarQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*CarQuery) FindByBrand added in v1.3.0

func (q *CarQuery) FindByBrand(v kallax.ULID) *CarQuery

FindByBrand adds a new filter to the query that will require that the foreign key of Brand is equal to the passed value.

func (*CarQuery) FindByID

func (q *CarQuery) FindByID(v ...kallax.ULID) *CarQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*CarQuery) FindByModelName

func (q *CarQuery) FindByModelName(v string) *CarQuery

FindByModelName adds a new filter to the query that will require that the ModelName property is equal to the passed value.

func (*CarQuery) FindByOwner added in v1.1.0

func (q *CarQuery) FindByOwner(v int64) *CarQuery

FindByOwner adds a new filter to the query that will require that the foreign key of Owner is equal to the passed value.

func (*CarQuery) Limit

func (q *CarQuery) Limit(n uint64) *CarQuery

Limit sets the max number of items to retrieve.

func (*CarQuery) Offset

func (q *CarQuery) Offset(n uint64) *CarQuery

Offset sets the number of items to skip from the result set of items.

func (*CarQuery) Order

func (q *CarQuery) Order(cols ...kallax.ColumnOrder) *CarQuery

Order adds order clauses to the query for the given columns.

func (*CarQuery) Select

func (q *CarQuery) Select(columns ...kallax.SchemaField) *CarQuery

Select adds columns to select in the query.

func (*CarQuery) SelectNot

func (q *CarQuery) SelectNot(columns ...kallax.SchemaField) *CarQuery

SelectNot excludes columns from being selected in the query.

func (*CarQuery) Where

func (q *CarQuery) Where(cond kallax.Condition) *CarQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*CarQuery) WithBrand added in v1.3.0

func (q *CarQuery) WithBrand() *CarQuery

func (*CarQuery) WithOwner

func (q *CarQuery) WithOwner() *CarQuery

type CarResultSet

type CarResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

CarResultSet is the set of results returned by a query to the database.

func NewCarResultSet

func NewCarResultSet(rs kallax.ResultSet) *CarResultSet

NewCarResultSet creates a new result set for rows of the type Car.

func (*CarResultSet) All

func (rs *CarResultSet) All() ([]*Car, error)

All returns all records on the result set and closes the result set.

func (*CarResultSet) Close

func (rs *CarResultSet) Close() error

Close closes the result set.

func (*CarResultSet) Err

func (rs *CarResultSet) Err() error

Err returns the last error occurred.

func (*CarResultSet) ForEach

func (rs *CarResultSet) ForEach(fn func(*Car) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*CarResultSet) Get

func (rs *CarResultSet) Get() (*Car, error)

Get retrieves the last fetched item from the result set and the last error.

func (*CarResultSet) Next

func (rs *CarResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*CarResultSet) One

func (rs *CarResultSet) One() (*Car, error)

One returns the first record on the result set and closes the result set.

type CarStore

type CarStore struct {
	*kallax.Store
}

CarStore is the entity to access the records of the type Car in the database.

func NewCarStore

func NewCarStore(db *sql.DB) *CarStore

NewCarStore creates a new instance of CarStore using a SQL database.

func (*CarStore) Count

func (s *CarStore) Count(q *CarQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*CarStore) Debug added in v1.1.4

func (s *CarStore) Debug() *CarStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*CarStore) DebugWith added in v1.1.4

func (s *CarStore) DebugWith(logger kallax.LoggerFunc) *CarStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*CarStore) Delete

func (s *CarStore) Delete(record *Car) error

Delete removes the given record from the database.

func (*CarStore) DisableCacher added in v1.3.4

func (s *CarStore) DisableCacher() *CarStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*CarStore) Find

func (s *CarStore) Find(q *CarQuery) (*CarResultSet, error)

Find returns the set of results for the given query.

func (*CarStore) FindAll added in v1.2.1

func (s *CarStore) FindAll(q *CarQuery) ([]*Car, error)

FindAll returns a list of all the rows returned by the given query.

func (*CarStore) FindOne

func (s *CarStore) FindOne(q *CarQuery) (*Car, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*CarStore) GenericStore added in v1.1.0

func (s *CarStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*CarStore) Insert

func (s *CarStore) Insert(record *Car) error

Insert inserts a Car in the database. A non-persisted object is required for this operation.

func (*CarStore) MustCount

func (s *CarStore) MustCount(q *CarQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*CarStore) MustFind

func (s *CarStore) MustFind(q *CarQuery) *CarResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*CarStore) MustFindOne

func (s *CarStore) MustFindOne(q *CarQuery) *Car

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*CarStore) Reload

func (s *CarStore) Reload(record *Car) error

Reload refreshes the Car with the data in the database and makes it writable.

func (*CarStore) Save

func (s *CarStore) Save(record *Car) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*CarStore) SetGenericStore added in v1.1.0

func (s *CarStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*CarStore) Transaction

func (s *CarStore) Transaction(callback func(*CarStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*CarStore) Update

func (s *CarStore) Update(record *Car, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Child added in v1.2.8

type Child struct {
	kallax.Model `table:"children"`
	ID           int64 `pk:"autoincr"`
	Name         string
}

func NewChild added in v1.2.8

func NewChild() (record *Child)

NewChild returns a new instance of Child.

func (*Child) ColumnAddress added in v1.2.8

func (r *Child) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*Child) GetID added in v1.2.8

func (r *Child) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*Child) NewRelationshipRecord added in v1.2.8

func (r *Child) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*Child) SetRelationship added in v1.2.8

func (r *Child) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*Child) Value added in v1.2.8

func (r *Child) Value(col string) (interface{}, error)

Value returns the value of the given column.

type ChildQuery added in v1.2.8

type ChildQuery struct {
	*kallax.BaseQuery
}

ChildQuery is the object used to create queries for the Child entity.

func NewChildQuery added in v1.2.8

func NewChildQuery() *ChildQuery

NewChildQuery returns a new instance of ChildQuery.

func (*ChildQuery) BatchSize added in v1.2.8

func (q *ChildQuery) BatchSize(size uint64) *ChildQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*ChildQuery) Copy added in v1.2.8

func (q *ChildQuery) Copy() *ChildQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*ChildQuery) FindByID added in v1.2.8

func (q *ChildQuery) FindByID(v ...int64) *ChildQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*ChildQuery) FindByName added in v1.2.8

func (q *ChildQuery) FindByName(v string) *ChildQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*ChildQuery) Limit added in v1.2.8

func (q *ChildQuery) Limit(n uint64) *ChildQuery

Limit sets the max number of items to retrieve.

func (*ChildQuery) Offset added in v1.2.8

func (q *ChildQuery) Offset(n uint64) *ChildQuery

Offset sets the number of items to skip from the result set of items.

func (*ChildQuery) Order added in v1.2.8

func (q *ChildQuery) Order(cols ...kallax.ColumnOrder) *ChildQuery

Order adds order clauses to the query for the given columns.

func (*ChildQuery) Select added in v1.2.8

func (q *ChildQuery) Select(columns ...kallax.SchemaField) *ChildQuery

Select adds columns to select in the query.

func (*ChildQuery) SelectNot added in v1.2.8

func (q *ChildQuery) SelectNot(columns ...kallax.SchemaField) *ChildQuery

SelectNot excludes columns from being selected in the query.

func (*ChildQuery) Where added in v1.2.8

func (q *ChildQuery) Where(cond kallax.Condition) *ChildQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type ChildResultSet added in v1.2.8

type ChildResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

ChildResultSet is the set of results returned by a query to the database.

func NewChildResultSet added in v1.2.8

func NewChildResultSet(rs kallax.ResultSet) *ChildResultSet

NewChildResultSet creates a new result set for rows of the type Child.

func (*ChildResultSet) All added in v1.2.8

func (rs *ChildResultSet) All() ([]*Child, error)

All returns all records on the result set and closes the result set.

func (*ChildResultSet) Close added in v1.2.8

func (rs *ChildResultSet) Close() error

Close closes the result set.

func (*ChildResultSet) Err added in v1.2.8

func (rs *ChildResultSet) Err() error

Err returns the last error occurred.

func (*ChildResultSet) ForEach added in v1.2.8

func (rs *ChildResultSet) ForEach(fn func(*Child) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*ChildResultSet) Get added in v1.2.8

func (rs *ChildResultSet) Get() (*Child, error)

Get retrieves the last fetched item from the result set and the last error.

func (*ChildResultSet) Next added in v1.2.8

func (rs *ChildResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*ChildResultSet) One added in v1.2.8

func (rs *ChildResultSet) One() (*Child, error)

One returns the first record on the result set and closes the result set.

type ChildStore added in v1.2.8

type ChildStore struct {
	*kallax.Store
}

ChildStore is the entity to access the records of the type Child in the database.

func NewChildStore added in v1.2.8

func NewChildStore(db *sql.DB) *ChildStore

NewChildStore creates a new instance of ChildStore using a SQL database.

func (*ChildStore) Count added in v1.2.8

func (s *ChildStore) Count(q *ChildQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*ChildStore) Debug added in v1.2.8

func (s *ChildStore) Debug() *ChildStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*ChildStore) DebugWith added in v1.2.8

func (s *ChildStore) DebugWith(logger kallax.LoggerFunc) *ChildStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*ChildStore) Delete added in v1.2.8

func (s *ChildStore) Delete(record *Child) error

Delete removes the given record from the database.

func (*ChildStore) DisableCacher added in v1.3.4

func (s *ChildStore) DisableCacher() *ChildStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*ChildStore) Find added in v1.2.8

func (s *ChildStore) Find(q *ChildQuery) (*ChildResultSet, error)

Find returns the set of results for the given query.

func (*ChildStore) FindAll added in v1.2.8

func (s *ChildStore) FindAll(q *ChildQuery) ([]*Child, error)

FindAll returns a list of all the rows returned by the given query.

func (*ChildStore) FindOne added in v1.2.8

func (s *ChildStore) FindOne(q *ChildQuery) (*Child, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*ChildStore) GenericStore added in v1.2.8

func (s *ChildStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*ChildStore) Insert added in v1.2.8

func (s *ChildStore) Insert(record *Child) error

Insert inserts a Child in the database. A non-persisted object is required for this operation.

func (*ChildStore) MustCount added in v1.2.8

func (s *ChildStore) MustCount(q *ChildQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*ChildStore) MustFind added in v1.2.8

func (s *ChildStore) MustFind(q *ChildQuery) *ChildResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*ChildStore) MustFindOne added in v1.2.8

func (s *ChildStore) MustFindOne(q *ChildQuery) *Child

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*ChildStore) Reload added in v1.2.8

func (s *ChildStore) Reload(record *Child) error

Reload refreshes the Child with the data in the database and makes it writable.

func (*ChildStore) Save added in v1.2.8

func (s *ChildStore) Save(record *Child) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*ChildStore) SetGenericStore added in v1.2.8

func (s *ChildStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*ChildStore) Transaction added in v1.2.8

func (s *ChildStore) Transaction(callback func(*ChildStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*ChildStore) Update added in v1.2.8

func (s *ChildStore) Update(record *Child, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type EventsAllFixture

type EventsAllFixture struct {
	kallax.Model   `table:"event"`
	ID             kallax.ULID `pk:""`
	Checks         map[string]bool
	MustFailBefore error
	MustFailAfter  error
}

func NewEventsAllFixture

func NewEventsAllFixture() (record *EventsAllFixture)

NewEventsAllFixture returns a new instance of EventsAllFixture.

func (*EventsAllFixture) AfterInsert

func (s *EventsAllFixture) AfterInsert() error

func (*EventsAllFixture) AfterSave

func (s *EventsAllFixture) AfterSave() error

func (*EventsAllFixture) AfterUpdate

func (s *EventsAllFixture) AfterUpdate() error

func (*EventsAllFixture) BeforeInsert

func (s *EventsAllFixture) BeforeInsert() error

func (*EventsAllFixture) BeforeSave

func (s *EventsAllFixture) BeforeSave() error

func (*EventsAllFixture) BeforeUpdate

func (s *EventsAllFixture) BeforeUpdate() error

func (*EventsAllFixture) ColumnAddress

func (r *EventsAllFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*EventsAllFixture) GetID

func (r *EventsAllFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*EventsAllFixture) NewRelationshipRecord

func (r *EventsAllFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*EventsAllFixture) SetRelationship

func (r *EventsAllFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*EventsAllFixture) Value

func (r *EventsAllFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type EventsAllFixtureQuery

type EventsAllFixtureQuery struct {
	*kallax.BaseQuery
}

EventsAllFixtureQuery is the object used to create queries for the EventsAllFixture entity.

func NewEventsAllFixtureQuery

func NewEventsAllFixtureQuery() *EventsAllFixtureQuery

NewEventsAllFixtureQuery returns a new instance of EventsAllFixtureQuery.

func (*EventsAllFixtureQuery) BatchSize

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*EventsAllFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*EventsAllFixtureQuery) FindByID

func (q *EventsAllFixtureQuery) FindByID(v ...kallax.ULID) *EventsAllFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*EventsAllFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*EventsAllFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*EventsAllFixtureQuery) Order

func (q *EventsAllFixtureQuery) Order(cols ...kallax.ColumnOrder) *EventsAllFixtureQuery

Order adds order clauses to the query for the given columns.

func (*EventsAllFixtureQuery) Select

func (q *EventsAllFixtureQuery) Select(columns ...kallax.SchemaField) *EventsAllFixtureQuery

Select adds columns to select in the query.

func (*EventsAllFixtureQuery) SelectNot

func (q *EventsAllFixtureQuery) SelectNot(columns ...kallax.SchemaField) *EventsAllFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*EventsAllFixtureQuery) Where

func (q *EventsAllFixtureQuery) Where(cond kallax.Condition) *EventsAllFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type EventsAllFixtureResultSet

type EventsAllFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

EventsAllFixtureResultSet is the set of results returned by a query to the database.

func NewEventsAllFixtureResultSet

func NewEventsAllFixtureResultSet(rs kallax.ResultSet) *EventsAllFixtureResultSet

NewEventsAllFixtureResultSet creates a new result set for rows of the type EventsAllFixture.

func (*EventsAllFixtureResultSet) All

All returns all records on the result set and closes the result set.

func (*EventsAllFixtureResultSet) Close

func (rs *EventsAllFixtureResultSet) Close() error

Close closes the result set.

func (*EventsAllFixtureResultSet) Err

func (rs *EventsAllFixtureResultSet) Err() error

Err returns the last error occurred.

func (*EventsAllFixtureResultSet) ForEach

func (rs *EventsAllFixtureResultSet) ForEach(fn func(*EventsAllFixture) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*EventsAllFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*EventsAllFixtureResultSet) Next

func (rs *EventsAllFixtureResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*EventsAllFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type EventsAllFixtureStore

type EventsAllFixtureStore struct {
	*kallax.Store
}

EventsAllFixtureStore is the entity to access the records of the type EventsAllFixture in the database.

func NewEventsAllFixtureStore

func NewEventsAllFixtureStore(db *sql.DB) *EventsAllFixtureStore

NewEventsAllFixtureStore creates a new instance of EventsAllFixtureStore using a SQL database.

func (*EventsAllFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*EventsAllFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*EventsAllFixtureStore) DebugWith added in v1.1.4

func (s *EventsAllFixtureStore) DebugWith(logger kallax.LoggerFunc) *EventsAllFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*EventsAllFixtureStore) Delete

func (s *EventsAllFixtureStore) Delete(record *EventsAllFixture) error

Delete removes the given record from the database.

func (*EventsAllFixtureStore) DisableCacher added in v1.3.4

func (s *EventsAllFixtureStore) DisableCacher() *EventsAllFixtureStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*EventsAllFixtureStore) Find

Find returns the set of results for the given query.

func (*EventsAllFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*EventsAllFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*EventsAllFixtureStore) GenericStore added in v1.1.0

func (s *EventsAllFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*EventsAllFixtureStore) Insert

func (s *EventsAllFixtureStore) Insert(record *EventsAllFixture) error

Insert inserts a EventsAllFixture in the database. A non-persisted object is required for this operation.

func (*EventsAllFixtureStore) MustCount

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*EventsAllFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*EventsAllFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*EventsAllFixtureStore) Reload

func (s *EventsAllFixtureStore) Reload(record *EventsAllFixture) error

Reload refreshes the EventsAllFixture with the data in the database and makes it writable.

func (*EventsAllFixtureStore) Save

func (s *EventsAllFixtureStore) Save(record *EventsAllFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*EventsAllFixtureStore) SetGenericStore added in v1.1.0

func (s *EventsAllFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*EventsAllFixtureStore) Transaction

func (s *EventsAllFixtureStore) Transaction(callback func(*EventsAllFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*EventsAllFixtureStore) Update

func (s *EventsAllFixtureStore) Update(record *EventsAllFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type EventsFixture

type EventsFixture struct {
	kallax.Model   `table:"event"`
	ID             kallax.ULID `pk:""`
	Checks         map[string]bool
	MustFailBefore error
	MustFailAfter  error
}

func NewEventsFixture

func NewEventsFixture() (record *EventsFixture)

NewEventsFixture returns a new instance of EventsFixture.

func (*EventsFixture) AfterInsert

func (s *EventsFixture) AfterInsert() error

func (*EventsFixture) AfterUpdate

func (s *EventsFixture) AfterUpdate() error

func (*EventsFixture) BeforeInsert

func (s *EventsFixture) BeforeInsert() error

func (*EventsFixture) BeforeUpdate

func (s *EventsFixture) BeforeUpdate() error

func (*EventsFixture) ColumnAddress

func (r *EventsFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*EventsFixture) GetID

func (r *EventsFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*EventsFixture) NewRelationshipRecord

func (r *EventsFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*EventsFixture) SetRelationship

func (r *EventsFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*EventsFixture) Value

func (r *EventsFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type EventsFixtureQuery

type EventsFixtureQuery struct {
	*kallax.BaseQuery
}

EventsFixtureQuery is the object used to create queries for the EventsFixture entity.

func NewEventsFixtureQuery

func NewEventsFixtureQuery() *EventsFixtureQuery

NewEventsFixtureQuery returns a new instance of EventsFixtureQuery.

func (*EventsFixtureQuery) BatchSize

func (q *EventsFixtureQuery) BatchSize(size uint64) *EventsFixtureQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*EventsFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*EventsFixtureQuery) FindByID

func (q *EventsFixtureQuery) FindByID(v ...kallax.ULID) *EventsFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*EventsFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*EventsFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*EventsFixtureQuery) Order

func (q *EventsFixtureQuery) Order(cols ...kallax.ColumnOrder) *EventsFixtureQuery

Order adds order clauses to the query for the given columns.

func (*EventsFixtureQuery) Select

func (q *EventsFixtureQuery) Select(columns ...kallax.SchemaField) *EventsFixtureQuery

Select adds columns to select in the query.

func (*EventsFixtureQuery) SelectNot

func (q *EventsFixtureQuery) SelectNot(columns ...kallax.SchemaField) *EventsFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*EventsFixtureQuery) Where

func (q *EventsFixtureQuery) Where(cond kallax.Condition) *EventsFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type EventsFixtureResultSet

type EventsFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

EventsFixtureResultSet is the set of results returned by a query to the database.

func NewEventsFixtureResultSet

func NewEventsFixtureResultSet(rs kallax.ResultSet) *EventsFixtureResultSet

NewEventsFixtureResultSet creates a new result set for rows of the type EventsFixture.

func (*EventsFixtureResultSet) All

func (rs *EventsFixtureResultSet) All() ([]*EventsFixture, error)

All returns all records on the result set and closes the result set.

func (*EventsFixtureResultSet) Close

func (rs *EventsFixtureResultSet) Close() error

Close closes the result set.

func (*EventsFixtureResultSet) Err

func (rs *EventsFixtureResultSet) Err() error

Err returns the last error occurred.

func (*EventsFixtureResultSet) ForEach

func (rs *EventsFixtureResultSet) ForEach(fn func(*EventsFixture) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*EventsFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*EventsFixtureResultSet) Next

func (rs *EventsFixtureResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*EventsFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type EventsFixtureStore

type EventsFixtureStore struct {
	*kallax.Store
}

EventsFixtureStore is the entity to access the records of the type EventsFixture in the database.

func NewEventsFixtureStore

func NewEventsFixtureStore(db *sql.DB) *EventsFixtureStore

NewEventsFixtureStore creates a new instance of EventsFixtureStore using a SQL database.

func (*EventsFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*EventsFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*EventsFixtureStore) DebugWith added in v1.1.4

func (s *EventsFixtureStore) DebugWith(logger kallax.LoggerFunc) *EventsFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*EventsFixtureStore) Delete

func (s *EventsFixtureStore) Delete(record *EventsFixture) error

Delete removes the given record from the database.

func (*EventsFixtureStore) DisableCacher added in v1.3.4

func (s *EventsFixtureStore) DisableCacher() *EventsFixtureStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*EventsFixtureStore) Find

Find returns the set of results for the given query.

func (*EventsFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*EventsFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*EventsFixtureStore) GenericStore added in v1.1.0

func (s *EventsFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*EventsFixtureStore) Insert

func (s *EventsFixtureStore) Insert(record *EventsFixture) error

Insert inserts a EventsFixture in the database. A non-persisted object is required for this operation.

func (*EventsFixtureStore) MustCount

func (s *EventsFixtureStore) MustCount(q *EventsFixtureQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*EventsFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*EventsFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*EventsFixtureStore) Reload

func (s *EventsFixtureStore) Reload(record *EventsFixture) error

Reload refreshes the EventsFixture with the data in the database and makes it writable.

func (*EventsFixtureStore) Save

func (s *EventsFixtureStore) Save(record *EventsFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*EventsFixtureStore) SetGenericStore added in v1.1.0

func (s *EventsFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*EventsFixtureStore) Transaction

func (s *EventsFixtureStore) Transaction(callback func(*EventsFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*EventsFixtureStore) Update

func (s *EventsFixtureStore) Update(record *EventsFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type EventsSaveFixture

type EventsSaveFixture struct {
	kallax.Model   `table:"event"`
	ID             kallax.ULID `pk:""`
	Checks         map[string]bool
	MustFailBefore error
	MustFailAfter  error
}

func NewEventsSaveFixture

func NewEventsSaveFixture() (record *EventsSaveFixture)

NewEventsSaveFixture returns a new instance of EventsSaveFixture.

func (*EventsSaveFixture) AfterSave

func (s *EventsSaveFixture) AfterSave() error

func (*EventsSaveFixture) BeforeSave

func (s *EventsSaveFixture) BeforeSave() error

func (*EventsSaveFixture) ColumnAddress

func (r *EventsSaveFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*EventsSaveFixture) GetID

func (r *EventsSaveFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*EventsSaveFixture) NewRelationshipRecord

func (r *EventsSaveFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*EventsSaveFixture) SetRelationship

func (r *EventsSaveFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*EventsSaveFixture) Value

func (r *EventsSaveFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type EventsSaveFixtureQuery

type EventsSaveFixtureQuery struct {
	*kallax.BaseQuery
}

EventsSaveFixtureQuery is the object used to create queries for the EventsSaveFixture entity.

func NewEventsSaveFixtureQuery

func NewEventsSaveFixtureQuery() *EventsSaveFixtureQuery

NewEventsSaveFixtureQuery returns a new instance of EventsSaveFixtureQuery.

func (*EventsSaveFixtureQuery) BatchSize

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*EventsSaveFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*EventsSaveFixtureQuery) FindByID

func (q *EventsSaveFixtureQuery) FindByID(v ...kallax.ULID) *EventsSaveFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*EventsSaveFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*EventsSaveFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*EventsSaveFixtureQuery) Order

func (q *EventsSaveFixtureQuery) Order(cols ...kallax.ColumnOrder) *EventsSaveFixtureQuery

Order adds order clauses to the query for the given columns.

func (*EventsSaveFixtureQuery) Select

func (q *EventsSaveFixtureQuery) Select(columns ...kallax.SchemaField) *EventsSaveFixtureQuery

Select adds columns to select in the query.

func (*EventsSaveFixtureQuery) SelectNot

func (q *EventsSaveFixtureQuery) SelectNot(columns ...kallax.SchemaField) *EventsSaveFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*EventsSaveFixtureQuery) Where

func (q *EventsSaveFixtureQuery) Where(cond kallax.Condition) *EventsSaveFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type EventsSaveFixtureResultSet

type EventsSaveFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

EventsSaveFixtureResultSet is the set of results returned by a query to the database.

func NewEventsSaveFixtureResultSet

func NewEventsSaveFixtureResultSet(rs kallax.ResultSet) *EventsSaveFixtureResultSet

NewEventsSaveFixtureResultSet creates a new result set for rows of the type EventsSaveFixture.

func (*EventsSaveFixtureResultSet) All

All returns all records on the result set and closes the result set.

func (*EventsSaveFixtureResultSet) Close

func (rs *EventsSaveFixtureResultSet) Close() error

Close closes the result set.

func (*EventsSaveFixtureResultSet) Err

Err returns the last error occurred.

func (*EventsSaveFixtureResultSet) ForEach

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*EventsSaveFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*EventsSaveFixtureResultSet) Next

func (rs *EventsSaveFixtureResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*EventsSaveFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type EventsSaveFixtureStore

type EventsSaveFixtureStore struct {
	*kallax.Store
}

EventsSaveFixtureStore is the entity to access the records of the type EventsSaveFixture in the database.

func NewEventsSaveFixtureStore

func NewEventsSaveFixtureStore(db *sql.DB) *EventsSaveFixtureStore

NewEventsSaveFixtureStore creates a new instance of EventsSaveFixtureStore using a SQL database.

func (*EventsSaveFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*EventsSaveFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*EventsSaveFixtureStore) DebugWith added in v1.1.4

func (s *EventsSaveFixtureStore) DebugWith(logger kallax.LoggerFunc) *EventsSaveFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*EventsSaveFixtureStore) Delete

func (s *EventsSaveFixtureStore) Delete(record *EventsSaveFixture) error

Delete removes the given record from the database.

func (*EventsSaveFixtureStore) DisableCacher added in v1.3.4

func (s *EventsSaveFixtureStore) DisableCacher() *EventsSaveFixtureStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*EventsSaveFixtureStore) Find

Find returns the set of results for the given query.

func (*EventsSaveFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*EventsSaveFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*EventsSaveFixtureStore) GenericStore added in v1.1.0

func (s *EventsSaveFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*EventsSaveFixtureStore) Insert

func (s *EventsSaveFixtureStore) Insert(record *EventsSaveFixture) error

Insert inserts a EventsSaveFixture in the database. A non-persisted object is required for this operation.

func (*EventsSaveFixtureStore) MustCount

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*EventsSaveFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*EventsSaveFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*EventsSaveFixtureStore) Reload

func (s *EventsSaveFixtureStore) Reload(record *EventsSaveFixture) error

Reload refreshes the EventsSaveFixture with the data in the database and makes it writable.

func (*EventsSaveFixtureStore) Save

func (s *EventsSaveFixtureStore) Save(record *EventsSaveFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*EventsSaveFixtureStore) SetGenericStore added in v1.1.0

func (s *EventsSaveFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*EventsSaveFixtureStore) Transaction

func (s *EventsSaveFixtureStore) Transaction(callback func(*EventsSaveFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*EventsSaveFixtureStore) Update

func (s *EventsSaveFixtureStore) Update(record *EventsSaveFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type JSONModel

type JSONModel struct {
	kallax.Model `table:"jsons"`
	ID           kallax.ULID `pk:""`
	Foo          string
	Bar          *Bar
	BazSlice     []Baz
	Baz          map[string]interface{}
}

func NewJSONModel

func NewJSONModel() (record *JSONModel)

NewJSONModel returns a new instance of JSONModel.

func (*JSONModel) ColumnAddress

func (r *JSONModel) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*JSONModel) GetID

func (r *JSONModel) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*JSONModel) NewRelationshipRecord

func (r *JSONModel) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*JSONModel) SetRelationship

func (r *JSONModel) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*JSONModel) Value

func (r *JSONModel) Value(col string) (interface{}, error)

Value returns the value of the given column.

type JSONModelQuery

type JSONModelQuery struct {
	*kallax.BaseQuery
}

JSONModelQuery is the object used to create queries for the JSONModel entity.

func NewJSONModelQuery

func NewJSONModelQuery() *JSONModelQuery

NewJSONModelQuery returns a new instance of JSONModelQuery.

func (*JSONModelQuery) BatchSize

func (q *JSONModelQuery) BatchSize(size uint64) *JSONModelQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*JSONModelQuery) Copy

func (q *JSONModelQuery) Copy() *JSONModelQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*JSONModelQuery) FindByFoo

func (q *JSONModelQuery) FindByFoo(v string) *JSONModelQuery

FindByFoo adds a new filter to the query that will require that the Foo property is equal to the passed value.

func (*JSONModelQuery) FindByID

func (q *JSONModelQuery) FindByID(v ...kallax.ULID) *JSONModelQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*JSONModelQuery) Limit

func (q *JSONModelQuery) Limit(n uint64) *JSONModelQuery

Limit sets the max number of items to retrieve.

func (*JSONModelQuery) Offset

func (q *JSONModelQuery) Offset(n uint64) *JSONModelQuery

Offset sets the number of items to skip from the result set of items.

func (*JSONModelQuery) Order

func (q *JSONModelQuery) Order(cols ...kallax.ColumnOrder) *JSONModelQuery

Order adds order clauses to the query for the given columns.

func (*JSONModelQuery) Select

func (q *JSONModelQuery) Select(columns ...kallax.SchemaField) *JSONModelQuery

Select adds columns to select in the query.

func (*JSONModelQuery) SelectNot

func (q *JSONModelQuery) SelectNot(columns ...kallax.SchemaField) *JSONModelQuery

SelectNot excludes columns from being selected in the query.

func (*JSONModelQuery) Where

func (q *JSONModelQuery) Where(cond kallax.Condition) *JSONModelQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type JSONModelResultSet

type JSONModelResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

JSONModelResultSet is the set of results returned by a query to the database.

func NewJSONModelResultSet

func NewJSONModelResultSet(rs kallax.ResultSet) *JSONModelResultSet

NewJSONModelResultSet creates a new result set for rows of the type JSONModel.

func (*JSONModelResultSet) All

func (rs *JSONModelResultSet) All() ([]*JSONModel, error)

All returns all records on the result set and closes the result set.

func (*JSONModelResultSet) Close

func (rs *JSONModelResultSet) Close() error

Close closes the result set.

func (*JSONModelResultSet) Err

func (rs *JSONModelResultSet) Err() error

Err returns the last error occurred.

func (*JSONModelResultSet) ForEach

func (rs *JSONModelResultSet) ForEach(fn func(*JSONModel) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*JSONModelResultSet) Get

func (rs *JSONModelResultSet) Get() (*JSONModel, error)

Get retrieves the last fetched item from the result set and the last error.

func (*JSONModelResultSet) Next

func (rs *JSONModelResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*JSONModelResultSet) One

func (rs *JSONModelResultSet) One() (*JSONModel, error)

One returns the first record on the result set and closes the result set.

type JSONModelStore

type JSONModelStore struct {
	*kallax.Store
}

JSONModelStore is the entity to access the records of the type JSONModel in the database.

func NewJSONModelStore

func NewJSONModelStore(db *sql.DB) *JSONModelStore

NewJSONModelStore creates a new instance of JSONModelStore using a SQL database.

func (*JSONModelStore) Count

func (s *JSONModelStore) Count(q *JSONModelQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*JSONModelStore) Debug added in v1.1.4

func (s *JSONModelStore) Debug() *JSONModelStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*JSONModelStore) DebugWith added in v1.1.4

func (s *JSONModelStore) DebugWith(logger kallax.LoggerFunc) *JSONModelStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*JSONModelStore) Delete

func (s *JSONModelStore) Delete(record *JSONModel) error

Delete removes the given record from the database.

func (*JSONModelStore) DisableCacher added in v1.3.4

func (s *JSONModelStore) DisableCacher() *JSONModelStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*JSONModelStore) Find

Find returns the set of results for the given query.

func (*JSONModelStore) FindAll added in v1.2.1

func (s *JSONModelStore) FindAll(q *JSONModelQuery) ([]*JSONModel, error)

FindAll returns a list of all the rows returned by the given query.

func (*JSONModelStore) FindOne

func (s *JSONModelStore) FindOne(q *JSONModelQuery) (*JSONModel, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*JSONModelStore) GenericStore added in v1.1.0

func (s *JSONModelStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*JSONModelStore) Insert

func (s *JSONModelStore) Insert(record *JSONModel) error

Insert inserts a JSONModel in the database. A non-persisted object is required for this operation.

func (*JSONModelStore) MustCount

func (s *JSONModelStore) MustCount(q *JSONModelQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*JSONModelStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*JSONModelStore) MustFindOne

func (s *JSONModelStore) MustFindOne(q *JSONModelQuery) *JSONModel

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*JSONModelStore) Reload

func (s *JSONModelStore) Reload(record *JSONModel) error

Reload refreshes the JSONModel with the data in the database and makes it writable.

func (*JSONModelStore) Save

func (s *JSONModelStore) Save(record *JSONModel) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*JSONModelStore) SetGenericStore added in v1.1.0

func (s *JSONModelStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*JSONModelStore) Transaction

func (s *JSONModelStore) Transaction(callback func(*JSONModelStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*JSONModelStore) Update

func (s *JSONModelStore) Update(record *JSONModel, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type MultiKeySortFixture

type MultiKeySortFixture struct {
	kallax.Model `table:"query"`
	ID           kallax.ULID `pk:""`
	Name         string
	Start        time.Time
	End          time.Time
}

func NewMultiKeySortFixture

func NewMultiKeySortFixture() (record *MultiKeySortFixture)

NewMultiKeySortFixture returns a new instance of MultiKeySortFixture.

func (*MultiKeySortFixture) ColumnAddress

func (r *MultiKeySortFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*MultiKeySortFixture) GetID

func (r *MultiKeySortFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*MultiKeySortFixture) NewRelationshipRecord

func (r *MultiKeySortFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*MultiKeySortFixture) SetRelationship

func (r *MultiKeySortFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*MultiKeySortFixture) Value

func (r *MultiKeySortFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type MultiKeySortFixtureQuery

type MultiKeySortFixtureQuery struct {
	*kallax.BaseQuery
}

MultiKeySortFixtureQuery is the object used to create queries for the MultiKeySortFixture entity.

func NewMultiKeySortFixtureQuery

func NewMultiKeySortFixtureQuery() *MultiKeySortFixtureQuery

NewMultiKeySortFixtureQuery returns a new instance of MultiKeySortFixtureQuery.

func (*MultiKeySortFixtureQuery) BatchSize

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*MultiKeySortFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*MultiKeySortFixtureQuery) FindByEnd

func (q *MultiKeySortFixtureQuery) FindByEnd(cond kallax.ScalarCond, v time.Time) *MultiKeySortFixtureQuery

FindByEnd adds a new filter to the query that will require that the End property is equal to the passed value.

func (*MultiKeySortFixtureQuery) FindByID

func (q *MultiKeySortFixtureQuery) FindByID(v ...kallax.ULID) *MultiKeySortFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*MultiKeySortFixtureQuery) FindByName

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*MultiKeySortFixtureQuery) FindByStart

func (q *MultiKeySortFixtureQuery) FindByStart(cond kallax.ScalarCond, v time.Time) *MultiKeySortFixtureQuery

FindByStart adds a new filter to the query that will require that the Start property is equal to the passed value.

func (*MultiKeySortFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*MultiKeySortFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*MultiKeySortFixtureQuery) Order

func (q *MultiKeySortFixtureQuery) Order(cols ...kallax.ColumnOrder) *MultiKeySortFixtureQuery

Order adds order clauses to the query for the given columns.

func (*MultiKeySortFixtureQuery) Select

func (q *MultiKeySortFixtureQuery) Select(columns ...kallax.SchemaField) *MultiKeySortFixtureQuery

Select adds columns to select in the query.

func (*MultiKeySortFixtureQuery) SelectNot

func (q *MultiKeySortFixtureQuery) SelectNot(columns ...kallax.SchemaField) *MultiKeySortFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*MultiKeySortFixtureQuery) Where

func (q *MultiKeySortFixtureQuery) Where(cond kallax.Condition) *MultiKeySortFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type MultiKeySortFixtureResultSet

type MultiKeySortFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

MultiKeySortFixtureResultSet is the set of results returned by a query to the database.

func NewMultiKeySortFixtureResultSet

func NewMultiKeySortFixtureResultSet(rs kallax.ResultSet) *MultiKeySortFixtureResultSet

NewMultiKeySortFixtureResultSet creates a new result set for rows of the type MultiKeySortFixture.

func (*MultiKeySortFixtureResultSet) All

All returns all records on the result set and closes the result set.

func (*MultiKeySortFixtureResultSet) Close

func (rs *MultiKeySortFixtureResultSet) Close() error

Close closes the result set.

func (*MultiKeySortFixtureResultSet) Err

Err returns the last error occurred.

func (*MultiKeySortFixtureResultSet) ForEach

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*MultiKeySortFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*MultiKeySortFixtureResultSet) Next

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*MultiKeySortFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type MultiKeySortFixtureStore

type MultiKeySortFixtureStore struct {
	*kallax.Store
}

MultiKeySortFixtureStore is the entity to access the records of the type MultiKeySortFixture in the database.

func NewMultiKeySortFixtureStore

func NewMultiKeySortFixtureStore(db *sql.DB) *MultiKeySortFixtureStore

NewMultiKeySortFixtureStore creates a new instance of MultiKeySortFixtureStore using a SQL database.

func (*MultiKeySortFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*MultiKeySortFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*MultiKeySortFixtureStore) DebugWith added in v1.1.4

func (s *MultiKeySortFixtureStore) DebugWith(logger kallax.LoggerFunc) *MultiKeySortFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*MultiKeySortFixtureStore) Delete

Delete removes the given record from the database.

func (*MultiKeySortFixtureStore) DisableCacher added in v1.3.4

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*MultiKeySortFixtureStore) Find

Find returns the set of results for the given query.

func (*MultiKeySortFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*MultiKeySortFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*MultiKeySortFixtureStore) GenericStore added in v1.1.0

func (s *MultiKeySortFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*MultiKeySortFixtureStore) Insert

Insert inserts a MultiKeySortFixture in the database. A non-persisted object is required for this operation.

func (*MultiKeySortFixtureStore) MustCount

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*MultiKeySortFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*MultiKeySortFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*MultiKeySortFixtureStore) Reload

Reload refreshes the MultiKeySortFixture with the data in the database and makes it writable.

func (*MultiKeySortFixtureStore) Save

func (s *MultiKeySortFixtureStore) Save(record *MultiKeySortFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*MultiKeySortFixtureStore) SetGenericStore added in v1.1.0

func (s *MultiKeySortFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*MultiKeySortFixtureStore) Transaction

func (s *MultiKeySortFixtureStore) Transaction(callback func(*MultiKeySortFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*MultiKeySortFixtureStore) Update

func (s *MultiKeySortFixtureStore) Update(record *MultiKeySortFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Nullable

type Nullable struct {
	kallax.Model `table:"nullable"`
	ID           int64 `pk:"autoincr"`
	T            *time.Time
	SomeJSON     *SomeJSON
	Scanner      *kallax.ULID
}

func NewNullable

func NewNullable() (record *Nullable)

NewNullable returns a new instance of Nullable.

func (*Nullable) ColumnAddress

func (r *Nullable) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*Nullable) GetID

func (r *Nullable) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*Nullable) NewRelationshipRecord

func (r *Nullable) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*Nullable) SetRelationship

func (r *Nullable) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*Nullable) Value

func (r *Nullable) Value(col string) (interface{}, error)

Value returns the value of the given column.

type NullableQuery

type NullableQuery struct {
	*kallax.BaseQuery
}

NullableQuery is the object used to create queries for the Nullable entity.

func NewNullableQuery

func NewNullableQuery() *NullableQuery

NewNullableQuery returns a new instance of NullableQuery.

func (*NullableQuery) BatchSize

func (q *NullableQuery) BatchSize(size uint64) *NullableQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*NullableQuery) Copy

func (q *NullableQuery) Copy() *NullableQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*NullableQuery) FindByID

func (q *NullableQuery) FindByID(v ...int64) *NullableQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*NullableQuery) FindByScanner

func (q *NullableQuery) FindByScanner(v kallax.ULID) *NullableQuery

FindByScanner adds a new filter to the query that will require that the Scanner property is equal to the passed value.

func (*NullableQuery) FindByT

func (q *NullableQuery) FindByT(cond kallax.ScalarCond, v time.Time) *NullableQuery

FindByT adds a new filter to the query that will require that the T property is equal to the passed value.

func (*NullableQuery) Limit

func (q *NullableQuery) Limit(n uint64) *NullableQuery

Limit sets the max number of items to retrieve.

func (*NullableQuery) Offset

func (q *NullableQuery) Offset(n uint64) *NullableQuery

Offset sets the number of items to skip from the result set of items.

func (*NullableQuery) Order

func (q *NullableQuery) Order(cols ...kallax.ColumnOrder) *NullableQuery

Order adds order clauses to the query for the given columns.

func (*NullableQuery) Select

func (q *NullableQuery) Select(columns ...kallax.SchemaField) *NullableQuery

Select adds columns to select in the query.

func (*NullableQuery) SelectNot

func (q *NullableQuery) SelectNot(columns ...kallax.SchemaField) *NullableQuery

SelectNot excludes columns from being selected in the query.

func (*NullableQuery) Where

func (q *NullableQuery) Where(cond kallax.Condition) *NullableQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type NullableResultSet

type NullableResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

NullableResultSet is the set of results returned by a query to the database.

func NewNullableResultSet

func NewNullableResultSet(rs kallax.ResultSet) *NullableResultSet

NewNullableResultSet creates a new result set for rows of the type Nullable.

func (*NullableResultSet) All

func (rs *NullableResultSet) All() ([]*Nullable, error)

All returns all records on the result set and closes the result set.

func (*NullableResultSet) Close

func (rs *NullableResultSet) Close() error

Close closes the result set.

func (*NullableResultSet) Err

func (rs *NullableResultSet) Err() error

Err returns the last error occurred.

func (*NullableResultSet) ForEach

func (rs *NullableResultSet) ForEach(fn func(*Nullable) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*NullableResultSet) Get

func (rs *NullableResultSet) Get() (*Nullable, error)

Get retrieves the last fetched item from the result set and the last error.

func (*NullableResultSet) Next

func (rs *NullableResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*NullableResultSet) One

func (rs *NullableResultSet) One() (*Nullable, error)

One returns the first record on the result set and closes the result set.

type NullableStore

type NullableStore struct {
	*kallax.Store
}

NullableStore is the entity to access the records of the type Nullable in the database.

func NewNullableStore

func NewNullableStore(db *sql.DB) *NullableStore

NewNullableStore creates a new instance of NullableStore using a SQL database.

func (*NullableStore) Count

func (s *NullableStore) Count(q *NullableQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*NullableStore) Debug added in v1.1.4

func (s *NullableStore) Debug() *NullableStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*NullableStore) DebugWith added in v1.1.4

func (s *NullableStore) DebugWith(logger kallax.LoggerFunc) *NullableStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*NullableStore) Delete

func (s *NullableStore) Delete(record *Nullable) error

Delete removes the given record from the database.

func (*NullableStore) DisableCacher added in v1.3.4

func (s *NullableStore) DisableCacher() *NullableStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*NullableStore) Find

Find returns the set of results for the given query.

func (*NullableStore) FindAll added in v1.2.1

func (s *NullableStore) FindAll(q *NullableQuery) ([]*Nullable, error)

FindAll returns a list of all the rows returned by the given query.

func (*NullableStore) FindOne

func (s *NullableStore) FindOne(q *NullableQuery) (*Nullable, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*NullableStore) GenericStore added in v1.1.0

func (s *NullableStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*NullableStore) Insert

func (s *NullableStore) Insert(record *Nullable) error

Insert inserts a Nullable in the database. A non-persisted object is required for this operation.

func (*NullableStore) MustCount

func (s *NullableStore) MustCount(q *NullableQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*NullableStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*NullableStore) MustFindOne

func (s *NullableStore) MustFindOne(q *NullableQuery) *Nullable

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*NullableStore) Reload

func (s *NullableStore) Reload(record *Nullable) error

Reload refreshes the Nullable with the data in the database and makes it writable.

func (*NullableStore) Save

func (s *NullableStore) Save(record *Nullable) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*NullableStore) SetGenericStore added in v1.1.0

func (s *NullableStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*NullableStore) Transaction

func (s *NullableStore) Transaction(callback func(*NullableStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*NullableStore) Update

func (s *NullableStore) Update(record *Nullable, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Parent added in v1.2.8

type Parent struct {
	kallax.Model `table:"parents" pk:"id,autoincr"`
	ID           int64
	Name         string
	Children     []*Child
}

func NewParent added in v1.2.8

func NewParent() (record *Parent)

NewParent returns a new instance of Parent.

func (*Parent) ColumnAddress added in v1.2.8

func (r *Parent) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*Parent) GetID added in v1.2.8

func (r *Parent) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*Parent) NewRelationshipRecord added in v1.2.8

func (r *Parent) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*Parent) SetRelationship added in v1.2.8

func (r *Parent) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*Parent) Value added in v1.2.8

func (r *Parent) Value(col string) (interface{}, error)

Value returns the value of the given column.

type ParentNoPtr added in v1.2.9

type ParentNoPtr struct {
	kallax.Model `table:"parents"`
	ID           int64 `pk:"autoincr"`
	Name         string
	Children     []Child `fk:"parent_id"`
}

func NewParentNoPtr added in v1.2.9

func NewParentNoPtr() (record *ParentNoPtr)

NewParentNoPtr returns a new instance of ParentNoPtr.

func (*ParentNoPtr) ColumnAddress added in v1.2.9

func (r *ParentNoPtr) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*ParentNoPtr) GetID added in v1.2.9

func (r *ParentNoPtr) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*ParentNoPtr) NewRelationshipRecord added in v1.2.9

func (r *ParentNoPtr) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*ParentNoPtr) SetRelationship added in v1.2.9

func (r *ParentNoPtr) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*ParentNoPtr) Value added in v1.2.9

func (r *ParentNoPtr) Value(col string) (interface{}, error)

Value returns the value of the given column.

type ParentNoPtrQuery added in v1.2.9

type ParentNoPtrQuery struct {
	*kallax.BaseQuery
}

ParentNoPtrQuery is the object used to create queries for the ParentNoPtr entity.

func NewParentNoPtrQuery added in v1.2.9

func NewParentNoPtrQuery() *ParentNoPtrQuery

NewParentNoPtrQuery returns a new instance of ParentNoPtrQuery.

func (*ParentNoPtrQuery) BatchSize added in v1.2.9

func (q *ParentNoPtrQuery) BatchSize(size uint64) *ParentNoPtrQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*ParentNoPtrQuery) Copy added in v1.2.9

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*ParentNoPtrQuery) FindByID added in v1.2.9

func (q *ParentNoPtrQuery) FindByID(v ...int64) *ParentNoPtrQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*ParentNoPtrQuery) FindByName added in v1.2.9

func (q *ParentNoPtrQuery) FindByName(v string) *ParentNoPtrQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*ParentNoPtrQuery) Limit added in v1.2.9

Limit sets the max number of items to retrieve.

func (*ParentNoPtrQuery) Offset added in v1.2.9

Offset sets the number of items to skip from the result set of items.

func (*ParentNoPtrQuery) Order added in v1.2.9

func (q *ParentNoPtrQuery) Order(cols ...kallax.ColumnOrder) *ParentNoPtrQuery

Order adds order clauses to the query for the given columns.

func (*ParentNoPtrQuery) Select added in v1.2.9

func (q *ParentNoPtrQuery) Select(columns ...kallax.SchemaField) *ParentNoPtrQuery

Select adds columns to select in the query.

func (*ParentNoPtrQuery) SelectNot added in v1.2.9

func (q *ParentNoPtrQuery) SelectNot(columns ...kallax.SchemaField) *ParentNoPtrQuery

SelectNot excludes columns from being selected in the query.

func (*ParentNoPtrQuery) Where added in v1.2.9

func (q *ParentNoPtrQuery) Where(cond kallax.Condition) *ParentNoPtrQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*ParentNoPtrQuery) WithChildren added in v1.2.9

func (q *ParentNoPtrQuery) WithChildren(cond kallax.Condition) *ParentNoPtrQuery

type ParentNoPtrResultSet added in v1.2.9

type ParentNoPtrResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

ParentNoPtrResultSet is the set of results returned by a query to the database.

func NewParentNoPtrResultSet added in v1.2.9

func NewParentNoPtrResultSet(rs kallax.ResultSet) *ParentNoPtrResultSet

NewParentNoPtrResultSet creates a new result set for rows of the type ParentNoPtr.

func (*ParentNoPtrResultSet) All added in v1.2.9

func (rs *ParentNoPtrResultSet) All() ([]*ParentNoPtr, error)

All returns all records on the result set and closes the result set.

func (*ParentNoPtrResultSet) Close added in v1.2.9

func (rs *ParentNoPtrResultSet) Close() error

Close closes the result set.

func (*ParentNoPtrResultSet) Err added in v1.2.9

func (rs *ParentNoPtrResultSet) Err() error

Err returns the last error occurred.

func (*ParentNoPtrResultSet) ForEach added in v1.2.9

func (rs *ParentNoPtrResultSet) ForEach(fn func(*ParentNoPtr) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*ParentNoPtrResultSet) Get added in v1.2.9

func (rs *ParentNoPtrResultSet) Get() (*ParentNoPtr, error)

Get retrieves the last fetched item from the result set and the last error.

func (*ParentNoPtrResultSet) Next added in v1.2.9

func (rs *ParentNoPtrResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*ParentNoPtrResultSet) One added in v1.2.9

func (rs *ParentNoPtrResultSet) One() (*ParentNoPtr, error)

One returns the first record on the result set and closes the result set.

type ParentNoPtrStore added in v1.2.9

type ParentNoPtrStore struct {
	*kallax.Store
}

ParentNoPtrStore is the entity to access the records of the type ParentNoPtr in the database.

func NewParentNoPtrStore added in v1.2.9

func NewParentNoPtrStore(db *sql.DB) *ParentNoPtrStore

NewParentNoPtrStore creates a new instance of ParentNoPtrStore using a SQL database.

func (*ParentNoPtrStore) Count added in v1.2.9

func (s *ParentNoPtrStore) Count(q *ParentNoPtrQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*ParentNoPtrStore) Debug added in v1.2.9

func (s *ParentNoPtrStore) Debug() *ParentNoPtrStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*ParentNoPtrStore) DebugWith added in v1.2.9

func (s *ParentNoPtrStore) DebugWith(logger kallax.LoggerFunc) *ParentNoPtrStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*ParentNoPtrStore) Delete added in v1.2.9

func (s *ParentNoPtrStore) Delete(record *ParentNoPtr) error

Delete removes the given record from the database.

func (*ParentNoPtrStore) DisableCacher added in v1.3.4

func (s *ParentNoPtrStore) DisableCacher() *ParentNoPtrStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*ParentNoPtrStore) Find added in v1.2.9

Find returns the set of results for the given query.

func (*ParentNoPtrStore) FindAll added in v1.2.9

func (s *ParentNoPtrStore) FindAll(q *ParentNoPtrQuery) ([]*ParentNoPtr, error)

FindAll returns a list of all the rows returned by the given query.

func (*ParentNoPtrStore) FindOne added in v1.2.9

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*ParentNoPtrStore) GenericStore added in v1.2.9

func (s *ParentNoPtrStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*ParentNoPtrStore) Insert added in v1.2.9

func (s *ParentNoPtrStore) Insert(record *ParentNoPtr) error

Insert inserts a ParentNoPtr in the database. A non-persisted object is required for this operation.

func (*ParentNoPtrStore) MustCount added in v1.2.9

func (s *ParentNoPtrStore) MustCount(q *ParentNoPtrQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*ParentNoPtrStore) MustFind added in v1.2.9

MustFind returns the set of results for the given query, but panics if there is any error.

func (*ParentNoPtrStore) MustFindOne added in v1.2.9

func (s *ParentNoPtrStore) MustFindOne(q *ParentNoPtrQuery) *ParentNoPtr

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*ParentNoPtrStore) Reload added in v1.2.9

func (s *ParentNoPtrStore) Reload(record *ParentNoPtr) error

Reload refreshes the ParentNoPtr with the data in the database and makes it writable.

func (*ParentNoPtrStore) RemoveChildren added in v1.2.9

func (s *ParentNoPtrStore) RemoveChildren(record *ParentNoPtr, deleted ...Child) error

RemoveChildren removes the given items of the Children field of the model. If no items are given, it removes all of them. The items will also be removed from the passed record inside this method. Note that is required that `Children` is not empty. This method clears the the elements of Children in a model, it does not retrieve them to know what relationships the model has.

func (*ParentNoPtrStore) Save added in v1.2.9

func (s *ParentNoPtrStore) Save(record *ParentNoPtr) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*ParentNoPtrStore) SetGenericStore added in v1.2.9

func (s *ParentNoPtrStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*ParentNoPtrStore) Transaction added in v1.2.9

func (s *ParentNoPtrStore) Transaction(callback func(*ParentNoPtrStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*ParentNoPtrStore) Update added in v1.2.9

func (s *ParentNoPtrStore) Update(record *ParentNoPtr, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type ParentQuery added in v1.2.8

type ParentQuery struct {
	*kallax.BaseQuery
}

ParentQuery is the object used to create queries for the Parent entity.

func NewParentQuery added in v1.2.8

func NewParentQuery() *ParentQuery

NewParentQuery returns a new instance of ParentQuery.

func (*ParentQuery) BatchSize added in v1.2.8

func (q *ParentQuery) BatchSize(size uint64) *ParentQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*ParentQuery) Copy added in v1.2.8

func (q *ParentQuery) Copy() *ParentQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*ParentQuery) FindByID added in v1.2.8

func (q *ParentQuery) FindByID(v ...int64) *ParentQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*ParentQuery) FindByName added in v1.2.8

func (q *ParentQuery) FindByName(v string) *ParentQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*ParentQuery) Limit added in v1.2.8

func (q *ParentQuery) Limit(n uint64) *ParentQuery

Limit sets the max number of items to retrieve.

func (*ParentQuery) Offset added in v1.2.8

func (q *ParentQuery) Offset(n uint64) *ParentQuery

Offset sets the number of items to skip from the result set of items.

func (*ParentQuery) Order added in v1.2.8

func (q *ParentQuery) Order(cols ...kallax.ColumnOrder) *ParentQuery

Order adds order clauses to the query for the given columns.

func (*ParentQuery) Select added in v1.2.8

func (q *ParentQuery) Select(columns ...kallax.SchemaField) *ParentQuery

Select adds columns to select in the query.

func (*ParentQuery) SelectNot added in v1.2.8

func (q *ParentQuery) SelectNot(columns ...kallax.SchemaField) *ParentQuery

SelectNot excludes columns from being selected in the query.

func (*ParentQuery) Where added in v1.2.8

func (q *ParentQuery) Where(cond kallax.Condition) *ParentQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*ParentQuery) WithChildren added in v1.2.8

func (q *ParentQuery) WithChildren(cond kallax.Condition) *ParentQuery

type ParentResultSet added in v1.2.8

type ParentResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

ParentResultSet is the set of results returned by a query to the database.

func NewParentResultSet added in v1.2.8

func NewParentResultSet(rs kallax.ResultSet) *ParentResultSet

NewParentResultSet creates a new result set for rows of the type Parent.

func (*ParentResultSet) All added in v1.2.8

func (rs *ParentResultSet) All() ([]*Parent, error)

All returns all records on the result set and closes the result set.

func (*ParentResultSet) Close added in v1.2.8

func (rs *ParentResultSet) Close() error

Close closes the result set.

func (*ParentResultSet) Err added in v1.2.8

func (rs *ParentResultSet) Err() error

Err returns the last error occurred.

func (*ParentResultSet) ForEach added in v1.2.8

func (rs *ParentResultSet) ForEach(fn func(*Parent) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*ParentResultSet) Get added in v1.2.8

func (rs *ParentResultSet) Get() (*Parent, error)

Get retrieves the last fetched item from the result set and the last error.

func (*ParentResultSet) Next added in v1.2.8

func (rs *ParentResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*ParentResultSet) One added in v1.2.8

func (rs *ParentResultSet) One() (*Parent, error)

One returns the first record on the result set and closes the result set.

type ParentStore added in v1.2.8

type ParentStore struct {
	*kallax.Store
}

ParentStore is the entity to access the records of the type Parent in the database.

func NewParentStore added in v1.2.8

func NewParentStore(db *sql.DB) *ParentStore

NewParentStore creates a new instance of ParentStore using a SQL database.

func (*ParentStore) Count added in v1.2.8

func (s *ParentStore) Count(q *ParentQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*ParentStore) Debug added in v1.2.8

func (s *ParentStore) Debug() *ParentStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*ParentStore) DebugWith added in v1.2.8

func (s *ParentStore) DebugWith(logger kallax.LoggerFunc) *ParentStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*ParentStore) Delete added in v1.2.8

func (s *ParentStore) Delete(record *Parent) error

Delete removes the given record from the database.

func (*ParentStore) DisableCacher added in v1.3.4

func (s *ParentStore) DisableCacher() *ParentStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*ParentStore) Find added in v1.2.8

func (s *ParentStore) Find(q *ParentQuery) (*ParentResultSet, error)

Find returns the set of results for the given query.

func (*ParentStore) FindAll added in v1.2.8

func (s *ParentStore) FindAll(q *ParentQuery) ([]*Parent, error)

FindAll returns a list of all the rows returned by the given query.

func (*ParentStore) FindOne added in v1.2.8

func (s *ParentStore) FindOne(q *ParentQuery) (*Parent, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*ParentStore) GenericStore added in v1.2.8

func (s *ParentStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*ParentStore) Insert added in v1.2.8

func (s *ParentStore) Insert(record *Parent) error

Insert inserts a Parent in the database. A non-persisted object is required for this operation.

func (*ParentStore) MustCount added in v1.2.8

func (s *ParentStore) MustCount(q *ParentQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*ParentStore) MustFind added in v1.2.8

func (s *ParentStore) MustFind(q *ParentQuery) *ParentResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*ParentStore) MustFindOne added in v1.2.8

func (s *ParentStore) MustFindOne(q *ParentQuery) *Parent

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*ParentStore) Reload added in v1.2.8

func (s *ParentStore) Reload(record *Parent) error

Reload refreshes the Parent with the data in the database and makes it writable.

func (*ParentStore) RemoveChildren added in v1.2.8

func (s *ParentStore) RemoveChildren(record *Parent, deleted ...*Child) error

RemoveChildren removes the given items of the Children field of the model. If no items are given, it removes all of them. The items will also be removed from the passed record inside this method. Note that is required that `Children` is not empty. This method clears the the elements of Children in a model, it does not retrieve them to know what relationships the model has.

func (*ParentStore) Save added in v1.2.8

func (s *ParentStore) Save(record *Parent) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*ParentStore) SetGenericStore added in v1.2.8

func (s *ParentStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*ParentStore) Transaction added in v1.2.8

func (s *ParentStore) Transaction(callback func(*ParentStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*ParentStore) Update added in v1.2.8

func (s *ParentStore) Update(record *Parent, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Person

type Person struct {
	kallax.Model `table:"persons"`
	ID           int64 `pk:"autoincr"`
	Name         string
	Pets         []*Pet  `fk:"owner_id"`
	PetsArr      [2]*Pet `fk:"owner_id"`
	Car          *Car    `fk:"owner_id"`
	// contains filtered or unexported fields
}

func NewPerson

func NewPerson(name string) (record *Person)

NewPerson returns a new instance of Person.

func (*Person) AfterDelete

func (c *Person) AfterDelete() error

func (*Person) AfterSave

func (c *Person) AfterSave() error

func (*Person) BeforeDelete

func (c *Person) BeforeDelete() error

func (*Person) BeforeSave

func (c *Person) BeforeSave() error

func (*Person) ColumnAddress

func (r *Person) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*Person) GetID

func (r *Person) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*Person) NewRelationshipRecord

func (r *Person) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*Person) SetRelationship

func (r *Person) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*Person) Value

func (r *Person) Value(col string) (interface{}, error)

Value returns the value of the given column.

type PersonQuery

type PersonQuery struct {
	*kallax.BaseQuery
}

PersonQuery is the object used to create queries for the Person entity.

func NewPersonQuery

func NewPersonQuery() *PersonQuery

NewPersonQuery returns a new instance of PersonQuery.

func (*PersonQuery) BatchSize

func (q *PersonQuery) BatchSize(size uint64) *PersonQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*PersonQuery) Copy

func (q *PersonQuery) Copy() *PersonQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*PersonQuery) FindByID

func (q *PersonQuery) FindByID(v ...int64) *PersonQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*PersonQuery) FindByName

func (q *PersonQuery) FindByName(v string) *PersonQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*PersonQuery) Limit

func (q *PersonQuery) Limit(n uint64) *PersonQuery

Limit sets the max number of items to retrieve.

func (*PersonQuery) Offset

func (q *PersonQuery) Offset(n uint64) *PersonQuery

Offset sets the number of items to skip from the result set of items.

func (*PersonQuery) Order

func (q *PersonQuery) Order(cols ...kallax.ColumnOrder) *PersonQuery

Order adds order clauses to the query for the given columns.

func (*PersonQuery) Select

func (q *PersonQuery) Select(columns ...kallax.SchemaField) *PersonQuery

Select adds columns to select in the query.

func (*PersonQuery) SelectNot

func (q *PersonQuery) SelectNot(columns ...kallax.SchemaField) *PersonQuery

SelectNot excludes columns from being selected in the query.

func (*PersonQuery) Where

func (q *PersonQuery) Where(cond kallax.Condition) *PersonQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*PersonQuery) WithCar

func (q *PersonQuery) WithCar() *PersonQuery

func (*PersonQuery) WithPets

func (q *PersonQuery) WithPets(cond kallax.Condition) *PersonQuery

type PersonResultSet

type PersonResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

PersonResultSet is the set of results returned by a query to the database.

func NewPersonResultSet

func NewPersonResultSet(rs kallax.ResultSet) *PersonResultSet

NewPersonResultSet creates a new result set for rows of the type Person.

func (*PersonResultSet) All

func (rs *PersonResultSet) All() ([]*Person, error)

All returns all records on the result set and closes the result set.

func (*PersonResultSet) Close

func (rs *PersonResultSet) Close() error

Close closes the result set.

func (*PersonResultSet) Err

func (rs *PersonResultSet) Err() error

Err returns the last error occurred.

func (*PersonResultSet) ForEach

func (rs *PersonResultSet) ForEach(fn func(*Person) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*PersonResultSet) Get

func (rs *PersonResultSet) Get() (*Person, error)

Get retrieves the last fetched item from the result set and the last error.

func (*PersonResultSet) Next

func (rs *PersonResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*PersonResultSet) One

func (rs *PersonResultSet) One() (*Person, error)

One returns the first record on the result set and closes the result set.

type PersonStore

type PersonStore struct {
	*kallax.Store
}

PersonStore is the entity to access the records of the type Person in the database.

func NewPersonStore

func NewPersonStore(db *sql.DB) *PersonStore

NewPersonStore creates a new instance of PersonStore using a SQL database.

func (*PersonStore) Count

func (s *PersonStore) Count(q *PersonQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*PersonStore) Debug added in v1.1.4

func (s *PersonStore) Debug() *PersonStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*PersonStore) DebugWith added in v1.1.4

func (s *PersonStore) DebugWith(logger kallax.LoggerFunc) *PersonStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*PersonStore) Delete

func (s *PersonStore) Delete(record *Person) error

Delete removes the given record from the database.

func (*PersonStore) DisableCacher added in v1.3.4

func (s *PersonStore) DisableCacher() *PersonStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*PersonStore) Find

func (s *PersonStore) Find(q *PersonQuery) (*PersonResultSet, error)

Find returns the set of results for the given query.

func (*PersonStore) FindAll added in v1.2.1

func (s *PersonStore) FindAll(q *PersonQuery) ([]*Person, error)

FindAll returns a list of all the rows returned by the given query.

func (*PersonStore) FindOne

func (s *PersonStore) FindOne(q *PersonQuery) (*Person, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*PersonStore) GenericStore added in v1.1.0

func (s *PersonStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*PersonStore) Insert

func (s *PersonStore) Insert(record *Person) error

Insert inserts a Person in the database. A non-persisted object is required for this operation.

func (*PersonStore) MustCount

func (s *PersonStore) MustCount(q *PersonQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*PersonStore) MustFind

func (s *PersonStore) MustFind(q *PersonQuery) *PersonResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*PersonStore) MustFindOne

func (s *PersonStore) MustFindOne(q *PersonQuery) *Person

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*PersonStore) Reload

func (s *PersonStore) Reload(record *Person) error

Reload refreshes the Person with the data in the database and makes it writable.

func (*PersonStore) RemoveCar

func (s *PersonStore) RemoveCar(record *Person) error

RemoveCar removes from the database the given relationship of the model. It also resets the field Car of the model.

func (*PersonStore) RemovePets

func (s *PersonStore) RemovePets(record *Person, deleted ...*Pet) error

RemovePets removes the given items of the Pets field of the model. If no items are given, it removes all of them. The items will also be removed from the passed record inside this method. Note that is required that `Pets` is not empty. This method clears the the elements of Pets in a model, it does not retrieve them to know what relationships the model has.

func (*PersonStore) Save

func (s *PersonStore) Save(record *Person) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*PersonStore) SetGenericStore added in v1.1.0

func (s *PersonStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*PersonStore) Transaction

func (s *PersonStore) Transaction(callback func(*PersonStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*PersonStore) Update

func (s *PersonStore) Update(record *Person, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Pet

type Pet struct {
	kallax.Model `table:"pets"`
	ID           kallax.ULID `pk:""`
	Name         string
	Kind         string
	Owner        *Person `fk:"owner_id,inverse"`
	// contains filtered or unexported fields
}

func NewPet

func NewPet(name string, kind string, owner *Person) (record *Pet)

NewPet returns a new instance of Pet.

func (*Pet) AfterDelete

func (c *Pet) AfterDelete() error

func (*Pet) AfterSave

func (c *Pet) AfterSave() error

func (*Pet) BeforeDelete

func (c *Pet) BeforeDelete() error

func (*Pet) BeforeSave

func (c *Pet) BeforeSave() error

func (*Pet) ColumnAddress

func (r *Pet) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*Pet) GetID

func (r *Pet) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*Pet) NewRelationshipRecord

func (r *Pet) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*Pet) SetRelationship

func (r *Pet) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*Pet) Value

func (r *Pet) Value(col string) (interface{}, error)

Value returns the value of the given column.

type PetQuery

type PetQuery struct {
	*kallax.BaseQuery
}

PetQuery is the object used to create queries for the Pet entity.

func NewPetQuery

func NewPetQuery() *PetQuery

NewPetQuery returns a new instance of PetQuery.

func (*PetQuery) BatchSize

func (q *PetQuery) BatchSize(size uint64) *PetQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*PetQuery) Copy

func (q *PetQuery) Copy() *PetQuery

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*PetQuery) FindByID

func (q *PetQuery) FindByID(v ...kallax.ULID) *PetQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*PetQuery) FindByKind

func (q *PetQuery) FindByKind(v string) *PetQuery

FindByKind adds a new filter to the query that will require that the Kind property is equal to the passed value.

func (*PetQuery) FindByName

func (q *PetQuery) FindByName(v string) *PetQuery

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*PetQuery) FindByOwner added in v1.1.0

func (q *PetQuery) FindByOwner(v int64) *PetQuery

FindByOwner adds a new filter to the query that will require that the foreign key of Owner is equal to the passed value.

func (*PetQuery) Limit

func (q *PetQuery) Limit(n uint64) *PetQuery

Limit sets the max number of items to retrieve.

func (*PetQuery) Offset

func (q *PetQuery) Offset(n uint64) *PetQuery

Offset sets the number of items to skip from the result set of items.

func (*PetQuery) Order

func (q *PetQuery) Order(cols ...kallax.ColumnOrder) *PetQuery

Order adds order clauses to the query for the given columns.

func (*PetQuery) Select

func (q *PetQuery) Select(columns ...kallax.SchemaField) *PetQuery

Select adds columns to select in the query.

func (*PetQuery) SelectNot

func (q *PetQuery) SelectNot(columns ...kallax.SchemaField) *PetQuery

SelectNot excludes columns from being selected in the query.

func (*PetQuery) Where

func (q *PetQuery) Where(cond kallax.Condition) *PetQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*PetQuery) WithOwner

func (q *PetQuery) WithOwner() *PetQuery

type PetResultSet

type PetResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

PetResultSet is the set of results returned by a query to the database.

func NewPetResultSet

func NewPetResultSet(rs kallax.ResultSet) *PetResultSet

NewPetResultSet creates a new result set for rows of the type Pet.

func (*PetResultSet) All

func (rs *PetResultSet) All() ([]*Pet, error)

All returns all records on the result set and closes the result set.

func (*PetResultSet) Close

func (rs *PetResultSet) Close() error

Close closes the result set.

func (*PetResultSet) Err

func (rs *PetResultSet) Err() error

Err returns the last error occurred.

func (*PetResultSet) ForEach

func (rs *PetResultSet) ForEach(fn func(*Pet) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*PetResultSet) Get

func (rs *PetResultSet) Get() (*Pet, error)

Get retrieves the last fetched item from the result set and the last error.

func (*PetResultSet) Next

func (rs *PetResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*PetResultSet) One

func (rs *PetResultSet) One() (*Pet, error)

One returns the first record on the result set and closes the result set.

type PetStore

type PetStore struct {
	*kallax.Store
}

PetStore is the entity to access the records of the type Pet in the database.

func NewPetStore

func NewPetStore(db *sql.DB) *PetStore

NewPetStore creates a new instance of PetStore using a SQL database.

func (*PetStore) Count

func (s *PetStore) Count(q *PetQuery) (int64, error)

Count returns the number of rows that would be retrieved with the given query.

func (*PetStore) Debug added in v1.1.4

func (s *PetStore) Debug() *PetStore

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*PetStore) DebugWith added in v1.1.4

func (s *PetStore) DebugWith(logger kallax.LoggerFunc) *PetStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*PetStore) Delete

func (s *PetStore) Delete(record *Pet) error

Delete removes the given record from the database.

func (*PetStore) DisableCacher added in v1.3.4

func (s *PetStore) DisableCacher() *PetStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*PetStore) Find

func (s *PetStore) Find(q *PetQuery) (*PetResultSet, error)

Find returns the set of results for the given query.

func (*PetStore) FindAll added in v1.2.1

func (s *PetStore) FindAll(q *PetQuery) ([]*Pet, error)

FindAll returns a list of all the rows returned by the given query.

func (*PetStore) FindOne

func (s *PetStore) FindOne(q *PetQuery) (*Pet, error)

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*PetStore) GenericStore added in v1.1.0

func (s *PetStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*PetStore) Insert

func (s *PetStore) Insert(record *Pet) error

Insert inserts a Pet in the database. A non-persisted object is required for this operation.

func (*PetStore) MustCount

func (s *PetStore) MustCount(q *PetQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*PetStore) MustFind

func (s *PetStore) MustFind(q *PetQuery) *PetResultSet

MustFind returns the set of results for the given query, but panics if there is any error.

func (*PetStore) MustFindOne

func (s *PetStore) MustFindOne(q *PetQuery) *Pet

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*PetStore) Reload

func (s *PetStore) Reload(record *Pet) error

Reload refreshes the Pet with the data in the database and makes it writable.

func (*PetStore) Save

func (s *PetStore) Save(record *Pet) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*PetStore) SetGenericStore added in v1.1.0

func (s *PetStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*PetStore) Transaction

func (s *PetStore) Transaction(callback func(*PetStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*PetStore) Update

func (s *PetStore) Update(record *Pet, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type QueryFixture

type QueryFixture struct {
	kallax.Model `table:"query"`
	ID           kallax.ULID `pk:""`

	Relation  *QueryRelationFixture   `fk:"owner_id"`
	Inverse   *QueryRelationFixture   `fk:"inverse_id,inverse"`
	NRelation []*QueryRelationFixture `fk:"owner_id"`
	Embedded  fixtures.QueryDummy
	Ignored   fixtures.QueryDummy `kallax:"-"`
	Inline    struct {
		Inline string
	} `kallax:",inline"`
	MapOfString               map[string]string
	MapOfInterface            map[string]interface{}
	MapOfSomeType             map[string]fixtures.QueryDummy
	Foo                       string
	StringProperty            string
	Integer                   int
	Integer64                 int64
	Float32                   float32
	Boolean                   bool
	ArrayParam                [3]string
	SliceParam                []string
	AliasArrayParam           fixtures.AliasArray
	AliasSliceParam           fixtures.AliasSlice
	AliasStringParam          fixtures.AliasString
	AliasIntParam             fixtures.AliasInt
	DummyParam                fixtures.QueryDummy
	AliasDummyParam           fixtures.AliasDummyParam
	SliceDummyParam           []fixtures.QueryDummy
	IDPropertyParam           kallax.ULID
	InterfacePropParam        fixtures.InterfaceImplementation `sqltype:"jsonb"`
	URLParam                  url.URL
	TimeParam                 time.Time
	AliasArrAliasStringParam  fixtures.AliasArrAliasString
	AliasHereArrayParam       AliasHereArray
	ArrayAliasHereStringParam []AliasHereString
	ScannerValuerParam        ScannerValuer `sqltype:"jsonb"`
}

func NewQueryFixture

func NewQueryFixture(f string) (record *QueryFixture)

NewQueryFixture returns a new instance of QueryFixture.

func (*QueryFixture) ColumnAddress

func (r *QueryFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*QueryFixture) Eq

func (q *QueryFixture) Eq(v *QueryFixture) bool

func (*QueryFixture) GetID

func (r *QueryFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*QueryFixture) NewRelationshipRecord

func (r *QueryFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*QueryFixture) SetRelationship

func (r *QueryFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*QueryFixture) Value

func (r *QueryFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type QueryFixtureQuery

type QueryFixtureQuery struct {
	*kallax.BaseQuery
}

QueryFixtureQuery is the object used to create queries for the QueryFixture entity.

func NewQueryFixtureQuery

func NewQueryFixtureQuery() *QueryFixtureQuery

NewQueryFixtureQuery returns a new instance of QueryFixtureQuery.

func (*QueryFixtureQuery) BatchSize

func (q *QueryFixtureQuery) BatchSize(size uint64) *QueryFixtureQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*QueryFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*QueryFixtureQuery) FindByAliasArrAliasStringParam

func (q *QueryFixtureQuery) FindByAliasArrAliasStringParam(v ...fixtures.AliasString) *QueryFixtureQuery

FindByAliasArrAliasStringParam adds a new filter to the query that will require that the AliasArrAliasStringParam property contains all the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByAliasArrayParam

func (q *QueryFixtureQuery) FindByAliasArrayParam(v ...string) *QueryFixtureQuery

FindByAliasArrayParam adds a new filter to the query that will require that the AliasArrayParam property contains all the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByAliasHereArrayParam

func (q *QueryFixtureQuery) FindByAliasHereArrayParam(v ...string) *QueryFixtureQuery

FindByAliasHereArrayParam adds a new filter to the query that will require that the AliasHereArrayParam property contains all the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByAliasIntParam

func (q *QueryFixtureQuery) FindByAliasIntParam(cond kallax.ScalarCond, v fixtures.AliasInt) *QueryFixtureQuery

FindByAliasIntParam adds a new filter to the query that will require that the AliasIntParam property is equal to the passed value.

func (*QueryFixtureQuery) FindByAliasSliceParam

func (q *QueryFixtureQuery) FindByAliasSliceParam(v ...string) *QueryFixtureQuery

FindByAliasSliceParam adds a new filter to the query that will require that the AliasSliceParam property contains all the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByAliasStringParam

func (q *QueryFixtureQuery) FindByAliasStringParam(v fixtures.AliasString) *QueryFixtureQuery

FindByAliasStringParam adds a new filter to the query that will require that the AliasStringParam property is equal to the passed value.

func (*QueryFixtureQuery) FindByArrayAliasHereStringParam

func (q *QueryFixtureQuery) FindByArrayAliasHereStringParam(v ...AliasHereString) *QueryFixtureQuery

FindByArrayAliasHereStringParam adds a new filter to the query that will require that the ArrayAliasHereStringParam property contains all the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByArrayParam

func (q *QueryFixtureQuery) FindByArrayParam(v ...string) *QueryFixtureQuery

FindByArrayParam adds a new filter to the query that will require that the ArrayParam property contains all the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByBoolean

func (q *QueryFixtureQuery) FindByBoolean(v bool) *QueryFixtureQuery

FindByBoolean adds a new filter to the query that will require that the Boolean property is equal to the passed value.

func (*QueryFixtureQuery) FindByFloat32

func (q *QueryFixtureQuery) FindByFloat32(cond kallax.ScalarCond, v float32) *QueryFixtureQuery

FindByFloat32 adds a new filter to the query that will require that the Float32 property is equal to the passed value.

func (*QueryFixtureQuery) FindByFoo

func (q *QueryFixtureQuery) FindByFoo(v string) *QueryFixtureQuery

FindByFoo adds a new filter to the query that will require that the Foo property is equal to the passed value.

func (*QueryFixtureQuery) FindByID

func (q *QueryFixtureQuery) FindByID(v ...kallax.ULID) *QueryFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByIDPropertyParam

func (q *QueryFixtureQuery) FindByIDPropertyParam(v kallax.ULID) *QueryFixtureQuery

FindByIDPropertyParam adds a new filter to the query that will require that the IDPropertyParam property is equal to the passed value.

func (*QueryFixtureQuery) FindByInline

func (q *QueryFixtureQuery) FindByInline(v string) *QueryFixtureQuery

FindByInline adds a new filter to the query that will require that the Inline property is equal to the passed value.

func (*QueryFixtureQuery) FindByInteger

func (q *QueryFixtureQuery) FindByInteger(cond kallax.ScalarCond, v int) *QueryFixtureQuery

FindByInteger adds a new filter to the query that will require that the Integer property is equal to the passed value.

func (*QueryFixtureQuery) FindByInteger64

func (q *QueryFixtureQuery) FindByInteger64(cond kallax.ScalarCond, v int64) *QueryFixtureQuery

FindByInteger64 adds a new filter to the query that will require that the Integer64 property is equal to the passed value.

func (*QueryFixtureQuery) FindByInterfacePropParam

func (q *QueryFixtureQuery) FindByInterfacePropParam(v fixtures.InterfaceImplementation) *QueryFixtureQuery

FindByInterfacePropParam adds a new filter to the query that will require that the InterfacePropParam property is equal to the passed value.

func (*QueryFixtureQuery) FindByInverse added in v1.1.0

func (q *QueryFixtureQuery) FindByInverse(v kallax.ULID) *QueryFixtureQuery

FindByInverse adds a new filter to the query that will require that the foreign key of Inverse is equal to the passed value.

func (*QueryFixtureQuery) FindByScannerValuerParam

func (q *QueryFixtureQuery) FindByScannerValuerParam(v ScannerValuer) *QueryFixtureQuery

FindByScannerValuerParam adds a new filter to the query that will require that the ScannerValuerParam property is equal to the passed value.

func (*QueryFixtureQuery) FindBySliceParam

func (q *QueryFixtureQuery) FindBySliceParam(v ...string) *QueryFixtureQuery

FindBySliceParam adds a new filter to the query that will require that the SliceParam property contains all the passed values; if no passed values, it will do nothing.

func (*QueryFixtureQuery) FindByStringProperty

func (q *QueryFixtureQuery) FindByStringProperty(v string) *QueryFixtureQuery

FindByStringProperty adds a new filter to the query that will require that the StringProperty property is equal to the passed value.

func (*QueryFixtureQuery) FindByTimeParam

func (q *QueryFixtureQuery) FindByTimeParam(cond kallax.ScalarCond, v time.Time) *QueryFixtureQuery

FindByTimeParam adds a new filter to the query that will require that the TimeParam property is equal to the passed value.

func (*QueryFixtureQuery) FindByURLParam

func (q *QueryFixtureQuery) FindByURLParam(v url.URL) *QueryFixtureQuery

FindByURLParam adds a new filter to the query that will require that the URLParam property is equal to the passed value.

func (*QueryFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*QueryFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*QueryFixtureQuery) Order

func (q *QueryFixtureQuery) Order(cols ...kallax.ColumnOrder) *QueryFixtureQuery

Order adds order clauses to the query for the given columns.

func (*QueryFixtureQuery) Select

func (q *QueryFixtureQuery) Select(columns ...kallax.SchemaField) *QueryFixtureQuery

Select adds columns to select in the query.

func (*QueryFixtureQuery) SelectNot

func (q *QueryFixtureQuery) SelectNot(columns ...kallax.SchemaField) *QueryFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*QueryFixtureQuery) Where

func (q *QueryFixtureQuery) Where(cond kallax.Condition) *QueryFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*QueryFixtureQuery) WithInverse added in v1.1.0

func (q *QueryFixtureQuery) WithInverse() *QueryFixtureQuery

func (*QueryFixtureQuery) WithNRelation

func (q *QueryFixtureQuery) WithNRelation(cond kallax.Condition) *QueryFixtureQuery

func (*QueryFixtureQuery) WithRelation

func (q *QueryFixtureQuery) WithRelation() *QueryFixtureQuery

type QueryFixtureResultSet

type QueryFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

QueryFixtureResultSet is the set of results returned by a query to the database.

func NewQueryFixtureResultSet

func NewQueryFixtureResultSet(rs kallax.ResultSet) *QueryFixtureResultSet

NewQueryFixtureResultSet creates a new result set for rows of the type QueryFixture.

func (*QueryFixtureResultSet) All

func (rs *QueryFixtureResultSet) All() ([]*QueryFixture, error)

All returns all records on the result set and closes the result set.

func (*QueryFixtureResultSet) Close

func (rs *QueryFixtureResultSet) Close() error

Close closes the result set.

func (*QueryFixtureResultSet) Err

func (rs *QueryFixtureResultSet) Err() error

Err returns the last error occurred.

func (*QueryFixtureResultSet) ForEach

func (rs *QueryFixtureResultSet) ForEach(fn func(*QueryFixture) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*QueryFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*QueryFixtureResultSet) Next

func (rs *QueryFixtureResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*QueryFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type QueryFixtureStore

type QueryFixtureStore struct {
	*kallax.Store
}

QueryFixtureStore is the entity to access the records of the type QueryFixture in the database.

func NewQueryFixtureStore

func NewQueryFixtureStore(db *sql.DB) *QueryFixtureStore

NewQueryFixtureStore creates a new instance of QueryFixtureStore using a SQL database.

func (*QueryFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*QueryFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*QueryFixtureStore) DebugWith added in v1.1.4

func (s *QueryFixtureStore) DebugWith(logger kallax.LoggerFunc) *QueryFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*QueryFixtureStore) Delete

func (s *QueryFixtureStore) Delete(record *QueryFixture) error

Delete removes the given record from the database.

func (*QueryFixtureStore) DisableCacher added in v1.3.4

func (s *QueryFixtureStore) DisableCacher() *QueryFixtureStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*QueryFixtureStore) Find

Find returns the set of results for the given query.

func (*QueryFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*QueryFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*QueryFixtureStore) GenericStore added in v1.1.0

func (s *QueryFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*QueryFixtureStore) Insert

func (s *QueryFixtureStore) Insert(record *QueryFixture) error

Insert inserts a QueryFixture in the database. A non-persisted object is required for this operation.

func (*QueryFixtureStore) MustCount

func (s *QueryFixtureStore) MustCount(q *QueryFixtureQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*QueryFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*QueryFixtureStore) MustFindOne

func (s *QueryFixtureStore) MustFindOne(q *QueryFixtureQuery) *QueryFixture

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*QueryFixtureStore) Reload

func (s *QueryFixtureStore) Reload(record *QueryFixture) error

Reload refreshes the QueryFixture with the data in the database and makes it writable.

func (*QueryFixtureStore) RemoveNRelation

func (s *QueryFixtureStore) RemoveNRelation(record *QueryFixture, deleted ...*QueryRelationFixture) error

RemoveNRelation removes the given items of the NRelation field of the model. If no items are given, it removes all of them. The items will also be removed from the passed record inside this method. Note that is required that `NRelation` is not empty. This method clears the the elements of NRelation in a model, it does not retrieve them to know what relationships the model has.

func (*QueryFixtureStore) RemoveRelation

func (s *QueryFixtureStore) RemoveRelation(record *QueryFixture) error

RemoveRelation removes from the database the given relationship of the model. It also resets the field Relation of the model.

func (*QueryFixtureStore) Save

func (s *QueryFixtureStore) Save(record *QueryFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*QueryFixtureStore) SetGenericStore added in v1.1.0

func (s *QueryFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*QueryFixtureStore) Transaction

func (s *QueryFixtureStore) Transaction(callback func(*QueryFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*QueryFixtureStore) Update

func (s *QueryFixtureStore) Update(record *QueryFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type QueryRelationFixture

type QueryRelationFixture struct {
	kallax.Model `table:"query_relation"`
	ID           kallax.ULID `pk:""`
	Name         string
	Owner        *QueryFixture `fk:"owner_id,inverse"`
}

func NewQueryRelationFixture

func NewQueryRelationFixture() (record *QueryRelationFixture)

NewQueryRelationFixture returns a new instance of QueryRelationFixture.

func (*QueryRelationFixture) ColumnAddress

func (r *QueryRelationFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*QueryRelationFixture) GetID

func (r *QueryRelationFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*QueryRelationFixture) NewRelationshipRecord

func (r *QueryRelationFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*QueryRelationFixture) SetRelationship

func (r *QueryRelationFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*QueryRelationFixture) Value

func (r *QueryRelationFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type QueryRelationFixtureQuery

type QueryRelationFixtureQuery struct {
	*kallax.BaseQuery
}

QueryRelationFixtureQuery is the object used to create queries for the QueryRelationFixture entity.

func NewQueryRelationFixtureQuery

func NewQueryRelationFixtureQuery() *QueryRelationFixtureQuery

NewQueryRelationFixtureQuery returns a new instance of QueryRelationFixtureQuery.

func (*QueryRelationFixtureQuery) BatchSize

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*QueryRelationFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*QueryRelationFixtureQuery) FindByID

func (q *QueryRelationFixtureQuery) FindByID(v ...kallax.ULID) *QueryRelationFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*QueryRelationFixtureQuery) FindByName

FindByName adds a new filter to the query that will require that the Name property is equal to the passed value.

func (*QueryRelationFixtureQuery) FindByOwner added in v1.1.0

func (q *QueryRelationFixtureQuery) FindByOwner(v kallax.ULID) *QueryRelationFixtureQuery

FindByOwner adds a new filter to the query that will require that the foreign key of Owner is equal to the passed value.

func (*QueryRelationFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*QueryRelationFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*QueryRelationFixtureQuery) Order

func (q *QueryRelationFixtureQuery) Order(cols ...kallax.ColumnOrder) *QueryRelationFixtureQuery

Order adds order clauses to the query for the given columns.

func (*QueryRelationFixtureQuery) Select

func (q *QueryRelationFixtureQuery) Select(columns ...kallax.SchemaField) *QueryRelationFixtureQuery

Select adds columns to select in the query.

func (*QueryRelationFixtureQuery) SelectNot

func (q *QueryRelationFixtureQuery) SelectNot(columns ...kallax.SchemaField) *QueryRelationFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*QueryRelationFixtureQuery) Where

func (q *QueryRelationFixtureQuery) Where(cond kallax.Condition) *QueryRelationFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*QueryRelationFixtureQuery) WithOwner

type QueryRelationFixtureResultSet

type QueryRelationFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

QueryRelationFixtureResultSet is the set of results returned by a query to the database.

func NewQueryRelationFixtureResultSet

func NewQueryRelationFixtureResultSet(rs kallax.ResultSet) *QueryRelationFixtureResultSet

NewQueryRelationFixtureResultSet creates a new result set for rows of the type QueryRelationFixture.

func (*QueryRelationFixtureResultSet) All

All returns all records on the result set and closes the result set.

func (*QueryRelationFixtureResultSet) Close

Close closes the result set.

func (*QueryRelationFixtureResultSet) Err

Err returns the last error occurred.

func (*QueryRelationFixtureResultSet) ForEach

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*QueryRelationFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*QueryRelationFixtureResultSet) Next

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*QueryRelationFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type QueryRelationFixtureStore

type QueryRelationFixtureStore struct {
	*kallax.Store
}

QueryRelationFixtureStore is the entity to access the records of the type QueryRelationFixture in the database.

func NewQueryRelationFixtureStore

func NewQueryRelationFixtureStore(db *sql.DB) *QueryRelationFixtureStore

NewQueryRelationFixtureStore creates a new instance of QueryRelationFixtureStore using a SQL database.

func (*QueryRelationFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*QueryRelationFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*QueryRelationFixtureStore) DebugWith added in v1.1.4

func (s *QueryRelationFixtureStore) DebugWith(logger kallax.LoggerFunc) *QueryRelationFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*QueryRelationFixtureStore) Delete

Delete removes the given record from the database.

func (*QueryRelationFixtureStore) DisableCacher added in v1.3.4

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*QueryRelationFixtureStore) Find

Find returns the set of results for the given query.

func (*QueryRelationFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*QueryRelationFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*QueryRelationFixtureStore) GenericStore added in v1.1.0

func (s *QueryRelationFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*QueryRelationFixtureStore) Insert

Insert inserts a QueryRelationFixture in the database. A non-persisted object is required for this operation.

func (*QueryRelationFixtureStore) MustCount

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*QueryRelationFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*QueryRelationFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*QueryRelationFixtureStore) Reload

Reload refreshes the QueryRelationFixture with the data in the database and makes it writable.

func (*QueryRelationFixtureStore) Save

func (s *QueryRelationFixtureStore) Save(record *QueryRelationFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*QueryRelationFixtureStore) SetGenericStore added in v1.1.0

func (s *QueryRelationFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*QueryRelationFixtureStore) Transaction

func (s *QueryRelationFixtureStore) Transaction(callback func(*QueryRelationFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*QueryRelationFixtureStore) Update

func (s *QueryRelationFixtureStore) Update(record *QueryRelationFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type Qux

type Qux struct {
	Schnooga string
	Balooga  int
	Boo      float64
}

type ResultSetFixture

type ResultSetFixture struct {
	kallax.Model `table:"resultset"`
	ID           kallax.ULID `pk:""`
	Foo          string
}

func NewResultSetFixture

func NewResultSetFixture(f string) (record *ResultSetFixture)

NewResultSetFixture returns a new instance of ResultSetFixture.

func (*ResultSetFixture) ColumnAddress

func (r *ResultSetFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*ResultSetFixture) GetID

func (r *ResultSetFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*ResultSetFixture) NewRelationshipRecord

func (r *ResultSetFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*ResultSetFixture) SetRelationship

func (r *ResultSetFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*ResultSetFixture) Value

func (r *ResultSetFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type ResultSetFixtureQuery

type ResultSetFixtureQuery struct {
	*kallax.BaseQuery
}

ResultSetFixtureQuery is the object used to create queries for the ResultSetFixture entity.

func NewResultSetFixtureQuery

func NewResultSetFixtureQuery() *ResultSetFixtureQuery

NewResultSetFixtureQuery returns a new instance of ResultSetFixtureQuery.

func (*ResultSetFixtureQuery) BatchSize

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*ResultSetFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*ResultSetFixtureQuery) FindByFoo

FindByFoo adds a new filter to the query that will require that the Foo property is equal to the passed value.

func (*ResultSetFixtureQuery) FindByID

func (q *ResultSetFixtureQuery) FindByID(v ...kallax.ULID) *ResultSetFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*ResultSetFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*ResultSetFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*ResultSetFixtureQuery) Order

func (q *ResultSetFixtureQuery) Order(cols ...kallax.ColumnOrder) *ResultSetFixtureQuery

Order adds order clauses to the query for the given columns.

func (*ResultSetFixtureQuery) Select

func (q *ResultSetFixtureQuery) Select(columns ...kallax.SchemaField) *ResultSetFixtureQuery

Select adds columns to select in the query.

func (*ResultSetFixtureQuery) SelectNot

func (q *ResultSetFixtureQuery) SelectNot(columns ...kallax.SchemaField) *ResultSetFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*ResultSetFixtureQuery) Where

func (q *ResultSetFixtureQuery) Where(cond kallax.Condition) *ResultSetFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type ResultSetFixtureResultSet

type ResultSetFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

ResultSetFixtureResultSet is the set of results returned by a query to the database.

func NewResultSetFixtureResultSet

func NewResultSetFixtureResultSet(rs kallax.ResultSet) *ResultSetFixtureResultSet

NewResultSetFixtureResultSet creates a new result set for rows of the type ResultSetFixture.

func (*ResultSetFixtureResultSet) All

All returns all records on the result set and closes the result set.

func (*ResultSetFixtureResultSet) Close

func (rs *ResultSetFixtureResultSet) Close() error

Close closes the result set.

func (*ResultSetFixtureResultSet) Err

func (rs *ResultSetFixtureResultSet) Err() error

Err returns the last error occurred.

func (*ResultSetFixtureResultSet) ForEach

func (rs *ResultSetFixtureResultSet) ForEach(fn func(*ResultSetFixture) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*ResultSetFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*ResultSetFixtureResultSet) Next

func (rs *ResultSetFixtureResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*ResultSetFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type ResultSetFixtureStore

type ResultSetFixtureStore struct {
	*kallax.Store
}

ResultSetFixtureStore is the entity to access the records of the type ResultSetFixture in the database.

func NewResultSetFixtureStore

func NewResultSetFixtureStore(db *sql.DB) *ResultSetFixtureStore

NewResultSetFixtureStore creates a new instance of ResultSetFixtureStore using a SQL database.

func (*ResultSetFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*ResultSetFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*ResultSetFixtureStore) DebugWith added in v1.1.4

func (s *ResultSetFixtureStore) DebugWith(logger kallax.LoggerFunc) *ResultSetFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*ResultSetFixtureStore) Delete

func (s *ResultSetFixtureStore) Delete(record *ResultSetFixture) error

Delete removes the given record from the database.

func (*ResultSetFixtureStore) DisableCacher added in v1.3.4

func (s *ResultSetFixtureStore) DisableCacher() *ResultSetFixtureStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*ResultSetFixtureStore) Find

Find returns the set of results for the given query.

func (*ResultSetFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*ResultSetFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*ResultSetFixtureStore) GenericStore added in v1.1.0

func (s *ResultSetFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*ResultSetFixtureStore) Insert

func (s *ResultSetFixtureStore) Insert(record *ResultSetFixture) error

Insert inserts a ResultSetFixture in the database. A non-persisted object is required for this operation.

func (*ResultSetFixtureStore) MustCount

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*ResultSetFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*ResultSetFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*ResultSetFixtureStore) Reload

func (s *ResultSetFixtureStore) Reload(record *ResultSetFixture) error

Reload refreshes the ResultSetFixture with the data in the database and makes it writable.

func (*ResultSetFixtureStore) Save

func (s *ResultSetFixtureStore) Save(record *ResultSetFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*ResultSetFixtureStore) SetGenericStore added in v1.1.0

func (s *ResultSetFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*ResultSetFixtureStore) Transaction

func (s *ResultSetFixtureStore) Transaction(callback func(*ResultSetFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*ResultSetFixtureStore) Update

func (s *ResultSetFixtureStore) Update(record *ResultSetFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type ScannerValuer

type ScannerValuer struct {
	fixtures.ScannerValuer
}

type SchemaFixture

type SchemaFixture struct {
	kallax.Model `table:"schema"`
	ID           kallax.ULID `pk:""`
	ShouldIgnore string      `kallax:"-"`
	String       string
	Int          int
	Nested       *SchemaFixture
	Inline       struct {
		Inline string
	} `kallax:",inline"`
	MapOfString    map[string]string
	MapOfInterface map[string]interface{}
	MapOfSomeType  map[string]struct {
		Foo string
	}
	Inverse *SchemaRelationshipFixture `fk:"rel_id,inverse"`
}

func NewSchemaFixture

func NewSchemaFixture() (record *SchemaFixture)

NewSchemaFixture returns a new instance of SchemaFixture.

func (*SchemaFixture) ColumnAddress

func (r *SchemaFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*SchemaFixture) GetID

func (r *SchemaFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*SchemaFixture) NewRelationshipRecord

func (r *SchemaFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*SchemaFixture) SetRelationship

func (r *SchemaFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*SchemaFixture) Value

func (r *SchemaFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type SchemaFixtureQuery

type SchemaFixtureQuery struct {
	*kallax.BaseQuery
}

SchemaFixtureQuery is the object used to create queries for the SchemaFixture entity.

func NewSchemaFixtureQuery

func NewSchemaFixtureQuery() *SchemaFixtureQuery

NewSchemaFixtureQuery returns a new instance of SchemaFixtureQuery.

func (*SchemaFixtureQuery) BatchSize

func (q *SchemaFixtureQuery) BatchSize(size uint64) *SchemaFixtureQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*SchemaFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*SchemaFixtureQuery) FindByID

func (q *SchemaFixtureQuery) FindByID(v ...kallax.ULID) *SchemaFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*SchemaFixtureQuery) FindByInline

func (q *SchemaFixtureQuery) FindByInline(v string) *SchemaFixtureQuery

FindByInline adds a new filter to the query that will require that the Inline property is equal to the passed value.

func (*SchemaFixtureQuery) FindByInt

func (q *SchemaFixtureQuery) FindByInt(cond kallax.ScalarCond, v int) *SchemaFixtureQuery

FindByInt adds a new filter to the query that will require that the Int property is equal to the passed value.

func (*SchemaFixtureQuery) FindByInverse added in v1.1.0

func (q *SchemaFixtureQuery) FindByInverse(v kallax.ULID) *SchemaFixtureQuery

FindByInverse adds a new filter to the query that will require that the foreign key of Inverse is equal to the passed value.

func (*SchemaFixtureQuery) FindByString

func (q *SchemaFixtureQuery) FindByString(v string) *SchemaFixtureQuery

FindByString adds a new filter to the query that will require that the String property is equal to the passed value.

func (*SchemaFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*SchemaFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*SchemaFixtureQuery) Order

func (q *SchemaFixtureQuery) Order(cols ...kallax.ColumnOrder) *SchemaFixtureQuery

Order adds order clauses to the query for the given columns.

func (*SchemaFixtureQuery) Select

func (q *SchemaFixtureQuery) Select(columns ...kallax.SchemaField) *SchemaFixtureQuery

Select adds columns to select in the query.

func (*SchemaFixtureQuery) SelectNot

func (q *SchemaFixtureQuery) SelectNot(columns ...kallax.SchemaField) *SchemaFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*SchemaFixtureQuery) Where

func (q *SchemaFixtureQuery) Where(cond kallax.Condition) *SchemaFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

func (*SchemaFixtureQuery) WithInverse added in v1.1.0

func (q *SchemaFixtureQuery) WithInverse() *SchemaFixtureQuery

func (*SchemaFixtureQuery) WithNested

func (q *SchemaFixtureQuery) WithNested() *SchemaFixtureQuery

type SchemaFixtureResultSet

type SchemaFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

SchemaFixtureResultSet is the set of results returned by a query to the database.

func NewSchemaFixtureResultSet

func NewSchemaFixtureResultSet(rs kallax.ResultSet) *SchemaFixtureResultSet

NewSchemaFixtureResultSet creates a new result set for rows of the type SchemaFixture.

func (*SchemaFixtureResultSet) All

func (rs *SchemaFixtureResultSet) All() ([]*SchemaFixture, error)

All returns all records on the result set and closes the result set.

func (*SchemaFixtureResultSet) Close

func (rs *SchemaFixtureResultSet) Close() error

Close closes the result set.

func (*SchemaFixtureResultSet) Err

func (rs *SchemaFixtureResultSet) Err() error

Err returns the last error occurred.

func (*SchemaFixtureResultSet) ForEach

func (rs *SchemaFixtureResultSet) ForEach(fn func(*SchemaFixture) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*SchemaFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*SchemaFixtureResultSet) Next

func (rs *SchemaFixtureResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*SchemaFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type SchemaFixtureStore

type SchemaFixtureStore struct {
	*kallax.Store
}

SchemaFixtureStore is the entity to access the records of the type SchemaFixture in the database.

func NewSchemaFixtureStore

func NewSchemaFixtureStore(db *sql.DB) *SchemaFixtureStore

NewSchemaFixtureStore creates a new instance of SchemaFixtureStore using a SQL database.

func (*SchemaFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*SchemaFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*SchemaFixtureStore) DebugWith added in v1.1.4

func (s *SchemaFixtureStore) DebugWith(logger kallax.LoggerFunc) *SchemaFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*SchemaFixtureStore) Delete

func (s *SchemaFixtureStore) Delete(record *SchemaFixture) error

Delete removes the given record from the database.

func (*SchemaFixtureStore) DisableCacher added in v1.3.4

func (s *SchemaFixtureStore) DisableCacher() *SchemaFixtureStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*SchemaFixtureStore) Find

Find returns the set of results for the given query.

func (*SchemaFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*SchemaFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*SchemaFixtureStore) GenericStore added in v1.1.0

func (s *SchemaFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*SchemaFixtureStore) Insert

func (s *SchemaFixtureStore) Insert(record *SchemaFixture) error

Insert inserts a SchemaFixture in the database. A non-persisted object is required for this operation.

func (*SchemaFixtureStore) MustCount

func (s *SchemaFixtureStore) MustCount(q *SchemaFixtureQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*SchemaFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*SchemaFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*SchemaFixtureStore) Reload

func (s *SchemaFixtureStore) Reload(record *SchemaFixture) error

Reload refreshes the SchemaFixture with the data in the database and makes it writable.

func (*SchemaFixtureStore) RemoveNested

func (s *SchemaFixtureStore) RemoveNested(record *SchemaFixture) error

RemoveNested removes from the database the given relationship of the model. It also resets the field Nested of the model.

func (*SchemaFixtureStore) Save

func (s *SchemaFixtureStore) Save(record *SchemaFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*SchemaFixtureStore) SetGenericStore added in v1.1.0

func (s *SchemaFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*SchemaFixtureStore) Transaction

func (s *SchemaFixtureStore) Transaction(callback func(*SchemaFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*SchemaFixtureStore) Update

func (s *SchemaFixtureStore) Update(record *SchemaFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type SchemaRelationshipFixture added in v1.1.0

type SchemaRelationshipFixture struct {
	kallax.Model `table:"relationship"`
	ID           kallax.ULID `pk:""`
}

func NewSchemaRelationshipFixture added in v1.1.0

func NewSchemaRelationshipFixture() (record *SchemaRelationshipFixture)

NewSchemaRelationshipFixture returns a new instance of SchemaRelationshipFixture.

func (*SchemaRelationshipFixture) ColumnAddress added in v1.1.0

func (r *SchemaRelationshipFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*SchemaRelationshipFixture) GetID added in v1.1.0

func (r *SchemaRelationshipFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*SchemaRelationshipFixture) NewRelationshipRecord added in v1.1.0

func (r *SchemaRelationshipFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*SchemaRelationshipFixture) SetRelationship added in v1.1.0

func (r *SchemaRelationshipFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*SchemaRelationshipFixture) Value added in v1.1.0

func (r *SchemaRelationshipFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type SchemaRelationshipFixtureQuery added in v1.1.0

type SchemaRelationshipFixtureQuery struct {
	*kallax.BaseQuery
}

SchemaRelationshipFixtureQuery is the object used to create queries for the SchemaRelationshipFixture entity.

func NewSchemaRelationshipFixtureQuery added in v1.1.0

func NewSchemaRelationshipFixtureQuery() *SchemaRelationshipFixtureQuery

NewSchemaRelationshipFixtureQuery returns a new instance of SchemaRelationshipFixtureQuery.

func (*SchemaRelationshipFixtureQuery) BatchSize added in v1.1.0

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*SchemaRelationshipFixtureQuery) Copy added in v1.1.0

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*SchemaRelationshipFixtureQuery) FindByID added in v1.1.0

func (q *SchemaRelationshipFixtureQuery) FindByID(v ...kallax.ULID) *SchemaRelationshipFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*SchemaRelationshipFixtureQuery) Limit added in v1.1.0

Limit sets the max number of items to retrieve.

func (*SchemaRelationshipFixtureQuery) Offset added in v1.1.0

Offset sets the number of items to skip from the result set of items.

func (*SchemaRelationshipFixtureQuery) Order added in v1.1.0

func (q *SchemaRelationshipFixtureQuery) Order(cols ...kallax.ColumnOrder) *SchemaRelationshipFixtureQuery

Order adds order clauses to the query for the given columns.

func (*SchemaRelationshipFixtureQuery) Select added in v1.1.0

func (q *SchemaRelationshipFixtureQuery) Select(columns ...kallax.SchemaField) *SchemaRelationshipFixtureQuery

Select adds columns to select in the query.

func (*SchemaRelationshipFixtureQuery) SelectNot added in v1.1.0

func (q *SchemaRelationshipFixtureQuery) SelectNot(columns ...kallax.SchemaField) *SchemaRelationshipFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*SchemaRelationshipFixtureQuery) Where added in v1.1.0

func (q *SchemaRelationshipFixtureQuery) Where(cond kallax.Condition) *SchemaRelationshipFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type SchemaRelationshipFixtureResultSet added in v1.1.0

type SchemaRelationshipFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

SchemaRelationshipFixtureResultSet is the set of results returned by a query to the database.

func NewSchemaRelationshipFixtureResultSet added in v1.1.0

func NewSchemaRelationshipFixtureResultSet(rs kallax.ResultSet) *SchemaRelationshipFixtureResultSet

NewSchemaRelationshipFixtureResultSet creates a new result set for rows of the type SchemaRelationshipFixture.

func (*SchemaRelationshipFixtureResultSet) All added in v1.1.0

All returns all records on the result set and closes the result set.

func (*SchemaRelationshipFixtureResultSet) Close added in v1.1.0

Close closes the result set.

func (*SchemaRelationshipFixtureResultSet) Err added in v1.1.0

Err returns the last error occurred.

func (*SchemaRelationshipFixtureResultSet) ForEach added in v1.1.0

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*SchemaRelationshipFixtureResultSet) Get added in v1.1.0

Get retrieves the last fetched item from the result set and the last error.

func (*SchemaRelationshipFixtureResultSet) Next added in v1.1.0

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*SchemaRelationshipFixtureResultSet) One added in v1.1.0

One returns the first record on the result set and closes the result set.

type SchemaRelationshipFixtureStore added in v1.1.0

type SchemaRelationshipFixtureStore struct {
	*kallax.Store
}

SchemaRelationshipFixtureStore is the entity to access the records of the type SchemaRelationshipFixture in the database.

func NewSchemaRelationshipFixtureStore added in v1.1.0

func NewSchemaRelationshipFixtureStore(db *sql.DB) *SchemaRelationshipFixtureStore

NewSchemaRelationshipFixtureStore creates a new instance of SchemaRelationshipFixtureStore using a SQL database.

func (*SchemaRelationshipFixtureStore) Count added in v1.1.0

Count returns the number of rows that would be retrieved with the given query.

func (*SchemaRelationshipFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*SchemaRelationshipFixtureStore) DebugWith added in v1.1.4

func (s *SchemaRelationshipFixtureStore) DebugWith(logger kallax.LoggerFunc) *SchemaRelationshipFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*SchemaRelationshipFixtureStore) Delete added in v1.1.0

Delete removes the given record from the database.

func (*SchemaRelationshipFixtureStore) DisableCacher added in v1.3.4

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*SchemaRelationshipFixtureStore) Find added in v1.1.0

Find returns the set of results for the given query.

func (*SchemaRelationshipFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*SchemaRelationshipFixtureStore) FindOne added in v1.1.0

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*SchemaRelationshipFixtureStore) GenericStore added in v1.1.0

func (s *SchemaRelationshipFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*SchemaRelationshipFixtureStore) Insert added in v1.1.0

Insert inserts a SchemaRelationshipFixture in the database. A non-persisted object is required for this operation.

func (*SchemaRelationshipFixtureStore) MustCount added in v1.1.0

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*SchemaRelationshipFixtureStore) MustFind added in v1.1.0

MustFind returns the set of results for the given query, but panics if there is any error.

func (*SchemaRelationshipFixtureStore) MustFindOne added in v1.1.0

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*SchemaRelationshipFixtureStore) Reload added in v1.1.0

Reload refreshes the SchemaRelationshipFixture with the data in the database and makes it writable.

func (*SchemaRelationshipFixtureStore) Save added in v1.1.0

func (s *SchemaRelationshipFixtureStore) Save(record *SchemaRelationshipFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*SchemaRelationshipFixtureStore) SetGenericStore added in v1.1.0

func (s *SchemaRelationshipFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*SchemaRelationshipFixtureStore) Transaction added in v1.1.0

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*SchemaRelationshipFixtureStore) Update added in v1.1.0

func (s *SchemaRelationshipFixtureStore) Update(record *SchemaRelationshipFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type SomeJSON

type SomeJSON struct {
	Foo int
}

type StoreFixture

type StoreFixture struct {
	kallax.Model   `table:"store" pk:"id"`
	ID             kallax.ULID
	Foo            string
	SliceProp      []string
	AliasSliceProp AliasSliceString
}

func NewStoreFixture

func NewStoreFixture() (record *StoreFixture)

NewStoreFixture returns a new instance of StoreFixture.

func (*StoreFixture) ColumnAddress

func (r *StoreFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*StoreFixture) GetID

func (r *StoreFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*StoreFixture) NewRelationshipRecord

func (r *StoreFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*StoreFixture) SetRelationship

func (r *StoreFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*StoreFixture) Value

func (r *StoreFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type StoreFixtureQuery

type StoreFixtureQuery struct {
	*kallax.BaseQuery
}

StoreFixtureQuery is the object used to create queries for the StoreFixture entity.

func NewStoreFixtureQuery

func NewStoreFixtureQuery() *StoreFixtureQuery

NewStoreFixtureQuery returns a new instance of StoreFixtureQuery.

func (*StoreFixtureQuery) BatchSize

func (q *StoreFixtureQuery) BatchSize(size uint64) *StoreFixtureQuery

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*StoreFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*StoreFixtureQuery) FindByAliasSliceProp

func (q *StoreFixtureQuery) FindByAliasSliceProp(v ...string) *StoreFixtureQuery

FindByAliasSliceProp adds a new filter to the query that will require that the AliasSliceProp property contains all the passed values; if no passed values, it will do nothing.

func (*StoreFixtureQuery) FindByFoo

func (q *StoreFixtureQuery) FindByFoo(v string) *StoreFixtureQuery

FindByFoo adds a new filter to the query that will require that the Foo property is equal to the passed value.

func (*StoreFixtureQuery) FindByID

func (q *StoreFixtureQuery) FindByID(v ...kallax.ULID) *StoreFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*StoreFixtureQuery) FindBySliceProp

func (q *StoreFixtureQuery) FindBySliceProp(v ...string) *StoreFixtureQuery

FindBySliceProp adds a new filter to the query that will require that the SliceProp property contains all the passed values; if no passed values, it will do nothing.

func (*StoreFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*StoreFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*StoreFixtureQuery) Order

func (q *StoreFixtureQuery) Order(cols ...kallax.ColumnOrder) *StoreFixtureQuery

Order adds order clauses to the query for the given columns.

func (*StoreFixtureQuery) Select

func (q *StoreFixtureQuery) Select(columns ...kallax.SchemaField) *StoreFixtureQuery

Select adds columns to select in the query.

func (*StoreFixtureQuery) SelectNot

func (q *StoreFixtureQuery) SelectNot(columns ...kallax.SchemaField) *StoreFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*StoreFixtureQuery) Where

func (q *StoreFixtureQuery) Where(cond kallax.Condition) *StoreFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type StoreFixtureResultSet

type StoreFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

StoreFixtureResultSet is the set of results returned by a query to the database.

func NewStoreFixtureResultSet

func NewStoreFixtureResultSet(rs kallax.ResultSet) *StoreFixtureResultSet

NewStoreFixtureResultSet creates a new result set for rows of the type StoreFixture.

func (*StoreFixtureResultSet) All

func (rs *StoreFixtureResultSet) All() ([]*StoreFixture, error)

All returns all records on the result set and closes the result set.

func (*StoreFixtureResultSet) Close

func (rs *StoreFixtureResultSet) Close() error

Close closes the result set.

func (*StoreFixtureResultSet) Err

func (rs *StoreFixtureResultSet) Err() error

Err returns the last error occurred.

func (*StoreFixtureResultSet) ForEach

func (rs *StoreFixtureResultSet) ForEach(fn func(*StoreFixture) error) error

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*StoreFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*StoreFixtureResultSet) Next

func (rs *StoreFixtureResultSet) Next() bool

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*StoreFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type StoreFixtureStore

type StoreFixtureStore struct {
	*kallax.Store
}

StoreFixtureStore is the entity to access the records of the type StoreFixture in the database.

func NewStoreFixtureStore

func NewStoreFixtureStore(db *sql.DB) *StoreFixtureStore

NewStoreFixtureStore creates a new instance of StoreFixtureStore using a SQL database.

func (*StoreFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*StoreFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*StoreFixtureStore) DebugWith added in v1.1.4

func (s *StoreFixtureStore) DebugWith(logger kallax.LoggerFunc) *StoreFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*StoreFixtureStore) Delete

func (s *StoreFixtureStore) Delete(record *StoreFixture) error

Delete removes the given record from the database.

func (*StoreFixtureStore) DisableCacher added in v1.3.4

func (s *StoreFixtureStore) DisableCacher() *StoreFixtureStore

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*StoreFixtureStore) Find

Find returns the set of results for the given query.

func (*StoreFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*StoreFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*StoreFixtureStore) GenericStore added in v1.1.0

func (s *StoreFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*StoreFixtureStore) Insert

func (s *StoreFixtureStore) Insert(record *StoreFixture) error

Insert inserts a StoreFixture in the database. A non-persisted object is required for this operation.

func (*StoreFixtureStore) MustCount

func (s *StoreFixtureStore) MustCount(q *StoreFixtureQuery) int64

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*StoreFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*StoreFixtureStore) MustFindOne

func (s *StoreFixtureStore) MustFindOne(q *StoreFixtureQuery) *StoreFixture

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*StoreFixtureStore) Reload

func (s *StoreFixtureStore) Reload(record *StoreFixture) error

Reload refreshes the StoreFixture with the data in the database and makes it writable.

func (*StoreFixtureStore) Save

func (s *StoreFixtureStore) Save(record *StoreFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*StoreFixtureStore) SetGenericStore added in v1.1.0

func (s *StoreFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*StoreFixtureStore) Transaction

func (s *StoreFixtureStore) Transaction(callback func(*StoreFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*StoreFixtureStore) Update

func (s *StoreFixtureStore) Update(record *StoreFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type StoreWithConstructFixture

type StoreWithConstructFixture struct {
	kallax.Model `table:"store_construct"`
	ID           kallax.ULID `pk:""`
	Foo          string
}

func NewStoreWithConstructFixture

func NewStoreWithConstructFixture(f string) (record *StoreWithConstructFixture)

NewStoreWithConstructFixture returns a new instance of StoreWithConstructFixture.

func (*StoreWithConstructFixture) ColumnAddress

func (r *StoreWithConstructFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*StoreWithConstructFixture) GetID

func (r *StoreWithConstructFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*StoreWithConstructFixture) NewRelationshipRecord

func (r *StoreWithConstructFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*StoreWithConstructFixture) SetRelationship

func (r *StoreWithConstructFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*StoreWithConstructFixture) Value

func (r *StoreWithConstructFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type StoreWithConstructFixtureQuery

type StoreWithConstructFixtureQuery struct {
	*kallax.BaseQuery
}

StoreWithConstructFixtureQuery is the object used to create queries for the StoreWithConstructFixture entity.

func NewStoreWithConstructFixtureQuery

func NewStoreWithConstructFixtureQuery() *StoreWithConstructFixtureQuery

NewStoreWithConstructFixtureQuery returns a new instance of StoreWithConstructFixtureQuery.

func (*StoreWithConstructFixtureQuery) BatchSize

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*StoreWithConstructFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*StoreWithConstructFixtureQuery) FindByFoo

FindByFoo adds a new filter to the query that will require that the Foo property is equal to the passed value.

func (*StoreWithConstructFixtureQuery) FindByID

func (q *StoreWithConstructFixtureQuery) FindByID(v ...kallax.ULID) *StoreWithConstructFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*StoreWithConstructFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*StoreWithConstructFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*StoreWithConstructFixtureQuery) Order

func (q *StoreWithConstructFixtureQuery) Order(cols ...kallax.ColumnOrder) *StoreWithConstructFixtureQuery

Order adds order clauses to the query for the given columns.

func (*StoreWithConstructFixtureQuery) Select

func (q *StoreWithConstructFixtureQuery) Select(columns ...kallax.SchemaField) *StoreWithConstructFixtureQuery

Select adds columns to select in the query.

func (*StoreWithConstructFixtureQuery) SelectNot

func (q *StoreWithConstructFixtureQuery) SelectNot(columns ...kallax.SchemaField) *StoreWithConstructFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*StoreWithConstructFixtureQuery) Where

func (q *StoreWithConstructFixtureQuery) Where(cond kallax.Condition) *StoreWithConstructFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type StoreWithConstructFixtureResultSet

type StoreWithConstructFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

StoreWithConstructFixtureResultSet is the set of results returned by a query to the database.

func NewStoreWithConstructFixtureResultSet

func NewStoreWithConstructFixtureResultSet(rs kallax.ResultSet) *StoreWithConstructFixtureResultSet

NewStoreWithConstructFixtureResultSet creates a new result set for rows of the type StoreWithConstructFixture.

func (*StoreWithConstructFixtureResultSet) All

All returns all records on the result set and closes the result set.

func (*StoreWithConstructFixtureResultSet) Close

Close closes the result set.

func (*StoreWithConstructFixtureResultSet) Err

Err returns the last error occurred.

func (*StoreWithConstructFixtureResultSet) ForEach

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*StoreWithConstructFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*StoreWithConstructFixtureResultSet) Next

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*StoreWithConstructFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type StoreWithConstructFixtureStore

type StoreWithConstructFixtureStore struct {
	*kallax.Store
}

StoreWithConstructFixtureStore is the entity to access the records of the type StoreWithConstructFixture in the database.

func NewStoreWithConstructFixtureStore

func NewStoreWithConstructFixtureStore(db *sql.DB) *StoreWithConstructFixtureStore

NewStoreWithConstructFixtureStore creates a new instance of StoreWithConstructFixtureStore using a SQL database.

func (*StoreWithConstructFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*StoreWithConstructFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*StoreWithConstructFixtureStore) DebugWith added in v1.1.4

func (s *StoreWithConstructFixtureStore) DebugWith(logger kallax.LoggerFunc) *StoreWithConstructFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*StoreWithConstructFixtureStore) Delete

Delete removes the given record from the database.

func (*StoreWithConstructFixtureStore) DisableCacher added in v1.3.4

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*StoreWithConstructFixtureStore) Find

Find returns the set of results for the given query.

func (*StoreWithConstructFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*StoreWithConstructFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*StoreWithConstructFixtureStore) GenericStore added in v1.1.0

func (s *StoreWithConstructFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*StoreWithConstructFixtureStore) Insert

Insert inserts a StoreWithConstructFixture in the database. A non-persisted object is required for this operation.

func (*StoreWithConstructFixtureStore) MustCount

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*StoreWithConstructFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*StoreWithConstructFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*StoreWithConstructFixtureStore) Reload

Reload refreshes the StoreWithConstructFixture with the data in the database and makes it writable.

func (*StoreWithConstructFixtureStore) Save

func (s *StoreWithConstructFixtureStore) Save(record *StoreWithConstructFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*StoreWithConstructFixtureStore) SetGenericStore added in v1.1.0

func (s *StoreWithConstructFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*StoreWithConstructFixtureStore) Transaction

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*StoreWithConstructFixtureStore) Update

func (s *StoreWithConstructFixtureStore) Update(record *StoreWithConstructFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

type StoreWithNewFixture

type StoreWithNewFixture struct {
	kallax.Model `table:"store_new"`
	ID           kallax.ULID `pk:""`
	Foo          string
	Bar          string
}

func NewStoreWithNewFixture

func NewStoreWithNewFixture() (record *StoreWithNewFixture)

NewStoreWithNewFixture returns a new instance of StoreWithNewFixture.

func (*StoreWithNewFixture) ColumnAddress

func (r *StoreWithNewFixture) ColumnAddress(col string) (interface{}, error)

ColumnAddress returns the pointer to the value of the given column.

func (*StoreWithNewFixture) GetID

func (r *StoreWithNewFixture) GetID() kallax.Identifier

GetID returns the primary key of the model.

func (*StoreWithNewFixture) NewRelationshipRecord

func (r *StoreWithNewFixture) NewRelationshipRecord(field string) (kallax.Record, error)

NewRelationshipRecord returns a new record for the relatiobship in the given field.

func (*StoreWithNewFixture) SetRelationship

func (r *StoreWithNewFixture) SetRelationship(field string, rel interface{}) error

SetRelationship sets the given relationship in the given field.

func (*StoreWithNewFixture) Value

func (r *StoreWithNewFixture) Value(col string) (interface{}, error)

Value returns the value of the given column.

type StoreWithNewFixtureQuery

type StoreWithNewFixtureQuery struct {
	*kallax.BaseQuery
}

StoreWithNewFixtureQuery is the object used to create queries for the StoreWithNewFixture entity.

func NewStoreWithNewFixtureQuery

func NewStoreWithNewFixtureQuery() *StoreWithNewFixtureQuery

NewStoreWithNewFixtureQuery returns a new instance of StoreWithNewFixtureQuery.

func (*StoreWithNewFixtureQuery) BatchSize

BatchSize sets the number of items to fetch per batch when there are 1:N relationships selected in the query.

func (*StoreWithNewFixtureQuery) Copy

Copy returns a new identical copy of the query. Remember queries are mutable so make a copy any time you need to reuse them.

func (*StoreWithNewFixtureQuery) FindByBar

FindByBar adds a new filter to the query that will require that the Bar property is equal to the passed value.

func (*StoreWithNewFixtureQuery) FindByFoo

FindByFoo adds a new filter to the query that will require that the Foo property is equal to the passed value.

func (*StoreWithNewFixtureQuery) FindByID

func (q *StoreWithNewFixtureQuery) FindByID(v ...kallax.ULID) *StoreWithNewFixtureQuery

FindByID adds a new filter to the query that will require that the ID property is equal to one of the passed values; if no passed values, it will do nothing.

func (*StoreWithNewFixtureQuery) Limit

Limit sets the max number of items to retrieve.

func (*StoreWithNewFixtureQuery) Offset

Offset sets the number of items to skip from the result set of items.

func (*StoreWithNewFixtureQuery) Order

func (q *StoreWithNewFixtureQuery) Order(cols ...kallax.ColumnOrder) *StoreWithNewFixtureQuery

Order adds order clauses to the query for the given columns.

func (*StoreWithNewFixtureQuery) Select

func (q *StoreWithNewFixtureQuery) Select(columns ...kallax.SchemaField) *StoreWithNewFixtureQuery

Select adds columns to select in the query.

func (*StoreWithNewFixtureQuery) SelectNot

func (q *StoreWithNewFixtureQuery) SelectNot(columns ...kallax.SchemaField) *StoreWithNewFixtureQuery

SelectNot excludes columns from being selected in the query.

func (*StoreWithNewFixtureQuery) Where

func (q *StoreWithNewFixtureQuery) Where(cond kallax.Condition) *StoreWithNewFixtureQuery

Where adds a condition to the query. All conditions added are concatenated using a logical AND.

type StoreWithNewFixtureResultSet

type StoreWithNewFixtureResultSet struct {
	ResultSet kallax.ResultSet
	// contains filtered or unexported fields
}

StoreWithNewFixtureResultSet is the set of results returned by a query to the database.

func NewStoreWithNewFixtureResultSet

func NewStoreWithNewFixtureResultSet(rs kallax.ResultSet) *StoreWithNewFixtureResultSet

NewStoreWithNewFixtureResultSet creates a new result set for rows of the type StoreWithNewFixture.

func (*StoreWithNewFixtureResultSet) All

All returns all records on the result set and closes the result set.

func (*StoreWithNewFixtureResultSet) Close

func (rs *StoreWithNewFixtureResultSet) Close() error

Close closes the result set.

func (*StoreWithNewFixtureResultSet) Err

Err returns the last error occurred.

func (*StoreWithNewFixtureResultSet) ForEach

ForEach iterates over the complete result set passing every record found to the given callback. It is possible to stop the iteration by returning `kallax.ErrStop` in the callback. Result set is always closed at the end.

func (*StoreWithNewFixtureResultSet) Get

Get retrieves the last fetched item from the result set and the last error.

func (*StoreWithNewFixtureResultSet) Next

Next fetches the next item in the result set and returns true if there is a next item. The result set is closed automatically when there are no more items.

func (*StoreWithNewFixtureResultSet) One

One returns the first record on the result set and closes the result set.

type StoreWithNewFixtureStore

type StoreWithNewFixtureStore struct {
	*kallax.Store
}

StoreWithNewFixtureStore is the entity to access the records of the type StoreWithNewFixture in the database.

func NewStoreWithNewFixtureStore

func NewStoreWithNewFixtureStore(db *sql.DB) *StoreWithNewFixtureStore

NewStoreWithNewFixtureStore creates a new instance of StoreWithNewFixtureStore using a SQL database.

func (*StoreWithNewFixtureStore) Count

Count returns the number of rows that would be retrieved with the given query.

func (*StoreWithNewFixtureStore) Debug added in v1.1.4

Debug returns a new store that will print all SQL statements to stdout using the log.Printf function.

func (*StoreWithNewFixtureStore) DebugWith added in v1.1.4

func (s *StoreWithNewFixtureStore) DebugWith(logger kallax.LoggerFunc) *StoreWithNewFixtureStore

DebugWith returns a new store that will print all SQL statements using the given logger function.

func (*StoreWithNewFixtureStore) Delete

Delete removes the given record from the database.

func (*StoreWithNewFixtureStore) DisableCacher added in v1.3.4

DisableCacher turns off prepared statements, which can be useful in some scenarios.

func (*StoreWithNewFixtureStore) Find

Find returns the set of results for the given query.

func (*StoreWithNewFixtureStore) FindAll added in v1.2.1

FindAll returns a list of all the rows returned by the given query.

func (*StoreWithNewFixtureStore) FindOne

FindOne returns the first row returned by the given query. `ErrNotFound` is returned if there are no results.

func (*StoreWithNewFixtureStore) GenericStore added in v1.1.0

func (s *StoreWithNewFixtureStore) GenericStore() *kallax.Store

GenericStore returns the generic store of this store.

func (*StoreWithNewFixtureStore) Insert

Insert inserts a StoreWithNewFixture in the database. A non-persisted object is required for this operation.

func (*StoreWithNewFixtureStore) MustCount

MustCount returns the number of rows that would be retrieved with the given query, but panics if there is an error.

func (*StoreWithNewFixtureStore) MustFind

MustFind returns the set of results for the given query, but panics if there is any error.

func (*StoreWithNewFixtureStore) MustFindOne

MustFindOne returns the first row retrieved by the given query. It panics if there is an error or if there are no rows.

func (*StoreWithNewFixtureStore) Reload

Reload refreshes the StoreWithNewFixture with the data in the database and makes it writable.

func (*StoreWithNewFixtureStore) Save

func (s *StoreWithNewFixtureStore) Save(record *StoreWithNewFixture) (updated bool, err error)

Save inserts the object if the record is not persisted, otherwise it updates it. Same rules of Update and Insert apply depending on the case.

func (*StoreWithNewFixtureStore) SetGenericStore added in v1.1.0

func (s *StoreWithNewFixtureStore) SetGenericStore(store *kallax.Store)

SetGenericStore changes the generic store of this store.

func (*StoreWithNewFixtureStore) Transaction

func (s *StoreWithNewFixtureStore) Transaction(callback func(*StoreWithNewFixtureStore) error) error

Transaction executes the given callback in a transaction and rollbacks if an error is returned. The transaction is only open in the store passed as a parameter to the callback.

func (*StoreWithNewFixtureStore) Update

func (s *StoreWithNewFixtureStore) Update(record *StoreWithNewFixture, cols ...kallax.SchemaField) (updated int64, err error)

Update updates the given record on the database. If the columns are given, only these columns will be updated. Otherwise all of them will be. Be very careful with this, as you will have a potentially different object in memory but not on the database. Only writable records can be updated. Writable objects are those that have been just inserted or retrieved using a query with no custom select fields.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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