connection

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EvaluateFunction added in v0.1.5

func EvaluateFunction(function *xpr.FunctionNode, command *strings.Builder, eval func(interface{}) error) (bool, error)

EvaluateFunction function node evaluation which should work on all databases

Types

type IConnectionInfo

type IConnectionInfo interface {

	// EvaluateParameter - literal used to specify parameters
	//
	// **Parameters**
	//   - function: function to evaluate
	//   - command: command to write evaluation result to
	EvaluateParameter(parameter *xpr.ParameterNode, command *strings.Builder)

	// MaskColumn masks a column for use in an sql statement
	//
	// **Parameters**
	//   - name: name of column to mask
	//
	// **Returns**
	//   - string: masked column name
	MaskColumn(name string) string

	// GetDatabaseType get type used in database
	//
	// **Parameters**
	//   - type: application data type
	//
	// **Returns**
	//   - string: database type name
	GetDatabaseType(datatype reflect.Type) string

	// EvaluateFunction evaluates representation of a function in database
	//
	// **Parameters**
	//   - function: function to evaluate
	//   - command: command to write evaluation result to
	EvaluateFunction(function *xpr.FunctionNode, command *strings.Builder, eval func(interface{}) error) error

	// ExistsTableOrView determines whether a table exists in database
	//
	// **Parameters**
	//   - connection: connection to database
	//   - name: name of table or view
	//
	// **Returns**
	//   - bool: true if table or view exists, false otherwise
	ExistsTableOrView(connection *sql.DB, name string) (bool, error)

	// CreateColumn creates sql text to use when creating a column
	//
	// **Parameters**
	//   - column:  column to create
	//   - command: command builder string
	CreateColumn(column *models.ColumnDescriptor, command *strings.Builder)

	// GetSchema get schema of a table or view in database
	//
	// **Parameters**
	//   - connection: connection to database
	//   - name: name of table or view
	//
	// **Returns**
	//   - *Schema: schema information retrieved from database
	//   - error: error information if any error occured
	GetSchema(connection *sql.DB, name string) (models.Schema, error)

	// GetSchemas get all schemas in database
	//
	// **Parameters**
	//   - connection: connection of which to retrieve schematas
	//
	// **Returns**
	//   - []Schema: schemas in database
	//   - error   : errors if any occured
	GetSchemas(connection *sql.DB) ([]models.Schema, error)

	// Adds statement to command which returns identity of last inserted row
	ReturnIdentity(command *strings.Builder) string
}

IConnectionInfo - database driver specific information

type SQLServerInfo added in v0.1.1

type SQLServerInfo struct {
}

SQLServerInfo - ms sql server specific information

func (*SQLServerInfo) CreateColumn added in v0.1.1

func (info *SQLServerInfo) CreateColumn(column *models.ColumnDescriptor, command *strings.Builder)

CreateColumn creates sql text to use when creating a column

**Parameters**

  • column: column to create
  • command: command builder string

func (*SQLServerInfo) EvaluateFunction added in v0.1.1

func (info *SQLServerInfo) EvaluateFunction(function *xpr.FunctionNode, command *strings.Builder, eval func(interface{}) error) error

EvaluateFunction evaluates representation of a function in database

**Parameters**

  • function: function to evaluate
  • command: command to write evaluation result to

func (*SQLServerInfo) EvaluateParameter added in v0.1.1

func (info *SQLServerInfo) EvaluateParameter(parameter *xpr.ParameterNode, command *strings.Builder)

EvaluateParameter - literal used to specify parameters

**Parameters**

  • function: function to evaluate
  • command: command to write evaluation result to

func (*SQLServerInfo) ExistsTableOrView added in v0.1.1

func (info *SQLServerInfo) ExistsTableOrView(connection *sql.DB, name string) (bool, error)

ExistsTableOrView determines whether a table exists in database

**Parameters**

  • connection: connection to database
  • name: name of table or view

**Returns**

  • bool: true if table or view exists, false otherwise

func (*SQLServerInfo) GetDatabaseType added in v0.1.1

func (info *SQLServerInfo) GetDatabaseType(datatype reflect.Type) string

GetDatabaseType get type used in database

**Parameters**

  • type: application data type

**Returns**

  • string: database type name

func (*SQLServerInfo) GetSchema added in v0.1.1

