common

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2022 License: BSD-2-Clause Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PUBLISHER_UTF8_NAME = "Edições Lusas"
	AUTHOR_UTF8_NAME    = "Graça Tostão"
	LANG                = "pt"
	BOOK_LANG_TITLE     = "Era uma vez..."

	Firebird = "Firebird"
	Oracle   = "Oracle"
	MySQL    = "MySQL"
	Postgres = "Postgres"
)
View Source
const TOKEN_SECONDSDIFF = "SECONDSDIFF"

Variables

View Source
var (
	PUBLISHER           = db.TABLE("PUBLISHER")
	PUBLISHER_C_ID      = PUBLISHER.KEY("ID")          // implicit map to field Id
	PUBLISHER_C_VERSION = PUBLISHER.VERSION("VERSION") // implicit map to field Version
	PUBLISHER_C_NAME    = PUBLISHER.COLUMN("NAME")     // implicit map to field Name

	PUBLISHER_A_BOOKS = PUBLISHER.
						ASSOCIATE(PUBLISHER_C_ID).
						TO(BOOK_C_PUBLISHER_ID).
						As("Books")
)
View Source
var (
	BOOK_BIN             = db.TABLE("BOOK_BIN")
	BOOK_BIN_C_ID        = BOOK_BIN.KEY("ID")
	BOOK_BIN_C_VERSION   = BOOK_BIN.VERSION("VERSION")
	BOOK_BIN_C_HARDCOVER = BOOK_BIN.COLUMN("HARDCOVER")

	BOOK_BIN_A_BOOK = BOOK_BIN.
					ASSOCIATE(BOOK_BIN_C_ID).
					TO(BOOK_C_ID).
					As("Book")
)
View Source
var (
	BOOK                = db.TABLE("BOOK")
	BOOK_C_ID           = BOOK.KEY("ID")
	BOOK_C_VERSION      = BOOK.VERSION("VERSION")
	BOOK_C_NAME         = BOOK.COLUMN("NAME")
	BOOK_C_PRICE        = BOOK.COLUMN("PRICE")
	BOOK_C_PUBLISHED    = BOOK.COLUMN("PUBLISHED")
	BOOK_C_PUBLISHER_ID = BOOK.COLUMN("PUBLISHER_ID")

	BOOK_A_PUBLISHER = BOOK.
						ASSOCIATE(BOOK_C_PUBLISHER_ID).
						TO(PUBLISHER_C_ID).
						As("Publisher")

	BOOK_A_AUTHORS = db.NewM2MAssociation(
		"Authors",
		db.ASSOCIATE(BOOK_C_ID).WITH(AUTHOR_BOOK_C_BOOK_ID),
		db.ASSOCIATE(AUTHOR_BOOK_C_AUTHOR_ID).WITH(AUTHOR_C_ID),
	)

	BOOK_A_BOOK_BIN = BOOK.
					ASSOCIATE(BOOK_C_ID).
					TO(BOOK_BIN_C_ID).
					As("BookBin")

	BOOK_A_BOOK_I18N = BOOK.
						ASSOCIATE(BOOK_C_ID).
						TO(BOOK_I18N_C_BOOK_ID).
						As("I18n").
						With(BOOK_I18N_C_LANG, db.Param("lang"))
)
View Source
var (
	BOOK_I18N           = db.TABLE("BOOK_I18N")
	BOOK_I18N_C_ID      = BOOK_I18N.KEY("ID")
	BOOK_I18N_C_VERSION = BOOK_I18N.VERSION("VERSION")
	BOOK_I18N_C_BOOK_ID = BOOK_I18N.COLUMN("BOOK_ID")
	BOOK_I18N_C_LANG    = BOOK_I18N.COLUMN("LANG")
	BOOK_I18N_C_TITLE   = BOOK_I18N.COLUMN("TITLE")
)
View Source
var (
	AUTHOR_BOOK             = db.TABLE("AUTHOR_BOOK")
	AUTHOR_BOOK_C_AUTHOR_ID = AUTHOR_BOOK.KEY("AUTHOR_ID") // implicit map to field 'AuthorId'
	AUTHOR_BOOK_C_BOOK_ID   = AUTHOR_BOOK.KEY("BOOK_ID")   // implicit map to field 'BookId'
)
View Source
var (
	AUTHOR           = db.TABLE("AUTHOR")
	AUTHOR_C_ID      = AUTHOR.KEY("ID")
	AUTHOR_C_VERSION = AUTHOR.VERSION("VERSION")
	AUTHOR_C_NAME    = AUTHOR.COLUMN("NAME")
	AUTHOR_C_SECRET  = AUTHOR.COLUMN("SECRET")

	AUTHOR_A_BOOKS = db.NewM2MAssociation(
		"Books",
		db.ASSOCIATE(AUTHOR_C_ID).WITH(AUTHOR_BOOK_C_AUTHOR_ID),
		db.ASSOCIATE(AUTHOR_BOOK_C_BOOK_ID).WITH(BOOK_C_ID),
	)
)
View Source
var (
	PROJECT                = db.TABLE("PROJECT")
	PROJECT_C_ID           = PROJECT.KEY("ID")              // implicit map to field Id
	PROJECT_C_VERSION      = PROJECT.VERSION("VERSION")     // implicit map to field Version
	PROJECT_C_NAME         = PROJECT.COLUMN("NAME")         // implicit map to field Name
	PROJECT_C_MANAGER_ID   = PROJECT.COLUMN("MANAGER_ID")   // implicit map to field ManagerId
	PROJECT_C_MANAGER_TYPE = PROJECT.COLUMN("MANAGER_TYPE") // implicit map to field ManagerType
	PROJECT_C_STATUS       = PROJECT.COLUMN("STATUS_COD")   // implicit map to field Status

	PROJECT_A_EMPLOYEE = PROJECT.
						ASSOCIATE(PROJECT_C_MANAGER_ID).
						TO(EMPLOYEE_C_ID).
						As("Employee").
						With(PROJECT_C_MANAGER_TYPE, "E")

	PROJECT_A_CONSULTANT = PROJECT.
							ASSOCIATE(PROJECT_C_MANAGER_ID).
							TO(CONSULTANT_C_ID).
							As("Consultant").
							With(PROJECT_C_MANAGER_TYPE, "C")

	PROJECT_A_STATUS = PROJECT.
						ASSOCIATE(PROJECT_C_STATUS).
						TO(STATUS_C_CODE).
						As("Status")
)
View Source
var (
	EMPLOYEE              = db.TABLE("EMPLOYEE")
	EMPLOYEE_C_ID         = EMPLOYEE.KEY("ID")            // implicit map to field Id
	EMPLOYEE_C_VERSION    = EMPLOYEE.VERSION("VERSION")   // implicit map to field Version
	EMPLOYEE_C_FIRST_NAME = EMPLOYEE.COLUMN("FIRST_NAME") // implicit map to field FirstName
	EMPLOYEE_C_LAST_NAME  = EMPLOYEE.COLUMN("LAST_NAME")  // implicit map to field LastName

	EMPLOYEE_A_PROJECT = EMPLOYEE.
						ASSOCIATE(EMPLOYEE_C_ID).
						TO(PROJECT_C_MANAGER_ID).
						As("Project").
						With(PROJECT_C_MANAGER_TYPE, "E")
)
View Source
var (
	CONSULTANT           = db.TABLE("CONSULTANT")
	CONSULTANT_C_ID      = CONSULTANT.KEY("ID")          // implicit map to field Id
	CONSULTANT_C_VERSION = CONSULTANT.VERSION("VERSION") // implicit map to field Version
	CONSULTANT_C_NAME    = CONSULTANT.COLUMN("NAME")     // implicit map to field Name

	CONSULTANT_A_PROJECT = CONSULTANT.
							ASSOCIATE(CONSULTANT_C_ID).
							TO(PROJECT_C_MANAGER_ID).
							As("Project").
							With(PROJECT_C_MANAGER_TYPE, "C")
)
View Source
var (
	CATALOG           = db.TABLE("CATALOG")
	CATALOG_C_ID      = CATALOG.KEY("ID")          // implicit map to field Id
	CATALOG_C_VERSION = CATALOG.VERSION("VERSION") // implicit map to field Version
	CATALOG_C_DOMAIN  = CATALOG.COLUMN("DOMAIN")
	CATALOG_C_CODE    = CATALOG.COLUMN("KEY")
	CATALOG_C_VALUE   = CATALOG.COLUMN("VALUE")
)
View Source
var (
	STATUS               = db.TABLE("CATALOG").With("DOMAIN", "STATUS")
	STATUS_C_ID          = STATUS.KEY("ID")          // implicit map to field Id
	STATUS_C_VERSION     = STATUS.VERSION("VERSION") // implicit map to field Version
	STATUS_C_CODE        = STATUS.COLUMN("KEY").As("Code")
	STATUS_C_DESCRIPTION = STATUS.COLUMN("VALUE").As("Description")
)
View Source
var RAW_SQL string

