Versions in this module Expand all Collapse all v1 v1.0.0 Aug 8, 2024 Changes in this version + var ErrorBuilderIsNil = fmt.Errorf("builder: is nil") + var ErrorBuilderMustHaveATable = fmt.Errorf("builder: must have a table") + var ErrorBuilderMustHaveATableWithName = fmt.Errorf("builder: must have a table with name") + var ErrorBuilderWithoutResponse = fmt.Errorf("builder: without response") + var ErrorDatabaseIsAlreadyHasTransport = fmt.Errorf("database: is already has transpport") + var ErrorDatabaseIsNil = fmt.Errorf("database: is nil") + var ErrorGenericInvalidArgument = fmt.Errorf("generic: invalid argument") + var ErrorResponseLessThanRequested = fmt.Errorf("response: less than requested") + var ErrorResponseMoreThanRequested = fmt.Errorf("response: less than requested") + var ErrorSchemeHasUnsupportedHeader = fmt.Errorf("scheme: has unsupported header") + var ErrorSchemeHasUnsupportedStruct = fmt.Errorf("scheme: has unsupported struct") + var ErrorSchemeIsNil = fmt.Errorf("scheme: is nil") + var ErrorSchemeMigrationIsLimitedByVersion = fmt.Errorf("scheme: migration is limited by version") + var ErrorSchemeMustHaveDatabase = fmt.Errorf("scheme: must have database") + var ErrorSchemeMustHaveTable = fmt.Errorf("scheme: must have table") + var ErrorSchemeTransactionHasUnknownState = fmt.Errorf("scheme: transaction has unknown state") + var ErrorSchemeTransactionIsAlreadyClosed = fmt.Errorf("scheme: transaction is already closed") + var ErrorSchemeTransactionIsAlreadyOpened = fmt.Errorf("scheme: transaction is already opened") + var ErrorTableFieldMustHaveATable = fmt.Errorf("table: field must have a table") + var ErrorTableIsNil = fmt.Errorf("table: is nil") + var ErrorTableMustHaveAutoincrement = fmt.Errorf("table: must have AUTO_INCREMENT") + var ErrorTableReferenceIsNil = fmt.Errorf("table: reference is nil") + var ErrorTableReferenceIsUncorrected = fmt.Errorf("table: reference is uncorrected") + var ErrorTableReferenceIsUnsupported = fmt.Errorf("table: reference is unsupported") + var ErrorTransactionIsAlreadyClosed = fmt.Errorf("transaction: is already closed") + var ErrorTransactionIsAlreadyOpened = fmt.Errorf("transaction: is already opened") + var ErrorTransportIsAlreadyClosed = fmt.Errorf("transport: is already closed") + var ErrorTransportIsAlreadyOpened = fmt.Errorf("transport: is already opened") + var ErrorTransportIsNil = fmt.Errorf("transport: is nil") + var ErrorTransportMustHaveDatabase = fmt.Errorf("transport: must have database") + var ErroroBuilderTableHasUnsupportedReferense = fmt.Errorf("builder: table has is unsupported reference") + var TransactionInsertBlock int64 = 10 + var TransactionReplaceBlock int64 = 10 + func SqlFieldValueToString(goType reflect.Kind, reflectValue reflect.Value) (valueString string, err error) + type Builder interface + Build func() (string, []interface{}, error) + type BuilderCreate struct + func NewBuilderCreate(createTable *Table) *BuilderCreate + func (builder *BuilderCreate) Build() (result string, option []interface{}, err error) + func (builder *BuilderCreate) Create(createTable *Table) *BuilderCreate + func (builder *BuilderCreate) CreateName(createName string) *BuilderCreate + func (builder *BuilderCreate) IfNotExists(value bool) *BuilderCreate + func (builder *BuilderCreate) SetDialect(sqlDialect string) + type BuilderDelete struct + func NewBuilderDelete(deleteTable *Table) *BuilderDelete + func (builder *BuilderDelete) Build() (result string, option []interface{}, err error) + func (builder *BuilderDelete) Delete(deleteTable *Table) *BuilderDelete + func (builder *BuilderDelete) SqlDialect(sqlDialect string) *BuilderDelete + func (builder *BuilderDelete) Where(whereStringArray ...string) *BuilderDelete + type BuilderInsert struct + func NewBuilderInsert(insertTable *Table) *BuilderInsert + func (builder *BuilderInsert) Build() (result string, option []interface{}, err error) + func (builder *BuilderInsert) Insert(insertTable *Table) *BuilderInsert + func (builder *BuilderInsert) SqlDialect(sqlDialect string) *BuilderInsert + func (builder *BuilderInsert) Value(insertValue ...interface{}) *BuilderInsert + type BuilderReplace struct + func NewBuilderReplace(replaceTable *Table) *BuilderReplace + func (builder *BuilderReplace) Build() (result string, option []interface{}, err error) + func (builder *BuilderReplace) Replace(replaceTable *Table) *BuilderReplace + func (builder *BuilderReplace) SqlDialect(sqlDialect string) *BuilderReplace + func (builder *BuilderReplace) Value(replaceValue ...interface{}) *BuilderReplace + type BuilderSelect struct + func NewBuilderSelect(selectTable *Table) (selectBuilder *BuilderSelect) + func (builder *BuilderSelect) Build() (result string, option []interface{}, err error) + func (builder *BuilderSelect) Distinct(value bool) *BuilderSelect + func (builder *BuilderSelect) FromSelect(fromSelectArray ...*BuilderSelect) *BuilderSelect + func (builder *BuilderSelect) FromTable(fromTableArray ...*Table) *BuilderSelect + func (builder *BuilderSelect) GetResponseTable() *Table + func (builder *BuilderSelect) GetStruct(tableStruct interface{}) (tableStructPtr interface{}, fieldArrayPtr []interface{}, err error) + func (builder *BuilderSelect) GetType() reflect.Type + func (builder *BuilderSelect) Select(selectTable *Table) *BuilderSelect + func (builder *BuilderSelect) Where(whereStringArray ...string) *BuilderSelect + type BuilderUpdate struct + func NewBuilderUpdate(updateTable *Table) *BuilderUpdate + func (builder *BuilderUpdate) Build() (result string, option []interface{}, err error) + func (builder *BuilderUpdate) Set(setStringArray ...string) *BuilderUpdate + func (builder *BuilderUpdate) SqlDialect(sqlDialect string) *BuilderUpdate + func (builder *BuilderUpdate) Update(updateTable *Table) *BuilderUpdate + func (builder *BuilderUpdate) Where(whereStringArray ...string) *BuilderUpdate + type BuilderWithDialect interface + SetDialect func(string) + type BuilderWithResponse interface + Build func() (string, []interface{}, error) + GetResponseTable func() *Table + type Database struct + func NewDatabase(transport Transport, scheme Scheme) (*Database, error) + func (database *Database) ExecuteCreateTable(createTable *Table) error + func (database *Database) ExecuteDeleteTable(deleteTable *Table) error + func (database *Database) ExecuteDropTable(dropTable *Table) (err error) + func (database *Database) QueryTableIndexCount(table *Table) (indexLast int64, err error) + func (database *Database) QueryTableIndexLast(table *Table) (indexLast int64, err error) + func (database *Database) QueryValue(request BuilderWithResponse) (response interface{}, err error) + func (database *Database) RegisterTable(tableName string, tableStruct interface{}) (table *Table, err error) + type Scheme interface + Export func() error + Import func() error + Migration func(*Table, *SchemeStorageTable, *SchemeStorageTable) error + RegisterTable func(string, interface{}) (*Table, error) + SchemeRegister func(*Database) error + func NewSchemeDatabase(storageName string, storageVersion int64) Scheme + type SchemeStorageStable SchemeStorageV1 + func (fieldUnit *SchemeStorageStable) GetHash() string + type SchemeStorageTable struct + FieldMap map[string]*SchemeStorageStable + LocalTableName string + RemoteTableName string + SchemeHeader string + SchemeVersion int64 + func SchemeHelperTableToFieldMap(schemeHeader string, schemeVersion int64, table *Table) (*SchemeStorageTable, error) + func (fieldMap *SchemeStorageTable) GetHash() string + type SchemeStorageV1 struct + FieldInUniqueGroup *string + FieldIndex int + FieldIsAutoIncrement bool + FieldIsNotNull bool + FieldIsPrimaryKey bool + FieldValueCheck *string + FieldValueDefault *string + LocalFieldName string + LocalFieldType string + LocalTableName string + RemoteFieldName string + RemoteFieldType string + RemoteTableName string + SchemeHeader string + SchemeVersion int64 + type Table struct + func NewTable(tableName string, tableStruct interface{}) (table *Table, err error) + func (table *Table) GetAutoIncrement() (autoIncrementArray *TableField) + func (table *Table) GetFieldByGoName(fieldGoName string) (tableField *TableField) + func (table *Table) GetFieldByIndex(fieldIndex int) (tableField *TableField) + func (table *Table) GetFieldBySqlName(fieldSqlName string) (tableField *TableField) + func (table *Table) GetGoFieldNameArray() (goFieldNameArray []string) + func (table *Table) GetGoName() (goName string) + func (table *Table) GetGoType() (goType reflect.Type) + func (table *Table) GetPrimaryKeyArray() (primaryKeyArray []*TableField) + func (table *Table) GetSqlFieldNameArray() (sqlFieldNameArray []string) + func (table *Table) GetSqlName() (sqlName string) + func (table *Table) GetStruct(tableStruct interface{}) (tableStructPtr interface{}, fieldArrayPtr []interface{}, err error) + func (table *Table) GetUniqueArray(uniqueName string) (uniqueArray []*TableField) + func (table *Table) GetUniqueNameArray() (uniqueNameArray []string) + type TableField struct + func (field *TableField) GetGoIndex() (goIndex int) + func (field *TableField) GetGoName() (goName string) + func (field *TableField) GetGoType() (goType reflect.Kind) + func (field *TableField) GetSqlIndex() (sqlIndex int) + func (field *TableField) GetSqlName() (sqlName string) + func (field *TableField) GetSqlType() (sqlType string) + func (field *TableField) InUniqueGroup() *string + func (field *TableField) IsAutoIncrement() bool + func (field *TableField) IsNotNull() bool + func (field *TableField) IsPrimaryKey() bool + func (field *TableField) ValueCheck() *string + func (field *TableField) ValueDefault() *string + type Transaction struct + func NewTransaction(transport Transport) (*Transaction, error) + func (transaction *Transaction) Commit() error + func (transaction *Transaction) Execute(builderRequest Builder) error + func (transaction *Transaction) ExecuteCreateTable(createTable *Table) error + func (transaction *Transaction) ExecuteDeleteTable(deleteTable *Table) error + func (transaction *Transaction) ExecuteDropTable(dropTable *Table) (err error) + func (transaction *Transaction) ExecuteInsertValue(insertTable *Table, insertValueArray ...interface{}) (err error) + func (transaction *Transaction) ExecuteReplaceValue(replaceTable *Table, replaceValueArray ...interface{}) (err error) + func (transaction *Transaction) ExecuteUpdateValue(updateBuilder *BuilderUpdate) (err error) + func (transaction *Transaction) GetChangeCount() int64 + func (transaction *Transaction) GetError() error + func (transaction *Transaction) GetIndexLast() int64 + func (transaction *Transaction) Query(builderRequest BuilderWithResponse) (interface{}, error) + func (transaction *Transaction) Rollback() error + type Transport interface + Close func() error + Execute func(Builder) error + Lock func() + LockSqlDb func() *sql.DB + LockSqlTx func() *sql.Tx + Open func() error + Query func(BuilderWithResponse) (interface{}, error) + TransactionCommit func() error + TransactionExecute func(Builder) error + TransactionOpen func() (*Transaction, error) + TransactionQuery func(BuilderWithResponse) (interface{}, error) + TransactionRollback func() error + TransactionStatus func() (int64, int64, error) + TransportRegister func(*Database) error + Unlock func() + func NewTransportSimple(sqlDriver string, sqlSource string) Transport