func (info *SQLServerInfo) GetSchema(connection *sql.DB, name string) (models.Schema, error)

GetSchema get schema of a table or view in database

**Parameters**

  • connection: connection to database
  • name: name of table or view

**Returns**

  • *Schema: schema information retrieved from database
  • error: error information if any error occured

func (*SQLServerInfo) GetSchemas added in v0.1.1

func (info *SQLServerInfo) GetSchemas(connection *sql.DB) ([]models.Schema, error)

GetSchemas get all schemas in database

**Parameters**

  • connection: connection of which to retrieve schematas

**Returns**

  • []Schema: schemas in database
  • error : errors if any occured

func (*SQLServerInfo) MaskColumn added in v0.1.1

func (info *SQLServerInfo) MaskColumn(name string) string

MaskColumn masks a column for use in an sql statement

**Parameters**

  • name: name of column to mask

**Returns**

  • string: masked column name

func (*SQLServerInfo) ReturnIdentity added in v0.1.5

func (info *SQLServerInfo) ReturnIdentity(command *strings.Builder) string

ReturnIdentity adds a statement to command which returns identity of last inserted row

**Parameters**

  • command: statement to modify

type SchemaModel

type SchemaModel struct {
	SchemaType string `database:"column=type"`
	TableName  string `database:"column=tbl_name"`
	SQL        string
}

SchemaModel model of a schema in database

type SqliteInfo

type SqliteInfo struct {
}

SqliteInfo - sqlite specific information

func NewSqliteInfo

func NewSqliteInfo() *SqliteInfo

NewSqliteInfo creates a new sqlite info

**Returns**

  • *SqliteInfo: created sqlite connection info

func (*SqliteInfo) CreateColumn

func (info *SqliteInfo) CreateColumn(column *models.ColumnDescriptor, command *strings.Builder)

CreateColumn creates sql text to use when creating a column

**Parameters**

  • column: column to create
  • command: command builder string

func (*SqliteInfo) EvaluateFunction

func (info *SqliteInfo) EvaluateFunction(function *xpr.FunctionNode, command *strings.Builder, eval func(interface{}) error) error

EvaluateFunction evaluates representation of a function in database

**Parameters**

  • function: function to evaluate
  • command: command to write evaluation result to

func (*SqliteInfo) EvaluateParameter added in v0.1.1

func (info *SqliteInfo) EvaluateParameter(parameter *xpr.ParameterNode, command *strings.Builder)

EvaluateParameter - literal used to specify parameters

**Parameters**

  • function: function to evaluate
  • command: command to write evaluation result to

func (*SqliteInfo) ExistsTableOrView

func (info *SqliteInfo) ExistsTableOrView(connection *sql.DB, name string) (bool, error)

ExistsTableOrView determines whether a table exists in database

**Parameters**

  • connection: connection to database
  • name: name of table or view

**Returns**

  • bool: true if table or view exists, false otherwise

func (*SqliteInfo) GetDatabaseType

func (info *SqliteInfo) GetDatabaseType(datatype reflect.Type) string

GetDatabaseType get type used in database

**Parameters**

  • type: application data type

**Returns**

  • string: database type name

func (*SqliteInfo) GetSchema

func (info *SqliteInfo) GetSchema(connection *sql.DB, name string) (models.Schema, error)

GetSchema get schema of a table or view in database

**Parameters**

  • connection: connection to database
  • name: name of table or view

**Returns**

  • *Schema: schema information retrieved from database
  • error: error information if any error occured

func (*SqliteInfo) GetSchemas

func (info *SqliteInfo) GetSchemas(connection *sql.DB) ([]models.Schema, error)

GetSchemas get all schemas in database

**Parameters**

  • connection: connection of which to retrieve schematas

**Returns**

  • []Schema: schemas in database
  • error : errors if any occured

func (*SqliteInfo) MaskColumn

func (info *SqliteInfo) MaskColumn(name string) string

MaskColumn masks a column for use in an sql statement

**Parameters**

  • name: name of column to mask

**Returns**

  • string: masked column name

func (*SqliteInfo) ReturnIdentity added in v0.1.5

func (info *SqliteInfo) ReturnIdentity(command *strings.Builder) string

ReturnIdentity adds a statement to command which returns identity of last inserted row

**Parameters**

  • command: statement to modify

Jump to

Keyboard shortcuts

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