Functions

func Connect

func Connect(driverName, dataSourceName string) (*sql.DB, error)

func Container

func Container(
	image string,
	exPort string,
	env map[string]string,
	driverName string,
	dataSourceName string,
	timeout int,
) (context.Context, testcontainers.Container, nat.Port, error)

func CreateTables

func CreateTables(db *sql.DB, initSqlFile string) error

func InitDB

func InitDB(driverName, dataSourceName string, translator db.Translator, initSqlFile string) (*db.TransactionManager, *sql.DB, error)

func ResetDB

func ResetDB(TM db.ITransactionManager)

func ResetDB2

func ResetDB2(TM db.ITransactionManager)

func ResetDB3

func ResetDB3(TM db.ITransactionManager)

func SecondsDiff

func SecondsDiff(left, right interface{}) *db.Token

SecondsDiff Token factory first parameter is greater than the second

Types

type Author

type Author struct {
	EntityBase

	Name   *string
	Books  []*Book
	Secret *string `sql:"omit"`
}

func (*Author) Equals

func (a *Author) Equals(e interface{}) bool

func (*Author) HashCode

func (a *Author) HashCode() int

func (*Author) String

func (a *Author) String() string

type AuthorBook

type AuthorBook struct {
	AuthorId *int64
	BookId   *int64
}

