Documentation
¶
Index ¶
- Variables
- func SqlFieldValueToString(goType reflect.Kind, reflectValue reflect.Value) (valueString string, err error)
- type Builder
- type 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
- 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
- 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
- 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
- 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
- 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
- type BuilderWithResponse
- type Database
- 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
- type SchemeStorageStable
- type SchemeStorageTable
- type SchemeStorageV1
- type Table
- 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
- 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
- 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
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrorTableFieldMustHaveATable = fmt.Errorf("table: field must have a table") ErrorTableReferenceIsNil = fmt.Errorf("table: reference is nil") ErrorTableReferenceIsUnsupported = fmt.Errorf("table: reference is unsupported") ErrorTableReferenceIsUncorrected = fmt.Errorf("table: reference is uncorrected") )
View Source
var ( ErrorBuilderMustHaveATable = fmt.Errorf("builder: must have a table") ErrorBuilderMustHaveATableWithName = fmt.Errorf("builder: must have a table with name") ErroroBuilderTableHasUnsupportedReferense = fmt.Errorf("builder: table has is unsupported reference") )
View Source
var ( ErrorGenericInvalidArgument = fmt.Errorf("generic: invalid argument") ErrorTableIsNil = fmt.Errorf("table: is nil") ErrorTableMustHaveAutoincrement = fmt.Errorf("table: must have AUTO_INCREMENT") ErrorBuilderIsNil = fmt.Errorf("builder: is nil") ErrorBuilderWithoutResponse = fmt.Errorf("builder: without response") ErrorResponseLessThanRequested = fmt.Errorf("response: less than requested") ErrorResponseMoreThanRequested = fmt.Errorf("response: less than requested") ErrorDatabaseIsNil = fmt.Errorf("database: is nil") ErrorDatabaseIsAlreadyHasTransport = fmt.Errorf("database: is already has transpport") ErrorTransportIsNil = fmt.Errorf("transport: is nil") ErrorTransportIsAlreadyOpened = fmt.Errorf("transport: is already opened") ErrorTransportIsAlreadyClosed = fmt.Errorf("transport: is already closed") ErrorTransportMustHaveDatabase = fmt.Errorf("transport: must have database") ErrorTransactionIsAlreadyOpened = fmt.Errorf("transaction: is already opened") ErrorTransactionIsAlreadyClosed = fmt.Errorf("transaction: is already closed") ErrorSchemeIsNil = fmt.Errorf("scheme: is nil") ErrorSchemeMustHaveTable = fmt.Errorf("scheme: must have table") ErrorSchemeMustHaveDatabase = fmt.Errorf("scheme: must have database") ErrorSchemeTransactionIsAlreadyOpened = fmt.Errorf("scheme: transaction is already opened") ErrorSchemeTransactionIsAlreadyClosed = fmt.Errorf("scheme: transaction is already closed") ErrorSchemeTransactionHasUnknownState = fmt.Errorf("scheme: transaction has unknown state") ErrorSchemeHasUnsupportedStruct = fmt.Errorf("scheme: has unsupported struct") ErrorSchemeHasUnsupportedHeader = fmt.Errorf("scheme: has unsupported header") ErrorSchemeMigrationIsLimitedByVersion = fmt.Errorf("scheme: migration is limited by version") )
View Source
var ( TransactionInsertBlock int64 = 10 TransactionReplaceBlock int64 = 10 )
Functions ¶
Types ¶
type BuilderCreate ¶
type BuilderCreate struct {
// contains filtered or unexported fields
}
func NewBuilderCreate ¶
func NewBuilderCreate(createTable *Table) *BuilderCreate
func (*BuilderCreate) Build ¶
func (builder *BuilderCreate) Build() (result string, option []interface{}, err error)
func (*BuilderCreate) Create ¶
func (builder *BuilderCreate) Create(createTable *Table) *BuilderCreate
func (*BuilderCreate) CreateName ¶
func (builder *BuilderCreate) CreateName(createName string) *BuilderCreate
func (*BuilderCreate) IfNotExists ¶
func (builder *BuilderCreate) IfNotExists(value bool) *BuilderCreate
func (*BuilderCreate) SetDialect ¶
func (builder *BuilderCreate) SetDialect(sqlDialect string)
type BuilderDelete ¶
type BuilderDelete struct {
// contains filtered or unexported fields
}
func NewBuilderDelete ¶
func NewBuilderDelete(deleteTable *Table) *BuilderDelete
func (*BuilderDelete) Build ¶
func (builder *BuilderDelete) Build() (result string, option []interface{}, err error)
func (*BuilderDelete) Delete ¶
func (builder *BuilderDelete) Delete(deleteTable *Table) *BuilderDelete
func (*BuilderDelete) SqlDialect ¶
func (builder *BuilderDelete) SqlDialect(sqlDialect string) *BuilderDelete
func (*BuilderDelete) Where ¶
func (builder *BuilderDelete) Where(whereStringArray ...string) *BuilderDelete
type BuilderInsert ¶
type BuilderInsert struct {
// contains filtered or unexported fields
}
func NewBuilderInsert ¶
func NewBuilderInsert(insertTable *Table) *BuilderInsert
func (*BuilderInsert) Build ¶
func (builder *BuilderInsert) Build() (result string, option []interface{}, err error)
func (*BuilderInsert) Insert ¶
func (builder *BuilderInsert) Insert(insertTable *Table) *BuilderInsert
func (*BuilderInsert) SqlDialect ¶
func (builder *BuilderInsert) SqlDialect(sqlDialect string) *BuilderInsert
func (*BuilderInsert) Value ¶
func (builder *BuilderInsert) Value(insertValue ...interface{}) *BuilderInsert
type BuilderReplace ¶
type BuilderReplace struct {
// contains filtered or unexported fields
}
func NewBuilderReplace ¶
func NewBuilderReplace(replaceTable *Table) *BuilderReplace
func (*BuilderReplace) Build ¶
func (builder *BuilderReplace) Build() (result string, option []interface{}, err error)
func (*BuilderReplace) Replace ¶
func (builder *BuilderReplace) Replace(replaceTable *Table) *BuilderReplace
func (*BuilderReplace) SqlDialect ¶
func (builder *BuilderReplace) SqlDialect(sqlDialect string) *BuilderReplace
func (*BuilderReplace) Value ¶
func (builder *BuilderReplace) Value(replaceValue ...interface{}) *BuilderReplace
type BuilderSelect ¶
type BuilderSelect struct {
// contains filtered or unexported fields
}
func NewBuilderSelect ¶
func NewBuilderSelect(selectTable *Table) (selectBuilder *BuilderSelect)
func (*BuilderSelect) Build ¶
func (builder *BuilderSelect) Build() (result string, option []interface{}, err error)
func (*BuilderSelect) Distinct ¶
func (builder *BuilderSelect) Distinct(value bool) *BuilderSelect
func (*BuilderSelect) FromSelect ¶
func (builder *BuilderSelect) FromSelect(fromSelectArray ...*BuilderSelect) *BuilderSelect
func (*BuilderSelect) FromTable ¶
func (builder *BuilderSelect) FromTable(fromTableArray ...*Table) *BuilderSelect
func (*BuilderSelect) GetResponseTable ¶
func (builder *BuilderSelect) GetResponseTable() *Table
func (*BuilderSelect) GetStruct ¶
func (builder *BuilderSelect) GetStruct(tableStruct interface{}) (tableStructPtr interface{}, fieldArrayPtr []interface{}, err error)
func (*BuilderSelect) GetType ¶
func (builder *BuilderSelect) GetType() reflect.Type
func (*BuilderSelect) Select ¶
func (builder *BuilderSelect) Select(selectTable *Table) *BuilderSelect
func (*BuilderSelect) Where ¶
func (builder *BuilderSelect) Where(whereStringArray ...string) *BuilderSelect
type BuilderUpdate ¶
type BuilderUpdate struct {
// contains filtered or unexported fields
}
func NewBuilderUpdate ¶
func NewBuilderUpdate(updateTable *Table) *BuilderUpdate
func (*BuilderUpdate) Build ¶
func (builder *BuilderUpdate) Build() (result string, option []interface{}, err error)
func (*BuilderUpdate) Set ¶
func (builder *BuilderUpdate) Set(setStringArray ...string) *BuilderUpdate
func (*BuilderUpdate) SqlDialect ¶
func (builder *BuilderUpdate) SqlDialect(sqlDialect string) *BuilderUpdate
func (*BuilderUpdate) Update ¶
func (builder *BuilderUpdate) Update(updateTable *Table) *BuilderUpdate
func (*BuilderUpdate) Where ¶
func (builder *BuilderUpdate) Where(whereStringArray ...string) *BuilderUpdate
type BuilderWithDialect ¶
type BuilderWithResponse ¶
type Database ¶
type Database struct { Transport // contains filtered or unexported fields }
func (*Database) ExecuteCreateTable ¶
func (*Database) ExecuteDeleteTable ¶
func (*Database) ExecuteDropTable ¶
func (*Database) QueryTableIndexCount ¶
func (*Database) QueryTableIndexLast ¶
func (*Database) QueryValue ¶
func (database *Database) QueryValue(request BuilderWithResponse) (response interface{}, err error)
type Scheme ¶
type Scheme interface { SchemeRegister(*Database) error Import() error Export() error Migration(*Table, *SchemeStorageTable, *SchemeStorageTable) error RegisterTable(string, interface{}) (*Table, error) }
func NewSchemeDatabase ¶
type SchemeStorageStable ¶
type SchemeStorageStable SchemeStorageV1
func (*SchemeStorageStable) GetHash ¶
func (fieldUnit *SchemeStorageStable) GetHash() string
type SchemeStorageTable ¶
type SchemeStorageTable struct { SchemeHeader string SchemeVersion int64 LocalTableName string RemoteTableName string FieldMap map[string]*SchemeStorageStable }
func SchemeHelperTableToFieldMap ¶
func SchemeHelperTableToFieldMap(schemeHeader string, schemeVersion int64, table *Table) (*SchemeStorageTable, error)
func (*SchemeStorageTable) GetHash ¶
func (fieldMap *SchemeStorageTable) GetHash() string
type SchemeStorageV1 ¶
type SchemeStorageV1 struct { SchemeHeader string `sql:"NAME=scheme_header | NOT_NULL" json:"-"` SchemeVersion int64 `sql:"NAME=scheme_version | NOT_NULL" json:"-"` LocalTableName string `sql:"NAME=local_table_name" json:"-"` RemoteTableName string `sql:"NAME=remote_table_name | TYPE=VARCHAR(256) | PRIMARY_KEY"` LocalFieldName string `sql:"NAME=local_field_name" json:"-"` RemoteFieldName string `sql:"NAME=remote_field_name | TYPE=VARCHAR(256) | PRIMARY_KEY"` LocalFieldType string `sql:"NAME=local_field_type" json:"-"` RemoteFieldType string `sql:"NAME=remote_field_type"` FieldIndex int `sql:"NAME=field_index"` FieldIsPrimaryKey bool `sql:"NAME=field_is_primarykey"` FieldIsAutoIncrement bool `sql:"NAME=field_is_autoincrement"` FieldIsNotNull bool `sql:"NAME=field_is_notnull"` FieldInUniqueGroup *string `sql:"NAME=field_in_uniquegroup"` FieldValueDefault *string `sql:"NAME=field_value_default"` FieldValueCheck *string `sql:"NAME=field_value_check"` }
type Table ¶
type Table struct {
// contains filtered or unexported fields
}
func (*Table) GetAutoIncrement ¶
func (table *Table) GetAutoIncrement() (autoIncrementArray *TableField)
func (*Table) GetFieldByGoName ¶
func (table *Table) GetFieldByGoName(fieldGoName string) (tableField *TableField)
func (*Table) GetFieldByIndex ¶
func (table *Table) GetFieldByIndex(fieldIndex int) (tableField *TableField)
func (*Table) GetFieldBySqlName ¶
func (table *Table) GetFieldBySqlName(fieldSqlName string) (tableField *TableField)
func (*Table) GetGoFieldNameArray ¶
func (*Table) GetPrimaryKeyArray ¶
func (table *Table) GetPrimaryKeyArray() (primaryKeyArray []*TableField)
func (*Table) GetSqlFieldNameArray ¶
func (*Table) GetSqlName ¶
func (*Table) GetUniqueArray ¶
func (table *Table) GetUniqueArray(uniqueName string) (uniqueArray []*TableField)
func (*Table) GetUniqueNameArray ¶
type TableField ¶
type TableField struct {
// contains filtered or unexported fields
}
func (*TableField) GetGoIndex ¶
func (field *TableField) GetGoIndex() (goIndex int)
func (*TableField) GetGoName ¶
func (field *TableField) GetGoName() (goName string)
func (*TableField) GetGoType ¶
func (field *TableField) GetGoType() (goType reflect.Kind)
func (*TableField) GetSqlIndex ¶
func (field *TableField) GetSqlIndex() (sqlIndex int)
func (*TableField) GetSqlName ¶
func (field *TableField) GetSqlName() (sqlName string)
func (*TableField) GetSqlType ¶
func (field *TableField) GetSqlType() (sqlType string)
func (*TableField) InUniqueGroup ¶
func (field *TableField) InUniqueGroup() *string
func (*TableField) IsAutoIncrement ¶
func (field *TableField) IsAutoIncrement() bool
func (*TableField) IsNotNull ¶
func (field *TableField) IsNotNull() bool
func (*TableField) IsPrimaryKey ¶
func (field *TableField) IsPrimaryKey() bool
func (*TableField) ValueCheck ¶
func (field *TableField) ValueCheck() *string
func (*TableField) ValueDefault ¶
func (field *TableField) ValueDefault() *string
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
func NewTransaction ¶
func NewTransaction(transport Transport) (*Transaction, error)
func (*Transaction) Commit ¶
func (transaction *Transaction) Commit() error
func (*Transaction) Execute ¶
func (transaction *Transaction) Execute(builderRequest Builder) error
func (*Transaction) ExecuteCreateTable ¶
func (transaction *Transaction) ExecuteCreateTable(createTable *Table) error
func (*Transaction) ExecuteDeleteTable ¶
func (transaction *Transaction) ExecuteDeleteTable(deleteTable *Table) error
func (*Transaction) ExecuteDropTable ¶
func (transaction *Transaction) ExecuteDropTable(dropTable *Table) (err error)
func (*Transaction) ExecuteInsertValue ¶
func (transaction *Transaction) ExecuteInsertValue(insertTable *Table, insertValueArray ...interface{}) (err error)
func (*Transaction) ExecuteReplaceValue ¶
func (transaction *Transaction) ExecuteReplaceValue(replaceTable *Table, replaceValueArray ...interface{}) (err error)
func (*Transaction) ExecuteUpdateValue ¶
func (transaction *Transaction) ExecuteUpdateValue(updateBuilder *BuilderUpdate) (err error)
func (*Transaction) GetChangeCount ¶
func (transaction *Transaction) GetChangeCount() int64
func (*Transaction) GetError ¶
func (transaction *Transaction) GetError() error
func (*Transaction) GetIndexLast ¶
func (transaction *Transaction) GetIndexLast() int64
func (*Transaction) Query ¶
func (transaction *Transaction) Query(builderRequest BuilderWithResponse) (interface{}, error)
func (*Transaction) Rollback ¶
func (transaction *Transaction) Rollback() error
type Transport ¶
type Transport interface { Lock() LockSqlDb() *sql.DB LockSqlTx() *sql.Tx Unlock() TransportRegister(*Database) error Open() error Close() error Execute(Builder) error Query(BuilderWithResponse) (interface{}, error) TransactionOpen() (*Transaction, error) TransactionCommit() error TransactionRollback() error TransactionStatus() (int64, int64, error) TransactionExecute(Builder) error TransactionQuery(BuilderWithResponse) (interface{}, error) }
func NewTransportSimple ¶
Click to show internal directories.
Click to hide internal directories.