dm

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package dm implements the storage of Dameng database

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSource

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

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

func Quoted

func Quoted(s string) string

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 DM database configuration

func NewConfig

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

NewConfig creates a DM database 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 generates data source connection information

type Dialect

type Dialect struct{}

Dialect represents the database dialect for DM

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 a DM data source

type Field

type Field struct {
	*database.BaseField
	database.BaseConfigSetter
}

Field represents a field in a DM 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 is the SQL placeholder used in SQL statements.

func (*Field) Quoted

func (f *Field) Quoted() string

Quoted is used for quoting in SQL statements.

func (*Field) Scanner

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

Scanner is 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 basic type of Go.

func (*FieldType) IsSupported

func (f *FieldType) IsSupported() bool

IsSupported Whether it supports parsing

type Scanner

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

Scanner represents a scanner for reading data from a DM database.

func NewScanner

func NewScanner(f *Field) *Scanner

NewScanner creates a scanner based on a field.

func (*Scanner) Scan

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

Scan converts data from the database to the corresponding value based on the field type.

type Source

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

Source DM refers to the DM data source

func (*Source) ConnectName

func (s *Source) ConnectName() string

ConnectName is the connection information for the DM data source

func (*Source) DriverName

func (s *Source) DriverName() string

DriverName is the driver name for gitee.com/chunanyong/dm

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 DM

type Table

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

Table represents a DM table.

func NewTable

func NewTable(b *database.BaseTable) *Table

NewTable creates a new DM table. Note that at this point, the schema parameter in BaseTable refers to the schema name, 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

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

Jump to

Keyboard shortcuts

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