type Book

type Book struct {
	db.Marker
	EntityBase

	Name        string
	Price       float64
	Published   *time.Time
	PublisherId *int64
	Publisher   *Publisher // this is filled is a join fetch
	Authors     []*Author
	BookBin     *BookBin

	Title *string
}

func (*Book) Equals

func (b *Book) Equals(e interface{}) bool

func (*Book) HashCode

func (b *Book) HashCode() int

func (*Book) SetName

func (b *Book) SetName(name string)

func (*Book) SetPrice

func (b *Book) SetPrice(price float64)

func (*Book) SetPublished

func (b *Book) SetPublished(published *time.Time)

func (*Book) SetPublisherId

func (b *Book) SetPublisherId(id *int64)

func (*Book) String

func (b *Book) String() string

type BookBin

type BookBin struct {
	EntityBase

	Hardcover []byte
	Book      *Book
}

func (*BookBin) Equals

func (b *BookBin) Equals(e interface{}) bool

func (*BookBin) HashCode

func (b *BookBin) HashCode() int

func (*BookBin) String

func (b *BookBin) String() string

type Color

type Color struct {
	Red   int
	Green int
	Blue  int
}

type ColorConverter

type ColorConverter struct{}

func (ColorConverter) FromDb

func (cc ColorConverter) FromDb(in interface{}) (interface{}, error)

func (ColorConverter) FromDbInstance

func (cc ColorConverter) FromDbInstance() interface{}

func (ColorConverter) ToDb

func (cc ColorConverter) ToDb(in interface{}) (interface{}, error)

type Consultant

type Consultant struct {
	EntityBase

	Name *string

	Project *Project
}

func (*Consultant) Equals

func (c *Consultant) Equals(e interface{}) bool

func (*Consultant) HashCode

func (c *Consultant) HashCode() int

func (*Consultant) String

func (c *Consultant) String() string

type DbStrategy

type DbStrategy struct {
	PollInterval time.Duration
	// contains filtered or unexported fields
}

DbStrategy will wait until a given log entry shows up in the docker logs

func ForDb

func ForDb(driverName string, dataSourceName string, port string) *DbStrategy

ForDb constructs a HTTP strategy waiting on port 80 and status code 200

func (*DbStrategy) WaitUntilReady

func (ws *DbStrategy) WaitUntilReady(ctx context.Context, target wait.StrategyTarget) (err error)

WaitUntilReady implements Strategy.WaitUntilReady

func (*DbStrategy) WithPollInterval

func (ws *DbStrategy) WithPollInterval(pollInterval time.Duration) *DbStrategy

WithPollInterval can be used to override the default polling interval of 100 milliseconds

func (*DbStrategy) WithStartupTimeout

func (ws *DbStrategy) WithStartupTimeout(startupTimeout time.Duration) *DbStrategy

