sqlserver

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package sqlserver implements the Dialect for SQL Server databases, supporting MSSQL 2005+ corresponding databases.

Index

Constants

View Source
const WriteModeCopyIn = "copyIn"

WriteModeCopyIn represents the copy in write mode.

Variables

This section is empty.

Functions

func NewSource

func NewSource(bs *database.BaseSource) (s database.Source, err error)

NewSource generates an MSSQL data source and will report an error if there's an issue with the configuration file

func Quoted

func Quoted(s string) string

Quoted is the quoting function for MySQL (Note: This line seems inconsistent with the context, as it mentions MySQL while the surrounding text is about MSSQL. It might be a mistake or needs clarification.)

Types

type Config

type Config struct {
	URL      string `json:"url"`      // Database URL, including the database address and other database parameters
	Username string `json:"username"` // Username
	Password string `json:"password"` // Password
}

Config is the MSSQL configuration

func NewConfig

func NewConfig(conf *config.JSON) (c *Config, err error)

NewConfig creates an MSSQL configuration and will report an error if the format does not meet the requirements

func (*Config) FormatDSN

func (c *Config) FormatDSN() (dsn string, err error)

FormatDSN retrieves the database connection information

type CopyInParam

type CopyInParam struct {
	*database.BaseParam
}

CopyInParam represents the parameters for the copy in operation.

func NewCopyInParam

func NewCopyInParam(t database.Table, txOpts *sql.TxOptions) *CopyInParam

NewCopyInParam creates copy-in parameters based on the table and transaction options (txOpts).

func (*CopyInParam) Agrs

func (ci *CopyInParam) Agrs(records []element.Record) (valuers []any, err error)

Agrs generates a batch of copy in parameters based on multiple records.

func (*CopyInParam) Query

func (ci *CopyInParam) Query(_ []element.Record) (query string, err error)

Query generates a batch of copy in SQL statements for insertion.

type Dialect

type Dialect struct{}

Dialect represents the database dialect for MSSQL

func (Dialect) Name

func (d Dialect) Name() string

Name is the registered name of the database dialect

func (Dialect) Source

func (d Dialect) Source(bs *database.BaseSource) (database.Source, error)

Source generates an MSSQL data source

type Field

type Field struct {
	database.BaseConfigSetter

	*database.BaseField
}

Field - Represents a field in a database table.

func NewField

func NewField(bf *database.BaseField) *Field

NewField - Generates a field based on basic column attributes.

func (*Field) BindVar

func (f *Field) BindVar(i int) string

BindVar - SQL placeholder used in SQL statements.

func (*Field) Quoted

func (f *Field) Quoted() string

Quoted - Used for quoting in SQL statements.

func (*Field) Scanner

func (f *Field) Scanner() database.Scanner

Scanner - Used for reading data from a field.

func (*Field) Select

func (f *Field) Select() string

Select - Represents a field for querying purposes in SQL query statements.

func (*Field) Type

func (f *Field) Type() database.FieldType

Type - Represents the type of the field.

func (*Field) Valuer

func (f *Field) Valuer(c element.Column) database.Valuer

Valuer - Handles data processing using GoValuer.

type FieldType

type FieldType struct {
	*database.BaseFieldType
	// contains filtered or unexported fields
}

FieldType - Represents the type of a field.

func NewFieldType

func NewFieldType(typ database.ColumnType) *FieldType

NewFieldType - Creates a new field type.

func (*FieldType) GoType

func (f *FieldType) GoType() database.GoType

GoType - Returns the Golang type used when processing numerical values.

func (*FieldType) IsSupported added in v0.1.8

func (f *FieldType) IsSupported() bool

IsSupported - Indicates whether parsing is supported for a specific type.

type Scanner

type Scanner struct {
	database.BaseScanner
	// contains filtered or unexported fields
}

Scanner - A scanner used for reading data based on the column type.

func NewScanner

func NewScanner(f *Field) *Scanner

NewScanner - Generates a scanner based on the column type.

func (*Scanner) Scan

func (s *Scanner) Scan(src any) (err error)

Scan - Reads data from a column based on its type.

type Source

type Source struct {
	*database.BaseSource // Basic data source
	// contains filtered or unexported fields
}

Source mssql refers to the MSSQL data source

func (*Source) ConnectName

func (s *Source) ConnectName() string

ConnectName is the connection information for the MSSQL data source using github.com/microsoft/go-mssqldb

func (*Source) DriverName

func (s *Source) DriverName() string

DriverName is the driver name for github.com/microsoft/go-mssqldb

func (*Source) Key

func (s *Source) Key() string

Key is a keyword for the data source, used for reuse by DBWrapper

func (*Source) Table

func (s *Source) Table(b *database.BaseTable) database.Table

Table generates a table for MSSQL

type Table

type Table struct {
	database.BaseConfigSetter
	*database.BaseTable
}

Table represents an MSSQL table.

func NewTable

func NewTable(b *database.BaseTable) *Table

NewTable creates a new MSSQL table. Note that at this point, the schema parameter in BaseTable is empty, instance is the database name, and name is the table name.

func (*Table) AddField

func (t *Table) AddField(baseField *database.BaseField)

AddField adds a new column to the table.

func (*Table) ExecParam

func (t *Table) ExecParam(mode string, txOpts *sql.TxOptions) (database.Parameter, bool)

ExecParam retrieves execution parameters, where the replace into parameter mode has been registered.

func (*Table) Quoted

func (t *Table) Quoted() string

Quoted refers to the fully qualified name of the table.

func (*Table) ShouldOneByOne

func (t *Table) ShouldOneByOne(err error) bool

ShouldOneByOne specifies whether to retry one operation at a time.

func (*Table) ShouldRetry

func (t *Table) ShouldRetry(err error) bool

ShouldRetry determines whether a retry is necessary.

func (*Table) String

func (t *Table) String() string

type Valuer

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

Valuer - Assigns values to a field.

func NewValuer

func NewValuer(f *Field, c element.Column) *Valuer

NewValuer - Creates a new valuer.

func (*Valuer) Value

func (v *Valuer) Value() (driver.Value, error)

Value - Represents the value assigned to a field.

Jump to

Keyboard shortcuts

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