common

package
v0.0.0-...-520020e Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2026 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrorInfoDomain = "peerdb.io"

	ErrorInfoReasonMirror                 = "MIRROR"
	ErrorInfoReasonSourceTableMissing     = "SOURCE_TABLE_MISSING"
	ErrorInfoReasonTablesNotInPublication = "TABLES_NOT_IN_PUBLICATION"

	ErrorMetadataOffendingField = "offendingField"
	ErrorMetadataPublication    = "publication"
)

gRPC ErrorInfo constants

View Source
const OrgIdTag = "org_id"
View Source
const PipeIdTag = "pipe_id"
View Source
const PipeNameTag = "pipe_name"
View Source
const ServiceIdTag = "service_id"

Variables

This section is empty.

Functions

func CreateTlsConfig

func CreateTlsConfig(minVersion uint16, rootCAs *string, host string, tlsHost string, skipCertVerification bool) (*tls.Config, error)

func CreateTlsConfigFromRootCAString

func CreateTlsConfigFromRootCAString(minVersion uint16, rootCAs string, host string, tlsHost string, skipCertVerification bool) (*tls.Config, error)

CreateTlsConfigFromRootCAString adapts CreateTlsConfig for callers that pass rootCAs as a string rather than *string (e.g. mongo ClientConfig). Empty string is treated as no custom CA.

func HeartbeatRoutine

func HeartbeatRoutine(
	ctx context.Context,
	message func() string,
) func()

func Interval

func Interval(
	ctx context.Context,
	freq time.Duration,
	fn func(),
) func()

func QuoteIdentifier

func QuoteIdentifier(name string) string

QuoteIdentifier quotes an "identifier" (e.g. a table or a column name) to be used as part of an SQL statement. For example:

tblname := "my_table"
data := "my_data"
quoted := common.QuoteIdentifier(tblname)
err := db.Exec(fmt.Sprintf("INSERT INTO %s VALUES ($1)", quoted), data)

Any double quotes in name will be escaped. The quoted identifier will be case-sensitive when used in a query. If the input string contains a zero byte, the result will be truncated immediately before it.

func QuoteMySQLIdentifier

func QuoteMySQLIdentifier(name string) string

Types

type QualifiedTable

type QualifiedTable struct {
	Namespace string // schema in PG, database in MySQL/Mongo
	Table     string // table or collection
}

func ParseTableIdentifier

func ParseTableIdentifier(tableIdentifier string) (*QualifiedTable, error)

ParseTableIdentifier parses a table name into namespace and table name.

func (QualifiedTable) MySQL

func (t QualifiedTable) MySQL() string

func (QualifiedTable) String

func (t QualifiedTable) String() string

type SourceTablesMissingError

type SourceTablesMissingError struct {
	Tables []QualifiedTable
}

func NewSourceTablesMissingError

func NewSourceTablesMissingError(tables []QualifiedTable) *SourceTablesMissingError

func (*SourceTablesMissingError) Error

func (e *SourceTablesMissingError) Error() string

type TablesNotInPublicationError

type TablesNotInPublicationError struct {
	Tables      []QualifiedTable
	Publication string
}

func NewTablesNotInPublicationError

func NewTablesNotInPublicationError(publication string, tables []QualifiedTable) *TablesNotInPublicationError

func (*TablesNotInPublicationError) Error

Jump to

Keyboard shortcuts

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