WithStartupTimeout can be used to change the default startup timeout

type Dto

type Dto struct {
	Name      string
	OtherName string
	Value     float64
}

type Employee

type Employee struct {
	EntityBase

	FirstName *string
	LastName  *string

	Project *Project
}

func (*Employee) Equals

func (p *Employee) Equals(e interface{}) bool

func (*Employee) HashCode

func (p *Employee) HashCode() int

func (*Employee) String

func (p *Employee) String() string

type EntityBase

type EntityBase struct {
	Id      *int64
	Version int64
}

since entities can be at the left outer join side, every Id field SHOULD be a pointer

type FullNameVO added in v1.2.0

type FullNameVO struct {
	// contains filtered or unexported fields
}

type MyDb

type MyDb struct {
	*db.Db
	Lang string
}

func NewMyDb

func NewMyDb(connection dbx.IConnection, translator db.Translator, cache db.Mapper, lang string) *MyDb

custom Db - for setting default parameters

func (*MyDb) Query

func (d *MyDb) Query(table *db.Table) *db.Query

type NotAuthor added in v1.3.0

type NotAuthor struct {
	EntityBase
	Name *string
}

func (*NotAuthor) TableName added in v1.3.0

func (t *NotAuthor) TableName() string

type Palette

type Palette struct {
	EntityBase

	Code  string
	Value *Color `sql:"converter=color"`
}

type Project

type Project struct {
	EntityBase

	Name        *string
	ManagerId   *int64
	ManagerType *string

	Employee   []*Employee
	Consultant []*Consultant
	StatusCod  *string
	Status     *Status
}

func (*Project) Equals

func (p *Project) Equals(e interface{}) bool

func (*Project) HashCode

func (p *Project) HashCode() int

func (*Project) String

func (p *Project) String() string

type Publisher

type Publisher struct {
	EntityBase

	Name  *string
	Books []*Book
}

func (*Publisher) Equals

func (p *Publisher) Equals(e interface{}) bool

func (*Publisher) HashCode

func (p *Publisher) HashCode() int

func (*Publisher) PostInsert

func (p *Publisher) PostInsert(store db.IDb)

func (*Publisher) PostRetrieve added in v1.3.0

func (p *Publisher) PostRetrieve(store db.IDb)

func (*Publisher) String

func (p *Publisher) String() string

type PublisherSales

type PublisherSales struct {
	Id           int64
	Name         string
	ThisYear     float64
	PreviousYear float64
}

func (*PublisherSales) String

func (p *PublisherSales) String() string

type Status

type Status struct {
	EntityBase

	Code        *string
	Description *string
}

func (*Status) Equals

func (s *Status) Equals(e interface{}) bool

func (*Status) HashCode

func (s *Status) HashCode() int

func (*Status) String

func (s *Status) String() string

type Supervisor added in v1.2.0

type Supervisor struct {
	EntityBase

	FullName FullNameVO `sql:"embedded"`
}

type Supervisor2 added in v1.2.0

type Supervisor2 struct {
	EntityBase

	FullName *FullNameVO `sql:"embedded"`
}

type Tester

type Tester struct {
	DbName string
	Tm     db.ITransactionManager
}

func (Tester) RunAll

func (tt Tester) RunAll(t *testing.T)

func (Tester) RunAssociationDiscriminator

func (tt Tester) RunAssociationDiscriminator(t *testing.T)

func (Tester) RunAssociationDiscriminatorReverse

func (tt Tester) RunAssociationDiscriminatorReverse(t *testing.T)

func (Tester) RunBench added in v1.3.0

func (tt Tester) RunBench(driver string, dns string, table string, b *testing.B)

func (Tester) RunColumnSubquery

func (tt Tester) RunColumnSubquery(t *testing.T)

func (Tester) RunConverter added in v1.2.0

func (tt Tester) RunConverter(t *testing.T)

func (Tester) RunCustomFunction

func (tt Tester) RunCustomFunction(t *testing.T)

func (Tester) RunEmbedded added in v1.4.2

func (tt Tester) RunEmbedded(t *testing.T)

func (Tester) RunEmbeddedPtr added in v1.4.2

func (tt Tester) RunEmbeddedPtr(t *testing.T)

func (Tester) RunFindAll

func (tt Tester) RunFindAll(t *testing.T)

func (Tester) RunFindFirst

func (tt Tester) RunFindFirst(t *testing.T)

func (Tester) RunGroupBy

func (tt Tester) RunGroupBy(t *testing.T)

func (Tester) RunHaving

func (tt Tester) RunHaving(t *testing.T)

func (Tester) RunInnerOn

func (tt Tester) RunInnerOn(t *testing.T)

func (Tester) RunInnerOn2

func (tt Tester) RunInnerOn2(t *testing.T)

func (Tester) RunInsertReturningKey

func (tt Tester) RunInsertReturningKey(t *testing.T)

func (Tester) RunInsertStructReturningKey

func (tt Tester) RunInsertStructReturningKey(t *testing.T)

func (Tester) RunJoinTableDiscriminator

func (tt Tester) RunJoinTableDiscriminator(t *testing.T)

func (Tester) RunList added in v1.5.0

func (tt Tester) RunList(t *testing.T)

func (Tester) RunListFlatTree

func (tt Tester) RunListFlatTree(t *testing.T)

func (Tester) RunListForSlice

func (tt Tester) RunListForSlice(t *testing.T)

func (Tester) RunListInto

func (tt Tester) RunListInto(t *testing.T)

func (Tester) RunListOf

func (tt Tester) RunListOf(t *testing.T)

func (Tester) RunListSimple

func (tt Tester) RunListSimple(t *testing.T)

func (Tester) RunListTreeOf

func (tt Tester) RunListTreeOf(t *testing.T)

func (Tester) RunModifyField

func (tt Tester) RunModifyField(t *testing.T)

func (Tester) RunOmitField

func (tt Tester) RunOmitField(t *testing.T)

func (Tester) RunOrderBy

func (tt Tester) RunOrderBy(t *testing.T)

func (Tester) RunOuterFetchOrder

func (tt Tester) RunOuterFetchOrder(t *testing.T)

func (Tester) RunOuterFetchOrderAs

func (tt Tester) RunOuterFetchOrderAs(t *testing.T)

func (Tester) RunPagination

func (tt Tester) RunPagination(t *testing.T)

func (Tester) RunQueryIntoUnexportedFields added in v1.3.0

func (tt Tester) RunQueryIntoUnexportedFields(t *testing.T)

func (Tester) RunRawSQL1

func (tt Tester) RunRawSQL1(t *testing.T)

func (Tester) RunRawSQL2

func (tt Tester) RunRawSQL2(t *testing.T)

func (Tester) RunRemoveAll

func (tt Tester) RunRemoveAll(t *testing.T)

func (Tester) RunRetrieve added in v1.3.0

func (tt Tester) RunRetrieve(t *testing.T)

func (Tester) RunRetrieveOther added in v1.3.0

func (tt Tester) RunRetrieveOther(t *testing.T)

func (Tester) RunSearchedCase

func (tt Tester) RunSearchedCase(t *testing.T)

func (Tester) RunSelectFlatTree

func (tt Tester) RunSelectFlatTree(t *testing.T)

func (Tester) RunSelectInto

func (tt Tester) RunSelectInto(t *testing.T)

func (Tester) RunSelectTree

func (tt Tester) RunSelectTree(t *testing.T)

func (Tester) RunSelectTreeTwoBranches

func (tt Tester) RunSelectTreeTwoBranches(t *testing.T)

func (Tester) RunSelectUTF8

func (tt Tester) RunSelectUTF8(t *testing.T)

func (Tester) RunSimpleCase

func (tt Tester) RunSimpleCase(t *testing.T)

func (Tester) RunSimpleDelete

func (tt Tester) RunSimpleDelete(t *testing.T)

func (Tester) RunSimpleUpdate

func (tt Tester) RunSimpleUpdate(t *testing.T)

func (Tester) RunStructDelete

func (tt Tester) RunStructDelete(t *testing.T)

func (Tester) RunStructSaveAndRetrieve added in v1.3.0

func (tt Tester) RunStructSaveAndRetrieve(t *testing.T)

func (Tester) RunStructUpdate

func (tt Tester) RunStructUpdate(t *testing.T)

func (Tester) RunTableDiscriminator

func (tt Tester) RunTableDiscriminator(t *testing.T)

func (Tester) RunUnion

func (tt Tester) RunUnion(t *testing.T)

func (Tester) RunUpdateSubquery

func (tt Tester) RunUpdateSubquery(t *testing.T)

func (Tester) RunWhereSubquery

func (tt Tester) RunWhereSubquery(t *testing.T)

Jump to

Keyboard shortcuts

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